Árvore de páginas

Documento de API

Produto:

Datasul

Ocorrência:

Documentação de API

Nome Físicopdp/pdapi156.p

 

Objetivo

Responsável pela validação e atualização da tabela na base EMS

 

Considerações Gerais

-       Esta API será chamada pelo adapter de programações de entregas (adapters\xml\vd2\axrvd008.p )

-       Recebe como parâmetro as temp-tables de programação de entrega geradas a partir do XML, no adapter (tt-prog-cli, tt-prog-item, tt-prog-ent, tt-prog-entreg-cham e tt_versao_efetiv_edi) e retorna uma temp-table de erros (tt_erros_modulo).

-       Faz a validação dos dados recebidos e atualiza as tabelas de programação de entrega (prog-cli, prog-item, prog-ent e prog-entreg-cham).

-       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 pdp/pdapi156.p (input  table tt-prog-cli,

                             input  table tt-prog-item,

                             input  table tt-prog-ent, 

                             &if "{&bf_dis_versao_ems}" >= "2.02" &then

                                 input table tt-prog-entreg-cham,

                             &endif

                             input  table tt_versao_efetiv_edi,

                             output table tt_erros_modulo).

-       A API funciona da seguinte forma: Ela valida os registros das temp-tables recebidas, caso encontre algum erro é gerado uma ocorrência na temp-table (tt_erros_modulo) cancelando assim a atualização desse registro, e retorna os erros para o adapter. Mas se não ocorrer erro, irá fazer a atualização das tabelas.

 

Parâmetros de Entrada

TEMP-TABLE TT-PROG-CLI: Tabela temporária de Programação do cliente.

TEMP-TABLE TT-PROG-CLI

 

Atributo

 

Tipo

 

Formato

 

Inicial

 

Obrigatório

nr-programa          

inteiro

>>>,>>>,>>9

0

Sim

cd-origem             

inteiro

99

1

Sim

dt-implant           

date

99/99/9999

today

Sim

dt-atualiza          

date

99/99/9999

 ?

 

dt-desatu           

date

99/99/9999

?

 

dt-cancel            

date

99/99/9999

?

 

dt-alter              

date

99/99/9999

?

 

user-implant          

char

x(12)

 

Sim

user-atualiza       

char

x(12)

?

 

user-desatu       

char

x(12)

?

 

user-cancel                    

char

x(12)

?

 

user-alter           

char

x(12)

?

 

motivo-can           

char

x(2000)

 

Sim

motivo-des           

char

x(2000)

 

Sim

cod-emitente         

inteiro

>>>>>>>>9

0

Sim

nome-abrev           

char

x(12)

 

Sim

nr-progcli           

char

x(12)

 

Sim

nr-versao            

inteiro

>>9

0

Sim

dt-emissao           

date

99/99/9999

Today

Sim

proc-edi             

inteiro

>>>>9

?

Sim

observacoes          

char

x(2000)

 

 

cd-situacao          

inteiro

99

1

Sim

tp-qt-prg            

inteiro

99

1

Sim

ind-orig-entrada     

inteiro

>9

1

 

nro-proc-entrada     

inteiro

>>>>>>>>9

0

 

char-1               

char

x(100)

 

 

char-2               

char

x(100)

 

 

dec-1                

decimal

->>>>>>>>>>>9.99999999

0

 

dec-2                

decimal

->>>>>>>>>>>9.99999999

0

 

int-1                

inteiro

->>>>>>>>>9

0

 

int-2                

inteiro

->>>>>>>>>9

0

 

log-1                

lógico

Sim/Não

No

 

log-2                

lógico

Sim/Não

No

 

data-1               

date

99/99/9999

?

 

data-2               

date

99/99/9999

?

 

check-sum          

char

x(20)

 

       

hr-atualiza

char

99:99:99

 

  

ind-tipo-movto

integer

>>>>>>>9

0

 

operacao

integer

>>>>>>>9

0

 

Atributo

Descrição

nr-programa           

Programa             

cd-origem             

Origem               

dt-implant            

Dt Implantação       

dt-atualiza           

Dt Atualização       

dt-desatu             

Dt Desatualização    

dt-cancel             

Dt Cancelamento      

dt-alter              

Dt úlltima Alteração  

user-implant          

Usuário Implantação  

