Á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

Manufatura

Projeto1

MANDIS01

IRM1

MANDIS01-406

Requisito1

MANDIS01-512

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 de E-commerce da Ciashop, visando o envio do produto (item) e categoria (Família Comercial) parametrizados no ERP Datasul para o Ciashop.

Definição da Regra de Negócio

 A plataforma Framework Ciashop é uma plataforma em que o cliente pode montar sua própria loja de comércio eletrônico.

O Ciashop permite que o cliente monte sua própria loja virtual. Para estabelecer a estrutura da loja virtual com seus departamentos e itens postos a venda o ERP deverá fornecer tais informações. A loja virtual estará integrada com o ERP transmitindo para este os clientes e pedidos cadastrados na loja virtual.

O conceito de Marketplace (MP), no comércio eletrônico, é a utilização de uma loja virtual de terceiros para vender os seus produtos. 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.

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.

A mensagem integrada segue o fluxo abaixo:

 

Rotina

Tipo de Operação

Opção de Menu

Regras de Negócio

[PD0310 – Parâmetros Integração Ciashop]

[Criação]

[Aplicações -> Logística -> Pedidos -> Cadastros ]

-

[PD0623 – Manutenção Categoria Item]

[Criação]

[Aplicações -> Logística -> Pedidos -> Cadastros ]

-

[PD0624 – Integração Batch Ciashop]

[Criação]

[Aplicações -> Logística -> Pedidos -> Tarefas ]

-

[CD0101 – Atualização Parâmetro Global][Alteração][Aplicações -> Logística -> Pedidos -> Cadastros ]-
[CD0206 – Atualização Família Comercial]
[Alteração][Aplicações -> Logística -> Pedidos -> Cadastros ]-
 [CD1506 – Manutenção Referências Item] [Alteração]  [Aplicações -> Logística -> Pedidos -> Cadastros ] -

 

Programa:

CDP\CD0101.W

Função:

Incluir um parâmetro de ativação da integração com CiaShop na página Integr II do programa Parâmetros Globais (CD0101). Se o parâmetro Ciashop estiver marcado indica que a integração com Ciashop está habilitada para o sistema. Será necessária a inclusão de um parâmetro global para indicar a ativação da integração com Ciashop pois o cadastro de família comercial não possui vínculo com estabelecimento impossibilitando que a verificação se a integração está ativa fique restrita ao estabelecimento.

Implementação:

No programa CD0101, na página Integr II, abaixo do campo “Sales and Operation Planning” incluir o campo “Ciashop”, a gravação do conteúdo deste campo deve ser realizada no campo livre “param-global.char-2,45,1”


Programa:

CDP\CD0206.W

Função:

No contexto da integração com Ciashop a família comercial também possuirá a função de Departamento. Para possibilitar a criação de níveis e subdivisões de departamentos na loja virtual será necessária a inclusão de um campo chamado Família Comercial  Pai que ficará disponível somente quando a integração com Ciashop estiver ativa nos parâmetros globais.  Esse campo terá a função de criar níveis de Departamento para poder popular a loja virtual. Exemplo: Família Comercial = TV, Família Comercial Pai = Eletrônicos.

Exemplos de departamento:

Informática

Roupas

Eletrodomésticos

Implementação:

No programa CD0206 incluir o campo Família Comercial Pai e deixa-lo visível somente se o parâmetro Ciashop estiver ativo nos parâmetros globais. O valor do campo deverá ser gravado em substring(fam-comerc.char-1,1,8). Verificar se o valor informado para Família Comercial Pai é uma família comercial existente.

Relacionamento entre tabelas:

Fam-comer.fm-cod-com = substring(fam-comerc.char-1,1,8)

 

Programa:

CDP\CD01506.W

Função:

Quando a integração com a Ciashop estiver ligada, incluir um campo para que seja informado um nome para o conjunto de referências informadas para um item, como por exemplo, cor, tamanho, voltagem, etc.

Implementação:

No programa CD1506, no lado direito da tela, acima do browse onde ficam as referências selecionadas, incluir um campo com o label "Tipo de Referência".  Este nome será gravado no campo livre ref-item.char-1 (posições 1 a 16) e quando do envio das variantes para Ciashop, o tipo de referência será enviado através do campo"Product.definition1", conforme descrito abaixo.


Programa:

PDP\PD0310.W

