DDK GUI. Parte 8. Tecnologia

Documentos relacionados
DDK GUI. Parte 4. Tecnologia

Curso de Técnicas de Desenvolvimento Utilizando o UIB

DDK GUI. Parte 3. Tecnologia

DDK GUI. Parte 2. Tecnologia

DDK GUI. Parte 5. Tecnologia

DDK GUI. Parte 7. Tecnologia

DDK GUI. Parte 6. Tecnologia

DDK GUI. Parte 1. Tecnologia

ThinTemplates Parte 2

Técnicas de Uso de DBOs. Tecnologia

Progress DCA Desenvolvendo Aplicações Caracter Parte 1

Progress DCA Desenvolvendo Aplicações Caracter Parte 3

Construção de DBOs. Tecnologia

PROGRESS ACE Ambiente Visual para Construção de Aplicativos. Tecnologia

Desenvolvimento de Programas utilizando DDK2000 ThinTemplates + DBOs. Sandro Kellermann de Carvalho Desenvolvedor Progress Acton

Arquitetura ADM - Introdução

ThinTemplates Parte 1

Processo Módulo Menu Demonstrativo Execução Programas

Processo Módulo Segurança Administração da Segurança

ThinTemplates Parte 4

Guia de Atualização PRODUTO DATASUL

SINACOR GUIA CONCILIADOR

SISTEMA ADM ERP - MANUAL DO USUÁRIO. Conceitos Básicos

Introdução ao IDE Netbeans (Programação Java)

Processo Módulo M NPS

Assessoria Técnica de Tecnologia da Informação - ATTI. Projeto de Informatização da Secretaria Municipal de Saúde do Município de São Paulo

Processo Módulo Menu Administração do Menu

Código PD0017. Este documento ter por objetivo auxiliar o usuário no entendimento e utilização do Nexus.

Diferenças na Programação com Dataserver Oracle

MANUAL OFICIAL DE JUSTIÇA 1º GRAU

Processo de utilização do EDI - Eletronic Data Interchange

Integração Backoffice HCM x Fluig

EXTRANET MANUAL DO USUÁRIO

Estrutura dos Sistemas Operacionais. Adão de Melo Neto

IDES E PROGRAMAÇÃO. Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias

SW Ativação Linker SAT II

Protótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator

ADIANTI FRAMEWORK PARA PHP

1 Gerando um XML da Nota fiscal eletrônica (LimerSoft SisVendas versão 12)

Geração Arquivo IN 86 Contabilidade no ambiente DATASUL11

GOVERNO DO ESTADO DE SÃO PAULO SECRETARIA DE GESTÃO PÚBLICA

SINACOR GUIA UTILIZAÇÃO CADASTRO DE CLIENTES - PCIN

Benner Corporativo Integração conciliação de cartão

GERAÇÃO DO ARQUIVO SPED Contábil

MANUAL DE INSTALAÇÃO SISTEMA DE GERÊNCIA CONSCIUS

Estrutura dos Sistemas Operacionais. Adão de Melo Neto

Easy Linx - Partilha ICMS

Processo Módulo Básico Imagem, Som, Vídeo e Documento Anexo

Administrador Documentos. Gestão de Documentos. Título do documento

Plataforma Sage Resumo da Escrituração

ThinTemplates Parte 3

Versão 6.04 Novembro/2013

Manual de acesso ao Portal do Contribuinte - SIGET

Progress ADE Application Development Environment. Tecnologia

Parametrização para Documentos Fiscais

PROCEDIMENTO DE INVENTARIO MIM. 1. Logar com usuário e senha no MIM

DT Geração Automática Informações Adicionais da Apuração Geração Informações Adicionais da Apuração

Boletim Técnico. Melhorias na Integração EEC x FIN PROCEDIMENTOS PARA IMPLEMENTAÇÃO. Produto : Microsiga Protheus Easy Export Control versão 10

D igitação de Eventos

A c c e s s B á s i c o

MANUAL. Certificado de Origem Digital PERFIL PRODUTOR. Versão

Dicas de Performance. Objetivo

