Produto: | Datasul |
Ocorrência: | Documentação de API |
Nome Físico | pdp/pdapi156.p |
Responsável pela validação e atualização da tabela na base EMS
- 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.
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 |
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. |