ddk gui - sanderleisilveira.com.br · 4 importação exportação pesquisa vá para digitação...

86
1 DDK GUI Parte 2 Tecnologia

Upload: vukhue

Post on 10-Dec-2018

222 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

1

DDK GUI

Parte 2

Tecnologia

Page 2: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

2

Agenda

1 Parte

Nomenclatura

Estilos

Cadastro Simples

Cadastro Simples – Alteração

Cadastro Simples – Inclusão

Cadastro Complexo

Cadastro Complexo – Alteração

Pai x Filho – Atualiza Filho

Manutenção de Filhos

Page 3: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

3

Pai x Filho – Atualiza Ambos

Manutenção de Pais

Consulta Simples

Consulta Complexa

Consulta Relacionamento

Relatórios / Cálculos / Fechamentos

Parâmetros Únicos

Parâmetros Múltiplos

Formação

Formação sem Navegação

Agenda

Page 4: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

4

Importação

Exportação

Pesquisa

Vá Para

Digitação Rápida

Painéis

Funções – Relatórios Relacionados

Funções – Consultas Relacionadas

Menu de Barra

Agenda

Page 5: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

5

Parte 2

Construção

SmartQuery

SmartViewer – Padrão

SmartViewer – Sem Campos de Tabela

SmartViewer – Só com Campos Chave

Parte 3

CustomBrowser Inclui/Modifica

CustomBrowser Zoom Wizard

Vá Para

Pesquisa

Agenda

Page 6: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

6

Cadastro Simples

Parte 4

Cadastro Simples Alteração

Cadastro Simples Inclusão

Cadastro Complexo

Cadastro Inclui/Modifica Filho

Cadastro Pai x Filho – Atualiza Filho

Cadastro Inclui/Modifica Pai

Cadastro Pai x Filho – Atualiza Ambos

Parte 5

Consulta Simples

Agenda

Page 7: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

7

Consulta Complexa

Consulta Relacionamentos

Parâmetros Únicos

Formação

Parte 6

Relatórios

Importação

Exportação

CustomBrowser Digitação

Digitação Rápida

Agenda

Page 8: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

8

Parte 7

Includes e Utilitários Padrão

UT_FIELD.I

UT-RTLBL.I

UT-RUN.I

UT-MSGS.P

IND01-10.I, IND11-50.I E IND51500.I

UT-TABLE.I

UT-LITER.I

UT-LIMIT.P

Agenda

Page 9: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

9

UT-GLOB.I

I-FREEAC.I

UT-DIR.P

BTB917ZX.P

BTB917ZY.P

BTB917ZZ.P

UT-VRBIN.P

UT-FINFO.P

UT-CMDLN.P

Agenda

Page 10: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

10

UT-OSVER.I

I-COUNTDS.I

UT-WIN.I

UT-TRACE.P

Parte 8

Validações

Validações de Tela

Validações Triggers de Dicionário

Mensagens

Regras para Criação de Mensagens

Agenda

Page 11: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

11

Mensagens em Outros Idiomas

Procedures Reutilizáveis

Portabilidade de RCODES

Customizações

API - Application Program Interface

UPC - User Program Call

Agenda

Page 12: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

12

Construção

Construção

Page 13: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

13

Passos

1. Em Arquivo | Novo, selecionar o estilo Custom Query Wizard;

SmartQuery

Page 14: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

14

2. Se necessário, especificar uma tabela externa.

SmartQuery

Page 15: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

15

Uma tabela externa complementa os critérios join para uma query. Por exemplo, uma query em 'Order OF Customer' exige uma tabela Customer externa. A tabela externa está preenchida por outra procedure object--tipicamente um SmartBrowser ou SmartViewer.

1. Clicar em ‘Add External Tables’

2. Dentro do Table Selector, selecione a tabela externa.

SmartQuery

Page 16: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

16

3. Especificar as tabelas para a query. Deve-se marcar a opção INDEXED_REPOSITION.

Detalhes:

Não pode ter classificação (cláusula BY);

Não pode conter pré-seleção (cláusula preselect)

Deve ser sobre apenas uma tabela, não podendo haver joinentre tabelas (each,each).

