Páginas filhas
  • ER MANDIS01 WebService Pedidos Consulta

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Migration of unmigrated content due to installation of a new plugin

 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

713

Requisito1

 

MANDIS01-810 / MANDIS01-811

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 

O objetivo consiste em desenvolver Métodos/Webservices Logix Desenvolver Web Service para consulta de pedidos de Vendas no LOGIX com base no protocolo REST. 

O Método ou Webservice 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 passando os parâmetros de entrada e receberá recebendo o retorno do processamento. A interface ficará sob responsabilidade do cliente.

(Obrigatório)

Definição da Regra de Negócio

Desenvolver funções 4GL para centralização do processo de consulta de pedidos externo no LogixBasicamente 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:


 VDP90422VDPR0003.4gl – Centralizador consulta, tomar como base as funções desenvolvidas para o WorkFlow de compras: 

$/Logix/Fontes_Doc/Sustentacao/V12/V12/fluig/wf/WFSUP005/PROGRAM e o manual do Fluig: http://tdn.totvs.com/display/public/fluig/DEV+fluig

1) Realizar o GET dos filtros e parâmetros passados pelo Fluig.

    FILTROS:

Em array:

Empresa

Pedido 

Cliente 

Natureza de operação 

Condição de pagamento 

Carteira 

Representante 1

Situação do pedido 

Transportadora ;

Campo único:

Data emissão pedido DE - DATE;

Data emissão pedido ATE - DATE;

Prazo de entrega DE - DATE;

Prazo de entrega ATE - DATE;

Campo livre - CHAR(5000);

Parâmetros:

-- Tipo de pesquisa - Indica quais dados do pedido serão carregados. Opções:

             Completa - Todos;

             Cabeçalho - Empresa, pedido, cliente, natureza de operação, condição de pagamento, situação, transportadora, carteira, representante 1, data emissão pedido;

-- Paginação - Indica a quantidade de pedidos que serão carregados/retornados por execução; Caso não informado ou informado valor 0, serão carregados todos os pedidos;

-- Posição inicial paginação - Indica a partir de qual posição serão carregados os pedidos.

 

2) Chamar função de inicialização e fazer a carga dos parâmetros e filtro para a função vdp90423;

3) Executar a função de consulta do vdp90423, recebendo o status de execução e mensagem;

4) Fazer o get das seguintes informações.

         –> Dados do pedido conforme o tipo de pequisa;

         --> Indicador status paginação; (F - Finalizado ; P - Pendente)

 5) Realizar o set para o Fluig, dos dados conforme tipo de pesquisa;

 

VDP90423.4gl – Controle de consulta de pedidos externos

 

          1) Criar função para pesquisa que será executada pelo vdp90422. 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.

                   –> Após o cursor, criar novo cursor na temp para percorrer pelas empresas encontradas. Para cada registro carregador os parâmetros e SELECT DISTINCT. Dentro desse cursor carregar os demais dados das tabelas auxiliares, criando cursores relacionando a tabela com a temp (conforme parametrização); 

 

 

 

 

 

) Retornar Status de execução e Mensagem (erro/validação,etc) para a o vdp90422;

       

Demais funções:

1) inicializa_variáveis() - Inicializar todos os parâmetros que são recebidos pelas funções SET abaixo.

·         função_set() - Criar função de SET para cada campo de filtro e parâmetros que serão enviados pelo vdp90422.

·         função_get()  - Criar funções de GET para os retornos que são esperados pelo VDP90422, conforme abaixo:

o   Todos os dados do pedido, conforme tabelas em anexo;

o   Status da paginação;

·         

 

Funções internas:

·         validação_tela() - Fará as chamadas das funções VDPR260.

·         efetivar_tabelas_pedido() - Efetivar dados das tabelas quentes através das respectivas DML's

·         consiste_pedido() - Executar o vdp20023 para consistir o pedido