Função:

Criar um programa de cadastro que grave as informações básicas para integração com a Ciashop, por estabelecimento.

Cada estabelecimento cadastrado pode possuir sua própria loja virtual e deste modo parâmetros de conexão e depósitos disponíveis para o e-commerce próprios.

As informações relativas a “host”, “porta”, “url” e “token” serão fornecidas pela Ciashop no momento de implantação e criação da loja virtual.

O token fornecido pela Ciashop será a chave para autenticação para inclusões, modificações e busca de registros na loja virtual.

O grupo cliente padrão será utilizado para a inclusão de clientes no ERP. Como esta é uma informação obrigatória no cadastro de clientes e não é disponibilizada no cadastro na Ciashop ela deve constar nos parâmetros da integração. Entende-se que os clientes cadastrados a partir da Ciashop pertencerão ao mesmo grupo de cliente. As informações de representante, transportador padrão, condição de pagamento, tabela de preço e portador necessárias ao cadastro automático de clientes serão provenientes do cadastro de grupo de clientes.

As naturezas de operação padrão serão utilizadas para implantação do Pedido de Venda e  também serão utilizadas no cadastro automático de clientes.

A tabela de preço padrão será utilizada para enviar os preços para Ciashop. 

Como o Ciashop não trabalha com múltiplos depósitos, será permitido informar um único depósito para controle dos saldos dos produtos disponíveis para venda.

O sistema irá gravar o número do último pedido integrado da Ciashop.  Sempre que for feita a busca de pedidos, o sistema irá ler pedidos maiores que o último gravado neste campo.

Implementação:

Criar um programa de cadastro complexo para gravar as informações necessárias para a comunicação com a CiaShop, informações padrão para a implantação de clientes, sendo essas informações únicas por estabelecimento.

Validar a entrada de valores válidos para estabelecimento, grupo cliente, natureza de operação,natureza de operação interestadual e depósito.

Campos em tela:

- Estabelecimento – param-integr-loja.cod-estabel

- Host – param-integr-loja.cod-host

- Porta – param-integr-loja.cdn-porta

- URL – param-integr-loja.cod-url

- Token – param-integr-loja.cod-token

- Grupo Cliente – param-integr-loja.cod-gr-cli

- Natureza de operação – param-integr-loja.cod-natur-operac

- Natureza de operação interestadual – param-integr-loja.cod-natur-operac-interest

- Tabela de Preço - param-integr-loja.cod-livre-1

- Depósito – param-integr-loja.cod-depos

- Nr Último Pedido – param-integr-loja.cod-utl-ped

 

Relacionamento entre tabelas:

Param-integr-loja.cod-estabel = Estabelecimento.cod-estabel

Param-integr-loja.cod-gr-cli = gr-cli.cod-gr-cli

Param-integr-loja.cod-natur-operac = natur-oper.nat-operacao

Param-integr-loja.cod-natu-operac-interest = natur-oper.nat-operacao

Param-integr-loja.cod-depos = deposito.cod-depos

 

Programa:

PDP\PD0623.W

Função:

O PD0623 será um programa em que a partir da navegação pelos estabelecimentos cadastrados no programa PD0310 será possível vincular as famílias comerciais, que no contexto Ciashop terão a função de departamento, e seus respectivos itens relacionados. As famílias comerciais e os itens serão enviados para a loja virtual numa carga inicial com o intuito de popular a base da loja. Os itens escolhidos serão atualizados constantemente pelo programa PD0624 conforme o período selecionado pelo cliente para execução da tarefa de envio no RPW.

Implementação:

Criar um programa que permita a navegação pelos estabelecimentos cadastrados na tabela param-integr-loja. Este programa deve possuir um browse para inclusão das famílias comerciais que serão vinculadas ao estabelecimento e dois browses, um contendo os itens cuja família comercial esteja entre as cadastradas no primeiro browse e esteja marcado como item faturável (item.ind-item-fat = yes), e outro browse que representará os itens escolhidos a partir do primeiro que apresentará os itens.

O primeiro browse relativo a família comercial deverá possibilitar a inclusão de registros de família comercial cujo o campo Família Comercial Pai (substring(fam-comerc.char-1,1,8)) esteja em branco pois com a inclusão do Família Comercial Pai os departamentos filhos deverão ser cadastrados automaticamente. Este browse deverá conter botões de inclusão, modificação e exclusão. Os botões de inclusão e modificação chamarão uma outra tela para o preenchimento dos dados. Nesta tela de inclusão de família comercial serão apresentados campos específicos a integração Ciashop.

