Documento de API
Produto: | Datasul |
Ocorrência: | Documentação de API |
Nome Físico | abp/abapi005 |
Considerações Gerais
Objetivo
A API, faz a integração entre o produto Frotas com o produto EMS, na parte do estoque. As quantidades dos itens utilizados em frotas podem ser baixados do estoque do EMS on-line, batch ou não serem baixados.
Funcionamento
A API, recebe como parâmetros a seleção dos documentos consistidos e aprovados que devem ser integrados, faz as validações iniciais, verificando se os parâmetros necessários para integração estão cadastrados.
Busca-se o período do cálculo do médio em aberto, percorre os documentos consistidos e aprovados, busca todas as informações necessárias para fazer a baixa em estoque (depósito, item, referência, lote, localização, quantidade, estabelecimento, ....).
Após criar todos os registros acumulados ou não por item, chama a API de estoque (cep\ceapi001.p), que valida os registros, baixa do estoque e retorna o número da transação efetivada ou os erros ocorridos.
Os números das transações são guardados nos apontamentos de abastecimento e de lubrificação e a ficha é atualizada como integrada com EMS.
1 – Não Integrado
2 – Integrado
A API roda somente na forma padrão, onde realiza-se a chamada através de um comando RUN normal, passando-se as temp-tables carregadas com as informações necessárias.
A sintaxe para a chamada da API/BO é:
run abp\abapi005.p (input h-param, input table tt-param, input table ttDocumento, output table RowErrors). |
Tabelas Temporárias
Nos atributos das tabelas temporárias de entrada e saída:
tt-param | Entrada/Saída | ||||
Contém os campos para se fazer a seleção dos registros na API | Entrada | ||||
Atributo | Tipo | Formato | Descrição | Obrigatório | Evolução |
destino | integer | padrão | Destino do relatório | Não | 001 |
arquivo | char | x(35) | Nome do arquivo do relatório | Não | 001 |
usuario | char | x(12) | Nome do usuário corrente | Sim | 001 |
data-exec | date | 99/99/9999 | Data de execução do relatório | Não | 001 |
hora-exec | integer | padrão | Hora de execução do relatório | Não | 001 |
dataMovimento | date | 99/99/9999 | Data Movimento Inicial | Sim | 001 |
estabInicial | char | x(3) | Estabelecimento Inicial | Sim | 001 |
estabFinal | char | x(3) | Estabelecimento Final | Sim | 001 |
lAcumula | logical | yes/no | Acumula os registros por item? | Não | 001 |
depositoIni | Char | x(3) | Deposito Inicial | Sim | 001 |
depositoFim | char | x(3) | Deposito Final | Sim | 001 |
unidNegocIni | char | x(3) | Unidade de Negócio Inicial | Sim | 001 |
unidNegocFim | char | x(3) | Unidade de Negócio Final | Sim | 001 |
ttDocumento | Entrada/Saída | ||||
Contém os registros das fichas de abastecimento e lubrificação que fora atualizadas. Esta temp-table é LIKE mab-abastec-lubrific | Entrada | ||||
Atributo | Tipo | Formato | Descrição | Obrigatório | Evolução |
r-rowid | rowid | padrão | Rowid da Ficha de abastecimento e lubrificação | Sim | 001 |
lIntegrar | logical | yes/no | Integrar | Não | 001 |
i-origem | integer | padrão | valida de onde é o documento | Sim | 001 |
ttTransacao | Entrada/Saída | ||||
Temp-Table de Integração. | Entrada | ||||
Atributo | Tipo | Formato | Descrição | Obrigatório | Evolução |
cod-depos | char | X(3) | Código do Depósito. | Sim | 001 |
cod-estabel | char | X(3) | Código do Estabelecimento. | Não | 001 |
cod-refer | char | X(8) | Referência. |
| 001 |
it-codigo | char | X(16) | Código do Item. |
|
|
cod-localiz | char | X(10) | Código da Localização. |
| 001 |
lote | char | X(10) | Lote. |
| 001 |
dt-trans | date | 99/99/9999 | Data da Transação. |
| 001 |
num-docto | int | >>>,>>>,>>9 | Número do Documento. |
| 001 |
r-rowid | rowid | Padrão | Rowid do Registro. |
| 001 |
i-tipo | int | Padrão |
|
| 001 |
RowErrors | Entrada/Saída | ||||
Contém os erros ocorridos na API (Mesma temp-table utilizada para gerar erros pelas BOs) | Saída | ||||
Atributo | Tipo | Formato | Descrição | Obrigatório | Evolução |
ErrorSequence | integer | padrão | Seqüência dos erros | Sim | 001 |
ErrorNumber | integer | padrão | Número do erro | Sim | 001 |
ErrorDescription | char | padrão | Descrição do erro | Sim | 001 |
ErrorParameters | char | padrão | Parâmetros passados para criar mensagem | Não | 001 |
ErrorType | char | padrão | Tipo do erro: WARNING: Aviso ERROR: Erro | Sim | 001 |
ErrorHelp | char | padrão | Texto de ajuda do erro | Sim | 001 |
ErrorSubType | char | padrão | Sub Tipo da mensagem de erro | Não | 001 |
Métodos
Método Básico
piInicializacao | ||
Requisito | Nenhum | |
Sintaxe | run piInicializacao in this-procedure. | |
Descrição | Chamada para iniciar a execução da API. | |
Parâmetros | Descrição | |
Não contém |
| |
Retorno | A API irá setar o return-value de forma a informar ao programa “chamador” se a execução foi realizada com sucesso ou não. Os valores possíveis para o return-value são: OK (execução correta) e NOK (execução com problemas). Os motivos para a rejeição do movimento de reporte são especificados na temp-table RowErrors. |
piValidaInicial | ||
Requisito | Nenhum | |
Sintaxe | run piValidaInicial in this-procedure. | |
Descrição | Faz as Validações Iniciais verificando se parâmetros necessários para execução da API estão cadastrados. | |
Parâmetros | Descrição | |
Não contém |
| |
Retorno | A API irá setar o return-value de forma a informar ao programa “chamador” se a execução foi realizada com sucesso ou não. Os valores possíveis para o return-value são: OK (execução correta) e NOK (execução com problemas). Os motivos para a rejeição do movimento de reporte são especificados na temp-table RowErrors. |
piCriaErro | ||
Requisito | Nenhum | |
Sintaxe | run piCriaErro in this-procedure (input <integer>, input <character>, input <character>). | |
Descrição | Cria os erros ocorridos dentro da API. | |
Parâmetros | Descrição | |
pErrorNumber | Número do erro do EMS. | |
pErrorType | Tipo de Erro (EMS, sistema, Progress). | |
pErrorParameters | Parâmetros passados as mensagens EMS. | |
Retorno | A API irá setar o return-value de forma a informar ao programa “chamador” se a execução foi realizada com sucesso ou não. Os valores possíveis para o return-value são: OK (execução correta) e NOK (execução com problemas). Os motivos para a rejeição do movimento de reporte são especificados na temp-table RowErrors. |
Método Negócio
piProcessaIntegracao | ||
Requisito | Chamada pela piInicializacao. | |
Sintaxe | run piProcessaIntegracao in this-procedure. | |
Descrição | Busca o período em aberto no sistema. Percorre as fichas de abastecimento e lubrificação e chama a API de estoque (cep\ceapi001.p). | |
Parâmetros | Descrição | |
Não Contém |
| |
Retorno | A API/BO irá setar o return-value de forma a informar ao programa “chamador” se a execução foi realizada com sucesso ou não. Os valores possíveis para o return-value são: OK (execução correta) e NOK (execução com problemas). Os motivos para a rejeição do movimento de reporte são especificados na temp-table RowErrors. |
piPrincipal | ||
Requisito | Deve ser chamada pela piProcessaIntegracao. | |
Sintaxe | run piPrincipal in this-procedure (input <character>, input <character>, input <character>, input <character>). | |
Descrição | Busca os dados para criação dos movimentos do estoque (depósito, item, referência, lote, localização, quantidade, estabelecimento, ....). | |
Parâmetros | Descrição | |
estabIni | Estabelecimento Inicial | |
estabFim | Estabelecimento Final | |
depositoIni | Deposito Inicial | |
depositoFim | Deposito Final | |
Retorno | A API/BO irá setar o return-value de forma a informar ao programa “chamador” se a execução foi realizada com sucesso ou não. Os valores possíveis para o return-value são: OK (execução correta) e NOK (execução com problemas). Os motivos para a rejeição do movimento de reporte são especificados na temp-table RowErrors. |
piCriaMovimento | ||
Requisito | Deve ser chamada pela piPrincipal. | |
Sintaxe | run piCriaMovimento in this-procedure (input <character>, input <character>, input <character>, input <character>, input <decimal>, input <character>, input <character>, input <integer>, input <rowid>). | |
Descrição | Cria os registros da temp-table de estoque (tt-movto), conforme parâmetros recebidos. Os registros criados são de REQUISIÇÃO (28), com tipo de Transação SAÍDA (2). | |
Parâmetros | Descrição | |
cRefer | Código da Referência do Item | |
cItem | Código do item a ser movimentado no estoque | |
cLocal | Código da localização do item no depósito | |
cLote | Código do lote do item em estoque | |
deQuant | Quantidade do item a ser movimentada | |
cCtaCod | Código da Conta Contábil | |
cCCentroCod | Código do Centro de Custo | |
iTipo | Tipo de Apontamento ocorrido: 1 – Abastecimento 2 – Lubrificação | |
rRowid | Rowid da tabela: mab-item-abastec ou da mab-item-lubrific, conforme iTipo passado. | |
Retorno | A API/BO irá setar o return-value de forma a informar ao programa “chamador” se a execução foi realizada com sucesso ou não. Os valores possíveis para o return-value são: OK (execução correta) e NOK (execução com problemas). Os motivos para a rejeição do movimento de reporte são especificados na temp-table RowErrors. |
piAtualizaDocumento | ||
Requisito | Deve ser chamada pela piProcessaIntegracao. | |
Sintaxe | run piAtualizaDocumento in this-procedure. | |
Descrição | Este método é chamado após o retorno da temp-table tt-movto da API de estoque. Este método grava nos apontamentos de abastecimento e de lubrificação o número da transação ocorrida no estoque e também atualiza o status de integração da ficha para Integrada com Estoque. | |
Parâmetros | Descrição | |
Não Contém |
| |
Retorno | A API/BO irá setar o return-value de forma a informar ao programa “chamador” se a execução foi realizada com sucesso ou não. Os valores possíveis para o return-value são: OK (execução correta) e NOK (execução com problemas). Os motivos para a rejeição do movimento de reporte são especificados na temp-table RowErrors. |
pi-cria-tt-movto-un | ||
Requisito | Procedure chamada pelo método interno piProcessaIntegracao. Não deve ser chamada externamente. | |
Sintaxe | run pi-cria-tt-movto-un in this-procedure. | |
Descrição | Cria a temp-table de Unidade de Negócio com base na Matriz do Histórico. | |
Parâmetros | Descrição | |
Não Contém |
| |
Retorno | A API/BO irá setar o return-value de forma a informar ao programa “chamador” se a execução foi realizada com sucesso ou não. Os valores possíveis para o return-value são: OK (execução correta) e NOK (execução com problemas). Os motivos para a rejeição do movimento de reporte são especificados na temp-table tt-erro. |