Árvore de páginas

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

  

Informações Gerais

 

Especificação

Produto

 DATASUL

Módulo

MPD 

Segmento Executor

 

Projeto1

 MANDIS01

IRM1

MANDIS01-410 

Requisito1

 MANDIS01-530

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

 

Objetivo

 Realizar a integração entre o ERP Datasul e a Plataforma e-Commerce da Ciashop.  Esta engenharia tem por objetivo específico integrar os Pedidos de Venda, Clientes e Títulos referentes as vendas realizadas nos MarketPlaces. 

 

Definição da Regra de Negócio

 

Este projeto visa integrar o ERP Datasul à plataforma de e-commerce Ciashop, possibilitando assim que as indústrias e distribuidores possam realizar suas vendas em marketplaces disponíveis no mercado. 

O conceito de Marketplace (MP), no comércio eletrônico, é a utilização de uma loja virtual de terceiros para vender os seus produtos.

O escopo desta integração é restrito a venda via SalesHub, com venda à consumidor final. Sales Hub é um aplicativo disponível para Lojas Framework da Ciashop que concentra diversos marketplaces, tais como Extra e Walmart. Através deste aplicativo é possível ofertar os produtos da loja nestes marketplaces e gerenciar os pedidos gerados nestes canais em sua própria loja.

As operações B2B  ou venda via loja virtual da Ciashop não serão atendidas neste momento.

A forma de comunicação entre ERP e Ciashop se dará por meio de mensagens enviadas e recebidas de um Web service RESTfull. Os Web services RESTful são serviços construídos com o estilo de arquitetura RESTful. A construção de Web services com a abordagem RESTful está surgindo como uma alternativa popular ao uso de tecnologias baseadas em SOAP para implantação de serviços na Internet, por ser mais leve e ter a capacidade de transmitir dados diretamente via HTTP.

Abaixo, o fluxo de integração:

 


Esta especificação tem o objetivo de descrever os processos para integração de Clientes, Pedidos de Venda e Títulos,  da Ciashop para o ERP Datasul.

Temos uma tela de parâmetros com as seguintes informações: 

Além das informações técnicas, nesta tela deve-se parametrizar o grupo de cliente que será utilizado para cadastro de novos clientes, ou seja, quando o pedido vier com um cliente que não está cadastrado no ERP, o sistema irá fazer o cadastro e irá buscar as informações "default" deste grupo de clientes.

Deve-se parametrizar as naturezas de operação que serão utilizadas para entrada dos pedidos, considerando venda para consumidor final, operações estaduais e interestaduais.

Deverá também ser informado o depósito que será utilizado para o comércio eletrônico, ou seja, neste depósitos deverão estar disponíveis os itens que possuem saldo para venda no site.  Quando do envio do saldo de estoque para o site, o sistema irá considerar este depósito.

Nesta tela ficará gravado o número do último pedido que foi integrado no ERP Datasul.  Este número corresponde a numeração da Ciashop.  Sempre que for feita a busca de novos pedidos, o sistema irá considerar este código e buscar os pedidos que sejam maiores que este número.

 

Abaixo temos a tela na qual será feita a busca de Pedidos:

 

 Neste caso o usuário deverá marcar Pedido de Venda e todos os pedidos com numeração superior ao último pedido integrado, serão buscados.

 O sistema deve permitir que a busca de Pedidos seja agendada via RPW.

Com base nos serviços da Ciashop foram criadas temp tables para facilitar a busca das informações:

Para integração dos pedidos estamos usando os seguintes serviços, para busca de pedidos e itens.

O primeiro passo ao receber um pedido da Ciashop é verificar se o cliente já está cadastrado no ERP.  Caso o cliente não esteja cadastrado, este deve ser inserido através da API , que efetua o cadastro primeiramente no EMS 2 e depois faz a integração automática para o EMS 5.  Para isto o sistema deve verificar no cadastro de parâmetros qual o grupo de cliente está parametrizado para buscar as informações padrões para completar o cadastro do cliente.

Para isto, deve-se ler o cliente:

  FIND FIRST emitente
             WHERE emitente.nome-emit = OrderShippingAddress.recipientName NO-LOCK NO-ERROR.

                
        IF NOT AVAIL emitente THEN DO:

           EMPTY TEMP-TABLE tt_emitente_integr_new.
           EMPTY TEMP-TABLE tt_cont_emit_integr_new. 
           EMPTY TEMP-TABLE tt_retorno_clien_fornec. 
           EMPTY TEMP-TABLE tt_cta_emitente.

           RUN cdp/cd9960.p (OUTPUT i-emitente).
          
           IF AVAIL param-integr-loja THEN
              FIND FIRST gr-cli
                   WHERE gr-cli.cod-gr-cli = param-integr-loja.cod-gr-cli NO-LOCK NO-ERROR.