user-atualiza         

Usuário Ult Alt      

user-desatu           

Usuário Desatualização

user-cancel           

Usuário Cancelamento 

user-alter            

Usuário Ult Alt      

motivo-can            

Motivo Cancelamento  

motivo-des            

Motivo Desatualização

cod-emitente          

Cliente              

nome-abrev            

Cliente              

nr-progcli            

Programa Cliente     

nr-versao             

Versão               

dt-emissao            

Dt Emissão           

proc-edi              

Processo EDI         

observacoes           

Observação           

cd-situacao           

Situação             

tp-qt-prg             

Tipo Quantidade      

ind-orig-entrada      

Origem Entrada       

nro-proc-entrada      

Processo Entrada     

char-1                

?                    

char-2                

?                    

dec-1                 

?                    

dec-2                 

?                    

int-1                 

?                    

int-2                 

?                    

log-1                 

?                     

log-2                 

?                    

data-1                

?                    

data-2                

?                    

check-sum             

Check-sum            

hr-atualiza           

Hora Atualização     

ind-tipo-movto

Indicador Tipo Movimento

operacao

Indicador Operação


TEMP-TABLE TT-PROG-ITEM: Tabela temporária da programação do item.

TEMP-TABLE TT-PROG-ITEM

 

Atributo

 

Tipo

 

Formato

 

Inicial

 

Obrigatório

nr-programa

inteiro

>>>,>>>,>>9

0

Sim

it-codigo

char

X(16)

 

Sim

cod-refer

char

X(8)

 

Sim

cd-freq

inteiro

>>9

0

Sim

dt-ult-ent

date

99/99/9999

?

 

dt-ult-ent

date

99/99/9999

?

 

cod-estabel

char

X(3)

 

Sim

serie

char

X(5)

 

Sim

nr-nota-fis

char

X(16)

 

Sim

dt-ult-nf

date

99/99/9999

?

 

qt-ult-ent

deci-4

>>>,>>>,>>9.9999

0

Sim

qt-ent-acum

deci-4

>>,>>>,>>>,>>9.9999

0

Sim

qt-nec-acum                     

deci-4

>>,>>>,>>>,>>9.9999

0

Sim

qt-atraso                       

deci-4

>>,>>>,>>>,>>9.9999

0

Sim

qt-lote-min

deci-4

>>>,>>>,>>9.9999

0

Sim

nr-pedcli                       

char

X(12)

 

Sim

nr-sequencia       

inteiro

>>,>>9

0

Sim

nr-pedido

inteiro

>>>,>>>,>>9

0

Sim

dt-atualiza

date

99/99/9999

?

Sim

observacoes

char

X(2000)

 

Sim

cod-entrega 

char

X(12)

 

Sim

loc-descarga

char

X(15)

 

Sim

cd-origem

inteiro

99

1

Sim

cd-situacao

inteiro

99

1

Sim

dt-implant                      

date

99/99/9999

Today

Sim

dt-cancel                       

date

99/99/9999

?

 

dt-alter                        

date

99/99/9999

?

 

user-implant                    

char       

x(12)                       

 

Sim

user-cancel                     

char         

x(12)                   

 

 

user-alter                      

char

x(12)                   

 

 

motivo-can                      

char

x(2000)                   

 

Sim

motivo-imp                      

char

x(2000)

 

Sim

contato

char

x(25)

 

Sim

char-1                          

char

x(100)

 

 

char-2                          

char

x(100)

 

 

dec-1                           

dec-8

->>>>>>>>>>>9.99999999  

0

 

dec-2                           

dec-8

->>>>>>>>>>>9.99999999  

0

 

int-1                           

inteiro

->>>>>>>>>9             

0

 

int-2                           

inteiro

->>>>>>>>>9             

0

 

log-1                           

lógico

Sim/não

No

 

log-2                           

lógico

Sim/não

No

 

data-1                          

date

99/99/9999

?

 

data-2                          

date

99/99/9999

?

 

check-sum                       

char

X(20)

 

 

hr-atualiza                     

char

99:99:99                    

 

 

nr-progcli                      

char

X(12)

 

 

nr-versao

inteiro

>>9

0

 

qt-un-fatur

decimal

>>>>,>>9.9999

0

 

ind-tipo-movto

integer

>>>>>>>9