SmartQuery

Page 17: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

17

SmartQuery

Page 18: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

18

4. Remover as Chaves Estrangeiras criadas pelo Wizard.

SmartQuery

Page 19: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

19

5. Finalizar o Wizard

SmartQuery

6. Salvar a SmartQuery com o nome definido, de acordo com os Padrões de Nomenclatura;

Page 20: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

20

Laboratório

Tabela: Customer

SmartQuery

Page 21: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

21

De acordo com os objetos a serem instanciados na viewer, seguir a técnica correspondente:

Padrão;

Sem campos de tabela;

Só com campos chave;

SmartViewer

Page 22: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

22

Padrão

É aquela que possui ao menos um campo não chave de tabela.

É necessário para uma Viewer Padrão possuir ao menos um campo de tabela habilitado. Esse campo não pode ser chave de tabela.

SmartViewer

Page 23: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

23

Sem campos de tabela

É aquela que possui apenas objetos (widgets) não vinculados a uma base de dados, ou seja, são variáveis dispostas na tela de modo que o usuário possa alterar os seus valores em tempo de execução.

SmartViewer

Page 24: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

24

Só com campos chave

É aquela que não possui campos não chave dispostos na tela. Esta viewer poderá conter variáveis dispostas para entrada de dados pelo usuário;

SmartViewer

Page 25: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

25

1. Em Arquivo | Novo, selecionar o estilo Custom Viewer com AutoField;

SmartViewer - Padrão

Page 26: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

26

2. Na dialog que se abrirá logo após a seleção do template, selecionar a(s) tabela(s) a serem utilizadas na viewer;

3. Na janela, após a seleção da(s) tabela(s), selecionar os campos a serem utilizados;

SmartViewer - Padrão

Page 27: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

27

SmartViewer - Padrão

Page 28: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

28

4. A seguir pode ou não ser apresentada uma mensagem questionando se a viewer deve suportar chaves estrangeiras. Caso aconteça, clicar em Cancel;

SmartViewer - Padrão

Page 29: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

29

5. Se a viewer for utilizada em um cadastro do tipo simples, no início da procedure local-assign-records, é necessário substituir a linha contendo:

{include/i-valid.i}

por estas a seguir:

if not frame {&frame-name}:validate() thenreturn 'ADM-ERROR':U.

SmartViewer - Padrão

Page 30: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

30

SmartViewer - Padrão

Page 31: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

31

6. Alterar a altura de todos os atributos de tipo fill-in para 0.88;

7. Para os atributos que formam a chave de acesso da tabela, caso forem postos na tela:

1. Tornar os atributos desabilitados, através de propriedades, desmarcando o toggle-box 'Enable';

2. Em propriedades e Advanced, marcar o toggle-box '{&ADM-CREATE-FIELDS}';

3. Colocar o primeiro atributo na linha 1.17;

SmartViewer - Padrão

Page 32: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

32

4. Caso exista mais de um atributo chave:

1. Colocá-los em espaçamento 1, ou seja, na linha 2.17, 3.17, etc.;

2. Alterar a altura do retângulo rt-key para o número de atributos chave + 0.25, ou seja, 2.25, 3.23, etc.;

3. Alterar a linha inicial do retângulo rt-mold para a altura do rt-key + 1.25;

SmartViewer - Padrão

Page 33: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

33

8. Se não forem colocados atributos chave:1. Eliminar o retângulo rt-key;

2. Mover o retângulo rt-mold para a linha 1;

9. Para os atributos que não formam a chave de acesso da tabela, caso forem postos na tela:

1. Colocar o primeiro atributo na linha de rt-mold + 0.17 (Exemplo: 2.67);

2. Colocar os demais atributos com um espaçamento de 1 (Exemplo: 3.67, 4.67);

3. Alterar a altura do retângulo rt-mold de modo a apenas caber os atributos dentro;

SmartViewer - Padrão

Page 34: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

34

10. Colocar na SmartViewer outros objetos, como, por exemplo, combo-box, que não estão associados aos campos no banco de dados;

11. Para os objetos não associados ao banco de dados e que devem ser atualizados pelo usuário, acessar as 'Property' e:

