Documento de API
Produto: | Datasul |
Ocorrência: | Documentação de API |
Nome Físico | pnp/pnapi002 |
Objetivo
A API, atualiza a quilometragem do pneu na vida e no apontamento de movimentos de pneus.
Funcionamento
A API conforme os parâmetros de seleção passados, valida a existência dos parâmetros necessários para sua execução, posteriormente começa a buscar os pneus conforme seleção.
A API percorre os pneus, buscando para cada pneu, o último apontamento consistido. Para este apontamento é verificado qual a vida em que este se encontra.
Se for de uma vida anterior a atual, deverá ser ignorado este apontamento e utilizar como coordenada os valores iniciais da vida corrente do pneu naquela data.
Então são lidos os apontamentos de movimentos de pneus posteriores a data inicial do apontamento ou da vida.
Para cada apontamento, são verificados os dados de origem do pneu no apontamento. Se forem em branco, significa que o pneu estava no estoque, assim não deve-se adicionar quilometragem para pneu, pois este estava parado. Senão, será calculado o valor percorrido do pneu.
Ao final, deve-se verificar qual a localização atual do pneu, para calcular a quilometragem do período que não conteve apontamentos de pneus.
Os valores totais percorridos, são gravados na vida do pneu, já o valor atual é gravado para cada apontamento.
No pneu é gravado a somatória dos valores percorridos por cada vida do pneu.
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 pnp\pnapi002.p (input table tt-param,
output table RowErrors).
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:
Tabela Temporária | Descrição | Entrada/Saída |
tt-param | 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 | Não | 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 |
empIni | integer | >>9 | Empresa Inicial | Sim | 001 |
empFim | integer | >>9 | Empresa Final | Sim | 001 |
eqptoIni | char | x(16) | Equipamento Inicial | Sim | 001 |
eqptoFim | char | x(16) | Equipamento Final | Sim | 001 |
estabIni | char | x(3) | Estabelecimento Inicial | Sim | 001 |
estabFim | char | x(3) | Estabelecimento Final | Sim | 001 |
pneuIni | char | x(12) | Pneu Inicial | Sim | 001 |
pneuFim | char | x(12) | Pneu Final | Sim | 001 |
dataIni | date | 99/99/9999 | Data Inicial | Não | 001 |
numDias | integer | padrão | Número de Dias | Sim | 001 |
rRowid | rowid | padrão | Rowid do Apontamento | Não | 001 |
Tabela Temporária | Descrição | Entrada/Saída |
RowErrors | 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
Como a API não é rodada persistente, não existem métodos disponíveis para execução.
Método Básico
piValidaInicial
Requisito | Nenhum | |
Sintaxe | run piValidaInicial in this-procedure. | |
Descrição | Faz as Validações Iniciais para atualizações dos pneus. | |
| 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 |
Método Negócio
piProcessaAtualizacao
Requisito | Nenhum. | |
Sintaxe | run piProcessaAtualizacao in this-procedure. | |
Descrição | Processa as atualizações das quilometragens nos pneus. Percorre os pneus e calcula a quilometragem verificando os apontamentos de movimentos de pneus e a localização atual do pneu. | |
| 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. |
piCalculo
Requisito | Deve ser chamada pela piProcessaAtualizacao. | |
Sintaxe | run piCalculo in this-procedure (input <character>, input <integer>, input <character>, input <decimal>, input <decimal>). | |
Descrição | Busca os movimentos de quilometragem do equipamento ao qual o pneu estava locado nas datas passadas e calcula a durabilidade do pneu (diferença entre a quilometragem final menos a inicial do equipamento, verificando a porcentagem de suspensão do eixo, conforme cadastrado no equipamento). | |
| Parâmetros | Descrição |
| pPosicao | Posição origem do pneu |
| pEmp | Empresa origem do pneu |
| pEqpto | Equipamento origem do pneu |
| pInvFinal | Data/Hora invertida para buscar a quilometragem final |
| pInvInicial | Data/Hora invertida para buscar a quilometragem inicial |
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. |
buscaKM
Requisito | Deve ser chamada pela piCalculo. | |
Sintaxe | run piCalculo in this-procedure input <integer>, input <character>, input <decimal>, output <decimal>). | |
Descrição | Busca a quilometragem do equipamento na data/hora passadas como parâmetro, se não encontrar, retorna a quilometragem inicial do equipamento. | |
| Parâmetros | Descrição |
| pEmp | Empresa |
| pEqpto | Equipamento |
| pInvertida | Data/Hora invertida para buscar a quilometragem |
| pKM | Valor da quilometragem |
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. |
piAtualizaDurabilidade
Requisito | Deve ser chamada pela piProcessaAtualizacao. | |
Sintaxe | run piAtualizaDurabilidade in this-procedure. | |
Descrição | Atualiza os valores percorridos na vida e no apontamento. | |
| 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. |
piPneuTotal
Requisito | Deve ser chamada pela piProcessaAtualizacao. | |
Sintaxe | run piPneuTotal in this-procedure. | |
Descrição | Percorre todas as vidas do pneu, acumulando o valor percorrido por cada uma e atualizando este valor no valor percorrido total da carcaça do pneu. | |
| 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. |
piCalculoRessulcagem
Requisito | Deve ser chamada pela piAtualizaDurabilidade. | |
Sintaxe | run piCalculoRessulcagem in this-procedure (input <character>, input <integer>, input <character>, input <decimal>, input <decimal>). | |
Descrição | Busca os movimentos de quilometragem do equipamento ao qual o pneu estava locado nas datas passadas e calcula a durabilidade do pneu (diferença entre a quilometragem final menos a inicial do equipamento, verificando a porcentagem de suspensão do eixo, conforme cadastrado no equipamento) até a data da ressulcagem. | |
| Parâmetros | Descrição |
| pPosicao | Posição origem do pneu |
| pEmp | Empresa origem do pneu |
| pEqpto | Equipamento origem do pneu |
| pInvFinal | Data/Hora invertida para buscar a quilometragem final |
| pInvInicial | Data/Hora invertida para buscar a quilometragem inicial |
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. |