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.

#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))