Campos Tela Principal:

- Estabelecimento – param-integr-loja.cod-estabel

Campos Tela Inclusão:

- Estabelecimento – depto-loja.cod-estabel

- Família Comercial – depto-loja.fm-cod-com

- Descrição – fam-comerc.descricao

- Categoria – depto-loja.cod-familia-comerc-pai

- Descrição Categoria – depto-loja.dsl-depto

- Id Loja – depto-loja.cdn-loja

- URL – depto-loja.des-url

- Resource – depto-loja.des-resource

Campos Browse Categoria:

- Família Comercial – depto-loja.fm-cod-com

- Descrição – fam-comerc.descricao

Campos Browse Item:

- Item – item.it-codigo

- Descrição – item.desc-item

Campos Browse Item Selecionado:

- Item – item-loja.it-codigo

- Descrição – item.desc-item

 

Os campos estabelecimento, família comercial, descrição e Família Comercial Pai não serão habilitados, juntamente com os campos Id Loja, URL e Resource ficarão desabilitados. O campo Id ERP será gravado a partir do valor do campo ID Erp do último registro existente na tabela depto-loja mais 1. O Id Loja, URL e Resouce serão gravados com o retorno da Ciashop no momento do envio a loja virtual.

Ao serem incluídas famílias comerciais/departamentos sem o campo (substring(fam-comerc.char-1,1,8)) preenchido entende-se que será incluído o Família Comercial Pai, deste modo deverão ser automaticamente incluídos todos os departamentos filhos vinculados.  Juntamente com a inclusão automática dos departamentos deverá ser atualizado o primeiro browse de itens com todos os itens faturáveis e vinculados a(s) família(s) comerc. incluídas. Essa vinculação é necessária pois no contexto Ciashop os produtos são vinculados a algum departamento. Como conceito de produto ficou definido que um item somente poderá estar vinculado a um departamento. O preenchimento deste browse será automático, baseando no relacionamento entre as tabelas de item e família comercial. O programa também deverá conter um botão Copia para que seja possível replicar os departamentos e itens selecionados para os demais estabelecimentos e um botão Envia que chamará o programa PD0624. O botão Copia chamará uma tela com uma faixa de estabelecimentos, inicial e final, que com base nos registros gravados na tabela param-integr-loja os dados do estabelecimento corrente serão copiados para os estabelecimentos dentro da faixa escolhida.

Relacionamento entre tabelas:

Estabelecimento.cod-estabel = depto-loja.cod-estabel

Fam-comerc.fm-cod-com = depto-loja.fm-cod-com

 

Programa:

PDP\PD0624.W

Função:

O PD0624 será um programa de relatório que será o responsável pelo envio dos registros selecionados no programa PD0623 para a loja virtual. Este programa terá a possibilidade de ter sua execução agendada no RPW.

Implementação:

Criar um programa de relatório com quatros páginas: Seleção, Parâmetros, Digitação e Impressão. Na página de seleção será incluído os campos faixa de Estabelecimento (inicial e final) e os campos faixa de Tabela de Preço (inicial e final). Na página de Parâmetros haverá quatro flag´s para permitir a seleção de qual tipo de mensagem será realizado o envio a loja virtual. Haverá um flag para Departamento, para Item, para Preço e para Saldo Estoque. Na aba Digitação será possível informar tabelas de preço.

Esse programa deverá realizar a busca nas tabelas depto-loja, item-loja, preco-item e saldo estoque. A partir da busca nas respectivas tabelas chamar a API ciashop\dis-ciashop.p  para o envio de dados do ERP Datasul para o Ciashop.

Caso a flag Categoria esteja marcada, este programa deverá realizar a leitura dos registros gravados na tabela depto-loja que ainda não foram enviados para o Ciashop e chamar a API ciashop\dis-ciashop.p ( responsável pela comunicação entre o ERP e Ciashop) passando a temp-table Department. Nesta temp-table estarão inseridos todas as categorias (Famílias Comerciais) que serão enviadas ao Ciashop por meio do método addDepartmentERP.

