Documento de API
Produto: | Datasul |
Ocorrência: | Documentação de API |
Nome Físico | abp/abapi007 |
Considerações Gerais
Objetivo
A API, eliminação, geração e importação da quilometragem para equipamentos não motorizados do sistema.
Funcionamento
A API, recebe a temp-table de parâmetros, a qual conterá qual a origem (programa chamador), para saber qual a rotina a ser executada.
1 (AB0702) – Importação Quilometragem
2 (AB0703) – Geração de Quilometragem
3 (AB0704) – Geração de Quilometragem por Viagens
Após saber qual a origem, o programa verifica se a API está rodando persistente. Se estiver persistente, retorna “OK”, para o programa chamador, para que este execute a procedure correta.
Se a API não estiver rodando persistente, quando a origem for “1”, ocorrerá erro. Para as origens 2 e 3, serão executadas as procedures “iniciaGeracao” e “iniciaGeracaoViagem” respectivamente.
A execução da API ocorre na forma persistente e normal.
A sintaxe para executar a API/BO em modo persistente é:
run abp/abapi002.p persistent set h-handle (input tt-param). |
A variável denominada h-handle irá receber o “handle” do programa, permitindo o acesso aos “métodos” internos da API.
A sintaxe para executar a API/BO em modo normal é:
run abp/abapi002.p (input tt-param). |
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 |
todos | integer | padrão | Imprime Registros Importação 1 – Todos 2 - Rejeitados | Não | 001 |
execuacao | integer | padrão | Modo de Execução Importação 1 – On-Line 2 – Batch | Não | 001 |
arq-entrada | char | x(80) | Arquivo de Entrada dos Dados para Importação | Não | 001 |
arq-destino | char | x(80) | Arquivo Destino para impressão dos Dados | Não | 001 |
i-origem | integer | padrão | Valor do Programa Chamador: 1 – AB0702 2 – AB0703 3 – AB0704 | Sim | 001 |
dtInicial | date | 99/99/9999 | Data Período Inicial | Sim | 001 |
dtFinal | date | 99/99/9999 | Data Período Final | Sim | 001 |
empIni | integer | >>9 | Empresa Inicial | Sim | 001 |
empFim | integer | >>9 | Empresa Final | Sim | 001 |
eqptoIni | char | x(16) | Equipamento Inicial | Não | 001 |
eqptoFim | char | x(16) | Equipamento Final | Não | 001 |
estabIni | char | x(3) | Estabelecimento Inicial | Sim | 001 |
estabFim | char | x(3) | Estabelecimento Final | Sim | 001 |
grupoIni | char | x(8) | Grupo Equipamento Inicial | Sim | 001 |
grupoFim | char | x(8) | Grupo Equipamento Final | Sim | 001 |
modeloIni | char | x(8) | Modelo Equipamento Inicial | Sim | 001 |
modeloFim | char | x(8) | Modelo Equipamento Final | Sim | 001 |
dePercurso | decimal | padrão | Valor do Percurso Percorrido | Não | 001 |
un | char | x(2) | Unidade de Medida do Modelo do Equipamento | Não | 001 |
iTpPercurso | integer | padrão | Tipo de Percurso: 1 – Dia 2 – Total | Não | 001 |
unidNegocIni | char | x(3) | Unidade de Negócio Inicial | Sim | 001 |
unidNegocFim | char | x(3) | Unidade de Negócio Final | Sim | 001 |
RowErrors e RowErrorsKM | 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 |
RowErrorsAux | Entrada/Saída | ||||
Contém os erros ocorridos na API na importação da Quilometragem (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 |
i-linha | integer | padrão | Número da linha de Importação dos Dados | Sim | 001 |
ttKMEqpto | Entrada/Saída | ||||
Temp-table da tabela de Quilometragem | Entrada/Saída | ||||
Atributo | Tipo | Formato | Descrição | Obrigatório | Evolução |
ep-codigo | int | >>9 | Empresa Equipamento | Sim / Key | 001 |
cod-eqpto | char | x(16) | Código Equipamento | Sim / Key | 001 |
val-dat-hora-invrtda | dec | 999999999999 | Valor da Data e Hora Invertidas do Movimento | Sim / Key | 001 |
dat-movto | date | 99/99/9999 | Data do Movimento | Sim | 001 |
hra-inicial | char | 99:99:99 | Hora Inicial | Sim | 001 |
val-hodom-horim | dec | >,>>>,>>9.9 | Valor do Contador do Equipamento | Sim | 001 |
val-km-real | dec | >>,>>>,>>9.9 | Valor da quilometragem real | Não | 001 |
num-docto | int | >>>,>>>,>>9 | Número Documento | Sim | 001 |
idi-origem | int | >9 | Origem do Movimento 1 = MAB 2 = PNP 3 = MMV | Não | 001 |
log-abastec-prim | log | Sim/Não | Abastecimento de Combustível Primário? | Sim | 001 |
cod-livre-1 | char | x(1000) | Character Livre | Não | 001 |
cod-livre-2 | char | x(1000) | Character Livre | Não | 001 |
log-livre-1 | log | Sim/Não | Logical Livre | Não | 001 |
log-livre-2 | log | Sim/Não | Logical Livre | Não | 001 |
num-livre-1 | int | ->>>>>>>>>9 | Inteiro Livre | Não | 001 |
num-livre-2 | int | ->>>>>>>>>9 | Inteiro Livre | Não | 001 |
val-livre-1 | dec | ->>>>>>>>>>>9.9 | Decimal Livre | Não | 001 |
val-livre-2 | dec | ->>>>>>>>>>>9.9 | Decimal Livre | Não | 001 |
dat-livre-1 | date | 99/99/9999 | Data livre | Não | 001 |
dat-livre-2 | date | 99/99/9999 | Data livre | Não | 001 |
r-rowid | rowid | padrão | Rowid da Tabela “mab-movto-km-eqpto” | Sim | 001 |
ttKMImport | Entrada/Saída | ||||
Temp-table da tabela de Quilometragem de Importação | Entrada | ||||
Atributo | Tipo | Formato | Descrição | Obrigatório | Evolução |
ep-codigo | int | >>9 | Empresa Equipamento | Sim / Key | 001 |
cod-eqpto | char | x(16) | Código Equipamento | Sim / Key | 001 |
val-dat-hora-invrtda | dec | 999999999999 | Valor da Data e Hora Invertidas do Movimento | Sim / Key | 001 |
dat-movto | date | 99/99/9999 | Data do Movimento | Sim | 001 |
hra-inicial | char | 99:99:99 | Hora Inicial | Sim | 001 |
val-hodom-horim | dec | >,>>>,>>9.9 | Valor do Contador do Equipamento | Sim | 001 |
val-km-real | dec | >>,>>>,>>9.9 | Valor da quilometragem real | Não | 001 |
num-docto | int | >>>,>>>,>>9 | Número Documento | Sim | 001 |
idi-origem | int | >9 | Origem do Movimento 1 = MAB 2 = PNP 3 = MMV | Não | 001 |
log-abastec-prim | log | Sim/Não | Abastecimento de Combustível Primário? | Sim | 001 |
cod-livre-1 | char | x(1000) | Character Livre | Não | 001 |
cod-livre-2 | char | x(1000) | Character Livre | Não | 001 |
log-livre-1 | log | Sim/Não | Logical Livre | Não | 001 |
log-livre-2 | log | Sim/Não | Logical Livre | Não | 001 |
num-livre-1 | int | ->>>>>>>>>9 | Inteiro Livre | Não | 001 |
num-livre-2 | int | ->>>>>>>>>9 | Inteiro Livre | Não | 001 |
val-livre-1 | dec | ->>>>>>>>>>>9.9 | Decimal Livre | Não | 001 |
val-livre-2 | dec | ->>>>>>>>>>>9.9 | Decimal Livre | Não | 001 |
dat-livre-1 | date | 99/99/9999 | Data livre | Não | 001 |
dat-livre-2 | date | 99/99/9999 | Data livre | Não | 001 |
r-rowid | rowid | padrão | Rowid da Tabela “mab-movto-km-eqpto” | Sim | 001 |
i-linha | integer | padrão | Linha do arquivo de importação | Sim | 001 |
ttPercurso | Entrada/Saída | ||||
Contém o percurso das viagens dos equipamentos. | Saída | ||||
Atributo | Tipo | Formato | Descrição | Obrigatório | Evolução |
ep-codigo | Integer | >>9 | Código da Empresa. | Sim | 001 |
cod-eqpto | Character | X(16) | Código do Equipamento. | Sim | 001 |
dat-movto | Date | 99/99/9999 | Data de movimento de vida dos equipamentos |
| 001 |
de-percurso | Decimal | >>,>>>,>>9.9 | Uso Real |
| 001 |
de-km-ini | Decimal | >>,>>>,>>9.9 | Uso Real |
| 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
validaInicial | ||
Requisito | Procedure interna, executada após a chamada persistente da API | |
Sintaxe | run validaInicial in this-procedure. | |
Descrição | Valida se os parâmetros passados na temp-table “tt-param” estão corretos, ou se estão informados. | |
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. |
piCriaErroAux | ||
Requisito | Nenhum | |
Sintaxe | run piCriaErroAux in this-procedure (input <integer>, input <integer>, input <character>). | |
Descrição | Cria os erros ocorridos na importação dos dados de quilometragem. | |
Parâmetros | Descrição | |
pMens | Número do erro do EMS. | |
pLinha | Número da Linha onde ocorreu o erro | |
pParam | 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. |
getRowErros | ||
Requisito | API deve estar rodando persistente na varável h-handle. | |
Sintaxe | run getRowErros in h-handle (output table RowErrors). | |
Descrição | Devolve a temp-table com os erros ocorridos dentro da API na geração de quilometragem informada ou por viagens. | |
Parâmetros | Descrição | |
Temp-Table RowErrors | Temp-table de erros da API | |
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. |
getRowErrosAux | ||
Requisito | API deve estar rodando persistente na varável h-handle. | |
Sintaxe | run getRowErrosAux in h-handle (output table RowErrorsAux). | |
Descrição | Devolve a temp-table com os erros ocorridos dentro da API na importação de quilometragem. | |
Parâmetros | Descrição | |
Temp-Table RowErrorsAux | Temp-table de erros da API para importaçã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. |
Método Negócio
iniciaImportacao | ||
Requisito | API deve estar rodando persistente na varável h-handle. | |
Sintaxe | Sintaxe run iniciaImportacao in h-handle (input ttKMImport, input <handle>). | |
Descrição | Inicia a importação dos dados de quilometragem conforme dados recebidos pela ttKMImport. Elimina a quilometragem conforme faixa de parâmetros passada em tela, para isto, chama a procedure “excluiKM”. Após a eliminação, valida os dados da temp-table chamando a procedure “validaImportacao”. Se o registro não conter erro, é criada a temp-table ttKMEqpto, que será utilizada pela procedure “chamaBO”, para criar os registros no banco. | |
Parâmetros | Descrição | |
Temp-Table ttKMImport | Temp-Table de Importação dos dados de quilometragem do equipamento não motorizado. | |
pAcomp | Acompanhamento da importaçã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 RowErrors. |
iniciaGeracao | ||
Requisito | API deve estar rodando persistente na varável h-handle, ou ser chamada pela execução normal da API. | |
Sintaxe | run iniciaGeracao in h-handle (input <handle>). | |
Descrição | Inicia a geração da quilometragem, conforme valores informados em tela.
Elimina a quilometragem conforme faixa de parâmetros passada em tela, para isto, chama a procedure “excluiKM”.
Após a eliminação, percorre os equipamentos conforme faixa parametrizada em tela, para criar a temp-table ttKMEqpto.
Chama a procedure “chamaBO”, a qual cria os dados da temp-table ttKMEqpto. | |
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. |
iniciaGeracaoViagem | ||
Requisito | API deve estar rodando persistente na varável h-handle, ou ser chamada pela execução normal da API. | |
Sintaxe | run iniciaGeracaoViagem in h-handle (input <handle>). | |
Descrição | Inicia a geração da quilometragem pelas viagens, conforme valores informados em tela.
Elimina a quilometragem conforme faixa de parâmetros passada em tela, para isto, chama a procedure “excluiKM”.
Após a eliminação, percorre as viagens dos implementos, verificando a faixa parametrizada para os equipamentos, para criar a temp-table ttKMEqpto.
Chama a procedure “chamaBO”, a qual cria os dados da temp-table ttKMEqpto. | |
Parâmetros | Descrição | |
pAcomp | Acompanhamento da importaçã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 RowErrors. |
excluiKM | ||
Requisito | Método interno chamado pelas procedures “iniciaImportacao”, “iniciaGeracao” e “iniciaGeracaoViagem”. | |
Sintaxe | run excluiKM in this-procedure (input <character>, input <character>). | |
Descrição | Cria a temp-table ttKMEqpto, percorrendo a quilometragem dos equipamentos lidos conforme a faixa parametrizada em tela.
Chama a procedure “chamaBO”, para eliminar os dados utilizando a BO. | |
Parâmetros | Descrição | |
pEqptoIni | Código Inicial do Equipamento | |
pEqptoFim | Código Final do Equipamento | |
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. |
chamaBO | ||
Requisito | Método interno chamado pelas procedures “iniciaImportacao”, “iniciaGeracao” e “iniciaGeracaoViagem” e “excluiKM”. | |
Sintaxe | run chamaBO in this-procedure (input <integer>). | |
Descrição | Conforme o parâmetro recebido, executa a BO da tabela “mab-movto-km-eqpto”, a bofr060, e executa o método criaKM quando parâmetro passado for 1 e deleteKM quando parâmetro passado for 2.
Se ocorrer algum erro, retorna para a RowErrorsKM, que posteriormente é passada para a RowErrors ou RowErrorsAux. | |
Parâmetros | Descrição | |
pAcao | Ação a ser executada: 1 – Criação 2 – Eliminaçã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. |
validaImportacao | ||
Requisito | Método interno chamado pela procedure “iniciaImportacao”. | |
Sintaxe | run validaImportacao in this-procedure. | |
Descrição | Valida os registros da ttKMImport, verificando se o registro está na faixa de dados parametrizada em tela e se os dados informados estão corretos.
Chama a procedure “piCriaErroAux”, que gera dados na RowErrorsAux. | |
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. |