CDAPI329 - API Integração Multiplanta Efetivação Clientes EMS2.0
Produto: | Datasul |
Ocorrência: | Documentação de API |
Nome Físico: | cdp/cdapi329.p |
Objetivo: Responsável pela validação e atualização da tabela na base EMS.
Considerações Gerais:
- Esta API será chamada pela sua pré-API (cdapi229).
- Através dela devem ser passadas 2 (duas) temp-tables de entrada e 1 (uma) temp-table de saída , com informações e parâmetros para a efetivação de registros.
- Pode ser atualizado mais de um registro de uma única vez.
- As temp-tables de entrada são passadas como parâmetro através do comando INPUT TABLE, já as de saída devem ser passadas com OUTPUT TABLE.
Exemplo run cdp/cdapi329.p (input table tt-versao-integr,
output table tt-erros-geral,
input table tt-emitente,
input table tt-loc-entr,
input table tt-dist-emitente).
- O funcionamento da API ocorre da seguinte maneira: Os registros são validados, e caso algum erro for encontrado será gerada uma ocorrência na temp-table (tt-erros-geral) cancelando assim a atualização desse registro, e retornando os erros para a pré-API chamadora .Caso não haja erros, a atualização da tabela será completada.
Parâmetros de Entrada
Temp-table tt-versao-integr: Tem por finalidade, levar parâmetros para testar a versão de integração.
Definição:
def temp-table tt-versao-integr no-undo
field cod-versao-integracao as integer format "999"
field ind-origem-msg as integer format "99".
Temp-table tt-emitente: Contém o layout da tabela e o tipo de tratamento que deve ser dado com o registro (inclusão, alteração, eliminação, etc)
Definição:
def temp-table tt-emitente like emitente
field cod-maq-origem as int format "9999"
field num-processo as int format ">>>>>>>>9" init 0
field num-sequencia as int format ">>>>>9" init 0
field ind-tipo-movto as int format "99" init 1
INDEX ch-codigo IS PRIMARY cod-maq-origem
num-processo
num-sequencia.
Temp-table tt-loc-entr: Contém os endereços necessários para o cadastro do cliente no EMS
Definição:
def temp-table tt-loc-entr LIKE loc-entr
field cod-maq-origem as integer
field num-processo as integer format "999999999"
field num-sequencia as integer format "999999"
field ind-tipo-movto as integer format "99"
INDEX ch-codigo IS PRIMARY cod-maq-origem
num-processo
num-sequencia.
Temp-table tt-dist-emitente: Contém os atributos específicos de Distribuição do cliente.
Definição:
def temp-table tt-dist-emitente like dist-emitente
field cod-maq-origem as integer format "9999"
field num-processo as integer format ">>>>>>>>9" initial 0
field num-sequencia as integer format ">>>>>9" initial 0
field ind-tipo-movto as integer format "99" initial 1
INDEX ch-codigo IS PRIMARY cod-maq-origem
num-processo
num-sequencia.
Parâmetros de Saída
Temp-table tt-erros-geral: Tem a finalidade de retornar os erros da api de efetivação para a pré-api, esta tt-erros-geral é padronizada para o multiplanta e EDI, pois as api's de efetivação podem ser usadas também pelo EDI.
Definição:
def temp-table tt-erros-geral no-undo
field identif-msg as char format "x(60)"
field num-sequencia-erro as integer format "999"
field cod-erro as integer format "99999"
field des-erro as char format "x(60)"
field cod-maq-origem as integer format "999"
field num-processo as integer format "999999999".
Execução
- O programa cdp/cdapi332.p irá executar a validação da versão da integração: O programa irá verificar a versão de integração no include CD7301.i2 . Caso a versão esteja incompatível, a API abortará a execução retornando através da temp-table tt-erros-geral o código de erro 3941 e retornará a pré-API sem haver atualizado o registro.
Número do Erro | Mensagem | Ajuda |
3941 | Versão de Integração incorreta. | A versão de integração é informada através de parâmetros internos e o que foi informado está incompatível. Favor contatar suporte técnico. |
- Mas, se não ocorrer erros na validação acima, ele irá verificar o tipo do movimento (Ex: Inclusão, Alteração, Exclusão...) e fará as devidas validações de acordo com o tipo de movimento (pi-valida-dados). Caso seja detectado algum erro será então, criado um registro na tabela temporária tt-erros-geral o qual poderá ser consultado ao executar o programa MP0612.
Número do Erro | Mensagem | Ajuda |
1 | Emitente já existe | Já existe ocorrência em Emitente com a chave informada. |
5313 | Emitente para alteração Inexistente | |
17 | Emitente possui relacionamentos ativos | Emitente informado possui relacionamentos ativos com a(s) seguinte(s) entidade(s): &2 |
5308 | Emitente para exclusão Inexistente! | |
8 | Nome Abrev já existe | Já existe um registro com a chave informada . |
47 | Emitente não cadastrado(a). | Emitente não cadastrado(a). |
4630 | Matriz deve ser cadastrado como cliente | A matriz nao foi previamente cadastrada como cliente. |
14 | Grupo de cliente &1 não cadastrado | |
4263 | Representante não cadastrado | |
4261 | Transportador não cadastrado | |
948 | &1 não cadastrado para modalidade &2. | &1 não foi cadastrado com esta modalidade. |
47 | Banco não cadastrado(a). | Banco não cadastrado(a). |
47 | Agência não cadastrado(a). | Agência não cadastrado(a). |
495 | Moeda não cadastrada! | A moeda informada não foi encontrada no sistema. É necessário cadastrá-la. |
4270 | Tipo de Despesa/Receita não cadastrado | |
415 | Tipo deve ser Receita | Tipo deve ser Receita |
964 | País não cadastrado. | País informado não foi previamente cadastrado. |
965 | Estado não foi previamente cadastrado. | Estado não foi cadastrado. |
2050 | Natureza de operação não cadastrada! | A natureza de operação informada não foi encontrada no sistema. É necessário cadastrá-la. |
4254 | Natureza inválida | |
1008 | Dígito verificador não confere. Confirma digitação? | O dígito verificador informado no CGC/CPF não está correto mas você pode confirmar a digitação. |
1007 | Dígito verificador não confere | O dígito verificador informado no CGC/CPF não está correto. |
972 | Campo deve conter dígitos numéricos. | Campo deve conter dígitos numéricos. |
Caso ocorra um dos erros acima, a efetivação não será atualizada.
