Sumário

Search

  1. Prefácio
  2. Introdução ao Navegador do PowerExchange
  3. Mapas de Dados
  4. Mapas de Dados para Fontes de Dados Específicas
  5. Copybooks
  6. Grupos de Registro e Registros de Captura
  7. Grupos de Extração e Mapas de Extração
  8. Metadados Pessoais
  9. Teste de Linha de Banco de Dados
  10. Exemplos do Navegador do PowerExchange
  11. Funções do PowerExchange para Campos Definidos pelo Usuário
  12. Programas de Método de Acesso do Usuário
  13. Grupos de Aplicativos e Aplicativos
  14. Propriedades do Mapa de Dados
  15. Propriedades do Registro, Campo e Tabela
  16. Carimbos de Data/Hora DTL__CAPXTIMESTAMP
  17. Rastreamento para criar um mapa de memória ao importar um copybook COBOL

Guia do Usuário do Navegador

Guia do Usuário do Navegador

Vínculo do Programa CL - Exemplo

Vínculo do Programa CL - Exemplo

O código a seguir exibe um exemplo de vínculo do programa CL:
PGM PARM(&NBRFLDS &RC &MSGBUFF &MSGBUFFSZ &TEXT &TEXTLEN &NUM &NUMLEN) /*----------------------------------------------------------------*/ /* ARGUMENTS */ /*----------------------------------------------------------------*/ DCL VAR(&NBRFLDS) TYPE(*CHAR) LEN(4) DCL VAR(&RC) TYPE(*CHAR) LEN(4) DCL VAR(&MSGBUFF) TYPE(*CHAR) LEN(128) DCL VAR(&MSGBUFFSZ) TYPE(*CHAR) LEN(4) DCL VAR(&TEXT) TYPE(*CHAR) LEN(15) DCL VAR(&TEXTLEN) TYPE(*CHAR) LEN(4) DCL VAR(&NUM) TYPE(*CHAR) LEN(4) DCL VAR(&NUMLEN) TYPE(*CHAR) LEN(4)
No exemplo de programa, dois campos são passados para o programa CL.
O primeiro campo é chamado TEXT e tem um tamanho fixo de 15. Os dados podem ser movidos para ele e dele usando o quinto argumento &TEXT. Se não for um campo CHAR de tamanho fixo, o tamanho dos dados deve ser usado para determinar o tamanho real, como o campo &TEXTLEN.
Infelizmente, a linguagem CL não suporta números inteiros diretamente. Para obter o valor numérico, o conteúdo de &TEXTLEN deve ser movido para um decimal compactado usando uma instrução como:
CHGVAR VAR(&DECTEXTLEN) VALUE(%BIN(&TEXTLEN 1 4))
Se o tamanho for alterado pelo programa, o novo tamanho deverá ser movido para o campo TEXTLEN usando uma instrução como:
CHGVAR VAR(%BINARY(&TEXTLEN)) VALUE(&DECTEXTLEN)