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 

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

 

Basicamente serão desenvolvidas 2 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:


 VDPR272VDPR0003.4gl – API para consulta de pedido de venda. Deverá receber a empresa e o pedido por parâmetro, consistir para confirmar que não existem erros no pedido e utilizar a já existente função vdp90046 para realizar a simulação do faturamento.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_consultaPedidoVendaFunção principal: vdpr999_pub_process_simulaFaturamentoPedido()

Parâmetros de entrada (Tipo: PathParam):

empresa
Parâmetro
  • pedido
  • Parâmetros de saída:

    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á limitado pelo tamanho do array da capa do pedido;

    -- 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); 

                       --> Realizar FREE de todos os cursores após uso.

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

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

    3) 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;

     

     

    Tabelas que serão previstas

     

    TabelaDescriçãoPrevistaobservaçãoped_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_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çãovendor_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

     

     

     

    TipoDefiniçã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.