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.

 

 

#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))