ddk gui - sanderlei

Post on 16-Oct-2021

16 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

DDK GUI

Parte 7

Tecnologia

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

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

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

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

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

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

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

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

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

11

Mensagens em Outros Idiomas

Procedures Reutilizáveis

Portabilidade de RCODES

Customizações

API - Application Program Interface

UPC - User Program Call

Agenda

12

Objetivo

Retornar propriedades dos campos do dicionário de dados, como label, column-label, etc.

UT-FIELD.I

13

Formato

{utp/ut-field.i <banco> <tabela> <campo> <propriedade>}

Onde:

<banco>: nome lógico do banco de dados que contém o campo;

UT-FIELD.I

14

<tabela>: nome da tabela que contém o campo;

<campo>: nome do campo;

<propriedade>: número que identifica a propriedade conforme tabela a seguir:

UT-FIELD.I

15

UT-FIELD.I

Data Type7

Description6

Initial5

Format4

Help3

Column-label2

Label1

PropriedadeNúmero

16

O retorno é obtido através do return-value.

Exemplo:

def var c-tipo as character no-undo.

{utp/ut-field.i mgadm conta tipo 1}

assign c-tipo:label in browse br-table = return-value.

UT-FIELD.I

17

Objetivo

Permitir a utilização de literais para colar labels em retângulos na tela minimizando os problemas de internacionalização.

UT-RTLBL.I

18

Utilização

Campos view-as radio-set ou editor, onde seja necessário emoldurá-lo com retângulo com um label para identificá-lo;

Literais utilizados em telas para substituir labels;

UT-RTLBL.I

19

Formato

{utp/ut-rtlbl.i <banco> <tabela> <campo> <widget fill-in>}

Onde:

<banco>: nome lógico do banco de dados que contém o campo;

UT-RTLBL.I

20

<tabela>: nome da tabela que contém o campo;

<campo>: nome do campo;

<widget fill-in>: fill-in view-as text colocado na tela

Exemplo:

{utp/ut-rtlbl.i mgadm conta natureza text-1}

UT-RTLBL.I

21

Objetivo

Seu objetivo é executar programas que não possuam interface (.p), através do recurso de RPC (RemoteProcedure Call).

Deve executar apenas programas (.p), chamados a partir de programas (.w).

UT-RUN.I

22

Não deve chamar um programa (.p), a partir de um outro programa (.p) porque o programa chamador (.p) já estárodando no servidor (Application Server) e não énecessário iniciar um novo servidor.

UT-RUN.I

23

Utilização

Sempre que for chamado algum programa sem interface a partir de um .W, e que este programa seja candidato para ser executado via RPC.

UT-RUN.I

Para utilizar os includes é necessário relacionar ao programa os includes {utp/ut-glob.i} e {btb/btb008za.io} no main-block,

para definição de variáveis e funções.

24

Formato

1. Modo Simplificado:

Include

{utp/ut-run.i {1} {2} {3} {4}}

Onde:

{1}: Nome externo do programa;

UT-RUN.I

25

{2}: Parâmetros do programa;

{3}: Mostra mensagem de acompanhamento [Opcional];

{4}: Servidor de RPC determinado [Opcional]

UT-RUN.I

1. Para informar parâmetros em branco ou literal, utilize aspas duplas ("") com aspas simples (''). Exemplo: "" ' '.

2. Não sendo informados os parâmetros opcionais estes receberão "yes" e "" ' ' respectivamente.

26

Funções

Solicita a conexão e cria a instância do servidor, conforme servidor do aplicativo ou parâmetro;

Mostra mensagem se ocorrer um erro (por exemplo, de conexão), quando solicitada ({3} = yes);

Dispara a execução do programa no servidor;

Encerra a conexão e elimina a instância.

UT-RUN.I

27

Aplicações

Quando o programa API será disparado uma única vez para realizar todo o processo.

Exemplo:

{utp/ut-run.i cep/ceapi001.p "input-output table tt-mvto, input-output table tt-erro" yes ""''}

UT-RUN.I

28

1. Modo Aberto:

Include

{btb/btb008za.i1 {1} {2} {3}}

Onde:

{1}: Nome externo do programa;

{2}: Mostra mensagem de acompanhamento;

{3}: Servidor de RPC determinado

UT-RUN.I

29