A c c e s s. Data Lógica Informática. Ambiente Real Conhecimento de Verdade. Carga Horária (referencial): 30 horas. Pré-requisito: Windows

Instalação... 1 Configuração... 1 UPC de validação campo a campo... 2 Configurando o monitoramento de cada campo... 3 Criação das UPCs...

Boas Práticas de Programação

É recomendado cuidado no uso deste recurso pois: - Não é "debugável" - Só é interceptado por telas (alguns BAPIs não passam pela FIELD EXIT).

Laboratório 01 NetBeans

* Procedimentos de definição DE-PARA DE CONTAS EMS5

Livros: indicar qual o Livro que será extraído as informações:

Boletim Técnico. Nota Fiscal Eletrônica CAEA Argentina PROCEDIMENTO PARA IMPLEMENTAÇÃO

RECURSOS HUMANOS. Introdução ao Benner RH. Núcleo da Solução

Programando em SQL. Triggers, Stored Procedures e funções. Profa. Késsia Marchi

Construção de Programas

Esta melhoria depende de execução do update de base U_UPDFIN2, conforme Procedimentos para Implementação.

Cadastro de múltiplos documentos através do XML

MANUAL PARA APLICAR NOTAS

Boletim Técnico. Movimentações entre Filiais PROCEDIMENTOS PARA IMPLEMENTAÇÃO. Produto : Microsiga Protheus Metrologia versão 11

Documento de Requisitos SISTEMA DE APOIO À ESCRITA (SAPES)

VKN: Integração com o sistema VIPS (Volvo)

PORTAL B2B FUNCIONAL

Este manual destina-se a ativação do DMI, para posterior utilização.

Portal MGS No Portal MGS, o usuário fará o login na Área Cliente, usando o seu CPF e a senha fornecida pela MGS.

Transcrição:

DDK GUI Parte 8 Tecnologia 1

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 2

Agenda 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 3

Agenda 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 4

Agenda 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 5

Agenda 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 6

Agenda Consulta Complexa Consulta Relacionamentos Parâmetros Únicos Formação Parte 6 Relatórios Importação Exportação CustomBrowser Digitação Digitação Rápida 7

Agenda 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 8

Agenda UT-GLOB.I I-FREEAC.I UT-DIR.P BTB917ZX.P BTB917ZY.P BTB917ZZ.P UT-VRBIN.P UT-FINFO.P UT-CMDLN.P 9

Agenda 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 10

Agenda Mensagens em Outros Idiomas Procedures Reutilizáveis Portabilidade de RCODES Customizações API - Application Program Interface UPC - User Program Call 11

Validações Validações 12

Validações de Tela Validações na Navegação de Registros Em certos casos, é necessário validar um registro assim que é acessado através da navegação na tabela. Deve-se ter cuidado com esse tipo de validação, pois cada vez que o usuário navegar na tabela, a validação será feita, podendo prejudicar a performance do programa. 13

Validações de Tela Validações Antes da Alteração Para evitar que a validação acabe afetando a performance do programa, deve-se fazer a validação apenas quando houver a tentativa de alteração, incluindo o código a seguir antes do dispatch padrão da procedure Local-Enable-Fields 14

Validações de Tela define variable c-p-cadsim as character no-undo. if not adm-new-record and available <tabela> then do: if <condição> then do: RUN get-link-handle IN adm-broker-hdl (INPUT THIS-PROCEDURE, INPUT "TableIO-Source", OUTPUT c-p-cadsim). if valid-handle(widget-handle(c-p-cadsim)) then do: RUN pi-cancelar IN widget-handle(c-pcadsim). <mensagem>. return "ADM-ERROR":U. end. end. end. 15

Validações de Tela Onde: <tabela>: a tabela que está sendo utilizada na manutenção; <condição>: uma condição qualquer que indica que o registro não pode ser alterado; <mensagem>: uma mensagem a ser apresentada ao usuário informando impossibilidade da alteração para o registro. 16

Validações de Tela Essa técnica deve ser evitada, pois o usuário verá o botão de alteração habilitado e ao tentar alterar o registro a mensagem irá interrompê-lo, contradizendo a função do botão. 17