Caso a flag Item esteja marcada, antes do envio do item, deve-se consultar a tabela padrão (PD0310 - param-integr-loja.cod-livre-1)  e verificar se existe preço cadastrado.  Caso não exista preço cadastrado, o item não deverá ser enviado, gerando erro no relatório e no monitor de integração.

 

CREATE Department.
ASSIGN Department.name           = descrição da familia comercial
               Department.erpId           = código sequencial (campo erpId no ciashop é inteiro)
               Department.SortOrder    = código sequencial
               Department.description  = complemento da descrição da categoria
               Department.visible         = TRUE.

 

Visualização da Categoria (Família Comercial) no Ciashop:

 

Caso a flag Item esteja marcada, este programa deverá realizar a leitura dos registros gravados na tabela item-loja que ainda não foram enviados para o Ciashop e chamar a API ciashop\dis-ciashop.p ( responsável pela comunicação entre o ERP e Ciashop) passando a temp-table Product e ProductVariant. Nestas temp-tables estarão inseridos todos os itens (Product) e suas respectivas características (ProductVariant) que serão enviadas ao Ciashop por meio do método addProduct.

 

Item sem referência                                                       | Item com referência

PRODUTO

VARIANTES:

 

Visualização do Produto com referência no Ciashop:

Visualização do Produto sem referência:

 Estrutura da tabela a ser enviada ao Ciashop quando o produto possuir referência:

  CREATE Product.
  ASSIGN Product.name                       = descrição do item
                 Product.blocked                   = indica se o item estará bloqueado na loja
                 Product.sortOrder                = sequencial
                 Product.erpId                       = código do item
                 Product.mainDepartmentId = código da categoria que o produto pertence
                 Product.sellOutOfStock       = produto vendido fora do estoque
                 Product.definition1               = substring(ref-item.char-1,1,16).
  CREATE ProductDefinition1Value.
  ASSIGN ProductDefinition1Value.value1     = referencia do item
                 ProductDefinition1Value.sortOrder = sequencial
  CREATE ProductVariant.
  ASSIGN  ProductVariant.erpId                   = codigo do item + referencia do item
                  ProductVariant.quantity              = 1
                  ProductVariant.visible                 = item visivel
                  ProductVariant.weight                = peso do item
                  ProductVariant.length                 = cumprimento do item
                  ProductVariant.width                  = largura do item
                  ProductVariant.height                 = altura do item
                  ProductVariant.price                   = 1

                  ProductVariant.ean                    = item-unid-venda.cod-ean

                  ProductVariant.mainVariant        = caracteristica principal
                  ProductVariant.definition1Value = referencia do item.

create variante-loja.

assign variante-loja.it-codigo  – camisa-x

            variante-loja.cod-refer – azul

            variante-loja.variante  – camisaxazul

            variante-loja.log-envdo - indica se o item já foi enviado ao Ciashop

            variante-loja.id-externo - indica o identificador do item no Ciashop.

 

Estrutura da tabela a ser enviada ao Ciashop quando o produto não possuir referência:

CREATE Product.
  ASSIGN Product.name                       = descrição do item
                 Product.blocked                   = indica se o item estará bloqueado na loja
                 Product.sortOrder                = sequencial
                 Product.erpId                       = código do item
                 Product.mainDepartmentId = código da categoria que o produto pertence
                 Product.sellOutOfStock       = produto vendido fora do estoque.
  CREATE ProductVariant.
  ASSIGN  ProductVariant.erpId              = codigo do item + referencia do item
                  ProductVariant.quantity         = 1
                  ProductVariant.visible           = item visivel
                  ProductVariant.weight           = peso do item
                  ProductVariant.length            = cumprimento do item
                  ProductVariant.width             = largura do item
                  ProductVariant.height            = altura do item
                  ProductVariant.price              = 1
                  ProductVariant.mainVariant   = característica principal.

 

create variante-loja.

assign variante-loja.it-codigo - 13/a

           variante-loja.cod-refer - ""

           variante-loja.variante - 13a

           variante-loja.log-envdo - indica se o item já foi enviado ao Ciashop

           variante-loja.id-externo - indica o identificador do item no Ciashop

 

IMPORTANTE

O envio do preço do item e saldo estoque serão detalhados na especificação: ER_MANDIS01-404_Story_-_Envio_de_Tabelas_de_Preço_e_Variantes_para_Ciashop.

Protótipo de Tela