{btb/btb008za.i2 {1} {2} {3}}

Onde:

{1}: Nome externo do programa;

{2}: Parâmetros do programa;

{3}: Nome da variável do tipo "handle" para executar o programa persistente [Opcional]

UT-RUN.I

30

{btb/btb008za.i3 {1} {2}}

Onde:

{1} = Nome externo do programa;

{2} = Nome da variável do tipo "handle" utilizada para eliminar a procedure persistente [Opcional]

UT-RUN.I

31

Funções

Idênticas ao Modelo Simplificado, porém distribuídas em três includes:

Solicita a conexão e cria a instância do servidor;

Dispara a execução do programa;

Encerra a conexão e elimina a instância.

UT-RUN.I

32

Aplicações

Quando o programa API é disparado n vezes dentro de um laço (repeat, for each...).

UT-RUN.I

Existe a API BTAPI008 que possui funçõesque podem ser utilizadas no Desenvolvimento.

33

Exemplo:

def var h-handle as handle no-undo.

{btb/ btb008za.i1 cep/ceapi001.p yes "rpc-test"}for each cta_ctbl no-lock:/* Prepara tt_movto */

{btb/btb008za.i2 cep/ceapi001.p "input tt_movto, output tt_erro" "h-handle"}end.{btb/btb008za.i3 cep/ceapi001.p "h-handle"}

UT-RUN.I

34

Considerações Gerais

Caso não seja informado nenhum servidor RPC, será utilizado o servidor RPC definido no aplicativo do programa;

Se o processo estiver sendo executado via RPW e o servidor RPC não foi informado, o programa será executado On-line.

Quando informado valor parar servidor RPC, caso ocorra algum erro, não será possível a execução On-line.

UT-RUN.I

35

Ocorrendo erros na tentativa de execução do programa, estes serão retornados juntamente com a mensagem 16435 (*).

Quando for informada a variável do tipo "handle" para a include btb/btb008za.i2, deve-se tomar dois cuidados:

Esta variável deve estar previamente definida no programa.

Ao final da execução, deve-se eliminar o programa persistente passando o nome da variável para a include btb008za.i3.

UT-RUN.I

36

Existe a API que transporta o conteúdo das variáveis de ambiente do Datasul_EMS da sessão client para a sessão do application server (remota) quando o programa solicita a execução de determinado programa via RPC (Remote ProcedureCall). Logo, as informações como usuário corrente, grupos de segurança em que o usuário se encontra, empresa do usuário... estarão disponíveis na sessão remota.

UT-RUN.I

37

Objetivo

Apresentar para o usuário uma mensagem previamente cadastrada, no Sistema de Mensagens, ou ainda, retornar para o programa propriedades desta mensagem.

UT-MSGS.P

38

Ao ser exibida uma mensagem, seu número vai ser exibido na barra de título da caixa de diálogo, juntamente com o tipo de mensagem. Ex.: Pergunta: (10);

UT-MSGS.P

39

Antes da exibição de qualquer mensagem, será verificado se ela possui uma substituta. Se houver, a mensagem substituta seráexibida ao invés da original;

Os números da mensagem original e da mensagem substituta serão exibidos na barra de títulos da caixa de diálogo. Exemplo: Advertência: (134) - (354), onde 134 seria a mensagem exibida e 354 a mensagem original.

UT-MSGS.P

40

Utilização

Apresentação de mensagens de erro, informação, advertência ou questionamentos ao usuário;

Impressão de mensagens em log´s.

Apresentação da pilha de execução dos programas até o ponto de chamada da ut-msgs, através do botão “trace”.

UT-MSGS.P

41

Formato

run utp/ut-msgs.p (input <ação>

input <número da mensagem>input <parâmetros>).

Onde:

<ação>: ação desejada, conforme a tabela a seguir;

UT-MSGS.P

42

UT-MSGS.P

Retorna o código do tipo da mensagem codtype

Retorna o tipo da mensagem(Erro, Advertência, Informação ou Questão)

type

Retorna o texto de ajudahelp

Retorna o texto da mensagemmsg

Apresenta a mensagem, com texto de ajuda no padrão do produto

show

ResultadoAção

43

<número da mensagem>: número da mensagem desejada.