Para cadastrar o cliente, o sistema deve alimentar a temp table tt_emitente_integr_new e chamar as APIS de integração:

           /* Executa a API para cadastrar o cliente no EMS 2 */
           IF VALID-HANDLE(h-cdapi366b) THEN
              RUN execute_evoluida_7 IN h-cdapi366b (INPUT        TABLE tt_emitente_integr_new,
                                                     INPUT        TABLE tt_cont_emit_integr_new,
                                                     INPUT-OUTPUT TABLE tt_retorno_clien_fornec,
                                                     INPUT              "",
                                                     INPUT-OUTPUT       c-cod-arquivo-log,
                                                     INPUT        TABLE tt_cta_emitente).

Se houver algum problema na integração, os erros serão apresentados no monitor.  Caso contrário, o sistema deverá fazer o cadastro do cliente no EMS 5.

 IF AVAIL emitente AND l-integra-ems5 THEN DO:

              RUN cdp/cd1608.p PERSISTENT SET h-cd1608 (INPUT emitente.cod-emitente,
                                              INPUT emitente.cod-emitente,
                                              INPUT emitente.identific,
                                              INPUT YES,
                                              INPUT 1,
                                              INPUT 0,
                                              INPUT c-cod-arquivo-log /*"utb765zb.tmp"*/,
                                              INPUT "Arquivo":U,
                                              INPUT "").

Se houver algum problema na integração, o sistema deverá gerar um relatório, além de apresentar as informações no monitor.


           
Uma vez que o cliente está ok, o sistema deve ler os pedidos, os itens e seus relacionamentos e alimentar as temp tables necessárias para execução da API de entrada de pedidos, conforme exemplo abaixo. 

Os pedidos vindos da Ciashop serão integrados com código de origem = 22 (Ciashop x Sales Hub x Marketplace).

Deverá ser gravado no ped-venda.char-1, 109,1 o status do Pedido na Ciashop.

             if order.status1 = "Confirmed" then

 

                 assign overlay(ped-venda.char-1,109,1) = 1  /* Pedido Confirmado */

 

             if order.status1 = "PaymentApproved" then

 

                 assign overlay(ped-venda.char-1,109,1) = 2 /* Pagamento Aprovado  */

 

             if order.status1 = "Cancelled" then

 

                 assign overlay(ped-venda.char-1,109,1) = 3 /* Pedido Cancelado  */

Deverá ser gravado no ped-venda.nr-pedrep  o código do Pedido na Ciashop.

ped-venda.nr-pedrep   =  order.id. 

run pdp/pdapi500.p (input  pTranAction,
                                 input  table tt-ped-venda,
                                 input  table tt-ped-item,
                                 input  table tt-desc-ped-item,
                                 input  table tt-ped-ent,
                                 input  table tt-unid-neg-ped,
                                 input  table tt-cond-ped,
                                 input  table tt-ped-repre,
                                 input  table tt-ped-antecip,
                                 input  table tt-pd-vendor,
                                 output table RowErrors, 
                                 output table ReturnOrderValues,
                                 output table ReturnItemValues) .

Quando da execução desta API poderão ser gerados erros de integração que serão disponibilizados no Monitor de Integração.

O sistema deve considerar que os pedidos cadastrados no site podem vir com valor de frete e cupons de desconto.  Hoje não temos desconto em valor no Pedido de Venda, então este desconto em valor deverá ser rateado entre os itens.

O valor do Pedido e da Nota Fiscal devem fechar com o preço final apresentado ao cliente no site. 

O valor enviado para o ERP deve ser: valor sem IPI,  sem frete,  somado o desconto do item e o desconto do cupom rateado.  Quando chega no ERP,  o sistema calcula os descontos, soma o frete na base e depois calcula o IPI.

O pagamento será feito diretamente no site através de boleto ou cartão de crédito e será integrado com o módulo de cobranças especiais.

O programa PD1509 - Completa Pedido Batch deverá ser alterado para tratar os pedidos originados da Ciashop.

O PD1509.W deverá ser alterado para tratar a origem 22.

Deverá ser definida a variável:

DEFINE VARIABLE l-pCiashop AS LOGICAL INITIAL yes     

              LABEL "Ciashop"     

              VIEW-AS TOGGLE-BOX     

               SIZE 17 BY 1 NO-UNDO.

E deverá ser tratada a origem 22.

Quando forem integrados pedidos com origem Ciashop e a Central de Vendas estiver habilitada, estes não deverão buscar estabelecimentos diferentes por item assim como estes pedidos não deverão ser quebrados.  Este conceito não se aplica aos pedidos com origem Ciashop, pelo menos nesta fase do projeto, visto que para estes pedidos já temos parametrizado um depósito específico, onde se encontrarão os itens e saldos disponíveis para venda nos Marketplaces.