·         simular_faturamento() - Executar o vdp90046 para simular o faturamento do pedido (necessário ajustes por causa das msgs em tela)

 

VDPR260.4gl – Validações dos campos conforme é realizado hoje em tela (VDP20000)

 Funções externas:

  • carrega_parametros() - Fará carga dos parâmetros do LOG00086 e outros necessários durante a validação.
  • valida_XXXX() - Cria uma função para cada campo que necessite de validação.
    Observações: 1) Deverá receber todas as variáveis por parâmetro local;
    2) Sempre retornar 3 parâmetros: status de execução, mensagem e o tipo de mensagem: E - Erro SQL / V - Validação /  A - Alerta;
    2) Revisar as mensagens se estão com linguagem clara do erro.
    3) Adicionar nas mensagens a chave do cadastro. Ex.: Cliente XXXXX não cadastrado.
    4) Deverá respeitar os parâmetros do LOG00086 para obrigar ou não o preenchimento dos campos.

 

 

Tabelas que serão previstas

 

TabelaDescriçãoPrevistaobservaçãoate_mov_osAssistência técnicasim ped_aen_item_pedAEN por itemsim ped_comissao_item  Comissão de representante por itemsim ped_compl_pedido   Complementos do pedidosim ped_consg_adicConsignatários adicionaissim ped_end_ent        endereço entrega pedido                          sim ped_end_retirada   Endereço de retiradasim ped_exp_item    Dados de exportação do itemsim ped_inf_com_itemComplemento do itemsim ped_inf_com_mestre Complemento mestresim ped_info_compl     informações complementares                       sim ped_info_nf_e      ped_info_nf_e                                    sim ped_it_canc_bonf   itens de bonif cancelados                        simSomente no cancelamentoped_item_nat       natureza oper item                               sim ped_itens       Itens do pedido    sim ped_itens_adic  Adicionais do itemsim ped_itens_bnf      itens de bonificaçao                             sim ped_itens_cancelitens cancelados   simSomente no cancelamentoped_itens_desc     descontos de pedido                              sim ped_itens_grade itens de grade     sim ped_itens_rem   itens de remessa   sim ped_itens_texto    texto itens pedido                               sim ped_kit_pedido     Informações mestre do kitsim ped_nf_referencia  NF de referênciasim ped_observacao     observações de pedido                            sim ped_proc_referProcesso referenciadosim ped_seq_ped_clientenitemped e xpedsim pedido_comis       comissoes de pedidos                             sim pedido_listControle para listagemsim pedidos Cabeçalho do pedidosim vdp_end_entga_intm endereço entrega cliente intermediário           sim vdp_ped_item_complComplemento do itemsimSomente na modificaçãovdp_pedido_kit_seq relacionamento dos itens com o kitsim vendor_pedido      Informações do vendorsim ped_item_prazoPrazo de entrega por gradesim 

 

 

Tabelas que não serão previstas

 

TabelaDescriçãoPrevistaobservaçãoped_dupl_compl     Complemento das duplicatas antecipadas do pedido nãoVDP20000 não utilizaped_duplicata      Duplicatas antecipadas do pedido                 nãoVDP20000 não utilizaped_infc_auxiliar  informações auxiliares                           nãoVDP20000 não utilizaped_item_compl     ped_item_compl                                   nãoVDP20000 não utilizaped_itens_serie ped_itens_serie    nãoVDP20000 não utilizapedidos_textil     pedidos_textil                                   nãoVDP20000 não utilizasac_ped_rastr      sac_ped_rastr                                    nãoVDP20000 não utilizasac_ped_rastreab   sac_ped_rastreab                                 nãoVDP20000 não utilizasac_pedido         sac_pedido                                       nãoVDP20000 não utiliza

 

 

 

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. 

Método: vdpr0003_pub_get_consultaPedidoVenda()

Parâmetros de entrada:

