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.14 | 12.1.14 | 12.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. |
---|