0

 

nome-abrev

char

X(12)

 

 

erro-consist

logical

sim/não

No

 

indicador

integer

>>>>>>>9

0

 

Atributo

Descrição

nr-programa   

Programa            

it-codigo     

Item                

cod-refer     

Referência          

cd-freq       

Freq Fornec         

dt-ult-ent    

Dt Ult Entrega      

cod-estabel   

Est ultima Nota     

serie         

Série Última NF     

nr-nota-fis   

Nr Ult Nota Fiscal  

dt-ult-nf     

Dt Última NF        

qt-ult-ent    

Quantidade Última Ent

qt-ent-acum   

Qt Atendida         

qt-nec-acum   

Qt Necessária Acum  

qt-atraso     

Qt Atrasada         

qt-lote-min   

Qt Lote Mínimo      

nr-pedcli     

Pedido Cliente      

nr-sequencia  

Seqüência           

nr-pedido     

Nr Pedido           

dt-atualiza   

Dt Atualização      

observacoes   

Observação          

cod-entrega   

Entrega             

loc-descarga  

Local descarga      

cd-origem     

Origem              

cd-situacao   

Situação            

dt-implant    

Dt Implantação      

dt-cancel     

Dt Cancelamento     

dt-alter      

Dt Última Alteração 

user-implant  

Usuário Implantação 

user-cancel   

Usuário Cancelamento

user-alter    

Usuário Ult Alt     

motivo-can    

Motivo Cancelamento 

motivo-imp    

Motivo Implantação  

contato       

Contato             

char-1        

?                   

char-2        

?                   

dec-1         

?                   

dec-2         

?                   

int-1        

?                   

int-2        

?                   

log-1        

?                   

log-2        

?                   

data-1       

?                   

data-2       

?                   

check-sum    

Check-sum           

hr-atualiza

Hora Atualização    

nr-progcli

Programa Cliente    

nr-versao

Versão

qt-un-fatur

Quantidade na unidade de medida utilizada para faturamento do item

ind-tipo-movto

Indicador Tipo Movimento

nome-abrev

Nome Abreviado

erro-consist

Erro Consistência

indicador

Indicador

 

TEMP-TABLE TT-PROG-ENT: Tabela temporária de Programação de Entrega.

TEMP-TABLE TT-PROG-ENT

 

Atributo

 

Tipo

 

Formato

 

Inicial

 

Obrigatório

nr-programa

integer     

>>>,>>>,>>9            

0

Sim

it-codigo

char     

x(16)                  

 

Sim

cod-refer

char     

x(8)                   

 

Sim

nr-entrega

integer     

>>>>9                  

0

Sim

tp-entrega

integer     

99                     

0

Sim

cd-freq

integer     

>>9                    

0

Sim

dt-entrega

date     

99/99/9999             

?

Sim

hr-entrega

char     

99:99:99               

 

Sim

qt-pedida

deci-4   

>>>,>>>,>>9.9999       

0

Sim

cd-origem

integer     

99                     

0

Sim

cd-situacao

integer     

99                     

0

Sim

dt-implant

date     

99/99/9999             

?

Sim

dt-cancel

date     

99/99/9999             

?

 

dt-alter

date     

99/99/9999             

?

 

user-implant

char     

x(12)                  

 

Sim

user-cancel

char     

x(12)                  

 

 

user-alter

char     

x(12)                  

 

 

motivo-can

char     

x(2000)                

 

Sim

motivo-imp

char     

x(2000)                

 

Sim

nr-pedido

integer     

>>>,>>>,>>9            

0

Sim

nr-pedcli

char     

x(12)                  

 

Sim

cod-entrega

char     

x(12)                  

 

Sim

char-1

char     

x(100)                 

 

 

char-2

char     

x(100)                 

 

 

dec-1

deci-8   

->>>>>>>>>>>9.99999999 

0

 

dec-2

deci-8   

->>>>>>>>>>>9.99999999 

0

 

int-1

integer     

->>>>>>>>>9            

0

 

int-2

integer     

->>>>>>>>>9            

0

 

log-1

logical     

Sim/Não                

No

 

log-2

logical     

Sim/Não                

No

 

data-1

date     

99/99/9999             

?

 

data-2

date     

99/99/9999             

?

 

check-sum

char     

x(20)                  

 

 

