Documento de API
Produto: | Datasul |
Ocorrência: | Documentação de API |
Nome Físico | abp/abapi002 |
Considerações Gerais
Objetivo
A API, faz a atualização das fichas de apontamento de abastecimento / lubrificação, através dos valores padrões do equipamento ou pelos valores informados pelo usuário.
Funcionamento
A API, valida as fichas chamando a ABAPI001 (abp\abapi001.p), que lhe retorna a temp-table ttDocLib, onde estão contidas as fichas validadas.
Com estas informações, a API verifica o tipo de aprovação escolhido (Padrão ou Usuário) e assim, atualiza as fichas com os status:
22 Apontamento liberado consumo
23 Apontamento liberado usuário
Após a atualização, é gerada a quilometragem do equipamento. Para então atualizar a vida dos equipamentos (abp\abapi003.p).
A execução da API só ocorre na forma persistente.
A sintaxe para executar a API/BO em modo persistente é:
run abp/abapi002.p persistent set h-handle. |
A variável denominada h-handle irá receber o “handle” do programa, permitindo o acesso aos “métodos” internos da API.
Tabelas Temporárias
Nos atributos das tabelas temporárias de entrada e saída:
ttDocLib | Entrada/Saída | ||||
Contém os registros que deverão ser liberados pelo usu´rio ou pelo padrão. | Entrada | ||||
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 |
|
|
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 |
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
Quando a API/BO for executada em modo persistente, os seguintes métodos estarão disponíveis para execução:
Método Básico
finalizaHandle | ||
Requisito | API deve estar rodando persistente na varável h-handle. | |
Sintaxe | run finalizaHandle in h-handle. | |
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 | API deve estar rodando persistente na varável h-handle. | |
Sintaxe | run initializeHandle in h-handle. | |
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. |
emptyErros | ||
Requisito | API deve estar rodando persistente na varável h-handle. | |
Sintaxe | run emptyErros in h-handle. | |
Descrição | Limpa a temp-table de erros 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 |
getErros | ||
Requisito | API deve estar rodando persistente na varável h-handle. | |
Sintaxe | run getErros in h-handle (output table RowErrors). | |
Descrição | Devolve a temp-table com os erros ocorridos dentro 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. |
piRecebeTT | ||
Requisito | API deve estar rodando persistente na varável h-handle. | |
Sintaxe | run piRecebeTT in h-handle (input table ttDocLib). | |
Descrição | Envia para API a temp-table que contém as fichas que devem ser atualizadas de acordo com o tipo de correção escolhido (usuário ou padrão). | |
Parâmetros | Descrição | |
Temp-Table ttDocLib | Temp-table de documentos a serem liberados | |
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. |
piValida | ||
Requisito | API deve estar rodando persistente na varável h-handle. | |
Sintaxe | run piValida in h-handle. | |
Descrição | Valida se os parâmetros de abastecimento estão cadastrados corretamente. | |
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
piQuantidade | ||
Requisito | API deve estar rodando persistente na varável h-handle. | |
Sintaxe | run piQuantidade in h-handle (input <integer>, input <integer>, input <decimal>, input <decimal>). | |
Descrição | Valida a quantidade abastecida no equipamento e o percurso decorrido. | |
Parâmetros | Descrição | |
pDoc | Número do Documento | |
pTipo | Tipo de consumo do equipamento | |
pQtd | Quantidade abastecida | |
pCons | Consumo do apontamento | |
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. |
piLiberacao | ||
Requisito | API deve estar rodando persistente na varável h-handle. | |
Sintaxe | run piLiberacao in h-handle (input <integer>). | |
Descrição | Libera os apontamentos conforme tipo de atualização passada. 2 – Padrão 3 – Usuário | |
Parâmetros | Descrição | |
pLibera | Tipo de atualização | |
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. |
piAtualizaDocumento | ||
Requisito | Deve ser chamada pela piLiberacao. | |
Sintaxe | run piAtualizaDocumento in this-procedure (input <integer> input <decimal>). | |
Descrição | Atualiza o Status da ficha de abastecimento/lubrificação: 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. | |
pKM | Variável decimal que é carregada com Quilometragem do percurso atualizada | |
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. |
piEvento | ||
Requisito | API deve estar rodando persistente na varável h-handle. | |
Sintaxe | run piEvento in h-handle (input <character>, output <integer>). | |
Descrição | Cria a temp-table de movimento de evento e valida se já existe movimento cadastrado para equipamento. | |
Parâmetros | Descrição | |
pUsuario | Código do usuário do sistema | |
pDoc | Número do documento já cadastrado | |
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. |
piCriaEvento | ||
Requisito | API deve estar rodando persistente na varável h-handle. | |
Sintaxe | run piCriaEvento in h-handle. | |
Descrição | Cria registro de movimento de eventos. | |
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. |
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. |