ParâmetroTipoDefinição (LIKE TAB. LOGIX ou fixo)Observações
tipo_pesquisaPathParam (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").
paginacaoPathParam (Obrigatório)SMALLINTInformar 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_paginacaoPathParam (Obrigatório)SMALLINTInformar a posição inicial para seleção dos registros de paginação. Enviar 1 (um) caso não utilize paginação.




data_emissao_deQueryStringpedidos.dat_emis_represFormato: 01/01/2001
data_emissao_ateQueryStringpedidos.dat_emis_represFormato: 01/01/2001
prazo_entrega_deQueryStringped_itens.prz_entregaFormato: 01/01/2001
prazo_entrega_ateQueryStringped_itens.prz_entregaFormato: 01/01/2001
campo_sql_livreQueryStringCHAR(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_empresaQueryString (array)pedidos.cod_empresalimitado a 50 linhas 
num_pedidoQueryString (array)pedidos.num_pedido    limitado a 500 linhas
cod_clienteQueryString (array)pedidos.cod_cliente  limitado a 100 linhas
cod_nat_operQueryString (array)pedidos.cod_nat_operlimitado a 100 linhas
cod_cnd_pgtoQueryString (array)pedidos.cod_cnd_pgto limitado a 50 linhas
cod_tip_carteiraQueryString (array)pedidos.cod_tip_carteiralimitado a 50 linhas
cod_represQueryString (array)pedidos.cod_repres      limitado a 100 linhas
sit_pedidoQueryString (array)pedidos.ies_sit_pedido  limitado a 20 linhas
cod_transporQueryString (array)pedidos.cod_transpor     limitado a 50 linhas


Parâmetros de saída:

RECORD  DEFINIÇÃO VARIÁVELOBSERVAÇÃO
status

SMALLINTTRUE (processou) / FALSE (não processou)
msg

CHAR(2000)Mensagem de erro caso status = FALSE
dataRECORD



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        


regra_cotacaoLIKE ped_inf_com_mestre.regra_cotacao


val_cotacao_fixaLIKE ped_inf_com_mestre.val_cotacao_fixa


data_vigenciaLIKE ped_inf_com_mestre.data_vigencia






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 vdpr0003 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 


Conceitos que não serão previstos: 

--> Integração com módulo de fluxo de caixa;
--> Conceito de Kit;
--> Integração com módulo de assistência técnica;
--> Cota de representante (Parâmetro "controla_cota");
--> Previsão de produção;

   Tabelas previstas

TabelaDescrição
ped_aen_item_pedAEN por item
ped_comissao_item  Comissão de representante por item
ped_compl_pedido   Complementos do pedido
ped_consg_adicConsignatários adicionais
ped_end_ent        endereço entrega pedido                          
ped_end_retirada   Endereço de retirada
ped_exp_item    Dados de exportação do item
ped_inf_com_itemComplemento do item
ped_inf_com_mestre Complemento mestre
ped_info_compl     informações complementares                       
ped_info_nf_e      ped_info_nf_e                                    
ped_item_nat       natureza oper item                               
ped_itens       Itens do pedido    
ped_itens_bnf      itens de bonificaçao                             
ped_itens_desc     descontos de pedido                              
ped_itens_grade itens de grade     
ped_itens_rem   itens de remessa   
ped_itens_texto    texto itens pedido                               
ped_nf_referencia  NF de referência
ped_observacao     observações de pedido                            
ped_proc_referProcesso referenciado
ped_seq_ped_clientenitemped e xped
pedido_comis       comissoes de pedidos                             
pedido_listControle para listagem
pedidos Cabeçalho do pedido
vdp_end_entga_intm endereço entrega cliente intermediario           
vendor_pedido      Informações do vendor
ped_item_prazoPrazo de entrega por grade

         Tabelas que não foram previstas

TabelaDescrição
ate_mov_osAssistência técnica
ped_kit_pedido     Informações mestre do kit
vdp_pedido_kit_seq relacionamento dos itens com o kit
vdp_ped_item_complComplementos do item
 

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.