qt-un-fat

decimal

>>>>,>>9.9999

0

 

log-control-cham

logical

sim/não

No

Sim

ind-tipo-movto

integer

>>>>>>>9

0

 

nome-abrev

char

x(12)

 

 

nr-progcli

char

x(12)

 

 

Atributo

Descrição

nr-programa

Programa             

it-codigo

Item                 

cod-refer

Referência           

nr-entrega

Nr Entrega           

tp-entrega

Tipo Entrega         

cd-freq

Freq Fornec          

dt-entrega

Dt Entrega           

hr-entrega

Hora Entrega         

qt-pedida

Quantidade Pedida    

cd-origem

Origem               

cd-situacao

Situação             

dt-implant

Dt Implantação       

dt-cancel

Dt Cancelamento      

dt-alter

Dt última Alteração  

user-implant

Usuário Implantação  

user-cancel

Usuário Cancelamento 

user-alter

Usuário Ult Alt      

motivo-can

Motivo do Cancelamento

motivo-imp

Motivo Implantação   

nr-pedido

Nr Pedido            

nr-pedcli

Pedido Cliente       

cod-entrega

Entrega              

char-1

?                    

char-2

?                    

dec-1

?                    

dec-2

?                    

int-1

?                    

int-2

?                    

log-1

?                    

log-2

?                    

data-1

?                    

data-2

?                    

check-sum

Check-sum            

qt-un-fat

Quantidade na unidade de medida utilizada para faturamento do item

log-control-cham

Controla chamado

ind-tipo-movto

Indicador Tipo Movimento

Nome-abrev

Nome Abreviado

nr-progcli

Número Programa indicado pelo cliente

 

TEMP-TABLE TT-PROG-ENTREG-CHAM: Tabela temporária de Programação de Entrega com Chamado de montadora.

TEMP-TABLE TT-PROG-ENTREG-CHAM

 

Atributo

 

Tipo

 

Formato

 

Inicial

 

Obrigatório

 nr-programa   

integer  

>>>,>>>,>>9

0

Sim

 it-codigo     

char

x(16)            

 

Sim

 cod-refer     

char

x(08)            

 

Sim

 cod-entrega   

char

x(12)            

 

Sim

 nr-pedcli     

char

x(12)            

 

Sim

 nr-entrega    

integer  

>>>>9            

0

Sim

 cod-cham      

char

x(16)            

 

Sim

 num-ord-cham  

integer  

>>>9             

0

 

 cod-estabel   

char

x(03)            

 

 

 serie         

char

x(05)            

 

 

 nr-nota-fis   

char

x(16)            

 

 

 nr-embarque   

integer  

>>>>,>>9         

0

 

 nr-resumo     

integer  

>>>>,>>9

0

 

 qtd-cham      

decimal  

>>>,>>>,>>9.9999

0

Sim

rowid-prog-ent

rowid

>>>,>>>,>>9

0

 

Atributo

Descrição

 nr-programa   

Numero Programa

 it-codigo     

Item

 cod-refer     

Referencia

 cod-entrega   

Cod Entrega

 nr-pedcli     

Nr. Pedido cliente

 nr-entrega    

Nr Entrega

 cod-cham      

Código Chamado

 num-ord-cham  

Nr. Ordem Chamado

 cod-estabel   

Cod Estabelecimento

 serie         

Serie

 nr-nota-fis   

Nr da Nota

 nr-embarque   

Nr Embarque

 nr-resumo     

Nr Resumo

 qtd-cham      

Quantidade Chamado

rowid-prog-ent

Rowid Programação Entrega


Parâmetros de Saída

 

TEMP-TABLE TT_ERROS_MODULO: Tem a finalidade de retornar os erros da API em questão.

TEMP-TABLE TT-ERROS-MODULO

 

Atributo

 

Tipo

 

Formato

 

Inicial

 

Obrigatório

identifi-msg

char

x(60)

 

 

num-sequencia-erro

integer

999

0

 

cod-erro

integer

99999

0

 

des-erro

char

x(60)

 

 

Atributo

Descrição

identifi-msg

identificação da mensagem

num-sequencia-erro

seqüência do erro

cod-erro

código do erro

des-erro

descrição do erro

 

Execução

 

-       O programa pdp/pdapi156.p irá executar uma validação básica:

