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
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 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 2 funções 4gl, uma API para trabalhar como Web Service e outra com as regras de negócios do produto.
Desenvolver funções 4GL para centralização do processo de consulta de pedidos externo no Logix.
A estrutura dos novos fontes seguirá a seguinte divisão:
VDP90422VDPR272.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.
Função principal: vdpr999_pub_process_simulaFaturamentoPedido()
Parâmetros de entrada (Tipo: PathParam):
- empresa
- 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
Tabela | Descrição | Prevista | observação |
ped_aen_item_ped | AEN por item | sim | |
ped_comissao_item | Comissão de representante por item | sim | |
ped_compl_pedido | Complementos do pedido | sim | |
ped_consg_adic | Consignatários adicionais | sim | |
ped_end_ent | endereço entrega pedido | sim | |
ped_end_retirada | Endereço de retirada | sim | |
ped_exp_item | Dados de exportação do item | sim | |
ped_inf_com_item | Complemento do item | sim | |
ped_inf_com_mestre | Complemento mestre | sim | |
ped_info_compl | informações complementares | sim | |
ped_info_nf_e | ped_info_nf_e | sim | |
ped_it_canc_bonf | itens de bonif cancelados | sim | Somente no cancelamento |
ped_item_nat | natureza oper item | sim | |
ped_itens | Itens do pedido | sim | |
ped_itens_adic | Adicionais do item | sim | |
ped_itens_bnf | itens de bonificaçao | sim | |
ped_itens_cancel | itens cancelados | sim | Somente no cancelamento |
ped_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ência | sim | |
ped_observacao | observações de pedido | sim | |
ped_proc_refer | Processo referenciado | sim | |
ped_seq_ped_cliente | nitemped e xped | sim | |
pedido_comis | comissoes de pedidos | sim | |
pedido_list | Controle para listagem | sim | |
pedidos | Cabeçalho do pedido | sim | |
vdp_end_entga_intm | endereço entrega cliente intermediário | sim | |
vdp_ped_item_compl | Complemento do item | sim | Somente na modificação |
vendor_pedido | Informações do vendor | sim | |
ped_item_prazo | Prazo de entrega por grade | sim |
Tabelas que não serão previstas
Tabela | Descrição | Prevista | observação |
ped_dupl_compl | Complemento das duplicatas antecipadas do pedido | não | VDP20000 não utiliza |
ped_duplicata | Duplicatas antecipadas do pedido | não | VDP20000 não utiliza |
ped_infc_auxiliar | informações auxiliares | não | VDP20000 não utiliza |
ped_item_compl | ped_item_compl | não | VDP20000 não utiliza |
ped_itens_serie | ped_itens_serie | não | VDP20000 não utiliza |
pedidos_textil | pedidos_textil | não | VDP20000 não utiliza |
sac_ped_rastr | sac_ped_rastr | não | VDP20000 não utiliza |
sac_ped_rastreab | sac_ped_rastreab | não | VDP20000 não utiliza |
sac_pedido | sac_pedido | não | VDP20000 não utiliza |
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|