1. Tornar o objeto desabilitado (em propriedades, desmarcar o toggle-box 'Enable');

SmartViewer - Padrão

Page 35: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

35

2. Em propriedades e Advanced, marcar o toggle-box '{&ADM-MODIFY-FIELDS}';

3. Customizar a procedure LOCAL-INITIALIZE para que as inicializações dos objetos sejam feitas. Essas inicializações das variáveis podem ser, atribuição de labels (para tradução automática), atribuição de itens para combo-boxes e radio-sets, etc., e devem ser feitas antes do dispatch padrão;

SmartViewer - Padrão

Page 36: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

36

/* Code placed here will execute PRIOR to standard behavior. */

{utp/ut-liter.i Preço * R}assign fill-in_Price:label in frame {&frame-name} =

return-value

cb-country:list-items in frame {&frame-name} = {pdinc/i01pd001.i 03}.

/* Dispatch standard ADM method.*/

RUN dispatch IN THIS-PROCEDURE ( INPUT 'initialize':U ).

/* Code placed here will execute AFTER standard behavior. */

SmartViewer - Padrão

Page 37: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

37

4. Na procedure LOCAL-ENABLE-FIELDS comentar a linha que contém a ocorrência:"if-adm-new-record=yesthen";

5. A procedure LOCAL-DISPLAY-FIELDS deve ser customizada para que o valor da variável seja exibido, para isso, antes do dispatch padrão deve-se atribuir àvariável o valor a ser exibido.

SmartViewer - Padrão

Page 38: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

38

/* Code placed here will execute PRIOR to standard behavior. */

if avail order-line thenassign fill-in_Price = Order-Line.Price.

Elseassign fill-in_price = 0.

/* Dispatch standard ADM method. */

/* RUN dispatch IN THIS-PROCEDURE (INPUT 'display-fields':U).*/

/* Code placed here will execute AFTER standard behavior. */

SmartViewer - Padrão

Page 39: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

39

12. Quanto à largura da SmartViewer:

1. Se a SmartViewer for usada dentro de um folder de Cadastro Inclui/Modifica Filho, alterar a largura de rt-key e rt-mold para 76,72;

2. Se a SmartViewer for usada dentro do Cadastro Inclui/Modifica Filho sem folder, alterar a largura de rt-key e rt-mold para 79,29;

SmartViewer - Padrão

Page 40: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

40

3. Se for usada dentro de outro folder que não seja em um Cadastro Inclui/Modifica Filho, alterar a largura de rt-key e rt-mold para 85.72;

14. Acessar as propriedades da frame da SmartViewer, clicar em 'Tab

Order' e no combo-box 'Tabbing Options' escolher a opção 'Left-to-Right By Columns';

SmartViewer - Padrão

Page 41: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

41

15. Salvar a SmartViewer, com o nome definido de acordo com os Padrões de Nomenclatura;

SmartViewer - Padrão

Page 42: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

42

1. Em Arquivo | Novo, selecionar o estilo Custom Viewer com AutoField;

SmartViewer - Sem Campos de Tabela

Page 43: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

43

2. Cancelar a tela de seleção de tabelas exibida após a escolha da template.

3. Se a viewer for utilizada em um cadastro do tipo simples, no início da local-assign-records é necessário substituir a linha:

{include/i-valid.i}

por estas a seguir:

if not frame {&frame-name}:validate() then

return 'ADM-ERROR':U.

SmartViewer – Sem Campos de Tabela

Page 44: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

44

SmartViewer – Sem Campos de Tabela

Page 45: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

45

4. Definir no Method-Library, que a include i-auxtab.i, deve ser a primeira da lista;

SmartViewer – Sem Campos de Tabela

Page 46: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

46

SmartViewer – Sem Campos de Tabela

Page 47: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

47

5. Definir ao menos uma tabela externa;

6. Inserir os objetos (fill-in´s, combo-boxes, radio-sets, retângulos, etc) na viewer. Esses objetos não podem ser campos de tabelas;

7. Desabilitar todos os objetos da tela que não devam ser mostrados habilitados;

SmartViewer – Sem Campos de Tabela

Page 48: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

48

