Árvore de páginas


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.