Para que os pedidos Ciashop não sejam tratados pela funcionalidade Central de Vendas, os seguintes programas deverão ser alterados:

bodi154val.i03 

  

fchdis0013api.p

 

fchdis0039api.p, nos seguintes pontos:

Ponto 1

Ponto 2

 

Ponto 3

 

Ponto 4

 

fchdis0047api.p

 

pd1509.i1

 

pd4000.m120

 

pd4000.m33

 

pd4000.m48

Ponto 1

Ponto 2

 

pd4000.m66

 

pd4000.w

Ponto 1

 

Ponto 2

Ponto 3

Ponto 4

Ponto 5

Ponto 6

Ponto 7

Ponto 8

Ponto 9

 

pd4050.w

Ponto 1

 

Ponto 2

 

pd4050b.w 

Ponto 1

Ponto 2

Ponto 3

Ponto 4


bodi154.i02


bodi154.i04


bodi154sdf.i17


bodi154val.i01


Cadastro Transportador - CD0402

 

O Cadastro do Transportador deve ser alterado para que, na aba Fretes, ao ser informado o Id Ciashop, seja validade se este ID já não está relacionado a outro transportador e, neste caso, o sistema deve emitir uma mensagem de erro e e não deve permitir o relacionamento.   O mesmo ID Ciashop deverá estar relacionado apenas a um transportador no ERP.

 

 

Cancelamento Pedido na Ciashop - PD4000

Quando o Pedido for cancelado na Ciashop, normalmente pela falta de confirmação do pagamento, o mesmo deverá ser cancelado no Datasul.  Para isto, ao buscarmos a atualização do status do pedido no PD0624, se o pedido vier como cancelado, este deverá ser cancelado no PD4000.

Para que seja feito o cancelamento, será necessário informar um motivo.  Para isto, deverá ser verificado se existe algum motivo cadastrado com a descrição igual a "Cancelamento Ciashop". Se existir utiliza esse motivo, senão cria um novo automaticamente,  conforme tela abaixo.

Uma vez que o pedido foi cancelado, será apresentado desta forma no PD1001.

 

 

<Na tabela abaixo informe quais são as rotinas envolvidas, o tipo de operação, a opção de menu e se necessário uma breve descrição das regras de negócio relacionadas a rotina>.

 

Rotina

Tipo de Operação

Opção de Menu

Regras de Negócio

 

[ACAA040 – Parâmetros]

[Alteração]

[Atualizações -> Acadêmico-> Tesouraria]

-

[ACAA050 – Negociação Financeira]

[Envolvida]

[Atualizações -> Acadêmico-> Tesouraria]

-

[ACAA060 – Cadastro de Pedidos]

[Criação]

[Atualizações -> Acadêmico-> Cadastros]

-

 

Exemplo de Aplicação:

  • Criar o campo “% Mínimo Espécie” (AAA_PERESP) onde o usuário informará o % que o aluno pagará em dinheiro. Esse % poderá ser alterado durante a negociação.
  • Criar o campo “Referência Mínima para Cálculo” (AAA_REFCAL) onde o usuário informará um dos 4 valores disponíveis para pagamento das mensalidades  como a referência mínima para calcular o débito total do aluno.
  • Criar o parâmetro MV_ACPARNE que definirá se as informações de “% Mínimo Espécie” e “Referência Mínima para Cálculo” serão obrigatórias.
  • O parâmetro MV_ACPARNE deve ter as seguintes opções: 1=Obrigatório e 2=Opcional. Deve ser inicializado como opcional>.

 

Tabelas Utilizadas

  • SE2 – Cadastro de Contas a Pagar
  • FI9 – Controle de Emissão de DARF>.

Opcional

Protótipo de Tela

 

<Caso necessário inclua protótipos de telas com o objetivo de facilitar o entendimento do requisito, apresentar conceitos e funcionalidades do software>.

 

Protótipo 01

 

 

 

 

 

 

 

 

 

Opcional

Fluxo do Processo

 

<Nesta etapa incluir representações gráficas que descrevam o problema a ser resolvido e o sistema a ser desenvolvido. Exemplo: Diagrama - Caso de Uso, Diagrama de Atividades, Diagrama de Classes, Diagrama de Entidade e Relacionamento e Diagrama de Sequência>. 

Opcional

Dicionário de Dados

 

Arquivo ou Código do Script: AAA – Negociação Financeira / *Versao=CP.2014.12_03*/

  

Índice

Chave

01

<FI9_FILIAL+FI9_IDDARF+FI9_STATUS>

02

<FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_EMISS+FI9_IDDARF>

03

<FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_PREFIX+FI9_NUM+FI9_PARCEL+FI9_TIPO>

Campo

<AAA_PERESP>