8. Atenção: O controle de habilitação/desabilitação de campos deve ser feito pelo usuário. Para isso, deve-se colocar os campos nos pré-processadores de acordo com a tabela abaixo:

SmartViewer – Sem Campos de Tabela

Page 49: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

49

SmartViewer – Sem Campos de Tabela

Habilitados nas operações de ADD, COPY e MODIFY.

Adm-modify-fieldsAdm-assign-fields

Outras Variáveis

Habilitados somente na criação de um novo registro.

Adm-create-fieldsChaves (variáveis que representam chaves)

FinalidadePreprocessadorTipo de Objetos

Page 50: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

50

9. Customizar a procedure LOCAL-INITIALIZE para que as inicializações dos objetos sejam feitas. Essas inicializações das variáveis podem ser, atribuição de labels (preparação para tradução), atribuição de itens para combo-boxes e radio-sets, etc.;

SmartViewer – Sem Campos de Tabela

Page 51: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

51

SmartViewer – Sem Campos de Tabela

Page 52: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

52

10. Customizar a procedure LOCAL-DISPLAY-FIELDS, sendo que énessa procedure que os valores dos objetos serão exibidos:

1. Comentar o dispatch padrão;

2. Inserir os comandos para que os valores dos objetos sejam exibidos.

SmartViewer – Sem Campos de Tabela

Page 53: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

53

SmartViewer – Sem Campos de Tabela

Page 54: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

54

11. Customizar a procedure LOCAL-ENABLE-FIELDS, sendo que énessa procedure que os objetos são habilitados:

1. Comentar o dispatch padrão;

2. Comentar a linha em que consta a seguinte sentença: if adm-new-record then.

3. Caso seja uma viewer principal, incluir:RUN notify ('enable-fields, GROUP-ASSIGN-TARGET':U).

SmartViewer – Sem Campos de Tabela

Page 55: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

55

SmartViewer – Sem Campos de Tabela

Page 56: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

56

12. Customizar a procedure LOCAL-DISABLE-FIELDS, sendo que énessa procedure que os objetos são desabilitados:

1. Comentar o dispatch padrão;

2. Inserir as seguintes linhas:&if defined(ADM-CREATE-FIELDS) &then

disable {&ADM-CREATE-FIELDS} with frame {&frame-name}.&endif

3. Caso seja uma viewer principal, colocar:RUN notify ('disable-fields, GROUP-ASSIGN-TARGET':U).

SmartViewer – Sem Campos de Tabela

Page 57: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

57

SmartViewer – Sem Campos de Tabela

Page 58: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

58

13. Customizar a procedure LOCAL-ASSIGN-STANTEMENT, sendo que é nessa procedure que os objetos terão seus valores salvos:

1. Comentar o dispatch padrão;

2. Inserir a lógica de gravação dos valores das variáveis.

SmartViewer – Sem Campos de Tabela

Page 59: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

59

SmartViewer – Sem Campos de Tabela

Page 60: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

60

14. Alterar a altura de todos os atributos para 0.88;

15. Para os atributos que representam a chave de acesso a tabelas, caso forem postos na tela:

1. Colocar o primeiro atributo na linha 1.17;

2. Caso existam mais atributos que represente uma chave:

1. Colocá-los com espaçamento 1, ou seja, na linha 2.17, 3.17, etc.;

SmartViewer – Sem Campos de Tabela

Page 61: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

61

2. Alterar a altura do retângulo rt-key para o número de atributos chave + 0.25, ou seja, 2.25, 3.23, etc.;

3. Alterar a linha inicial do retângulo rt-mold para a altura do rt-key + 1.25;

16. Se não forem colocados atributos que representem chaves:

1. Eliminar o retângulo rt-key;

2. Mover o retângulo rt-mold para a linha 1;

SmartViewer – Sem Campos de Tabela

Page 62: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

62

17. Para os atributos que não formam a chave de acesso da tabela, caso forem postos na tela:

1. Colocar o primeiro atributo na linha de rt-mold + 0.17 (Exemplo: 2.67);

2. Colocar os demais atributos com um espaçamento de 1 (Exemplo: 3.67, 4.67);

