Documento de API
Produto: | Datasul |
Ocorrência: | Documentação de API |
Nome Físico | pnp/pnapi001 |
Objetivo
A API, consiste e atualiza os apontamentos de movimentos de pneus, atualizando a vida, os sulcos e o equipamento atual do pneu, como também gerar a quilometragem do equipamento.
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 as informações conforme seleção.
Ao buscar as informações, verificando os parâmetros utilizados, a API cria uma tabela temporária auxiliar com todos os pneus que devem ser lidos.
Então a API percorre a tabela temporária de pneus e assim lê os apontamentos de movimentos deste pneu conforme seleção.
Busca-se o apontamento anterior ao apontamento lido, para validar se este está consistido ou não. Caso não esteja consistido, o apontamento atual é atualizado com “6 - Ficha anterior não consistida”.
Senão, é verificada a situação do pneu no apontamento atual, se não foi informado, busca-se a situação do serviço do apontamento. Caso a situação seja “Inativa”, o apontamento atual é atualizado com “8 - Pneu desativado”.
Senão, é verificada se a origem do pneu está correta digitada na ficha. Caso a empresa ou o equipamento esteja incorreto, atualizar o apontamento com “2 - Equipamento origem inválido”. Caso a posição do pneu esteja incorreta, atualizar o apontamento com “3 - Posição origem inválida”. Caso o estabelecimento esteja incorreto, atualizar o apontamento com “4 - Estabelecimento origem inválido”.
Senão se o serviço informado no apontamento atualizar a vida do pneu e a reforma feita no pneu não foi recusada, deve-se verificar se a durabilidade do novo desenho do pneu está cadastrada. Caso não esteja cadastrada, atualizar o apontamento com “5 - Durabilidade Estimada Não Cadastrada”.
Senão, o apontamento é atualizado como correto “21 - Apontamento correto”.
Se o apontamento não estava correto, todas os apontamentos posteriores ao atual serão desconsistidos “1 - Ficha não consistida”, e serão eliminadas as vidas criadas por estes apontamentos e atualizado o pneu com o último equipamento de destino da última ficha consistida e os valores dos sulcos serão atualizados com os valores da última ficha de medição de sulco consistida..
Senão, será criada uma tabela temporária somente com os documentos que estão corretos, será verificada a necessidade de criar a quilometragem do equipamento origem e do destino, caso tenha sido informado um valor para o contador.
Após ler todos os apontamentos de movimentos do pneu, serão atualizados a vida do pneu e os valores dos sulcos e a localização atual do pneu.
A API após atualizar todos os pneus, utilizará os mesmos parâmetros, para atualizar a quilometragem dos pneus (APAPI002).
Tabela dos Status do Apontamento
1 | Ficha não consistida |
2 | Equipamento origem inválido |
3 | Posição origem inválida |
4 | Estabelecimento origem inválido |
5 | Durabilidade Estimada Não Cadastrada |
6 | Ficha anterior não consistida |
7 | Localização destino incorreta |
8 | Pneu desativado |
21 | Apontamento correto |
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\pnapi001.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 |
docIni | integer | >>>,>>>,>>9 | Documento Inicial | Não | 001 |
docFim | integer | >>>,>>>,>>9 | Documento Final | Não | 001 |
dataIni | date | 99/99/9999 | Data Inicial | Sim | 001 |
dataFim | date | 99/99/9999 | Data Final | Sim | 001 |
pneuIni | char | x(12) | Pneu Inicial | Sim | 001 |
pneuFim | char | x(12) | Pneu Final | Sim | 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 |
tag-ini | char | x(16) | TAG Inicial | Sim | 001 |
tag-fim | char | x(16) | TAG Final | Sim | 001 |
cc-ini | char | x(20) | Centro de Custo Inicial | Sim | 001 |
cc-fim | char | x(20) | Centro de Custo Inicial | Sim | 001 |
iConsist | integer | padrão | Tipo de Consistência | Sim | 001 |
descConsist | char | x(40) | Descrição da Consistência | Não | 001 |
lConsist | logical | yes/no | Consistir fichas anteriores | Não | 001 |
codServico | char | x(4) | Código Serviço | Não | 001 |
rRowid | rowid | padrão | Rowid do Apontamento | Não | 001 |
lEstoque | logical | yes/no | Verificar Pneus em Estoque | Sim | 001 |
lEquipamentos | logical | yes/no | Visualizar Pneus em Equipamentos | Sim | 001 |
lAtivos | logical | yes/no | Validação para pneus Ativos | Sim | 001 |
lInativos | logical | yes/no | Validação para pneus Inativos | Sim | 001 |
lRadial | logical | yes/no | Ler somente pneus Radiais | Sim | 001 |
lDiagonal | logical | yes/no | Ler somente pneus Diagonais | Sim | 001 |
lMacico | logical | yes/no | Ler somente pneus Maciços | Sim | 001 |
unid-negoc-ini | char | x(3) | Unidade de Negócio Inicial | Sim | 001 |
unid-negoc-fim | char | x(3) | Unidade de Negócio Final | Sim | 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 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 |
Método Negócio
piProcessaAtualizacao
Requisito | Nenhum. | |
Sintaxe | run piProcessaAtualizacao in this-procedure. | |
Descrição | Processa as atualizações dos apontamentos de movimentos de pneu. Lê os pneus e seus apontamentos. | |
| 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. |
piBusca
Requisito | Deve ser chamada pela piProcessaAtualizacao. | |
Sintaxe | run piBusca in this-procedure. | |
Descrição | Utilizando a seleção informada, busca os pneus que devem ser atualizados. | |
| 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. |
piBuscaHistoricoEqpto
Requisito | Deve ser chamada pela piBusca. | |
Sintaxe | run piBuscaHistoricoEqpto in this-procedure. | |
Descrição | Busca último histórico (do equipamento) anterior a data de movimentação 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. |
piCriaTTPneu
Requisito | Deve ser chamada pela piBusca. | |
Sintaxe | run piCriaTTPneu in this-procedure. | |
Descrição | Cria a tabela temporária ttPneu, que contém os pneus que deverão ser lidos na API. | |
| 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 | Faz as validações necessárias 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. |
atualizaDocumento
Requisito | Deve ser chamada pela piPrincipal. | |
Sintaxe | run atualizaDocumento in this-procedure (input <integer>). | |
Descrição | Atualiza o status do apontamento de movimento de pneus. Cria a tabela temporária ttDocumentos, que será utilizada para atualizar a vida do pneu. 1 Ficha não consistida 2 Equipamento origem inválido 3 Posição origem inválida 4 Estabelecimento origem inválido 5 Durabilidade Estimada Não Cadastrada 6 Ficha anterior não consistida 7 Localização destino incorreta 8 Pneu desativado 21 Apontamento correto Conforme status passado para a procedure. | |
| Parâmetros | Descrição |
| pStatus | Status que a ficha receberá. |
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 atualizaDocumento. | |
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. |
eliminaHistoricoApontamento
Requisito | Deve ser chamada pela atualizaDocumento. | |
Sintaxe | run eliminaHistoricoApontamento in this-procedure (input <character>, input <integer>, input <decimal>, input <logical>). | |
Descrição | Desconsiste todos os apontamentos posteriores ao apontamento passado como parâmetro, assim se estes apontamentos geraram vida para o pneu e/ou atualizaram o atual do pneu, estas informações são eliminadas e serão buscadoas as últimas informações consistentes para o pneu. | |
| Parâmetros | Descrição |
| pPneu | Código do Pneu |
| pDoc | Número Documento do Apontamento |
| pInvertida | Valor da Data/Hora invertida |
| pSulco | Indica se apontamento é de medição de sulco |
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. |
piKMPneu
Requisito | Deve ser chamada pela piProcessaAtualizacao. | |
Sintaxe | run piKMPneu in this-procedure. | |
Descrição | Cria os parâmetros necessários para chamar a APAPI002. São utilizados os mesmos parâmetros de seleção da API atual. A API chamada irá atualizar a quilometragem que o 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. |
piKMEqpto
Requisito | Deve ser chamada pela atualizaDocumento | |
Sintaxe | run piKMEqpto in this-procedure (input <decimal>, input <integer> input <character>, input <integer>). | |
Descrição | Criação da temp-table ttDocumento utilizada pela piKilometragem da ABAPI001, a qual cria os registros de quilometragem do equipamento. Chama a API de atualização da quilometragem ABAPI003, utilizando os registros da ttDocumento. | |
| Parâmetros | Descrição |
| pContador | Valor do Contador do Equipamento |
| pEmpresa | Código da Empresa do Equipamento |
| pEqpto | Código do Equipamento |
| pStatus | Status de atualização. > 20 = Criação / Alteração < 20 = Eliminação |
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.... |