Linha de Produto: | Datasul |
Módulo: | MEX |
Função: | Criação dos log’s de alterações no MEX. |
Nome Físico | exp/exapi025.p |
Considerações gerais
Objetivo
Realizar a criação dos histórico de alterações no MEX.
Funcionamento
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 execução na forma persistente é realizada através da chamada de um comando RUN conforme exemplo a seguir.
A sintaxe para executar a API em modo persistente é:
RUN exp/exapi025.p PERSISTENT SET h-handle. |
A variável denominada h-handle irá receber o “handle” do programa, permitindo o acesso aos “métodos” internos da API.
Tabelas temporárias
tt-ex-histor-alter | Entrada/Saída | ||||
Histórico de alterações no MEX. | Entrada/Saída | ||||
Atributo | Tipo | Formato | Descrição | Obrigatório | Evolução |
seq | integer | >>>>>>>>9 | Sequência | Sim |
|
nome-tabela | character | x(50) | Tabela alterada | Não |
|
campo | character | x(50) | Campo alterado | Não |
|
chave | character | x(80) | Chave do registro alterado | Não |
|
vl-anterior | character | x(2000) | Valor antigo do campo | Não |
|
vl-novo | character | x(2000) | Valor novo do campo | Não |
|
usuar-alter | character | x(12) | Usuário Alteração | Não |
|
dt-alter | date | 99/99/99 | Data Alteração | Não |
|
hora-alter | character | x(8) | Hora alteração | Não |
|
prog-alter | character | x(30) | Programa alteração | Não |
|
narrativa | character | x(2000) | Narrativa da alteração | Não |
|
char-1 | character | x(100) | Livre 1 | Não |
|
char-2 | character | x(100) | Livre 2 | Não |
|
log-1 | logical | Sim/Não | Livre 3 | Não |
|
log-2 | logical | Sim/Não | Livre 4 | Não |
|
dec-1 | decimal | ->>>>>>>>>>>9.99999999 | Livre 5 | Não |
|
dec-2 | decimal | ->>>>>>>>>>>9.99999999 | Livre 6 | Não |
|
int-1 | integer | ->>>>>>>>>9 | Livre 7 | Não |
|
int-2 | integer | ->>>>>>>>>9 | Livre 8 | Não |
|
data-1 | date | 99/99/99 | Livre 9 | Não |
|
data-2 | date | 99/99/99 | Livre 10 | Não |
|
tt-processo-exp-old | Entrada/Saída | ||||
Informações do processo de exportação antes da alteração. | Entrada/Saída | ||||
Atributo | Tipo | Formato | Descrição | Obrigatório | Evolução |
nr-proc-exp | character | X(12) | Processo de Exportação | Sim |
|
cod-sit-proc | integer | 99 | Situação | Sim |
|
cod-emitente | integer | >>>>>>>>9 | Cod Importador | Sim |
|
nome-completo | character | X(40) | Nome Completo | Não |
|
endereco | character | X(40) | Endereço | Não |
|
bairro | character | X(30) | Bairro | Não |
|
cidade | character | X(25) | Cidade | Não |
|
estado | character | X(4) | Estado | Não |
|
cep | character | X(12) | Cep | Não |
|
pais | character | X(20) | País | Não |
|
cod-consign | integer | >>>>>>>>9 | Cod Consignatário | Não |
|
nome-consign | character | X(40) | Nome Completo | Não |
|
end-consign | character | X(40) | Endereço | Não |
|
bairro-consign | character | X(30) | Bairro | Não |
|
cidade-consign | character | X(25) | Cidade | Não |
|
estado-consign | character | X(4) | Estado | Não |
|
cep-consign | character | X(12) | Cep | Não |
|
pais-consign | character | X(20) | País | Não |
|
cod-notif | integer | >>>>>>>>9 | Cod Notificado | Não |
|
nome-notif | character | X(40) | Nome Completo | Não |
|
end-notif | character | X(40) | Endereço | Não |
|
bairro-notif | character | X(30) | Bairro | Não |
|
cidade-notif | character | X(25) | Cidade | Não |
|
estado-notif | character | X(4) | Estado | Não |
|
cep-notif | character | X(12) | Cep | Não |
|
pais-notif | character | X(20) | País | Não |
|
cod-fabric | integer | >>>>>>>>9 | Cod Fabricante | Não |
|
cod-despachante | integer | >>>>>>>>9 | Despachante | Não |
|
cod-incoterm | character | X(3) | Incoterm | Não |
|
cod-seguradora | integer | >>>>>>>>9 | Seguradora | Não |
|
cod-origem-proc | integer | 99 | Origem Processo | Não |
|
cod-itiner | integer | >>,>>9 | Código Itinerário | Não |
|
pto-despacho | integer | >>,>>9 | Ponto Despacho | Não |
|
pto-embarque | integer | >>,>>9 | Ponto Embarque | Não |
|
pto-desembarque | integer | >>,>>9 | Ponto Desembarque | Não |
|
cod-via-transp | integer | 99 | Via Transporte | Não |
|
cod-transp-int | integer | >>>>>>>>9 | Transportador Internacional | Não |
|
cod-armador | integer | >>>>>>>>9 | Armador | Não |
|
cod-agente-cia | integer | >>>>>>>>9 | Agente Marítimo / Comp Aérea | Não |
|
veic-transp | character | X(50) | Id Veículo Transportador | Não |
|
marca-1 | character | X(50) | Marca | Não |
|
marca-2 | character | X(50) | Marca | Não |
|
marca-3 | character | X(50) | Marca | Não |
|
marca-4 | character | X(50) | Marca | Não |
|
marca-5 | character | X(50) | Marca | Não |
|
cod-pais | integer | >>,>>9 | Código País | Sim |
|
cod-idioma | character | x(12) | Idioma | Sim |
|
cod-decl-cliente | integer | >>,>>9 | Cod Declaração | Não |
|
cod-decl-pais | integer | >>,>>9 | Cod Declaração | Não |
|
cod-decl-padrao | integer | >>,>>9 | Cod Declaração | Não |
|
nr-invoice | character | X(16) | Fatura Comercial | Não |
|
dt-invoice | date | 99/99/9999 | Dt Fatura Comercial | Não |
|
nr-packing | character | X(12) | Romaneio | Não |
|
nr-saque | character | X(12) | Saque | Não |
|
dt-saque | date | 99/99/9999 | Dt Saque | Não |
|
nr-form-a | character | X(20) | Certificado Origem (Form-a) | Não |
|
dt-form-a | date | 99/99/9999 | Dt Certificado Origem (Form-a) | Não |
|
nr-conhec-master | character | X(18) | Conhecimento Master | Não |
|
nr-conhecimento | character | X(18) | Conhecimento | Não |
|
dt-conhecimento | date | 99/99/9999 | Dt Conhecimento | Não |
|
dt-cruze | date | 99/99/9999 | Dt Cruze | Não |
|
dt-embarque | date | 99/99/9999 | Dt Embarque | Não |
|
nr-apolice | character | X(20) | Nr Apolice | Não |
|
nr-averbacao | character | X(20) | Nr Averbacao | Não |
|
nr-cert-seguro | character | X(20) | Certificado Seguro | Não |
|
dt-cert-seguro | date | 99/99/9999 | Dt Certificado Seguro | Não |
|
inf-adicionais | character | X(2000) | Informações Adicionais | Não |
|
dt-cancela | date | 99/99/9999 | Dt Cancelamento | Não |
|
motivo-cancela | character | X(2000) | Motivo Cancelamento | Não |
|
dt-prev-ex-factory | date | 99/99/9999 | Dt Prev Ex-Factory | Não |
|
dt-prev-embarque | date | 99/99/9999 | Dt Prev Embarque | Não |
|
dt-val-prof | date | 99/99/9999 | Dt Val Proforma | Não |
|
dt-aceita-prof | date | 99/99/9999 | Dt Aceita Proforma | Não |
|
cod-estabel | character | x(5) | Estab | Sim |
|
estab-fisc | character | x(5) | Estabel Fiscal | Sim |
|
desc-vl-liq | character | X(10) | Descrição | Não |
|
carta-credito | character | X(20) | Carta Crédito | Não |
|
cod-pto-inicio-pagto | integer | >>,>>9 | Pto Contr Base Pagamento | Não |
|
form-envio-docs | character | X(20) | Forma Envio Documentos | Não |
|
nr-courier | character | X(15) | Nr Courier | Não |
|
dt-courier | date | 99/99/9999 | Dt Courier | Não |
|
cod-decl-conhec | integer | >>,>>9 | Cod Decl Corpo Conhecimento | Não |
|
instr-despachante | character | X(2000) | Instruções Despachante | Não |
|
pto-chegada | integer | >>,>>9 | Ponto Chegada Empresa | Não |
|
texto-declaracoes | character | x(32000) | Texto | Não |
|
completo | logical | yes/no | Completo | Não |
|
cod-notif2 | integer | >>>>>>>>9 | Cod Notificado2 | Não |
|
nome-notif2 | character | X(40) | Nome Completo | Não |
|
end-notif2 | character | X(40) | Endereço | Não |
|
bairro-notif2 | character | X(30) | Bairro | Não |
|
cidade-notif2 | character | X(25) | Cidade | Não |
|
estado-notif2 | character | X(4) | Estado | Não |
|
cep-notif2 | character | X(12) | Cep | Não |
|
pais-notif2 | character | X(20) | País | Não |
|
char-1 | character | x(100) | Campo livre do tipo caractere | Não |
|
char-2 | character | x(100) | Campo livre do tipo caractere | Não |
|
dec-1 | decimal | ->>>>>>>>>>>9.99999999 | Campo livre do tipo decimal | Não |
|
dec-2 | decimal | ->>>>>>>>>>>9.99999999 | Campo livre do tipo decimal | Não |
|
int-1 | integer | ->>>>>>>>>9 | Campo livre do tipo inteiro | Não |
|
int-2 | integer | ->>>>>>>>>9 | Campo livre do tipo inteiro | Não |
|
log-1 | logical | Sim/Não | Campo livre do tipo lógico | Não |
|
log-2 | logical | Sim/Não | Campo livre do tipo lógico | Não |
|
data-1 | date | 99/99/9999 | Campo livre do tipo data | Não |
|
data-2 | date | 99/99/9999 | Campo livre do tipo data | Não |
|
check-sum | character | X(20) | Check-sum | Não |
|
nr-containers | integer | >>>>>>>9 | Nr containers | Não |
|
nome-estab | character | X(40) | Estabelecimento | Não |
|
endereco-estab | character | X(35) | Endereço | Não |
|
bairro-estab | character | x(30) | Bairro | Não |
|
cidade-estab | character | X(25) | Cidade | Não |
|
cep-estab | integer | 99999,999 | CEP | Não |
|
estado-estab | character | x(4) | Estado | Não |
|
pais-estab | character | X(20) | País | Não |
|
volume | decimal | >>>,>>>,>>9.9999 | Volume | Não |
|
endereco_text | character | x(2000) | Endereco Completo | Não |
|
endereco_text_consign | character | x(2000) | Endereco Completo Consig | Não |
|
endereco_text_notif1 | character | x(2000) | Endereço Completo Notif 1 | Não |
|
endereco_text_notif2 | character | x(2000) | Endereço Completo Notif 2 | Não |
|
endereco_text_estab | character | x(2000) | Endereço Completo Estab | Não |
|
cdn-emit-final | integer | >>>>>>>>9 | Cliente Final | Sim |
|
cod-pais-final | character | x(20) | País Final | Sim |
|
cdn-pto-transb | integer | >>,>>9 | Ponto Transbordo | Sim |
|
idi-tip-frete-export | integer | 9 | Tipo Frete Exportação | Sim |
|
cod-cond-pagto | integer | >>>9 | Condição Pagamento | Sim |
|
cdn-bco-carta-cr | integer | >>9 | Banco Carta Crédito | Sim |
|
cod-agenc-carta-cr | character | x(8) | Agência Carta Crédito | Sim |
|
cdn-bco-cobr | integer | >>9 | Banco Cobrança | Sim |
|
cod-agenc-cobr | character | x(8) | Agência Cobrança | Sim |
|
cdn-bco-entreg-docto | integer | >>9 | Banco Entrega Docto | Sim |
|
cod-agenc-entreg-docto | character | x(8) | Agência Entrega Doctos | Sim |
|
cod-refer-bcia | character | X(25) | Referência Bancária | Não |
|
dat-remes | date | 99/99/9999 | Data Remessa | Não |
|
dat-entreg-docto | date | 99/99/9999 | Data Entrega Docto | Não |
|
cod-courier-cobr | character | x(30) | Courier Cobrança | Sim |
|
nom-emit-final | character | x(40) | Nome Cliente Final | Sim |
|
des-end-emit-final | character | x(40) | Endereço Cliente Final | Sim |
|
nom-bairro-emit-final | character | x(30) | Bairro Cliente Final | Sim |
|
nom-cidad-emit-final | character | x(25) | Cidade Cliente Final | Sim |
|
cod-estado-emit-final | character | x(4) | Estado Cliente Final | Sim |
|
cod-cep-emit-final | character | x(12) | CEP Cliente Final | Sim |
|
cod-pais-emit-final | character | x(20) | País Cliente Final | Sim |
|
log-nf-atlzdo | logical | Sim/Não | Processo Atualizado | Sim |
|
volume-inf | decimal | >>>,>>>,>>9.9999 | Volume Informado | Sim |
|
hra-deadline | character | 99:99:99 | Hora Dead-line | Não |
|
dat-deadline | date | 99/99/9999 | Data Dead-line | Não |
|
nome-transp | character | x(40) | Transportador | Não |
|
end-transp | character | x(40) | Endereco Transportador | Não |
|
bairro-transp | character | x(30) | Bairro Transportador | Não |
|
cidade-transp | character | x(25) | Cidade Transportador | Não |
|
estado-transp | character | x(4) | Estado Transportador | Não |
|
cep-transp | character | x(12) | Cep Transportador | Não |
|
pais-transp | character | x(20) | Pais Transportador | Não |
|
log-atualiz-ctb | logical | Sim/Não | Atualização Contabilidade | Sim |
|
log-atualiz-ce | logical | Sim/Não | Atualização Contr. Estoque | Sim |
|
log-atualiz-crb | logical | Sim/Não | Atualização Contas a Receber | Sim |
|
log-atualiz-apb | logical | Sim/Não | Atualização Contas a Pagar | Sim |
|
dat-impl-proces-export | date | 99/99/9999 | Data Implantação | Sim |
|
tt-processo-exp-new | Entrada/Saída | ||||
Informações do processo de exportação após alteração. OBS: Mesmos campos da temp-table tt-processo-exp-old. | Entrada/Saída | ||||
Atributo | Tipo | Formato | Descrição | Obrigatório | Evolução |
|
|
|
|
|
|
tt-historico-proc-exp-old | Entrada/Saída | ||||
Informações do processo de exportação depois da alteração. | Entrada/Saída | ||||
Atributo | Tipo | Formato | Descrição | Obrigatório | Evolução |
nr-proc-exp | CHARACTER | X(12) | Processo Exportação | Sim |
|
cod-estabel | CHARACTER | x(5) | Estabelecimento | Sim |
|
cod-itiner | INTEGER | >>,>>9 | Código do Itinerário | Sim |
|
sequencia | INTEGER | 999 | Sequência | Sim |
|
cod-pto-contr | INTEGER | >>,>>9 | Códgigo do Ponto de Controle | Sim |
|
cod_usuario | CHARACTER | X(12) | Usuário | Não |
|
dt-previsao | DATE | 99/99/9999 | Dt Previsão | Sim |
|
dt-ult-previsao | DATE | 99/99/9999 | Ultima Previsão | Sim |
|
dt-efetiva | DATE | 99/99/9999 | Dt Efetiva | Não |
|
observacao | CHARACTER | X(2000) | Observação | Não |
|
id-meio-transp | CHARACTER | X(20) | Veículo Transporte | Não |
|
char-1 | CHARACTER | x(100) | Campo livre do tipo caractere | Não |
|
char-2 | CHARACTER | x(100) | Campo livre do tipo caractere | Não |
|
dec-1 | DECIMAL | ->>>>>>>>>>>9.99999999 | Campo livre do tipo decimal | Não |
|
dec-2 | DECIMAL | ->>>>>>>>>>>9.99999999 | Campo livre do tipo decimal | Não |
|
int-1 | INTEGER | ->>>>>>>>>9 | Campo livre do tipo inteiro | Não |
|
int-2 | INTEGER | ->>>>>>>>>9 | Campo livre do tipo inteiro | Não |
|
log-1 | LOGICAL | yes/no | Campo livre do tipo lógico | Não |
|
log-2 | LOGICAL | yes/no | Campo livre do tipo lógico | Não |
|
data-1 | DATE | 99/99/9999 | Campo livre do tipo data | Não |
|
data-2 | DATE | 99/99/9999 | Campo livre do tipo data | Não |
|
check-sum | CHARACTER | X(20) | Check-sum | Não |
|
cod-uf | CHARACTER | x(2) | Unidade da Federacao | Não |
|
des-sig-pais | CHARACTER | x(3) | Sigla do País | Não |
|
descricao | CHARACTER | x(30) | Descrição | Não |
|
nr-dias | DECIMAL | >,>>9.99 | Dias Trajeto | Não |
|
tt-historico-proc-exp-new | Entrada/Saída | ||||
Informações do histórico do processo de exportação após alteração. OBS: Mesmos campos da temp-table tt-historico-proc-exp-old. | Entrada/Saída | ||||
Atributo | Tipo | Formato | Descrição | Obrigatório | Evolução |
|
|
|
|
|
|
Método Negócio
Quando a API for executada em modo persistente, os seguintes métodos estarão disponíveis para execução:
pi-salva-valor-antigo | ||
Requisito | Nenhum | |
Sintaxe | RUN pi-salva-valor-antigo in handle (INPUT <character>, INPUT <rowid>). | |
Descrição | Realiza a criação da temp-table que conterá os dados do registro antes da alteração. | |
Parâmetros | Descrição | |
pc-nome-tabela pr-rowid | Nome da tabela Rowid do registro | |
Retorno | Retorna um return-value com valor “OK” se o processo foi realizado com sucesso. |
pi-salva-alteracao | ||
Requisito | Nenhum | |
Sintaxe | RUN pi-salva-valor-antigo in handle (INPUT <character>, INPUT <character>, INPUT <rowid>, INPUT <character>). | |
Descrição | Realiza a criação da temp-table que conterá os dados do registro após a alteração. | |
Parâmetros | Descrição | |
pcAction pc-nome-tabela pr-rowid pc-programa | Identifica se é criação ou alteração de registro. (“Criação”, “Alteração”). Tabela que está sendo alterada Rowid do registro da tabela que está sendo alterada Nome do programa responsável pela alteração | |
Retorno | Retorna um return-value com valor “OK” se o processo foi realizado com sucesso. |
pi-processa-buffer | ||
Requisito | Nenhum | |
Sintaxe | RUN pi-salva-valor-antigo in handle (INPUT <handle>, INPUT <handle>, INPUT <character>, INPUT <character>, INPUT <character>, INPUT <character>, INPUT <character>). | |
Descrição | Trata os valores alterados e executa a procedure responsável por gravar os registros dos log’s na base. | |
Parâmetros | Descrição | |
phNewBuffer phOldBuffer pChanges pTabela pChave pPrograma pcAction | Handle do buffer da tabela após alteração Handle do buffer da tabela antes da alteração Campos alterados Tabela que está sendo alterada Chave da tabela que está sendo alterada Programa responsável pela alteração Identifica se é uma criação ou alteração do registro. (“Criação”, “Aleração”). | |
Retorno | Retorna um return-value com valor “OK” se o processo foi realizado com sucesso. |
pi-ex-histor-alteracao | ||
Requisito | Nenhum | |
Sintaxe | RUN pi-salva-valor-antigo in handle (INPUT <character>, INPUT <character>, INPUT <character>, INPUT <character>, INPUT <character>, INPUT <character>, INPUT <character>).
| |
Descrição | Responsável por executar os métodos padrões da BOCX00435 para efetivar as alterações na tabela "ex-histor-alter". | |
Parâmetros | Descrição | |
pTabela pCampo pChave pVl-anterior pVl-novo pPrograma pcAction | Tabela que está sendo alterada Campo que está sendo alterado Chave da tabela que está sendo alterada Valor do registro "antes" da alteração Valor do registro "após" a alteração Programa responsável pela alteração Identifica se é uma criação ou alteração do registro. (“Criação”, “Alteração”). | |
Retorno | Retorna um return-value com valor “OK” se o processo foi realizado com sucesso. |
pi-seta-tabela-multipla | ||
Requisito | Nenhum | |
Sintaxe | RUN pi-seta-tabela-multipla in handle (INPUT <logical>). | |
Descrição | Identificar se a api deve manter os registros das temp-tables a cada execução. | |
Parâmetros | Descrição | |
pl-tabela-multipla | Identifica como a API deve se comportar: YES: Considera que a temp-table possui vários registros. (API não limpa registros de temp-tables anteriores) NO: Considera que a temp-table possui apenas um registro. (API limpa os registros das temp-tables a cada execução) | |
Retorno | Retorna um return-value com valor “OK” se o processo foi realizado com sucesso. |
pi-atualiza-log | ||
Requisito | Nenhum | |
Sintaxe | RUN pi-atualiza-log in handle (INPUT <character>, INPUT <rowid>, INPUT <character>, INPUT <character>). | |
Descrição | Atualizar a chave das tabelas no Log. | |
Parâmetros | Descrição | |
p-tabela p-rowid p-campo p-valor | Tabela que está sendo alterada Rowid do registro alterado Campo que está sendo alterado Novo valor do campo | |
Retorno | Retorna um return-value com valor “OK” se o processo foi realizado com sucesso. |