Validações de Tela Validações em Entrada de Dados As validações feitas para valores de entradas de dados devem ser feitas sempre no momento de sua confirmação; Na ocorrência de alguma inconformidade em qualquer dos valores requisitados pelo programa, este deverá apresentar uma mensagem de erro por intermédio do utilitário utmsgs.p. 18

Validações de Tela Validações em Cadastro Simples As validações em um Cadastro Simples devem ser feitas antes do dispatch da procedure Local-assign-record da Viewer. 19

Validações de Tela Validações em Cadastro Complexo As validações dos dados de entrada em um Cadastro Complexo são feitas nas procedures pi-validate das Viewers que compõem o cadastro. 20

Validações de Tela Validações para Window Relatório Pelo fato da Window Relatório ser um Template não composto por SmartObjects, a validação de seus valores tem as seguintes características: 21

Validações de Tela Páginas de Parâmetros, Seleção e Classificação Os valores dessas páginas são validados dentro da procedure pi-executar, após o comentário: /* Coloque aqui as validações das outras páginas, lembrando que elas devem apresentar uma mensagem de erro cadastrada, posicionar na página com problemas e colocar o foco no campo com problemas */ 22

Validações de Tela Browser Digitação Os valores do browse de digitação devem ser validados no momento em que o usuário sai do registro, no evento Row- Leave do browse. 23

Validações de Tela Página de Impressão A página de impressão não precisa sofrer qualquer tipo de validação. O Template se encarrega de confirmar os valores para essa página. 24

Validações Triggers de Dicionário As validações de dicionário de dados podem acarretar o mau funcionamento nos Templates, já que esse tipo de validação não pode retornar informações do problema ocorrido para que seja tratado conforme necessário. 25

Validações Triggers de Dicionário As validações de dicionário devem ser replicadas nos programas, nos locais indicados conforme o Template utilizado, fazendo com que seja possível o tratamento dos problemas que possam ocorrer no andamento das validações. 26

Mensagens Mensagens 27

Mensagens Observação: A manutenção do cadastro das mensagens, assim como a inclusão de novas mensagens só podem ser realizadas pela Datasul. Para clientes e parceiros é autorizada somente a utilização das mensagens já cadastradas. 28

Regras para a Criação de Mensagens Estas regras devem ser seguidas por todos os programadores e analistas que estão desenvolvendo os produtos da Datasul As mesmas visam facilitar o controle das mensagens (para que não haja o acúmulo de informações que não serão utilizadas ou então repetitivas) e, também, facilitar o trabalho de tradução, pois seguindo estas normas o número de mensagens criadas diminui. 29

Regras para a Criação de Mensagens Não utilizar ponto de exclamação ou ponto final, a não ser que haja sentença posterior. As reticências podem ser utilizadas somente nos casos de uso do gerúndio. Quando o programador tiver a necessidade de ressaltar a mensagem, utilizar a função "alert-box warning". Não utilizar ponto ao abreviar palavra. Utilizar acentuação sempre. 30

Regras para a Criação de Mensagens Revisar possíveis erros gramaticais, de concordância e de grafia. Não utilizar letras maiúsculas no meio da frase sem que seja nome próprio. Evitar repetir a mesma palavra várias vezes. Não utilizar palavras ou jargões técnicos. Procurar ser formal. Não utilizar gírias. Não utilizar o tratamento VOCÊ. Utilizar somente o idioma português. 31

Regras para a Criação de Mensagens Não utilizar sinais ortográficos ou espaços em branco no início das mensagens. Não criar mensagens sem sentido. A mensagem deve ser o mais clara e sucinta possível. Qualquer necessidade de detalhamento, utilizar o help; Utilizar o help da mensagem somente se necessário, se houver algo a acrescentar. Não utilizá-lo somente para repetir a mesma mensagem. 32

Regras para a Criação de Mensagens Não criar mensagem somente com letras maiúsculas. Antes de criar uma nova mensagem verificar se não há outra similar que possa ser utilizada. Para auxiliar esta operação, o Sistema de Mensagens possui o botão Pesquisa, onde você pode buscar por Código ou pelo Texto da Mensagem. Além disso, ainda possui a opção de Filtro onde você informa palavras que deseja procurar dentro do sistema. 33