-       O programa irá realizar a validação nos dados recebidos no XML e retornara os erros conforme tabela abaixo:

Número do Erro

Mensagem

Ajuda

56

&1 inexistente

verifique se existe uma ocorrência para o &1 informado em seu cadastro

90

Item  não cadastrado.

Item  não cadastrado.

166

item não cadastrado

o item informado não foi encontrado no sistema.  É necessário cadastrá-lo

785

Cliente não Cadastrado

 Não existe nenhum cliente  cadastrado.

852

usuário não cadastrado no banco comercial

usuário &1 não tem permissão para executar esse programa

895

cliente não cadastrado

o cliente não está cadastrado

1368

quantidade deve ser maior que zeros

quantidade deve ser maior que zero

2314

os parâmetros globais não estão cadastrados

 

2698

item do cliente não cadastrado

entre com um item do cliente válido

2716

item/referência não cadastrado para o local de entrega do pedido informado

 

2717

item/referência/entrega/pedido já cadastrado para este programa de entrega

 

3050

data e hora de entrega já cadastrados para o mesmo item

 

3084

nota fiscal informada não cadastrada

não foi encontrado um registro para a chave informada

3086

nota fiscal informada não pertence ao cliente do programa

nota fiscal inválida. Entre com uma nota fiscal pertencente ao cliente do programa de entrega

3125

item do programa do programa de entrega já está atualizado

impossível cancelar o registro, pois o item do programa já está atualizado

5722

entrega está parcialmente atendida, não pode ser eliminada

a situação da entrega não permite eliminação

5724

entrega está totalmente atendida, não pode ser eliminada

a situação da entrega não permite eliminação

5725

entrega está pendente  atendida, não pode ser eliminada

a situação da entrega não permite eliminação

6003

opção inválida

 

6004

Não foi encontrado Pedido com Nome Abrev e Nr Pedcli

 

6454

não existe registro de versão de integração

 

6561

seqüência não pode ser cancelada

 

6578

versão deve ser diferente de zero

 

6579

programação de entrega não cadastrada

 

6580

programação de entrega já cadastrada

 

6587

programação de entrega cancelada

 

6615

impossível apenas informar um dos campos

é obrigatório informar a data e a quantidade de entrega do último recebimento

6698

programação de entrega já atualizada

 

6791

pedido não cadastrado para o cliente informado

 

6807

Relação Item/cliente não cadastrada para &1 e &2

 

6808

número de entrega já está cadastrada

 

6863

não foi encontrado nenhum registro de programação de entrega

 

6878

programação de entrega não informada

 

15392

Pedido de venda possui embarques não confirmados.

Não é permite incluir nova programação para pedidos que possuam  embarques não confirmados

15662

Situação do pedido &PEDIDO invalida!

Situação do Pedido de Venda  é Inválida !

15663

Pedido de Venda  não Aprovado.

Pedido de Venda  não Aprovado.

15664

Espécie do pedido de venda deve ser aberto.

A espécie do pedido de venda  deve ser igual a Aberto.

15680

Programa do Cliente  está cancelado.

Programa do Cliente  está cancelado.

15682

Nota fiscal Nr. &nr-nota Serie &serie Estab &estab não cadastrada

Nota fiscal com o Nr.  Serie  e  Estab.  não encontrada.

15683

Nota Fiscal Nr.  não pertence ao cliente .

Nota Fiscal Nr.  não pertence ao cliente .

15684

Não foi encontrado nenhum item para o programa .

Não foi encontrado nenhum item para o programa .

15685

Item   Refer.   Entr.  não cadastrado para o pedido .

Item   Refer.   Entr.  não cadastrado para o pedido .

15687

Não foi encontrada nenhuma entrega p/ o item  programa .

Não foi encontrada nenhuma entrega p/ o item  programa .

15693

Quantidade da última entregado item  do programa  &programa inválida.

Quantidade da última entregado item  do programa  inválida.

15694

Data da última entrega do item  do programa  inválida.

Data da última entrega do item  do programa  inválida.

26971

Freqüência(s) não cadastrada(s) para entrega(s) do item.

A(s) freqüências informadas para as entregas do referido item não estão regularmente cadastradas.

28142

Item está cancelado

O Item  está cancelado, e não pode ser associado ao programa de entrega.