Tipo

<N>

Tamanho

<6>

Valor Inicial

<Varia de acordo com o tipo informado. Por exemplo, quando o campo “tipo” for date, neste campo pode ser informado uma data>. 

Mandatório

Sim (  ) Não (  )

Descrição

<Referência Mínima para Cálculo>

Título

<Ref.Calc.>

Picture

<@E999.99>

Help de Campo

<Informar o % que o aluno pagará em dinheiro. Esse % poderá ser alterado durante a negociação>

 

(Opcional)

Grupo de Perguntas

 

<Informações utilizadas na linha Protheus>.

 

Nome: FINSRF2

X1_ORDEM

01

X1_PERGUNT

Emissão De

X1_TIPO

D

X1_TAMANHO

8

X1_GSC

G

X1_VAR01

MV_PAR01

X1_DEF01

Comum

X1_CNT01

'01/01/08'

X1_HELP

Data inicial do intervalo de emissões das guias de DARF a serem consideradas na seleção dos dados para o relatório 

 

(Opcional)

Consulta Padrão

<Informações utilizadas na linha Protheus>

 

Consulta: AMB

Descrição

Configurações de Planejamento

Tipo

Consulta Padrão

Tabela

“AMB”

Índice

“Código”

Campo

“Código”; ”Descrição”

Retorno

AMB->AMB_CODIGO

 

(Opcional)

Estrutura de Menu

 

<Informações utilizadas na linha Datasul>.

 

Procedimentos

 

Procedimento

 

 

 

Descrição

(Max 40 posições)

(Max 40 posições)

(Max 40 posições)

Módulo

 

 

 

Programa base

 

 

 

Nome Menu

(Max 32 posições)

(Max 32 posições)

(Max 32 posições)

Interface

GUI/WEB/ChUI/Flex

GUI/WEB/ChUI/Flex

GUI/WEB/ChUI/Flex

Registro padrão

Sim

Sim

Sim

Visualiza Menu

Sim/Não

Sim/Não

Sim/Não

Release de Liberação

 

 

 

 

 

 

Programas

 

Programa

 

 

 

Descrição

(Max 40 posições)

(Max 40 posições)

(Max 40 posições)

Nome Externo

 

 

 

Nome Menu/Programa

(Max 32 posições)

(Max 32 posições)

(Max 32 posições)

Nome Verbalizado[1]

(Max 254 posições)

(Max 254 posições)

(Max 254 posições)

Procedimento

 

 

 

Template

(Verificar lista de opções no man01211)

(Verificar lista de opções no man01211)

(Verificar lista de opções no man01211)

Tipo[2]

Consulta/Manutenção/ Relatório/Tarefas

Consulta/Manutenção/ Relatório/Tarefas

Consulta/Manutenção/ Relatório/Tarefas

Interface

GUI/WEB/ChUI/Flex

GUI/WEB/ChUI/Flex

GUI/WEB/ChUI/Flex

Categoria[3]

 

 

 

Executa via RPC

Sim/Não

Sim/Não

Sim/Não

Registro padrão

Sim

Sim

Sim

Outro Produto

Não

Não

Não

Visualiza Menu

Sim/Não

Sim/Não

Sim/Não

Query on-line

Sim/Não

Sim/Não

Sim/Não

Log Exec.

Sim/Não

Sim/Não

Sim/Não

Rotina (EMS)

 

 

 

Sub-Rotina (EMS)

 

 

 

Localização dentro da Sub Rotina (EMS)

 

 

 

Compact[4]

Sim/Não

Sim/Não

Sim/Não

Home[5]

Sim/Não

Sim/Não

Sim/Não

Posição do Portlet[6]

0 – Top Left

1 – Top Right

2 – Bottom Left

3 – Bottom Right

0 – Top Left

1 – Top Right

2 – Bottom Left

3 – Bottom Right

0 – Top Left

1 – Top Right

2 – Bottom Left

3 – Bottom Right

Informar os papeis com os quais o programa deve ser vinculado

 

 

 

 

Cadastro de Papéis

<O cadastro de papéis é obrigatório para os projetos de desenvolvimento FLEX a partir do Datasul 10>.

<Lembrete: o nome dos papeis em inglês descrito neste ponto do documento, devem ser homologados pela equipe de tradução>.

 

Código Papel

(máx 3 posições)

Descrição em Português*

 

Descrição em Inglês*

 


[1] Nome Verbalizado é obrigatório para desenvolvimentos no Datasul 10 em diante.

[2] Tipo é obrigatório para desenvolvimento no Datasul 10 em diante

[3] Categorias são obrigatórias para os programas FLEX.

[4] Obrigatório quando o projeto for FLEX

[5] Obrigatório quando o projeto for FLEX

[6] Obrigatório quando o projeto for FLEX

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