3. Alterar a altura do retângulo rt-mold de modo a apenas caber os atributos dentro do mesmo;

18. Se não forem colocados atributos não chave, retirar o retângulo rt-mold;

SmartViewer – Sem Campos de Tabela

Page 63: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

63

19. Quanto à largura da SmartViewer:

1. Se a SmartViewer for usada dentro de um folder de Cadastro Inclui/Modifica, alterar a largura de rt-key e rt-mold para 76,72;

2. Se a SmartViewer for usada dentro do Cadastro Inclui/Modifica sem folder, alterar a largura de rt-key e rt-mold para 79,29;

3. Se for usada dentro de outro folder que não seja em um Cadastro Inclui/Modifica, alterar a largura de rt-key e rt-mold para 85.72;

SmartViewer – Sem Campos de Tabela

Page 64: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

64

20. Acessar as propriedades da frame da SmartViewer, clicar em 'Tab Order' e, no combo-box 'Tabbing Option‘, escolher a opção 'Left-to-Right By Columns';

21. Salvar a SmartViewer, com o nome definido, de acordo com os Padrões de Nomenclatura.

SmartViewer – Sem Campos de Tabela

Page 65: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

65

1. Em Arquivo | Novo, selecionar o estilo Custom Viewer com AutoField;

SmartViewer - Só com Campos Chave

Page 66: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

66

2. No dialog que se abrirá logo após a seleção do template, selecionar a(s) tabela(s) a serem utilizadas na viewer;

3. Na janela, após a seleção da(s) tabela(s), selecionar os campos a serem utilizados;

4. A seguir, pode ou não ser apresentada uma mensagem questionando se a viewer deve suportar chaves estrangeiras. Caso aconteça, clicar em Cancel;

5. Definir, no Method-Library, que a include i-auxtab.i, deve ser a primeira da lista;

SmartViewer – Só com Campos Chave

Page 67: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

67

SmartViewer – Só com Campos Chave

Page 68: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

68

6. Desabilitar todos os campos da tela;

7. Colocar os campos nos pré-processadores, de acordo com a tabela abaixo:

SmartViewer – Só com Campos Chave

Devem ser marcados os objetos que serão habilitados para a alteração de uma ocorrência na tabela. Observe que índices de tabelas não podem ser alterados.

Adm-modify-fields

Habilitados somente na criação deum novo registroExemplo: operações de ADD e COPY

Adm-create-fieldsAdm-assign-fields

FinalidadePreprocessador

Page 69: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

69

8. Customizar a procedure LOCAL-INITIALIZE para que as inicializações dos objetos sejam feitas. Essas inicializaçõespodem ser atribuição de labels (preparação para tradução), atribuição de itens para combo-boxes e radio-sets, etc.;

SmartViewer – Só com Campos Chave

Page 70: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

70

SmartViewer – Só com Campos Chave

Page 71: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

71

9. Caso existam, na viewer, objetos não vinculados ao banco de dados (variáveis), customizar a procedure LOCAL-DISPLAY-FIELDS para que seus valores sejam exibidos.

SmartViewer – Só com Campos Chave

Page 72: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

72

SmartViewer – Só com Campos Chave

Page 73: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

73

10. Customizar a procedure LOCAL-ENABLE-FIELDS:

1. Comentar o dispatch padrão;

2. Comentar a linha em que apareça a sentença: if adm-new-record = yes then;

3. Caso seja uma viewer principal, incluir:RUN notify ('enable-fields, GROUP-ASSIGN-TARGET':U).

SmartViewer – Só com Campos Chave

Page 74: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

74

SmartViewer – Só com Campos Chave

Page 75: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

75

11. Caso existam, na viewer, objetos não vinculados ao banco de dados (variáveis), customizar a procedure LOCAL-ASSIGN-RECORD para que seus valores sejam salvos.

SmartViewer – Só com Campos Chave

Page 76: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

76

SmartViewer – Só com Campos Chave

Page 77: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

77

12. Criar e customizar a procedure LOCAL-ASSIGN-STATEMENT;

1. Inserir o seguinte código após o dispatch padrão:

do with frame {&frame-name} on error undo, return "ADM-ERROR":&if defined(ADM-CREATE-FIELDS) &then