Mensagens em Outros Idiomas Utilizar os mesmo cuidados para criação de mensagens novas. No caso de dúvidas, deve-se consultar o glossário ou a equipe de Tradução. 34

Procedures Reutilizáveis Procedures Reutilizáveis 35

Procedures Reutilizáveis Procedures Internas reutilizáveis são definidas em includes que devem ser incorporados aos programas. Se forem incorporadas a programas.w, não devem fazer acesso muito grande a dados pois se isto acontecer devem ser transformadas em API(s). 36

Procedures Reutilizáveis Nomenclatura A nomenclatura dos includes que contém este tipo de procedure interna deve ser a seguinte: XXINC999.i 37

Procedures Reutilizáveis Onde: XX - Sigla do Módulo INC Fixo 999 - Seqüencial. Exemplo: cdp\cdinc001.i 38

Portabilidade de RCODES Portabilidade de RCODES 39

Portabilidade de RCODES Objetivo Validar o funcionamento dos programas compilados em ambiente Windows e executados em ambientes Unix. Isto se faz necessário porque programas que respeitam as regras para portabilidade de RCODE, podem ser executados via RPW/RPC em ambiente Unix. 40

Portabilidade de RCODES Ao executar programas no Unix, compilados em ambiente Windows e que não tenha respeitado as regras de portabilidade, é apresentado o erro 4438. Program <program-name> was compiled under another incompatible display environment. Cannot run without recompile. (4438) 41

Portabilidade de RCODES Regras Para que seja possível a portabilidade de RCODES, três regras básicas devem ser obedecidas, caso contrário, existe a necessidade de recompilação do programa. 42

Portabilidade de RCODES 1º Regra Códigos que não possuem comandos de User-Interface (especificamente, códigos que não criam frames, tanto explícitas como implícitas). Como exemplo, estão os programas em batch (RPW); 43

Portabilidade de RCODES 2º Regra Mesmo tipo de banco de dados; 3º Regra Mesma classe de plataforma de servidor, deve ter o mesmo tamanho de palavra e alinhamento de bytes. 44

Portabilidade de RCODES Exemplo: Para que o erro 4438 ocorra, é necessário compilar um programa que possui frame em ambiente Windows e tentar executar o mesmo (RCODE) em ambiente UNIX: output to value(c-arquivo) find emitente where emitente.cod-emitente = 10 no-lock. display emitente.cod-emitente. 45

Portabilidade de RCODES O comando DISPLAY cria uma FRAME, impossibilitando o uso do programa compilado em ambiente Windows, em um ambiente Unix ou vice-versa. Para solucionar este problema de incompatibilidade, é necessário utilizar a função STREAM-IO para reformatar a saída para texto puro, sem formatação de fonte: 46

Portabilidade de RCODES output to value(c-arquivo) find emitente where emitente.cod-emitente = 10 nolock. display emitente.cod-emitente with stream-io. ou utilizar o comando PUT: output to value(c-arquivo) find emitente where emitente.cod-emitente = 10 nolock. put emitente.cod-emitente. 47

Portabilidade de RCODES Caso Especial A partir da regra de não utilizar comandos que criam FRAMES explícitas ou implícitas, alguns problemas foram detectados com a descoberta de comandos que criam FRAMES implícitas. 48

Portabilidade de RCODES Até o momento, foi constatado o problema nos comandos CREATE SERVER e EXPORT. Para solucionar o problema, é necessário identificar se existe outra maneira para realizar a tarefa desejada. Caso contrário, será necessário manter RCODES para cada ambiente existente. 49

Portabilidade de RCODES O comando EXPORT pode ser substituído por PUT ou DISPLAY (utilizando a opção STREAM-IO). Para o comando CREATE SERVER, será necessário manter um RCODE por ambiente existente, isto é, um RCODE para ambiente Windows e outro para ambiente Unix. 50

Customizações Customizações 51

Customizações Objetivo Existem duas tecnologias criadas para facilitar as customizações, visando padronizá-las e principalmente facilitá-las, sem necessitar de conhecimento da Base de Dados e seus relacionamentos. 52

