Histórico da Página
...
- Todas as temp-tables são passadas como parâmetro através do comando INPUT-OUTPUT, pois além de passar parâmetros, elas retornam informações para o programa chamador.
Parâmetros de Entrada
Temp-table tt-trans: nesta temp-table deverão ser armazenadas todas as informações com relação a transação a ser criada.
TEMP-TABLE TT-PARAM | |||
Atributo | Tipo | Formato | Valor Inicial |
Cod-versao-integracao | Integer | "999" | |
i-sequen | Integer | “999” | |
cd-trans | Character | “x(8)” | |
Conteudo-trans | Raw | ||
Detalhe | Character | “x(60)” | |
Nr-trans | Decimal | “zzzzzzzzz9” | 0 |
Usuario | Character | “x(12)” | |
Atualizada | Logical | “Sim/Não” | |
Temp-table tt-erro: nesta temp-table são armazenados os possíveis erros que ocorreram durante a criação das transações.
TEMP-TABLE TT-ERRO | |||
Atributo | Tipo | Formato | Valor Inicial |
i-sequen | Integer | “999” | |
cd-erro | integer | “>>>>9” | |
Mensagem | character | “x(256)” | |
Funcionamento
Esta API pode ser executada de forma persistente ou não
A sintaxe para a chamada da API/BO é:
Chamada da API de forma não Persistente: run bcp/bcapi001.p ( input-output table tt-trans, Chamada da API de forma Persistente: define var h-bcapi001 as handle no-undo. /*chama o programa bcapi001.p persistente*/ |
Parâmetros de Entrada
Temp-table tt-trans: nesta temp-table deverão ser armazenadas todas as informações com relação a transação a ser criada.
TEMP-TABLE TT-PARAM | |||||||||||||
Atributo | Tipo | Formato | Valor Inicial | ||||||||||
Cod-versao-integracao | Integer | "999" | i-sequen | Integer | “999” | cd-trans | Character | “x(8)” | Conteudo-trans | Raw | Detalhe | Character | “x(60)” |
Nr-trans | Decimal | “zzzzzzzzz9” | 0 | Usuario | Character | “x(12)” | Atualizada | Logical | “Sim/Não” | ||||
...
. |
...
TEMP-TABLE TT-ERRO | ||||||||
Atributo | Tipo | Formato | Valor Inicial | |||||
i-sequen | Integer | “999” | cd-erro | integer | “>>>>9” | Mensagem | character | “x(256)” |
Execução
Execução: O programa bcp/bcapi001.i irá executar basicamente as seguintes validações:
...
- Verifica a versão de integração passada para a API;
- Se o tipo de transação utilizado é um tipo de transação válido;
- Se o detalhe, o conteúdo e o usuário da transação não estão em branco;
Parâmetros de Saída
No retorno da execução do bcp/bcapi001.p, será retornado um dos valores abaixo:
...
OBS.: Quando a chamada da API for de forma Persistente, ao término da execução do programa específico, é necessário implementar a chamada da procedure "piFinalizaAPI", antes de eliminar a instância (handle), para que o programa elimine os handles e libere a licença novamente.
Exemplo:
Corpo programa específico:
define var h-bcapi001 as handle no-undo.
/*chama o programa bcapi001.p persistente*/
run bcp/bcapi001.p PERSISTENT SET h-bcapi001 ( input-output table tt-trans,
input-output table tt-erro).
rotinas especificas...
/*Faz a liberação do consumo de licença*/
RUN piFinalizaAPI in h-bcapi001.
IF VALID-HANDLE(h-bcapi001) THEN
DELETE OBJECT h-bcapi001 NO-ERROR.
fim programa.