Histórico da Página
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
(Obrigatório)
Informações Gerais
Especificação | |||
Produto | Logix | Módulo | Vendas |
Segmento Executor | Manufatura | ||
Projeto1 | MANDIS01 | IRM1 | MANDIS01-711 |
Requisito1 |
| Subtarefa1 |
|
Chamado2 |
| ||
País | ( X) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( ) Outro _____________. | ||
Outros | <Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>. |
Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos).
(Obrigatório)
Objetivo
Desenvolver Web Service para consulta de pedidos de Vendas no LOGIX com base no protocolo REST.
O Web Service irá tratar toda a regra de negócio porém não contempla interface. Ou seja, deverá ser chamado por algum aplicativo passar os parâmetros de entrada e receberá o retorno do processamento. A interface ficará sob responsabilidade do cliente.
(Obrigatório)
Definição da Regra de Negócio
Basicamente serão desenvolvidas duas funções 4gl, sendo uma API para trabalhar como Web Service e outra com as regras de negócios do produto.
A estrutura dos novos fontes seguirá a seguinte divisão:
VDPR272.4gl – API para consulta de pedido de venda. Deve receber os parâmetros por REST, enviar para a função de consulta e retornar os dados para o requisitante.
Função principal: vdpr272_pub_get_consultaPedidoVenda()
Parâmetros de entrada:
Parâmetro | Tipo | Definição (LIKE TAB. LOGIX ou fixo) | Observações |
tipo_pesquisa | PathParam (Obrigatório) | CHAR(30) | Informar "COMPLETO" para pesquisa de todas as tabelas; informar "CABECALHO" para retornar somente as informações da capa do pedido (tabela "pedidos"). |
paginacao | PathParam (Obrigatório) | SMALLINT | Informar a quantidade de pedidos que deseja receber por execução. Enviar 0 (zero) caso não utilize este recurso. Se enviar 0 a consulta será limitada em 50 pedidos por execução. |
posicao_inicial_paginacao | PathParam (Obrigatório) | SMALLINT | Informar a posição inicial para seleção dos registros de paginação. Enviar 1 (um) caso não utilize paginação. |
data_emissao_de | QueryString | pedidos.dat_emis_repres | Formato: 01/01/2001 |
data_emissao_ate | QueryString | pedidos.dat_emis_repres | Formato: 01/01/2001 |
prazo_entrega_de | QueryString | ped_itens.prz_entrega | Formato: 01/01/2001 |
prazo_entrega_ate | QueryString | ped_itens.prz_entrega | Formato: 01/01/2001 |
campo_sql_livre | QueryString | CHAR(5000) | Campo livre de SQL a ser utilizado na seleção principal. É possível informar diretamente um campo da tabela "pedidos".Ex: campo_sql_livre=pedidos.cod_consig='CLI_25' ou então um subselect. EX: campo_sql_livre=EXISTS (SELECT DISTINCT 1 FROM clientes WHERE clientes.cod_cliente = pedidos.cod_cliente AND clientes.cod_tip_cli = '02') |
cod_empresa | QueryString (array) | pedidos.cod_empresa | limitado a 50 linhas |
num_pedido | QueryString (array) | pedidos.num_pedido | limitado a 500 linhas |
cod_cliente | QueryString (array) | pedidos.cod_cliente | limitado a 100 linhas |
cod_nat_oper | QueryString (array) | pedidos.cod_nat_oper | limitado a 100 linhas |
cod_cnd_pgto | QueryString (array) | pedidos.cod_cnd_pgto | limitado a 50 linhas |
cod_tip_carteira | QueryString (array) | pedidos.cod_tip_carteira | limitado a 50 linhas |
cod_repres | QueryString (array) | pedidos.cod_repres | limitado a 100 linhas |
sit_pedido | QueryString (array) | pedidos.ies_sit_pedido | limitado a 20 linhas |
cod_transpor | QueryString (array) | pedidos.cod_transpor | limitado a 50 linhas |
Parâmetros de saída:
RECORD | DEFINIÇÃO VARIÁVEL | OBSERVAÇÃO | ||
status | SMALLINT | TRUE (processou) / FALSE (não processou) | ||
msg | CHAR(2000) | Mensagem de erro caso status = FALSE | ||
data | RECORD | |||
status_paginacao | char(40) | "PENDENTE" quando utiliza paginação e não retornou todos os registros solicitados; "FINALIZADO" se gerou todas as informações do pedidos independente da paginação. | ||
pedidos | RECORD ARRAY | Informações mestres do pedido | ||
cod_empresa | pedidos.cod_empresa | |||
num_pedido | pedidos.num_pedido | |||
cod_cliente | pedidos.cod_cliente | |||
pct_comissao | pedidos.pct_comissao | |||
num_pedido_repres | pedidos.num_pedido_repres | |||
dat_emis_repres | pedidos.dat_emis_repres | |||
cod_nat_oper | pedidos.cod_nat_oper | |||
cod_transpor | pedidos.cod_transpor | |||
cod_consig | pedidos.cod_consig | |||
ies_finalidade | pedidos.ies_finalidade | |||
ies_frete | pedidos.ies_frete | |||
ies_preco | pedidos.ies_preco | |||
cod_cnd_pgto | pedidos.cod_cnd_pgto | |||
pct_desc_financ | pedidos.pct_desc_financ | |||
ies_embal_padrao | pedidos.ies_embal_padrao | |||
ies_tip_entrega | pedidos.ies_tip_entrega | |||
ies_aceite | pedidos.ies_aceite | |||
ies_sit_pedido | pedidos.ies_sit_pedido | |||
dat_pedido | pedidos.dat_pedido | |||
num_pedido_cli | pedidos.num_pedido_cli | |||
pct_desc_adic | pedidos.pct_desc_adic | |||
num_list_preco | pedidos.num_list_preco | |||
cod_repres | pedidos.cod_repres | |||
cod_repres_adic | pedidos.cod_repres_adic | |||
dat_alt_sit | pedidos.dat_alt_sit | |||
dat_cancel | pedidos.dat_cancel | |||
cod_tip_venda | pedidos.cod_tip_venda | |||
cod_motivo_can | pedidos.cod_motivo_can | |||
dat_ult_fatur | pedidos.dat_ult_fatur | |||
cod_moeda | pedidos.cod_moeda | |||
ies_comissao | pedidos.ies_comissao | |||
pct_frete | pedidos.pct_frete | |||
cod_tip_carteira | pedidos.cod_tip_carteira | |||
num_versao_lista | pedidos.num_versao_lista | |||
cod_local_estoq | pedidos.cod_local_estoq | |||
end_entrega | RECORD ARRAY | endereço de entrega | ||
cod_empresa | LIKE ped_end_ent.cod_empresa | |||
num_pedido | LIKE ped_end_ent.num_pedido | |||
end_entrega | LIKE ped_end_ent.end_entrega | |||
den_bairro | LIKE ped_end_ent.den_bairro | |||
cod_cidade | LIKE ped_end_ent.cod_cidade | |||
cod_cep | LIKE ped_end_ent.cod_cep | |||
num_cgc | LIKE ped_end_ent.num_cgc | |||
ins_estadual | LIKE ped_end_ent.ins_estadual | |||
num_sequencia | LIKE ped_end_ent.num_sequencia | |||
nom_cliente_end_ent | LIKE ped_info_compl.parametro_texto | |||
observacao | RECORD ARRAY | observações | ||
cod_empresa | LIKE ped_observacao.cod_empresa | |||
num_pedido | LIKE ped_observacao.num_pedido | |||
tex_observ_1 | LIKE ped_observacao.tex_observ_1 | |||
tex_observ_2 | LIKE ped_observacao.tex_observ_2 | |||
comissao | RECORD ARRAY | comissões mestres | ||
cod_empresa | LIKE pedido_comis.cod_empresa | |||
num_pedido | LIKE pedido_comis.num_pedido | |||
pct_comissao_2 | LIKE pedido_comis.pct_comissao_2 | |||
cod_repres_3 | LIKE pedido_comis.cod_repres_3 | |||
pct_comissao_3 | LIKE pedido_comis.pct_comissao_3 | |||
proc_referenciado | RECORD ARRAY | processo referenciado | ||
empresa | LIKE ped_proc_refer.empresa | |||
pedido | LIKE ped_proc_refer.pedido | |||
tributo | LIKE ped_proc_refer.tributo | |||
proc_referenciado | LIKE ped_proc_refer.proc_referenciado | |||
nf_referencia | RECORD ARRAY | notas fiscais de referência | ||
empresa | LIKE ped_nf_referencia.empresa | |||
pedido | LIKE ped_nf_referencia.pedido | |||
nota_fiscal | LIKE ped_nf_referencia.nota_fiscal | |||
serie_nota_fiscal | LIKE ped_nf_referencia.serie_nota_fiscal | |||
subser_nota_fiscal | LIKE ped_nf_referencia.subser_nota_fiscal | |||
espc_nota_fiscal | LIKE ped_nf_referencia.espc_nota_fiscal | |||
dat_emissao | LIKE ped_nf_referencia.dat_emissao | |||
modelo_nota_fiscal | LIKE ped_nf_referencia.modelo_nota_fiscal | |||
emitente | LIKE ped_nf_referencia.emitente | |||
chave_acesso | LIKE ped_nf_referencia.chave_acesso | |||
tip_refer | LIKE ped_nf_referencia.tip_refer | |||
end_retirada | RECORD ARRAY | endereço de retirada | ||
empresa | LIKE ped_end_retirada.empresa | |||
pedido | LIKE ped_end_retirada.pedido | |||
razao_social_retir | LIKE ped_end_retirada.razao_social_retir | |||
endereco_retirada | LIKE ped_end_retirada.endereco_retirada | |||
bairro_retirada | LIKE ped_end_retirada.bairro_retirada | |||
cidade_retirada | LIKE ped_end_retirada.cidade_retirada | |||
cep_retirada | LIKE ped_end_retirada.cep_retirada | |||
cnpj_retirada | LIKE ped_end_retirada.cnpj_retirada | |||
inscr_est_retirada | LIKE ped_end_retirada.inscr_est_retirada | |||
telefone_retirada | LIKE ped_end_retirada.telefone_retirada | |||
seq_endereco_retirada | LIKE ped_end_retirada.seq_endereco_retirada | |||
consignat_adic | RECORD ARRAY | consignatários adicionais | ||
empresa | LIKE ped_consg_adic.empresa | |||
pedido | LIKE ped_consg_adic.pedido | |||
seq_consignatario | LIKE ped_consg_adic.seq_consignatario | |||
consignatario | LIKE ped_consg_adic.consignatario | |||
tip_frete | LIKE ped_consg_adic.tip_frete | |||
vendor | RECORD ARRAY | Taxas Vendor | ||
cod_empresa | LIKE vendor_pedido.cod_empresa | |||
num_pedido | LIKE vendor_pedido.num_pedido | |||
pct_taxa_negoc | LIKE vendor_pedido.pct_taxa_negoc | |||
ies_cnd_vendor | LIKE vendor_pedido.ies_cnd_vendor | |||
dat_cnd_vendor | LIKE vendor_pedido.dat_cnd_vendor | |||
cliente_intermediario | RECORD ARRAY | Cliente intermediário | ||
cod_empresa | LIKE ped_item_nat.cod_empresa | |||
num_pedido | LIKE ped_item_nat.num_pedido | |||
cod_cliente | LIKE ped_item_nat.cod_cliente | |||
cod_nat_oper | LIKE ped_item_nat.cod_nat_oper | |||
cod_cnd_pgto | LIKE ped_item_nat.cod_cnd_pgto | |||
end_entrega_interm | RECORD ARRAY | Endereço de entrega do cliente intermediário | ||
empresa | LIKE vdp_end_entga_intm.empresa | |||
pedido | LIKE vdp_end_entga_intm.pedido | |||
sequencia | LIKE vdp_end_entga_intm.sequencia | |||
nom_cliente | LIKE vdp_end_entga_intm.nom_cliente | |||
endereco | LIKE vdp_end_entga_intm.endereco | |||
bairro | LIKE vdp_end_entga_intm.bairro | |||
cidade | LIKE vdp_end_entga_intm.cidade | |||
cep | LIKE vdp_end_entga_intm.cep | |||
cnpj_cpf | LIKE vdp_end_entga_intm.cnpj_cpf | |||
inscricao_estadual | LIKE vdp_end_entga_intm.inscricao_estadual | |||
embarque | RECORD ARRAY | embarque | ||
empresa | LIKE ped_info_compl.empresa | |||
pedido | LIKE ped_info_compl.pedido | |||
mercado | LIKE ped_info_compl.parametro_texto | |||
local_embarque | LIKE ped_info_compl.parametro_texto | |||
modo_embarque | LIKE ped_info_compl.parametro_texto | |||
dat_hor_embarque | LIKE ped_info_compl.parametro_dat | |||
cidade_embarque | LIKE ped_info_compl.parametro_texto | |||
local_despacho | LIKE ped_info_compl.parametro_texto | |||
local_desembarque | LIKE ped_info_compl.parametro_texto | |||
esocial | RECORD ARRAY | Esocial | ||
empresa | LIKE ped_info_compl.empresa | |||
pedido | LIKE ped_info_compl.pedido | |||
numero_cno_esocial | LIKE ped_info_compl.parametro_val | |||
cnpj_cpf_subempreiteiro | LIKE ped_info_compl.parametro_texto | |||
complemento_pedido | RECORD ARRAY | Complementos do pedido | ||
empresa | LIKE ped_compl_pedido.empresa | |||
pedido | LIKE ped_compl_pedido.pedido | |||
dat_hor_inclusao | LIKE ped_compl_pedido.dat_hor_inclusao | |||
usuario_inclusao | LIKE ped_compl_pedido.usuario_inclusao | |||
forma_pagto | LIKE ped_compl_pedido.forma_pagto | |||
tip_desc | LIKE ped_compl_pedido.tip_desc | |||
processo_export | LIKE ped_compl_pedido.processo_export | |||
info_nf_e | RECORD ARRAY | informações para Nfe | ||
empresa | LIKE ped_info_nf_e.empresa | |||
pedido | LIKE ped_info_nf_e.pedido | |||
modalidade_frete_nfe | LIKE ped_info_nf_e.modalidade_frete_nfe | |||
inf_adic_fisco | LIKE ped_info_nf_e.inf_adic_fisco | |||
dat_hor_saida | LIKE ped_info_nf_e.dat_hor_saida | |||
inf_complementar | RECORD ARRAY | informações adicionais | ||
empresa | LIKE ped_inf_com_mestre.empresa | |||
pedido | LIKE ped_inf_com_mestre.pedido | |||
usuario | LIKE ped_inf_com_mestre.usuario | |||
pedido_pallet | LIKE ped_inf_com_mestre.pedido_pallet | |||
pct_tolera_minima | LIKE ped_inf_com_mestre.pct_tolera_minima | |||
pct_tolera_maxima | LIKE ped_inf_com_mestre.pct_tolera_maxima | |||
dat_min_fat | LIKE ped_inf_com_mestre.dat_min_fat | |||
dat_inclusao | LIKE ped_inf_com_mestre.dat_inclusao | |||
hor_inclusao | LIKE ped_inf_com_mestre.hor_inclusao | |||
data_alteracao | LIKE ped_inf_com_mestre.data_alteracao | |||
nota_empenho | LIKE ped_inf_com_mestre.nota_empenho | |||
contrato_compra | LIKE ped_inf_com_mestre.contrato_compra | |||
desconto_cascata | RECORD ARRAY | descontos em cascata do pedido e dos itens. Para o desconto de pedido a sequencia é igual a 0 | ||
cod_empresa | LIKE ped_itens_desc.cod_empresa | |||
num_pedido | LIKE ped_itens_desc.num_pedido | |||
num_sequencia | LIKE ped_itens_desc.num_sequencia | |||
pct_desc_1 | LIKE ped_itens_desc.pct_desc_1 | |||
pct_desc_2 | LIKE ped_itens_desc.pct_desc_2 | |||
pct_desc_3 | LIKE ped_itens_desc.pct_desc_3 | |||
pct_desc_4 | LIKE ped_itens_desc.pct_desc_4 | |||
pct_desc_5 | LIKE ped_itens_desc.pct_desc_5 | |||
pct_desc_6 | LIKE ped_itens_desc.pct_desc_6 | |||
pct_desc_7 | LIKE ped_itens_desc.pct_desc_7 | |||
pct_desc_8 | LIKE ped_itens_desc.pct_desc_8 | |||
pct_desc_9 | LIKE ped_itens_desc.pct_desc_9 | |||
pct_desc_10 | LIKE ped_itens_desc.pct_desc_10 | |||
itens_bonificacao | RECORD ARRAY | itens de bonificação | ||
cod_empresa | LIKE ped_itens_bnf.cod_empresa | |||
num_pedido | LIKE ped_itens_bnf.num_pedido | |||
num_sequencia | LIKE ped_itens_bnf.num_sequencia | |||
cod_item | LIKE ped_itens_bnf.cod_item | |||
pct_desc_adic | LIKE ped_itens_bnf.pct_desc_adic | |||
pre_unit | LIKE ped_itens_bnf.pre_unit | |||
qtd_pecas_solic | LIKE ped_itens_bnf.qtd_pecas_solic | |||
qtd_pecas_atend | LIKE ped_itens_bnf.qtd_pecas_atend | |||
qtd_pecas_cancel | LIKE ped_itens_bnf.qtd_pecas_cancel | |||
qtd_pecas_reserv | LIKE ped_itens_bnf.qtd_pecas_reserv | |||
prz_entrega | LIKE ped_itens_bnf.prz_entrega | |||
qtd_pecas_romaneio | LIKE ped_itens_bnf.qtd_pecas_romaneio | |||
pct_desc_bruto | LIKE ped_itens_bnf.pct_desc_bruto | |||
itens_texto | RECORD ARRAY | textos do pedido e dos itens. Para o texto do pedido a sequencia é igual a 0 | ||
cod_empresa | LIKE ped_itens_texto.cod_empresa | |||
num_pedido | LIKE ped_itens_texto.num_pedido | |||
num_sequencia | LIKE ped_itens_texto.num_sequencia | |||
den_texto_1 | LIKE ped_itens_texto.den_texto_1 | |||
den_texto_2 | LIKE ped_itens_texto.den_texto_2 | |||
den_texto_3 | LIKE ped_itens_texto.den_texto_3 | |||
den_texto_4 | LIKE ped_itens_texto.den_texto_4 | |||
den_texto_5 | LIKE ped_itens_texto.den_texto_5 | |||
itens | RECORD ARRAY | itens normais | ||
cod_empresa | LIKE ped_itens.cod_empresa | |||
num_pedido | LIKE ped_itens.num_pedido | |||
num_sequencia | LIKE ped_itens.num_sequencia | |||
cod_item | LIKE ped_itens.cod_item | |||
pct_desc_adic | LIKE ped_itens.pct_desc_adic | |||
pre_unit | LIKE ped_itens.pre_unit | |||
qtd_pecas_solic | LIKE ped_itens.qtd_pecas_solic | |||
qtd_pecas_atend | LIKE ped_itens.qtd_pecas_atend | |||
qtd_pecas_cancel | LIKE ped_itens.qtd_pecas_cancel | |||
qtd_pecas_reserv | LIKE ped_itens.qtd_pecas_reserv | |||
prz_entrega | LIKE ped_itens.prz_entrega | |||
val_desc_com_unit | LIKE ped_itens.val_desc_com_unit | |||
val_frete_unit | LIKE ped_itens.val_frete_unit | |||
val_seguro_unit | LIKE ped_itens.val_seguro_unit | |||
qtd_pecas_romaneio | LIKE ped_itens.qtd_pecas_romaneio | |||
pct_desc_bruto | LIKE ped_itens.pct_desc_bruto | |||
itens_aen | RECORD ARRAY | AEN do itens normais | ||
empresa | LIKE ped_aen_item_ped.empresa | |||
pedido | LIKE ped_aen_item_ped.pedido | |||
sequencia | LIKE ped_aen_item_ped.sequencia | |||
linha_produto | LIKE ped_aen_item_ped.linha_produto | |||
linha_receita | LIKE ped_aen_item_ped.linha_receita | |||
segmto_mercado | LIKE ped_aen_item_ped.segmto_mercado | |||
classe_uso | LIKE ped_aen_item_ped.classe_uso | |||
itens_nat_oper_refer | RECORD ARRAY | natureza de operação de referencia dos itens | ||
cod_empresa | LIKE ped_item_nat.cod_empresa | |||
num_pedido | LIKE ped_item_nat.num_pedido | |||
num_sequencia | LIKE ped_item_nat.num_sequencia | |||
ies_tipo | LIKE ped_item_nat.ies_tipo | |||
cod_nat_oper | LIKE ped_item_nat.cod_nat_oper | |||
itens_remessa | RECORD ARRAY | itens de remessa | ||
cod_empresa | LIKE ped_itens_rem.cod_empresa | |||
num_pedido | LIKE ped_itens_rem.num_pedido | |||
num_sequencia | LIKE ped_itens_rem.num_sequencia | |||
dat_emis_nf_usina | LIKE ped_itens_rem.dat_emis_nf_usina | |||
dat_retorno_prev | LIKE ped_itens_rem.dat_retorno_prev | |||
cod_motivo_remessa | LIKE ped_itens_rem.cod_motivo_remessa | |||
val_estoque | LIKE ped_itens_rem.val_estoque | |||
cod_area_negocio | LIKE ped_itens_rem.cod_area_negocio | |||
cod_lin_negocio | LIKE ped_itens_rem.cod_lin_negocio | |||
num_conta | LIKE ped_itens_rem.num_conta | |||
tex_observ | LIKE ped_itens_rem.tex_observ | |||
num_pedido_compra | LIKE ped_itens_rem.num_pedido_compra | |||
aen_remessa | LIKE ped_inf_com_item.aen_remessa | |||
xped_nitemped | RECORD ARRAY | Xped e Nitemped do item para Nfe | ||
empresa | LIKE ped_seq_ped_cliente.empresa | |||
pedido | LIKE ped_seq_ped_cliente.pedido | |||
seq_item_ped | LIKE ped_seq_ped_cliente.seq_item_ped | |||
xped | LIKE ped_seq_ped_cliente.xped | |||
nitemped | LIKE ped_seq_ped_cliente.nitemped | |||
itens_cancel | RECORD ARRAY | informações de cancelamento dos itens | ||
cod_empresa | LIKE ped_itens_cancel.cod_empresa | |||
num_pedido | LIKE ped_itens_cancel.num_pedido | |||
num_sequencia | LIKE ped_itens_cancel.num_sequencia | |||
cod_item | LIKE ped_itens_cancel.cod_item | |||
dat_cancel | LIKE ped_itens_cancel.dat_cancel | |||
cod_motivo_can | LIKE ped_itens_cancel.cod_motivo_can | |||
qtd_pecas_cancel | LIKE ped_itens_cancel.qtd_pecas_cancel | |||
itens_grade | RECORD ARRAY | grades | ||
cod_empresa | LIKE ped_itens_grade.cod_empresa | |||
num_pedido | LIKE ped_itens_grade.num_pedido | |||
num_sequencia | LIKE ped_itens_grade.num_sequencia | |||
cod_item | LIKE ped_itens_grade.cod_item | |||
cod_grade_1 | LIKE ped_itens_grade.cod_grade_1 | |||
cod_grade_2 | LIKE ped_itens_grade.cod_grade_2 | |||
cod_grade_3 | LIKE ped_itens_grade.cod_grade_3 | |||
cod_grade_4 | LIKE ped_itens_grade.cod_grade_4 | |||
cod_grade_5 | LIKE ped_itens_grade.cod_grade_5 | |||
qtd_pecas_solic | LIKE ped_itens_grade.qtd_pecas_solic | |||
qtd_pecas_atend | LIKE ped_itens_grade.qtd_pecas_atend | |||
qtd_pecas_cancel | LIKE ped_itens_grade.qtd_pecas_cancel | |||
qtd_pecas_reserv | LIKE ped_itens_grade.qtd_pecas_reserv | |||
qtd_pecas_romaneio | LIKE ped_itens_grade.qtd_pecas_romaneio | |||
itens_prazo | RECORD ARRAY | prazo de entrega das grades | ||
empresa | LIKE ped_item_prazo.empresa | |||
pedido | LIKE ped_item_prazo.pedido | |||
sequencia_item | LIKE ped_item_prazo.sequencia_item | |||
item | LIKE ped_item_prazo.item | |||
prazo_entrega | LIKE ped_item_prazo.prazo_entrega | |||
grade_1 | LIKE ped_item_prazo.grade_1 | |||
grade_2 | LIKE ped_item_prazo.grade_2 | |||
grade_3 | LIKE ped_item_prazo.grade_3 | |||
grade_4 | LIKE ped_item_prazo.grade_4 | |||
grade_5 | LIKE ped_item_prazo.grade_5 | |||
qtd_pc_solicitada | LIKE ped_item_prazo.qtd_pc_solicitada | |||
qtd_pc_cancelada | LIKE ped_item_prazo.qtd_pc_cancelada | |||
itens_comissao | RECORD ARRAY | comissão por item | ||
empresa | LIKE ped_comissao_item.empresa | |||
pedido | LIKE ped_comissao_item.pedido | |||
seq_item_pedido | LIKE ped_comissao_item.seq_item_pedido | |||
representante | LIKE ped_comissao_item.representante | |||
seq_representante | LIKE ped_comissao_item.seq_representante | |||
pct_comissao | LIKE ped_comissao_item.pct_comissao | |||
itens_exportacao | RECORD ARRAY | informações de exportação dos itens | ||
empresa | LIKE ped_exp_item.empresa | |||
pedido | LIKE ped_exp_item.pedido | |||
seq_item_ped | LIKE ped_exp_item.seq_item_ped | |||
seq_registro | LIKE ped_exp_item.seq_registro | |||
processo_export | LIKE ped_exp_item.processo_export | |||
num_reg_export | LIKE ped_exp_item.num_reg_export | |||
dat_reg_export | LIKE ped_exp_item.dat_reg_export | |||
num_decl_dspc_adua | LIKE ped_exp_item.num_decl_dspc_adua | |||
dat_decl_dspc_adua | LIKE ped_exp_item.dat_decl_dspc_adua | |||
chave_nfe_export | LIKE ped_exp_item.chave_nfe_export | |||
qtd_export_item | LIKE ped_exp_item.qtd_export_item |
VDP90423.4gl – Consulta de pedidos externos.
1) Criar função para pesquisa que será executada pela API vdpr272 ou alguma outra função que venha a ser desenvolvida futuramente.Estrutura da função:
--> Criar um cursor dinâmico, com base nos filtros informados, buscando apenas os dados da tabela "pedidos" (utilizar DISTINCT) e ordenando pelos campos empresa e pedido.
--> Dentro do FOREACH: adicionar a lógica de paginação; inserir os pedidos em uma temp (estrutura da temp: empresa e pedido) e armazenar os dados da tabela "pedidos" no array para posterior retorno.
–> Se a pesquisa for do tipo "COMPLETA", criar novo cursor na temp para percorrer pelas empresas encontradas. Para cada empresa carregar os parâmetros e as validações de tabela utilizada. Dentro desse cursor carregar os demais dados das tabelas auxiliares, criando cursores relacionando a tabela com a temp (conforme parametrização);
--> Realizar FREE de todos os cursores após uso.
--> Retornar Status de execução e Mensagem (erro/validação,etc) para a função chamadora;
Funções externas:
1) inicializa_variáveis() - Inicializar todos os parâmetros que são recebidos.
2) função_set() - Criar função de SET para cada campo de filtro e parâmetros que serão enviados pela função chamadora.
3) função_get() - Criar funções de GET para os seguintes retornos:
o Para cada campo/tabela de pedidos prevista na função
o Status da paginação: "PENDENTE" quando utiliza paginação e não retornou todos os registros solicitados; "FINALIZADO" se conseguiu retornar todos os pedidos daquele filtro.
Obs.: Para desenvolvimento das API com protocolo REST seguir o padrão estabelecido em: http://tdn.totvs.com.br/display/public/FRAMJOI/LGX+-+Desenvolvimento+de+API
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|