Customizações API - Application Program Interface. UPC - User Program Call. 53

API - Application Program Interface É um programa que recebe parâmetros e executa uma determinada tarefa no Datasul EMS Framework. Interface aberta para as funções de negócio do produto; Aplicação Específica API Datasul EMS Framework 54

API - Application Program Interface A partir da chamada de uma API e entrada dos devidos parâmetros ou de dados para uma atualização, podem ocorrer três situações: 1. A API pode fazer um acesso ao produto Datasul EMS Framework e receber uma resposta que podem ser dados lidos da base ou o resultado de alguma função. Este é repassado para o programa chamador. 55

API - Application Program Interface 1. A API pode fazer uma extração de dados, gerando um gráfico, um relatório ou uma consulta. 2. A API pode realizar uma função, por exemplo de eliminação de dados e retornar. Se a execução foi correta, OK ou incorreta, NOK. 56

API - Application Program Interface Entrada API Saída OK / NOK Acesso Extração de dados Datasul EMS 57

API - Application Program Interface Vantagens As APIs possuem parâmetros de entrada bem definidos e processos que são executados de maneira correta sobre o produto; As APIs executam tarefas de acordo com o objetivo, os usuários não precisam saber de que forma o processo é executado, apenas que, sendo realizadas as entradas corretas, a API executa o processo esperado de maneira transparente; 58

API - Application Program Interface As integrações entre módulos do produto Datasul EMS Framework são realizadas através das APIs, portanto este, é o caminho natural para que customizadores integrem outras soluções com o produto; A tecnologia empregada e as regras de negócio de uma API podem evoluir, fazendo com que o cliente usufrua destes benefícios sem a necessidade de reescrever seus programas. 59

API - Application Program Interface Exemplo: run utp/utapi001.p (input table tt-atributos, input table tt-points, input table tt-sets, input table tt-dados, input table tt-ylabels, output table tt-erros). 60

UPC - User Program Call São chamadas a programas desenvolvidos pelo usuário, em pontos pré-definidos do produto, possibilitando a sua adaptação e integração com outras aplicações. Aplicação Específica UPC Datasul EMS framework API 61

UPC - User Program Call Objetivos Possibilitar a customização e integração do produto Datasul EMS pelos usuários, respectivamente, de uma forma padronizada e controlada; Possibilitar localizações do Datasul EMS que não devem ser incorporadas ao produto standard pela própria Datasul; 62

UPC - User Program Call Possibilitar ao usuário a administração de suas customizações, identificando por intermédio do Datasul EMS, quais programas e tabelas do produto possuem customização; Possibilitar a administração de integrações desenvolvidas por usuários da Datasul sobre o produto Datasul EMS; 63

UPC - User Program Call Customização: Clientes - Necessidades específicas e especialistas: User Program Call UPC Integração: Parceiros - Integrações com outros softwares: Application Partner Program Call - APPC 64

UPC - User Program Call Localização: Datasul S.A. - Adaptação do produto para um país: Datasul Program Call DPC 65

UPC - User Program Call Características Pontos pré-definidos e inalteráveis; Passagem padrão de parâmetros; Parâmetros e pontos estão documentados; UPCs são ligadas a programas e tabelas do datasul EMS framework nos módulos Menu e Básico. 66

UPC - User Program Call Viewer 67

UPC - User Program Call Browser 68

UPC - User Program Call Container 69

UPC - User Program Call Exemplo: Garantir a integridade de uma tabela extensão de clientes de um sistema especialista de assistência técnica; Manter campos desta tabela extensão no próprio programa de Manutenção de Clientes do Datasul EMS framework; 70

UPC - User Program Call 71

UPC - User Program Call Importante Após cadastrada, a UPC será sempre executada; O cadastro incorreto gera erro Progress; Não retirar objetos de programas Datasul; Cuidado com sobreposição de eventos padrão importantes para o programa. 72

UPC - User Program Call 73

Obrigada Obrigada! universidade@datasul.com.br http://universidade.datasul.com.br 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. 74