Documento de API
Produto: | Datasul |
Ocorrência: | Documentação de API |
Nome Físico | cdp/cdapi281.p |
Objetivo
Esta API será executada na API de criação de Movimento de Estoque (ceapi001). Seu objetivo é alterar a API de criação de Movimento de Estoque (Materiais), adicionando a chamada da API de Execução Orçamentária, a fim de verificar se o os movimentos de estoque em questão ultrapassam o valor do orçamento, e se não ultrapassarem empenhar essas movimentações, recebendo os seguintes parâmetros:
run cdp/cdapi281.p (input 1 ,
input tt-movto.cod-prog-orig ,
input tt-movto.valor-mat-m[1] ,
input tt-movto.valor-mob-m[1] ,
input tt-movto.valor-ggf-m[1] ,
input tt-movto.valor-mat-o[1] ,
input tt-movto.valor-mob-o[1] ,
input tt-movto.valor-ggf-o[1] ,
input tt-movto.valor-mat-p[1] ,
input tt-movto.valor-mob-p[1] ,
input tt-movto.valor-ggf-p[1] ,
input tt-movto.quantidade ,
input tt-movto.cod-estabel ,
input tt-movto.it-codigo ,
input tt-movto.conta-contabil ,
input tt-movto.conta-db ,
input tt-movto.dt-trans ,
input tt-movto.nr-trans ,
input estabelec.custo-contab ,
input i-empresa ,
input tt-movto.num-sequen ,
input tt-movto.nro-docto ,
input tt-movto.nat-operacao ,
input tt-movto.tipo-trans ,
/** Informações sobre a Ordem de Manutenção **/
input tt-movto.nr-ord-produ ,
input-output table tt_xml_input_1).
Funcionamento
Essa API será executa somente a partir de um ponto específico dentro da ceapi001.p
A API irá alimentar informações na tabela tt_xml_input_1 que será envida para api de finanças “prgfin/bgc/bgc700za.py “.
Definição dos Parâmetros:
Atributo | Tipo | Formato | Descrição | Obrigatório | Evolução |
p-opcao | Char | X(10) | Opção | Sim | 001 |
p-cod-prog-orig | Dec | X(18) | Código Programa Origem | Não | 001 |
p-valor-mat-m | Dec | >>>>,>>>,>>9.9999 | Valor Material Mensal | Não | 001 |
p-valor-mob-m | Dec | >>>>,>>>,>>9.9999 | Valor MOB Mensal | Não | 001 |
p-valor-ggf-m | Dec | >>>>,>>>,>>9.9999 | Valor GGF Mensal | Não | 001 |
p-valor-mat-o | Dec | >>>>,>>>,>>9.9999 | Valor Material On-line | Não | 001 |
p-valor-mob-o | Dec | >>>>,>>>,>>9.9999 | Valor MOB On-line | Não | 001 |
p-valor-ggf-o | Dec | >>>>,>>>,>>9.9999 | Valor GGF On-line | Não | 001 |
p-valor-mat-p | Dec | >>>>,>>>,>>9.9999 | Valor Material Padrão | Não | 001 |
p-valor-mob-p | Dec | >>>>,>>>,>>9.9999 | Valor MOB Padrão | Não | 001 |
p-valor-ggf-p | Dec | >>>>,>>>,>>9.9999 | Valor GGF Padrão | Não | 001 |
p-quantidade | Dec | ->>>>,>>>,>>9.999 | Quantidade | Não | 001 |
p-cod-estabel | Char | X(3) | Código Estabelecimento | Não | 001 |
p-it-codigo | Char | X(16) | Código Item | Não | 001 |
p-conta-contabil | Char | X(17) | Conta Contábil | Não | 001 |
p-conta-db | Char | X(17) | Conta Débito Direto | Não | 001 |
p-dt-trans | Date | 99/99/9999 | Data Transação | Não | 001 |
p-nr-trans | Int | ->>>,>>>,>>9 | Número Transação | Não | 001 |
p-custo-contab | Int | 9 | Centro Custo Contábil | Não | 001 |
p-empresa | Int | >>9 | Empresa | Não | 001 |
p-num-sequen | Int | >>>,>>9 | Número Seqüencial | Não | 001 |
p-nro-docto | Char | X(16) | Número Documento | Não | 001 |
p-nat-operacao | Char | X(6) | Natureza Operação | Não | 001 |
p-tipo-trans | Int | Default | Tipo Transação | Não | 001 |
p-nr-ord-produ | Int | >>>,>>>,>>9 | Número Ordem Manutenção | Não | 001 |
tt_xml_input_1 | Temp-table |
| Informações Exec. Orçament, | Sim | 001 |
Tabelas Temporárias
Atributos das tabelas temporárias:
Temp-table 1 - tt_xml_input_1: Conterá as informações dos movimentos sobre os quais deve ser efetuada execução orçamentária.
Tabela Temporária | Descrição | Entrada/Saída |
tt_xml_input_1 | Conterá as informações dos movimentos sobre os quais deve ser efetuada execução orçamentária. | Entrada/Saída |
Definição Atributos da Tabela Temporária tt_xml_imput_1:
Atributo | Tipo | Formato | Descrição |
ttv_cod_label | character | x(8) | Nome do atributo |
ttv_des_conteudo | character | x(40) | Valor do atributo |
ttv_num_seq_1 | integer | >>>,>>9 | Numero seqüencial que identifica o conjunto a que pertence o atributo |
ttv_num_seq_2 | integer | >>>>,>>9 | Segundo número seqüencial que identifica o conjunto do atributo |
Considerações Gerais:
- Devem ser passados os parâmetros passados acima, como campos de entrada e 1 (uma) temp-table de entrada e saída com informações para a Execução Orçamentária.
- A temp-table é passada como parâmetro através do comando INPUT-OUTPUT PARAM TABLE.
Exemplo: run cdp/cdapi281.p (input 1 ,
input tt-movto.cod-prog-orig ,
input tt-movto.valor-mat-m[1] ,
input tt-movto.valor-mob-m[1] ,
input tt-movto.valor-ggf-m[1] ,
input tt-movto.valor-mat-o[1] ,
input tt-movto.valor-mob-o[1] ,
input tt-movto.valor-ggf-o[1] ,
input tt-movto.valor-mat-p[1] ,
input tt-movto.valor-mob-p[1] ,
input tt-movto.valor-ggf-p[1] ,
input tt-movto.quantidade ,
input tt-movto.cod-estabel ,
input tt-movto.it-codigo ,
input tt-movto.conta-contabil ,
input tt-movto.conta-db ,
input tt-movto.dt-trans ,
input tt-movto.nr-trans ,
input estabelec.custo-contab ,
input i-empresa ,
input tt-movto.num-sequen ,
input tt-movto.nro-docto ,
input tt-movto.nat-operacao ,
input tt-movto.tipo-trans ,
/** Informações sobre a Ordem de Manutenção **/
input tt-movto.nr-ord-produ ,
input-output table tt_xml_input_1).
- A API funciona da seguinte forma: Recebe os parâmetros, faz as criticas das mesmas, caso não tenha ocorrido nenhum problema faz a(s) atualização(ões). O primeiro parâmetro, se for igual a 1, indica se está somente criando a temp-table com as informações do Estoque, e se for igual a 2, indica que irá verificar a Execução Orçamentária a partir da temp-table criada com um ou mais registros.
- Quando for executar a API com o primeiro parâmetro igual a 2, poderá passar todos os parâmetros em branco, com exceção do primeiro e da temp-table.
Exemplo: run cdp/cdapi281.p (input 2 , input "",
input 0 , input 0 ,
input 0 , input 0 ,
input 0 , input 0 ,
input 0 , input 0 ,
input 0 , input 0 ,
input "", input "",
input "", input "",
input "", input 0 ,
input 0 , input 0 ,
input 0 , input "",
input "", input 0 ,
input 0 , input-output table tt_xml_input_1).
- Essa API será executa somente a partir de um ponto específico dentro da ceapi001.p