if ADM-NEW-RECORD then assign {&ADM-CREATE-FIELDS}.&endif&if defined(ADM-MODIFY-FIELDS) &then

assign {&ADM-MODIFY-FIELDS}.&endif

end.

SmartViewer – Só com Campos Chave

Page 78: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

78

SmartViewer – Só com Campos Chave

Page 79: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

79

13. Alterar a altura de todos os atributos para 0.88;

14. Para os atributos que formam a chave de acesso da tabela:

1. Colocar o primeiro atributo na linha 1.17;

2. Caso exista mais de um atributo chave:

1. Colocá-lo com espaçamento 1, ou seja, na linha 2.17, 3.17, etc.;

SmartViewer – Só com Campos Chave

Page 80: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

80

2. Alterar a altura do retângulo rt-key para o número de atributos chave + 0.25, ou seja, 2.25, 3.23, etc.;

3. Alterar a linha inicial do retângulo rt-mold para altura do rt-key + 1.25;

15. Para os atributos que não formam a chave de acesso da tabela, caso forem postos na tela:

1. Colocar o primeiro atributo na linha de rt-mold + 0.17 (Exemplo: 2.67);

2. Colocar os demais atributos com um espaçamento de 1 (Exemplo: 3.67, 4.67);

SmartViewer – Só com Campos Chave

Page 81: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

81

16. Colocar na SmartViewer outros objetos, como por exemplo combo-box, que não estão associados ao banco de dados;

17. Se não forem colocados atributos não chave, retirar o retângulo rt-mold.Obs.: Apesar da viewer só com campos chave não conter outros campos, poderá conter variáveis;

SmartViewer – Só com Campos Chave

Page 82: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

82

18. Para os objetos não associados ao banco de dados e que devem ser atualizados pelo usuário, acessar as 'Property' e:

1. Tornar o objeto desabilitado (em propriedades, desmarcar o toggle-box 'Enable');

2. Em propriedades e Advanced, marcar o toggle-box '{&ADM-MODIFY-FIELDS}';

SmartViewer – Só com Campos Chave

Page 83: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

83

19. Quanto à largura da SmartViewer:

1. Se a SmartViewer for usada dentro de um folder de Cadastro Inclui/Modifica, alterar a largura de rt-key e rt-mold para 76,72;

2. Se a SmartViewer for usada dentro do Cadastro Inclui/Modifica sem folder, alterar a largura de rt-key e rt-mold para 79,29;

3. Se for usada dentro de outro folder que não seja em um Cadastro Inclui/Modifica, alterar a largura de rt-key e rt-mold para 85.72;

SmartViewer – Só com Campos Chave

Page 84: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

84

20. Acessar as propriedades da frame da SmartViewer, clicar em 'Tab Order' e, no combo-box 'Tabbing Option‘, escolher a opção 'Left-to-Right By Columns';

21. Salvar a SmartViewer, com o nome definido de acordo com os Padrões de Nomenclatura;

SmartViewer – Só com Campos Chave

Page 85: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

85

Laboratório

Tabela: CustomerCampos: Customer.Cust-Num;

Customer.NameCustomer.AddressCustomer.PhoneCustomer.CityCustomer.StateCustomer.Country

SmartViewer

Page 86: DDK GUI - sanderleisilveira.com.br · 4 Importação Exportação Pesquisa Vá Para Digitação Rápida Painéis Funções – Relatórios Relacionados Funções – Consultas Relacionadas

86

Este material é de propriedade da DATASUL S.A., sendo proibida a sua reprodução em qualquer meio, total ou parcial, sem aprovação por escrito. Todos os direitos estão reservados. A informação contida aqui é confidencial

e não pode ser utilizada fora da empresa ou das franquias que fazem parte da nossa rede, não podendo ser divulgada para clientes, parceiros ou outra empresa ou indivíduo sem o prévio consentimento de um diretor da

DATASUL S.A. As opiniões expressas aqui estão sujeitas a modificação sem aviso prévio.

[email protected]

http://universidade.datasul.com.br

[email protected]

http://universidade.datasul.com.br

Obrigada!

Obrigada