<parâmetros>: são os campos, tabelas e outras palavras que se deseja colocar na mensagem no momento de sua utilização. Cada um dos parâmetros deve ser separado por "~~"

UT-MSGS.P

44

Exemplo:

run utp/ut-msgs.p (input "show",input 1235,input repres.cod-repres + "~~" +

regiao.cod-regiao + "~~" +string(regiao.val-minimo).

UT-MSGS.P

45

Objetivo

Viabilizar a utilização de combo-boxe’s e radio-set’s com representação para campos inteiros.

Utilização

Nos includes de dicionário de dados criados para cada campo.

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

46

Formato

{include/ind01-10.i {1} {2}

Onde:

{1}: indica a função a ser realizada, conforme tabela a seguir;

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

47

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

Retorna a posição do item (número)06 item

Retorna o número de itens da lista 05

Retorna valores para a propriedade radio-buttons07

Retorna o item n da lista 04 n

Lista com os itens separados por vírgula 03

define view-as radio-set02

define view-as combo-box01

ObjetivoFunção

48

{2}: utilizado quando a função necessita de um segundo parâmetro, isto é, nas opções 04 e 06.

Exemplo:

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

49

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

50

/* i01un195.i - campo: modulo ( tabela: agenda-rpw )***/{include/i-lgcode.i}&IF "{&LANGUAGE-CODE}" = "POR" &THEN&glob val1 MultiPlanta&glob val2 Coleta Dados&glob val3 EDI&ENDIF&IF "{&LANGUAGE-CODE}" = "ESP" &THEN&glob val1 Multiplanta&glob val2 Colecta Dato&glob val3 EDI&ENDIF&IF "{&LANGUAGE-CODE}" = "ING" &THEN&glob val1 Multi-Plant&glob val2 Data Coll &glob val3 EDI&ENDIF{include/ind01-10.i {1} {2} }/* Fim */

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

51

Objetivo

Retornar propriedades das tabelas do dicionário de dados.

Utilização

Nos SmartBrowsers ou Browsers para pôr label em campos calculados;

Para utilização de literais ou textos nas telas com função de label, como no retângulo que envolve o radio-set.

UT-TABLE.I

52

Formato

{utp/ut-table.i <banco> <tabela> <propriedade>}

Onde:

<banco>: nome lógico do banco de dados que contém a tabela;

<tabela>: nome da tabela desejada;

<propriedade>: número que identifica a propriedade, conforme tabela a seguir.

UT-TABLE.I

53

O retorno é obtido através do return-value.

Exemplo:

UT-TABLE.I

Desc3

Dump-Name2

File-Label1

PropriedadeNúmero

54

def var c-tipo as character no-undo.{utp/ut-table.i mgadm conta 1}assign c-tipo:label in browse br-table = return-value.

UT-TABLE.I

55

Objetivo

Utilizar o cadastro de literais do Datasul EMS, cadastrando automaticamente as literais utilizadas no programa e retornando a tradução da literal no idioma corrente do banco de dados.

UT-LITER.I

56

Utilização

Em todos os lugares onde literais passíveis de tradução forem apresentadas na interface do programa.

UT-LITER.I

57

Formato

{utp/ut-liter.i <literal> <modulo contexto> <alinhamento>}

Onde:

<literal>: Literal a ser utilizada na tela com os espaços substituídos por "_" (undescore);

UT-LITER.I

58

<módulo contexto>: Parâmetro opcional que define o contexto de tradução da literal. Se omitido, a literal deve ter o contexto universal de tradução, que é representado pelo valor * (asterisco)

<alinhamento>: Parâmetro opcional que define onde éincrementado o espaço extra para tradução. Se omitido, deve reservar o espaço à esquerda da literal.

UT-LITER.I

59

O retorno é obtido através do return-value.

Exemplo:

UT-LITER.I

À direitaR

CentralizadoC

À esquerdaL

AlinhamentoTipo

60

def var l-lista-narra as character no-undo.{utp/ut-liter.i Lista_Narrativa MCE R}assign l-lista-narra:label in frame {&frame-name} =

return-value.

UT-LITER.I

61

Objetivo

Determinar o valor inicial e final de campos caracter, cujo formato é variável, como, por exemplo, a conta-contábil.

UT-LIMIT.P

62

Utilização

Na seleção de relatórios, cálculos, atualizações e zooms que tenham faixas de seleção sobre campos caracter com formato variável.

UT-LIMIT.P

63

Formato

run utp/ut-limit.p (input <opção>,<formato>).

Onde:

<opção>: indica o limite desejado, MIN = Mínimo e MAX = Máximo;

<formato>: formato do campo caracter

UT-LIMIT.P

64

O retorno é obtido através do return-value.

Exemplo 1:

def var c-conta-ini as char no-undo.find first param-global no-lock no-error.run utp/ut-limit.p (input "MIN",

input param-global. formato-conta-contabil).

Assign c-conta-ini = return-value.=> c-conta-ini: ‘0000000000000’

UT-LIMIT.P

65

Exemplo 2:

def var c-conta-ini as char no-undo.find first param-global no-lock no-error.run utp/ut-limit.p (input “MAX",

input param-global. formato-conta-contabil).

Assign c-conta-ini = return-value.

=> c-conta-ini: ‘9999999999999’

UT-LIMIT.P

66

Objetivo

Define variáveis globais;

Formato

Já está definido dentro dos SmartObjects;

UT-GLOB.I

67

Exemplo de Variáveis Definidas:

i-ep-codigo-usuario: contém a empresa corrente do usuário.

l-implanta: variável lógica usada no Zoom, para habilitar o botão implanta.

c-seg-usuario: contém o nome do usuário corrente logadono menu.

UT-GLOB.I

68

Objetivo

Converter strings acentuadas e caracteres especiais para strings não acentuadas e caracteres simples.

I-FREEAC.I

69

Utilização

Nos Templates de Relatório, Importação, Exportação e em pontos específicos que necessitem que a saída de dados (impressora/arquivo/tela) seja feita sem acentuação;

I-FREEAC.I

70

Formato

{include/i-freeac.i}assign <variável> = fn-free-accent("<string>").

Onde:

<variável>: variável que irá armazenar o valor do retorno da função fn-free-accent;

<string>: string acentuada a ser convertida.

I-FREEAC.I

71

Exemplo:

{include/i-freeac.i}define var c-texto as char no-undo.assign c-texto = fn-free-accent ("ÁÀÃÂÄ-ÉÈÊË-ÍÌÎÏ-ÓÒÔÕÖ-ÚÙÛÜ-ÝŸ-Ç-Ñ").message fn-free-accent("áàãâä-éèêë-~íìîï-óòõôö-úùûü-y´¨y-ç-ñ") chr(10) c-texto view-as alert-box.

I-FREEAC.I

72

Objetivo

Este utilitário deve ser usado sempre que o usuário tiver que informar um diretório.

Formato

run utp/ut-dir.p (input <título>,output <pasta>,output <cancelado>).

UT-DIR.P

73

Onde:

<título>: título para a caixa de diálogo para selecionar diretórios.

<pasta>: variável do tipo caracter onde será retornada a pasta selecionada.

<cancelado>: uma variável do tipo lógica que deve ser retornado se a caixa de diálogo foi cancelada ou não.

UT-DIR.P

74

Exemplo:

define var c-texto as char no-undo.define var l-result as logical no-undo. run utp/ut-dir.p (input "Escolha um diretório",

output c-texto,output l-result).

UT-DIR.P

75

UT-DIR.P

76

Objetivo

Permitir a execução de sons do tipo MID e WAV

Instalação

Como este programa utiliza os recursos de OCX, é preciso que este OCX esteja registrado e instalado na máquina que deve ser utilizada.

BTB917ZX.P

77

Para fazer esta instalação proceda da seguinte forma:

1. Executar o SETUP.EXE, que se encontra no diretório \INTERFAC\SOM\;

2. Clicar no botão de 'OK', quando for solicitado;

3. Clicar no botão ;

4. Clicar em OK para terminar.

BTB917ZX.P

78

Formato

run btb/btb917zx.p (input <som>).

Onde:

<som>: caminho completo do arquivo de som a ser executado.

Exemplo:

run btb/btb917zx.p (input "c:\windows\media\start.wav").

BTB917ZX.P

79

Objetivo

Permitir a visualização dos seguintes tipos de imagens:

Bitmaps (*.bmp; *.dib);

Gif Images (*.gif);

JPEG Images (*.jpg);

Metafiles (*.wmf, *.emf);

Icons (*.ico, *.cur).

BTB917ZY.P

80

Instalação

Como este programa utiliza os recursos de OCX, é preciso que este OCX esteja registrado e instalado na máquina que deve ser utilizada. Para fazer esta instalação proceda da seguinte forma:

1. Executar o SETUP.EXE, que se encontra no diretório \INTERFAC\IMAGEM\;

BTB917ZY.P

81

2. Clicar no botão de 'Ok', quando for solicitado;

3. Clicar no botão ;

4. Clicar em ‘OK’ para terminar.

Formato:

run btb/btb917zy.p (input <imagem>).

BTB917ZY.P

82

Onde:

<imagem>: caminho completo da imagem a ser visualizada.

Exemplo:

run btb/btb917zy.p (input "c:\windows\egito.bmp").

BTB917ZY.P

83

Objetivo

Permitir a visualização de vídeos do tipo AVI.

Instalação

Como este programa utiliza os recursos de OCX, é preciso que este OCX esteja registrado e instalado na máquina em que deve ser utilizado. Para fazer esta instalação proceda da seguinte forma:

BTB917ZZ.P

84

1. Executar o SETUP.EXE, que se encontra no diretório \INTERFAC\VIDEO\DISK1;

2. Clicar no botão de 'Ok', quando for solicitado;

3. Clicar no botão ;

4. Clicar em ‘OK’ para terminar.

Formato:

run btb/btb917zz.p (input <video>)

BTB917ZZ.P

85

Onde:

<vídeo>: caminho completo do vídeo a ser apresentado.

Exemplo:

run btb/btb917zz.p (input "c:\windows\help\explorer.avi").

BTB917ZZ.P

86

Objetivo

Este utilitário pode ser usado sempre que for necessário saber a versão de um programa compilado (.R).

Formato

run utp/ut-vrbin.p (input <arquivo>,input <acomp>,output <versao>).

UT-VRBIN.P

87

Onde:

<arquivo>: variável do tipo caracter que irá conter o nome do arquivo compilado a ser analisado;

<acomp>: variável do tipo lógica que irá definir se a pesquisa deve apresentar a tela de acompanhamento ou não;

<versao>: variável do tipo caracter que irá receber a versão do programa passado como parâmetro

UT-VRBIN.P

88

Exemplo:

run utp/ut-vrbin.p(input "c:\tmp\cd0101.r",input no,output c-versao).

UT-VRBIN.P

89

Observações:

Programa só conseguirá buscar a versão dos programas que foram construídos conforme os padrões de desenvolvimento da Datasul S.A. e que utilizem as Técnicas e Templates do Datasul EMS 2.0;

A tela de acompanhamento deixa o programa sensivelmente mais lento, pois faz interações com a tela, mas em compensação, deixa o usuário informado do que está ocorrendo naquele momento;

UT-VRBIN.P

90

Se o retorno da versão for "?", o programa não conseguiu obter a versão. Os principais motivos disto são:

Programa a ser pesquisado não for encontrado;

Programa não está dentro das técnicas e templates do Datasul EMS 2.0;

Programa não possui a versão internamente.

UT-VRBIN.P

91

Objetivo

Este utilitário pode ser usado sempre que for necessário saber a data, a hora ou o tamanho de um arquivo no Windows.

Formato

run utp/ut-finfo.p (input <arquivo>,output <data>,output <hora>,output <tamanho>).

UT-FINFO.P

92

Onde:

<arquivo>: variável do tipo caracter que deve conter o nome do arquivo a ser analisado;

<data>: variável do tipo data que deve receber a data do arquivo que está sendo analisado;

<hora>: variável do tipo caracter que deve receber a hora do arquivo que está sendo analisado;

UT-FINFO.P

93

<tamanho>: variável do tipo inteira que deve receber o tamanho do arquivo que está sendo analisado.

Exemplo:

run utp/ut-finfo.p(input "c:\autoexec.bat",output d-data,output c-hora,output i-tam).

UT-FINFO.P

94

Observação:

Caso o programa não seja encontrado, o utilitário iráretornar "?", na data e "00:00:00", na hora.

UT-FINFO.P

95

Objetivo:

Este utilitário pode ser usado sempre que for necessário saber informações mais detalhadas sobre a linha de comando usada para abrir a sessão corrente.

UT-CMDLN.P

96

Formato:

run utp/ut-cmdln.p (output <linha-comando>).

Onde:

<linha-comando>: variável do tipo caracter que irá receber a linha de comando usada para abrir a sessão corrente.

UT-CMDLN.P

97

Exemplo:

run utp/ut-cmdln.p (output c-linha-comando).

UT-CMDLN.P

98

Objetivo:

Esta técnica pode ser usada sempre que for necessário saber informações mais detalhadas sobre o Sistema Operacional.

UT-OSVER.P

99

Formato:

run utp/ut-osver.p (ouput <plataforma>,output <versao>,output <release>,output <build>,output <extrainfo>).

UT-OSVER.P

100

Onde:

<plataforma>: variável do tipo caracter que irá receber o tipo plataforma windows (Windows NT ou Windows 95/98);

<versao>: variável do tipo inteira que irá receber, se houver, a versão do Windows;

<release>: variável do tipo inteira que irá receber, se houver, a "release" do Windows;

<build>: variável do tipo inteira que irá receber, se houver, o "build" do Windows;

UT-OSVER.P

101

<extrainfo>: variável do tipo caracter que irá receber informações extras sobre o Windows (Versão do Service Pack, etc ...)

Exemplo:

run utp/ut-osver.p (output c-plataforma,output i-versao,output i-release,output i-build,output c-extrainfo).

UT-OSVER.P

102

UT-OSVER.P

103

Objetivo:

Descobrir a quantidade de registros numa tabela de acordo a condição passada.

I-COUNTDS.I

104

Utilização:

Quando é necessário determinar a quantidade de registros numa tabela, evitando que o OWNER seja incluído antes do nome da tabela no programa compilado, quando o banco de dados é acessado através do DataServer.

I-COUNTDS.I

105

Formato:

{include/i-countds.i &BANCO=<banco> &TABELA=<tabela>

&COND=<condição>&DEST=<variável> }

Onde:

<banco>: banco de dados onde a tabela se encontra.

I-COUNTDS.I

106

<tabela>: tabela que deve ter o número de registros contados.

<condição>: cláusula where, que deve ser usada na consulta. Opcional.

<variável>: variável que irá armazenar o resultado da consulta.

I-COUNTDS.I

107

Exemplo:

DEF VAR iCount AS INT NO-UNDO.{include/i-countds.i &BANCO=mgadm

&TABELA="cheque-pend"&COND="WHERE cod-banco > 20"&DEST=iCount}

message iCount view-as alert-box.

I-COUNTDS.I

108

Observações:

Utilize apenas se o banco de dados não for PROGRESS, isto é, for acessado através do DataServer.

<condição> e <tabela> devem estar entre aspas.

I-COUNTDS.I

109

Objetivo:

A UT-WIN.I define procedures para acesso a funções externas de API’s do Windows.

UT-WIN.I

110

Procedures:

As Procedures definidas para esta include podem ser consultadas no manual de padrões do produto.

UT-WIN.I

111

Exemplo:

Ver nome do usuário logado.

DEFINE VARIABLE chrUserID AS CHARACTER NO-UNDO.DEFINE VARIABLE intSize AS INTEGER NO-UNDO.

ASSIGN chrUserID = FILL(' ',256)intSize = 255.

RUN GetUserName{&A} (INPUT-OUTPUT chrUserID,INPUT-OUTPUT intSize).

MESSAGE TRIM(chrUserID)VIEW-AS ALERT-BOX.

UT-WIN.I

112

Objetivo:

Exibir em tela toda a lista de programas e procedures internas executadas até o ponto de execução deste aplicativo.

UT-TRACE.P

113

Utilização:

Pode ser utilizado em qualquer template da Datasul, independente do programa ser Smart ou Thin Template.

UT-TRACE.P

114

Formato:

{utp/ut-trace.i}

RUN utp/ut-trace.p PERSISTENT SET h-trace.RUN pi-monta-trace IN h-trace (OUTPUT TABLE tt-trace).RUN utp/trace.w (INPUT TABLE tt-trace).

UT-TRACE.P

115

Exemplo:

UT-TRACE.P

116

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.

universidade@datasul.com.br

http://universidade.datasul.com.br

universidade@datasul.com.br

http://universidade.datasul.com.br

Obrigada!

Obrigada

top related