CD0101


CD0206

 

CD1506

 

 

PD0310

PD0623

PD0624

 

 

 

 

 

Dicionário de Dados

 

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

  

Índice

Chave

01

variante-loja.variante

Campo

it-codigo

Tipo

Character

Tamanho

x(16)

Valor Inicial

 

Mandatório

Sim (x) Não ( )

Descrição

Item

Título

Item

Picture

x(16)

Help de Campo

Código do item

Campo

cod-refer

Tipo

Character

Tamanho

x(08)

Valor Inicial

 

Mandatório

Sim (x) Não ( )

Descrição

Referência

Título

Referência

Picture

x(08)

Help de Campo

Código da Refêrencia

Campo

variante

Tipo

Character

Tamanho

x(24)

Valor Inicial

 

Mandatório

Sim (x) Não ( )

Descrição

Variante

Título

Variante

Picture

x(08)

Help de Campo

Código da Variante

Campo

variante

Tipo

Character

Tamanho

x(24)

Valor Inicial

 

Mandatório

Sim (x) Não ( )

Descrição

Variante

Título

Variante

Picture

x(24)

Help de Campo

Código da Variante

Campo

log-envdo

Tipo

Logical

Tamanho

Sim/Não

Valor Inicial

Não

Mandatório

Sim () Não (x)

Descrição

Enviado?

Título

Enviado

Picture

Sim/Não

Help de Campo

Produto enviado ao Ciashop?

Campo

id-externo

Tipo

Integer

Tamanho

9

Valor Inicial

0

Mandatório

Sim () Não (x)

Descrição

ID Ciashop

Título

ID Ciashop

Picture

>>>>>>>>9

Help de Campo

Código do Produto no Ciashop

Campo

dt-atualizacao

Tipo

Date

Tamanho

99/99/9999

Valor Inicial

 

Mandatório

Sim () Não (x)

Descrição

Dt envio

Título

Dt envio

Picture

>>>>>>>>9

Help de Campo

Data de envio da variante para o Ciashop

Estrutura de Menu 

 

Procedimentos

Procedimento

 pd0310

pd0623

 pd0624

pd0624rp

Descrição

Parâmetros Integração Ciashop

Manutenção Categoria Item

Integração Batch Ciashop

Integração Batch Ciashop

Módulo

 MPD

MPD

 

MPD

 

MPD

Programa base

 pd0310

pd0623

 

pd0624

 

pd0624rp

Nome Menu

Parâmetros Integração Ciashop

Manutenção Categoria Item

Integração Batch Ciashop

Integração Batch Ciashop

Interface

GUI

GUI

GUI

GUI

Registro padrão

Sim

Sim

Sim

Sim

Visualiza Menu

Sim

Sim

Sim

Não

Release de Liberação

 12.1.14

12.1.1412.1.1412.1.14

 

Programas

Programa

 pd0310

pd0623

 

pd0624

 

pd0624rp

Descrição

Parâmetros Integração Ciashop

Manutenção Categoria Item

Integração Batch Ciashop

Integração Batch Ciashop

Nome Externo

 pdp/pd0310.w

pdp/pd0623.w

 

pdp/pd0624.w

 

pdp/pd0624rp.p

Nome Menu/Programa

Parâmetros Integração Ciashop

Manutenção Categoria Item

Integração Batch Ciashop

Integração Batch Ciashop

Nome Verbalizado[1]

Parâmetros Integração Ciashop

Manutenção Categoria Item

Integração Batch Ciashop

Integração Batch Ciashop

Procedimento

 

 

 

 

Template

Cadastro Simples

Formação

Relatórios

Programa Sem Interface

Tipo[2]

Manutenção

Manutenção

Relatório

Tarefas

Interface

GUI

GUI

GUI

GUI

Categoria[3]

 

 

 

 

Executa via RPC

Não

Não

Não

Não

Registro padrão

Sim

Sim

Sim

Sim

Outro Produto

Não

Não

Não

Não

Visualiza Menu

Sim

Sim

Sim

Não

Query on-line

Não

Não

Não

Não

Log Exec.

Não

Não

Não

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

Sim/Não

Home[5]

Sim/Não

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

0 – Top Left

1 – Top Right

2 – Bottom Left

3 – Bottom Right

Informar os papeis com os quais o programa deve ser vinculado

 

 

 

 

 

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