Documento de API
Produto: | Datasul |
Ocorrência: | Documentação de API |
Nome Físico | abp/abapi001 |
Considerações Gerais
Objetivo
A API, faz a atualização das fichas de abastecimento e lubrificação de equipamentos motorizados e não motorizados.
Verificando os abastecimentos e/ou lubrificações, a API verifica se as quantidades abastecidas e os valores dos contadores do equipamento estão corretos, atualizando o status da ficha.
O Status pode ser o seguinte:
1 Ficha não consistida
2 Consumo Real maior que máximo permitido
3 Consumo Real menor que mínimo permitido
4 Contador padrão
5 Contador menor que anterior
6 Diferença Contador maior desempenho tanque
7 Hodômetro Parado Secundário
8 Hodômetro Menor que Anterior
21 Apontamento correto
22 Apontamento liberado consumo
23 Apontamento liberado usuário
Funcionamento
A API, inicializa os handles necessários para rodar, depois faz as validações iniciais, para verificar se não foi feita uma seleção errada, então começa a buscar as informações do equipamento e dos parâmetros do módulo de abastecimento.
Então começa a percorrer os apontamentos, conforme seleção, verificando se existem abastecimentos, para então somar todos os abastecimentos relacionados a ficha. Verifica no histórico de combustíveis do equipamento, o tipo de consumo do material.Conforme o tipo de consumo, é feito o cálculo do consumo padrão do apontamento de abastecimento.
Conforme o tipo de consumo do material do equipamento:
1 - Sem Consumo
2 - Percurso/Qtd
3 - Qtd/Percurso
Se for sem consumo, compara os contadores e atualiza a ficha com os status 5, 6 ou 21.
Se for com consumo, compara os contadores e os consumos, podendo atualizar as fichas com os Status 2, 3, 4, 5 e 21.
Após atualizar as fichas, é criada a quilometragem do equipamento (somente para fichas com status 21). Para então atualizar a vida dos equipamentos (abp\abapi003.p).
O Status 7 e 8 são referentes ao contador secundário.
Após a atualização da vida do equipamento, será verificado se não existem erros e serão finalizados os handles.
Na forma padrão, 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 é:
run abp/abapi001.p (input table tt-param, output table RowErrors, output table ttDocLib). |
A execução na forma persistente não existe para esta API.
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 |
dataIni | date | 99/99/9999 | Data Movimento Inicial | Sim | 001 |
dataFim | date | 99/99/9999 | Data Movimento Final | Sim | 001 |
iEmpIni | integer | >>9 | Empresa Inicial | Sim | 001 |
iEmpFim | integer | >>9 | Empresa Final | Sim | 001 |
cEstabIni | char | x(3) | Estabelecimento Inicial | Sim | 001 |
cEstabFim | char | x(3) | Estabelecimento Final | Sim | 001 |
cEqptoIni | char | x(16) | Equipamento Inicial | Sim | 001 |
cEqptoFim | char | x(16) | Equipamento Final | Sim | 001 |
cTagIni | char | x(16) | TAG Inicial | Sim | 001 |
cTagFim | char | x(16) | TAG Final | Sim | 001 |
cCCini | char | x(8) | Centro de Custo Inicial | Sim | 001 |
cCCfim | char | x(8) | Centro de Custo Inicial | Sim | 001 |
cPostoIni | char | x(8) | Posto Inicial | Sim | 001 |
cPostoFim | char | x(8) | Posto Final | Sim | 001 |
num-docto | int | >>>,>>>,>>9 | Número Documento. | | |
Deve-se informar o número do documento que será consistido ou informar o valor = ? (nulo) quando forem consistidos mais de um documento. | Não | 001 | | | |
iConsiste | int | Padrão | Consistência dos erros: | | |
1 – Somente com erros | | | | | |
2 – Todos | Sim | 001 | | | |
descConsiste | char | x(20) | Descrição do campo iConsiste | Não | 001 |
lFicha | logical | yes/no | Consistir fichas com problemas anteriores a data escolhida | Não | 001 |
tipo-liberacao | integer | Padrão | Tipo de Liberação das Fichas: 1 – Normal 2 – Padrão 3 – Usuário | Sim | 001 |
cUnidNegocIni | char | x(3) | Unidade de Negócio Inicial | Sim | 001 |
cUnidNegocFim | char | x(3) | Unidade de Negócio Final | Sim | 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 |
ttDocLib | Entrada/Saída |
Contém os registros que deverão ser liberados pelo usuário ou pelo padrão. | Saída |
Atributo | Tipo | Formato | Descrição | Obrigatório | Evolução |
num-docto | integer | >>>,>>>,>>9 | Número do documento | Sim | 001 |
consumo-padrao | decimal | padrão | Valor do consumo padrão do apontamento | Sim | 001 |
consumo-real | decimal | padrão | Valor do consumo real do apontamento | Sim | 001 |
uso-real | decimal | padrão | Valor da kilometragem percorrida no apontamento | Sim | 001 |
uso-real-sec | Decimal | padrão | Validação Contador Secundário | Sim | 001 |
tp-consumo | Integer | padrão | Tipo de consumo do combustível 1 - Sem Consumo 2 - Percurso/Qtd 3 - Qtd/Percurso | Sim | 001 |
qtd-abast | decimal | padrão | Quantidade abastecida na ficha de apontamento | Sim | 001 |
log-abast | logical | yes/no | Indicador para documento com abastecimento ou não | Sim | 001 |
idi-consist | integer | padrão | Verifica se documento está consistido | Sim | 001 |
r-rowid | rowid | padrão | Rowid da ficha de apontamento | Sim | 001 |
log-primario | logical | yes\no | Indica se apontamento é de abastecimento primário ou não | Sim | 001 |
Método Básico
Quando a API/BO for executada em modo persistente, os seguintes métodos estarão disponíveis para execução:
finalizaHandle |
Requisito | Nenhum |
Sintaxe | run finalizaHandle in this-procedure. |
Descrição | Elimina os handles utilizados na 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. |
initializeHandle |
Requisito | Nenhum |
Sintaxe | run initializeHandle in this-procedure. |
Descrição | Inicializa os handles utilizados na 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. |
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 para atualizações de apontamentos. |
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
piProcessaAtualizacao |
Requisito | Handles estarem inicializados e API ter validado a tt-param. |
Sintaxe | run piProcessaAtualizacao in this-procedure. |
Descrição | Busca os equipamentos conforme seleção e busca os apontamentos para estes equipamentos conforme seleção. |
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 piProcessaAtualizacao. |
Sintaxe | run piPrincipal in this-procedure. |
Descrição | Busca os apontamentos de abastecimentos e verifica se ficha contém consumo ou não. |
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. |
piSomatoria |
Requisito | Deve ser chamada pela piPrincipal. |
Sintaxe | run piSomatoria in this-procedure. |
Descrição | Faz a somatória dos abastecimentos relacionados ao documento informado, pegando apenas abastecimentos primários. Busca histórico do combustível para fazer esta validação. Verifica o consumo padrão no modelo. |
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. |
piComConsumo |
Requisito | Deve ser chamada pela piPrincipal. |
Sintaxe | run piComConsumo in this-procedure. |
Descrição | Para equipamentos onde apontamento é controlado o consumo, esta procedure irá validar as quantidades abastecidas e o consumo ocorrido, bem como verificar se contador do equipamento está correto. |
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. |
piSemConsumo |
Requisito | Deve ser chamada pela piPrincipal. |
Sintaxe | run piSemConsumo in this-procedure. |
Descrição | Para equipamentos onde apontamento não é controlado o consumo, esta procedure irá validar se contador do equipamento está correto. |
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. |
piAtualizaDocumento |
Requisito | Deve ser chamada pela piSemConsumo ou pela piComConsumo. |
Sintaxe | run piAtualizaDocumento in this-procedure (input <integer>). |
Descrição | Atualiza o Status da ficha de abastecimento/lubrificação: 1 Ficha não consistida 2 Consumo Real maior que máximo permitido 3 Consumo Real menor que mínimo permitido 4 Contador padrão 5 Contador menor que anterior 6 Diferença Contador maior desempenho tanque 7 Hodômetro Parado Secundário 8 Hodômetro Menor que Anterior 21 Apontamento correto 22 Apontamento liberado consumo 23 Apontamento liberado usuário Conforme status passado para a procedure. |
Parâmetros | Descrição |
pStatus | Variável inteira que atualiza o status da ficha de apontamento, conforme lista já descrita. |
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. |
piDocLib |
Requisito | Deve ser chamada pela piSemConsumo ou pela piComConsumo. |
Sintaxe | run piDocLib in this-procedure. |
Descrição | Cria a temp-table de saída utilizada pela API abp\abapi002.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. |
piKilometragem |
Requisito | Deve ser chamada pela piSemConsumo ou pela piComConsumo. |
Sintaxe | run piKilometragem in this-procedure (input <integer>, input <integer>, input <integer>, input <logical>). |
Descrição | Cria ou atualiza o histórico de quilometragem somente para as fichas de apontamento que tiveram status de correto (maiores que 20). Para fichas com status menor que 20, o histórico de quilometragem é eliminado. |
Parâmetros | Descrição |
pDocto | Documento de Origem |
pStatus | Status da ficha de apontamento |
pOrigem | Origem da criação do histórico de quilometragem 1 – MAB 2 – PNP |
pLog | Indica se abastecimento é primário |
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. |
piBaixaMovtoEvento |
Requisito | Deve ser chamada pela piAtualizaDocumento. |
Sintaxe | run piBaixaMovtoEvento in this-procedure (input <integer>, input <date>, input <character>, input <character>, input <logical>). |
Descrição | Conforme a consistência das fichas, conclui movimentos de eventos (mab-movto-event), atualizando a data e hora de término, vinculando o documento de origem ao movimento de eventos e incluindo uma descrição de conclusão na narrativa do movimento. Se a ficha não estiver consistida ou foi desconsistida, procura os movimentos de eventos que foram concluídos para reabri-los. |
Parâmetros | Descrição |
pDocto | Documento de Origem |
pData | Data do Movimento |
pHoraIni | Horário de Início do Movimento |
pHoraFim | Horário de Término do Movimento |
pConsist | Indica se ficha Abastecimento/Lubrificação está consistida |
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. |
SendMessageEAI |
Requisito | Chamada pela piAtualizaDocumento. |
Sintaxe | RUN sendMessageEAI (INPUT TABLE tt-mab-abastec-lubrific-eai). |
Descrição | Cria mensagem EAI para apontamentos de abastecimentos e lubrificação. |
Parâmetros | Descrição |
tt-mab-abastec-lubrific-eai | temp-table usada para integração EAI |
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. |
