Histórico da Página
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 | SCOACR |
Segmento Executor | Manufatura | ||
Projeto | IRM | ||
Requisito | Subtarefa | ||
País | ( x ) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( ) Outro _____________. |
Objetivo
Na integração marketplace - contas a receber, será necessário importar para o ERP as informações referentes aos pagamentos realizados. Estas informações podem vir dos marketplaces em arquivos do tipo TXT, XLS, XML ou alguma variação destas extenções, como por exemplo XLSX - > XLS; CSV - > TXT.
Além dos diferentes tipos de arquivo, cada marketplace utiliza um layout diferente, de forma que a disposição das informações estão numa ordem especifica daquele marketplace.
Por conta das diferentes formas em que a informação pode chegar, além da rotina de importação, se faz necessária a criação de uma interface de parametrização desta importação, de forma que o usuário poderá definir o layout e o tipo do arquivo que deseja importar.
Esta rotina de parametrização deverá ser construída da maneira mais genérica possível, permitindo o reuso por outras rotinas de importação.
Existirá ainda uma outra rotina de relatório, que irá listar os registros que já se encontram na base.
Definição da Regra de Negócio
Rotina | Tipo de Operação | Opção de Menu |
Manutenção Layout Transação | Nova | Datasul -> Financeiro / Controladoria ->Universal -> Cadastros |
API Processo Transação Importação | Nova |
|
importa_telaImportador Movimento do Marketplace | Nova | Datasul -> Financeiro / Controladoria -> Cobranças Especiais Contas a Receber -> Tarefas |
relatório_admRelatório Movimentos Marketplace | Nova | Datasul -> Financeiro / Controladoria -> Cobranças Especiais Contas a Receber -> Relatórios |
Cadastro de Layout da Transação.
As informações desta rotina serão guardadas em duas novas tabelas: layout_transacao trans e item_layout_transaçãotrans, onde as informações gerais serão guardadas na tabela pai layout_transacao trans e na tabela filha item_layout_transacao trans serão armazenadas as informações dos campos individualmente. Deve ser criado num um terceiro programa, sem interface, onde constarão, fixas no fonte, quais são as transações disponíveis e quais os campos que cada transação utilizará. A opção de XML não será tratada neste projeto, portanto não deve apresentar em tela nenhuma informação referente a este tipo de arquivo.
Tela-pai (Protótipo de tela 1):
Na tela-pai o usuário deve ser capaz de informar um código identificador (campo chave) e uma descrição para o layout. Também deverá permitir indicar se o layout é de importação ou exportação, e qual a transação que será importada. No caso deste projeto, a transação sempre será “Pagto Marketplace”.
O usuário também deverá indicar qual a extensão do arquivo que irá importar, se .TXT, .XLS ou .XML. Caso a extensão seja .TXT, deverá ser informado a delimitação dos campos: se por posição ou por um separador. Caso seja por um separador, deve gravar qual é. Caso a extensão seja .TXT ou .XLS, existirá um flag que indicará se o arquivo utiliza ou não um cabeçalho, de forma que a primeira linha do arquivo seja desconsiderada.
Tela-filha(Protótipo de tela 2):
Na tela filha, dependendo da transação informada na tela pai, deve carregar a listagem de campos que o usuário pode parametrizar. Esta busca deve ser feita no terceiro programa,onde estarão as definições de campos por transação.
Não será exibido para o usuário o código do campo. No lugar disto, será somente exibido o label definido para aquele campo daquela transação.
Uma vez carregado todos os campos, o usuário poderá informar, para cada campo:
- A ordem em que o campo irá aparecer na linha do registro;
- Um valor padrão;
- Um campo que indicará se o usuário deseja importar:
- Todos os registros;
- Somente os registros que atendam uma regra;
- Todos os registros, exceto aqueles que atendam uma regra;
- A regra/descrição que deve ser aplicada, caso informe uma das duas ultimas opções no item anterior;
No caso especifico da extensão .TXT delimitada por posição, o usuário deve informar, além da posição inicial do campo, o seu tamanho, para que a importação seja possível. Nos outros casos, o campo tamanho será mostrado, mas desabilitado, e exibindo o valor de tamanho máximo cadastrado para a transação
Quando for informado um valor padrão, o conteúdo daquele campo será desconsiderado, e sempre irá importar o valor padrão.
Validações:
Caso o layout já tenha um processo (será descrito mais abaixo neste documento), não poderá ser modificado ou excluído, assim fica garantido que a importação realizada sempre terá um layout cadastrado válido.
Uma vez criado o layout, não será mais possível alterar o tipo de transação.
Com todas as informações do layout devidamente cadastradas nas tabelas layout_transacao trans e item_layout_transacaotrans, poderá avançar para a rotina de importação.
ACRXXX – Importação.Importador Movimentos do Marketplace
Para cada transação, deve existir uma tela de importação. Porém o processo de importação em si será encapsulado em uma API que deverá ser criada.
API
Esta API deve receber como parâmetro o layout que será usado, o nome do arquivo, o diretório onde o arquivo está, o diretório para onde o arquivo será enviado em caso de sucesso, o diretório para onde o arquivo será enviado em caso de erro e a situação do processo, que por default será ' '. A API deverá retornar uma temp-table com os dados que irá ler dos arquivos e o código do processo que foi criado nesta importação.
O objetivo da API é ler todo o arquivo, de acordo com a parametrização do layout, gravar estas informações numa temp-table, criar um processo de importação e retornar os dados para que o programa de importação possa gravar no banco. A API só irá criar o processo, nada mais.
A estrutura da API segue os seguintes passos:
- Validar parâmetros de entrada;
- Criar processo transação;
- Importar os dados de acordo com o tipo de arquivo cadastrado no layout;
- Se não houver nenhum erro até este momento, tenta mover o arquivo para a pasta destino;
- se falhar, ou se houver algum outro erro, move o arquivo para a pasta de erro.
- Devolver a temp-table com os dados, a de erros e o código do processo criado.
Caso o extrato de versão esteja ativo, a API deverá exportar as temp-tables e o registro do processo num diretório especificado.
Tabela de processos
A tabela de processos de importação das transações é uma tabela filha da tabela de parametrização (layout_transacaotrans) e será pai de todas as tabelas de transação , (no caso deste projeto movto_admdramktplace). Esta tabela tem como objetivo guardar informações da importação do arquivo, sendo necessário guardar:
- O código do layout;
- Um identificador numérico sequencial;
- O nome do arquivo importado;
- O caminho completo do arquivo;
- A data e hora da criação;
- A data e hora da última modificação;
- A data e hora da importação do arquivo;
- Um indicador da situação do processo;
- O usuário que realizou a importação.
Com esta tabela, é possível filtrar os registros criados pelo mesmo arquivo, sem precisar replicar diversos campos em todos os registros.
Tela Importação(Protótipo de tela 3):
Este programa será responsável por criar os movimentos das administradoras selecionadasdos marketplaces selecionados, utilizando os dados de acordo com o que for retornado da API, que será chamada conforme a parametrização da administradorado marketplace.
A tela conterá uma seleção de administradoras e bandeirasmarketplaces, que irá carregar num browse todos os registros correspondentes a busca, onde o usuário poderá marcar de quais administradoras marketplaces deseja importar. Neste browse será apresentado a identificação da administradorado marketplace, o código do layout que utiliza, e o local de origem dos arquivos que serão importados.
Para cada administradora terá uma parametrização em uma tabela à parteA parametrização dos marketplaces estarão na tabela param_mktplace (ER_MANFIN01-435_CIASHOP-ACR-Lote_Marketplace), onde, entre outras coisas, constará qual o layout que a administradora utiliza, o local onde os arquivos estão, para onde devem ir e um local em casos de erros.
Com estes parâmetros já é possível utilizar a API, portanto, para cada documento de cada administradoramarketplace, deve fazer a chamada correspondente a API. Quando esta terminar seu processamento, o programa de importação deverá criar registros na tabela movto_admdra mktplace de acordo com a temp-table retornada. Além disso, deve gerar um relatório, onde constarão o total de arquivos encontrados e importados de cada administradoramarketplace, quantos registros foram importados em cada arquivo e o local de origem e atual do arquivo. Também deverá ser apresentado os possíveis erros neste relatório.
SCOxxx - relatório_adm.Relatório Movimentos Marketplace
O objetivo deste programa é a consulta dos movimentos de administradora já importados por meio de um relatório.
A interface deste programa deve seguir o layout padrão dos outros programas de relatório, com todas as funcionalidades padrões já existentes. Na faixa de seleção, deve ser possivel filtrar por:
- administradora de créditopor marketplace;
- por layout utilizado;
- por data de importação;
Este relatório servirá para simples conferencia de tudo o que já foi importado até o momento.
Protótipo de Tela
Protótipo 01
Protótipo 02
Protótipo 3:
Fluxo do Processo
<não se aplica>.
Dicionário de Dados
Tabela | Descrição | Banco | Módulo |
movto_ |
Movimento da administradora
movfin
mktplace | Movimentos do Marketplace | emsfin | ACR |
Campo | Tipo | Tamanho | Valor Inicial | Mandatório | Título | Abrev | Picture | Help de Campo |
cod_ |
empresa |
character |
3 |
sim |
Número movimento administradora
Num movto adm
>>>,>>>,>>>,>>9
Número movimento da administradora
Empresa | Emp | x(3) | Código Empresa | |||||
cdn_mktplace | Integer | 4 | 0 | sim | Marketplace | Marketplace | >>>9 | Marketplace |
cdn_proces_trans | Integer | 6 | 0 | sim | Código | Código | >>>,>>9 | Código Processo Transação |
num_lin_importa | integer | 7 | 0 | sim | Linha Importação | Linha Import | >>>>,>>9 | Linha Importação |
num_pasta_importa | integer | 7 | 0 | não | Pasta Importação | Pasta Import | >>>>,>>9 | Pasta Importação |
num_movto_mktplace | integer | 9 | 0 | sim | Movto Marketplace | Movto Market | 999999999 | Número Movimento Marketplace |
ind_sit_movto_mktplace | character | 15 | Pendente | sim | Situação Movto | Sit Movto | X(15) | Situação Movto Marketplace |
ind_trans_movto_mktplace | character | 15 | Liquidação | sim | Transação | Transação | X(15) | Indicador Transação Movimento Marketplace |
cod_admdra_cartao_cr
char
5
Sim
Administradora
Administradora
x(5)
Administradora
cod_band
char
10
Não
Bandeira
Band
x(10)
Bandeira
ind_tip_trans
char
15
Sim
Transação
Trans
x(15)
cod_ped_vda |
character | 12 |
não | Pedido |
Venda | Ped |
Vda | x(12) | Código Pedido |
Venda |
des_sit_movto_ |
mktplace |
character |
40 |
não | Situação Movto Marke |
Situação |
x( |
40) | Descrição Situação Movto Marketplace |
dat_sit_ |
movto_mktplace | date |
8 |
? |
Não
não | Situação Movto Marke |
Dt |
Situação | 99/99/9999 | Data |
Situação Movto Marketplace | |
dat_compra | date |
8 |
? |
não | Data |
Compra | Dt |
99/99/9999
Compra | 99/99/9999 | Data Compra |
dat_ |
pagto | date |
8 |
today |
não | Data |
Pagamento |
Data Pagto | 99/99/9999 | Data |
Pagamento |
dat_estorn_ |
movto | date |
8 |
? |
Não
não | Dt Estorno Movto |
Dt |
Estorno | 99/99/9999 | Data |
Estorno Movimento |
dat_liber_ |
ped | date |
8 |
? |
não |
Dt Liberação | Dt |
Liberação | 99/99/9999 | Data |
Liberação Pedido |
dat_prev_ |
pagto | date |
8 |
today |
não | Data |
Prevista Pgto | Prev Pagto |
99/99/9999 | Data |
Prevista Pagamento |
dat_envio_ |
mercad | date |
8 |
? |
Não
não | Dt Envio Mercadoria |
Dt |
Envio | 99/99/9999 | Data |
Envio Mercadoria | |
dat_notif_envio | date |
8 |
? |
Não
não | Dt Notificação Envio |
Dt |
Notific | 99/99/9999 | Data de |
Notificação de |
Envio |
des_ |
produt |
character | 100 |
não | Descrição |
Produto |
Produto |
x(100) | Descrição do |
Produto |
des_tip_ |
pagto |
character | 20 |
não | Tipo |
Pagamento |
Tp Pagto |
x(20) |
Descrição Tipo Pagamento |
val_ |
ped_vda |
decimal |
13 |
0 |
não | Valor |
Pedido |
Val ped
Vl Pedido | ->>,>>>,>>>,>>9.99 | Valor |
do |
Pedido |
des_parc_ |
pagto |
character |
40 |
não | Desc Parcela Pagto |
Desc Cta Pgo |
x( |
40) |
Descrição Parcela Pagamento |
val_ |
produt |
decimal |
13 |
0 |
não | Valor |
Val pagto produto
Produto | Vl Produto | ->>,>>>,>>>,>>9.99 | Valor do Produto |
val_frete |
decimal |
13 |
0 |
não | Valor |
Frete |
Val pagto frete
Frete | ->>,>>>,>>>,>>9.99 | Valor do Frete |
val_ |
repas_ |
brut |
decimal |
13 |
0 |
Não
Valor repasse bruto
Val repasse bruto
não | Vl Repasse Bruto | Vl Rep Brut | ->>,>>>,>>>,>>9.99 | Valor |
Repasse Bruto |
val_perc_comis |
decimal |
5 |
0 |
não |
Percentual Comissão | Perc |
Comis |
>>9.99 | Percentual |
Comissão |
val_ |
comis |
decimal |
13 |
0 |
não | Valor |
Comissão | Val |
Comissão | >>>,>>>,>>9. |
9999 | Valor |
Comissão |
val_ |
repas_liq |
decimal |
13 |
0 |
Não
Valor repasse líquido
Val repasse liq
não | Vl Repasse Líquido | Vl Rep Liq | ->>,>>>,>>>,>>9.99 | Valor |
Repasse Líquido | ||||||||
des_orig_movto_mktplace | character | 50 | não | Origem Movto Market | Origem | x(50) | Origem Movimento Marketplace | |
des_ped |
_movto_ |
mktplace |
character |
40 |
Sim
Situação movimento
Sit movto
X(15)
Pendente, em conciliação, conciliado
Livres padrões
não | Pedido Movto Market | Pedido | x(40) | Pedido Movimento Marketplace |
Índice | Tipo | Chave |
mvtmktpl_dat_comp | cod_empresa cdn_mktplace dat_compra ind_sit_movto_mktplace | |
mvtmktpl_dat_estorn | cod_empresa cdn_mktplace dat_estorn_movto ind_sit_movto_mktplace | |
mvtmktpl_dt_prev_pag | cod_empresa cdn_mktplace dat_prev_pagto |
Índice
Tipo
Chave
Id
Primário/único
num_movto_admdra
ped_vda
cod_ped_vda
ind_sit_movto_ |
mktplace |
mvtmktpl_ |
empres |
cod_ |
empresa ind_sit_movto_ |
mktplace |
mvtmktpl_ |
id |
dat_estorno
ind_sit_movto_admdra
Primário/Único | num_movto_mktplace | |
mvtmktpl_ped_vda | cod_empresa cod_ped_vda |
dat_prev_pag
dat_prev_pag
ind_sit_movto_ |
mktplace | ||
mvtmktpl_proc_trans | cdn_proces_trans |
Tabela | Descrição | Banco | Módulo |
proces_trans | Processo Transação | emsuni | UTB |
Campo | Tipo | Tamanho | Valor Inicial | Mandatório | Título | Abrev | Picture | Help de Campo |
cod_layout_trans | character | 8 | sim | Código Layout Trans | Cod Layout | x(8) | Código do Layout Transação | |
cdn_proces_trans | integer | 76 | 0 | sim | Código | Código | ->,>>>,>>9 | Código Processo Transação |
cod_nom_arq | character | 40 | sim | Nome Arquivo | Nome Arquivo | x(40) | Nome Arquivo | |
des_caminho_complet | character | 150 | sim | Caminho Completo | Caminho Comp | x(150) | Caminho Completo do Arquivo | |
dat_criac_arq | date | 10 | ? | não | Dt Criação Arquivo | Dt Criação | 99/99/9999 | Data Criação Arquivo |
hra_criac_arq | character | 8 | não | Hr Criação Arquivo | Hr Criação | 99:99:99 | Hora Criação Arquivo | |
dat_ult_mod_arq | date | 10 | ? | não | Dt Último Modific | Dt Ult Mod | 99/99/9999 | Data Último Modificação Arquivo |
hra_ult_mod_arq | character | 8 | não | Dt Hr Último Modific | Dt Hr Ult Mod | 99:99:99 | Hora Último Modificação Arquivo | |
dat_import_arq | date | 10 | ? | sim | Dt Importação | Dt ImportaçãoImport | 99/99/9999 | Data Importação Arquivo |
hra_import_arq | character | 8 | sim | Hr Importação | Hr ImportaçãoImport | 99:99:99 | Hora Importação Arquivo | |
ind_sit_proces_trans | character | 15 | Ativo | não | Situação Processo | Sit Processo | x(15) | Situação Processo Transação |
cod_usuar_import | character | 12 | não | Usuário Importação | Usuário | x(12) | Código Usuário Importação |
Índice | Tipo | Chave |
prcstrns_id | Primario/único | cod_layout_trans cdn_proces_trans |
Tabela | Descrição | Banco | Módulo |
layout_trans | Layout Transação | emsuni | UTB |
Campo | Tipo | Tamanho | Valor Inicial | Mandatório | Título | Abrev | Picture | Help de Campo |
cod_layout_trans | character | 8 | sim | Código Layout Trans | Cod Layout | x(8) | Código do Layout Transação | |
des_layout_trans | character | 40 | não | Descrição Layout | Descrição | x(40) | Descrição do Layout Transação | |
ind_operac_layout | character | 15 | Importação | sim | Operação Layout | Operação | x(15) | Operação do Layout |
ind_tip_arq_layout | character | 5 | TXT | sim | Tipo Arquivo | Tipo Arq | x(5) | Tipo do Arquivo |
ind_tip_delimitac | character | 15 | (nenhum) | não | Tipo Delimitação | Delimitação | x(15) | Indicador Tipo Delimitação |
cod_delimit | character | 3 | não | Delimitador | Delimitador | x(3) | Delimitador | |
ind_trans_layout | character | 30 | Pagto Marketplace | sim | Transação | Transação | x(30) | Transação do Layout |
log_usa_cabec | logical | no | não | Usa Cabecalho | Cabecalho | yes/no | Usa Cabeçalho ? |
Índice | Tipo | Chave |
lyttrns_id | Primario/único | cod_layout_trans |
Tabela | Descrição | Banco | Módulo |
item_layout_trans | Item Layout Transação | emsuni | UTB |
Campo | Tipo | Tamanho | Valor Inicial | Mandatório | Título | Abrev | Picture | Help de Campo |
cod_layout_trans | character | 8 | sim | Código Layout Trans | Cod Layout | x(8) | Código do Layout Transação | |
cod_campo | character | 40 | sim | Campo | Campo | x(40) | Código Campo | |
des_label_campo | character | 50 | sim | Label | Label | x(50) | Label do Campo | |
ind_tip_campo | character | 10 | Character | sim | Tipo Campo | Tipo | x(10) | Tipo do Campo |
num_tam_campo | integer | 5 | 0 | sim | Tamanho Campo | Tamanho | >,>>9 | Tamanho do Campo |
num_pos_campo | integer | 7 | 0 | sim | Posição Campo | Posição | >>>,>>9 | Posição do Campo |
des_val_padr_campo | character | 40 | não | Valor Padrão Campo | Valor Padrão | x(40) | Descrição Valor Padrão Campo | |
ind_regra_excec | character | 20 | Todos | não | Importar | Importar | x(20) | Regra para Importação da Linha |
des_lista_regra_excec | character | 200 | não | Lista | Lista | x(200) | Lista de Regras ou Exceções | |
des_tag_xml | character | 40 | não | TAG XML | TAG | x(40) | TAG do XML |
Índice | Tipo | Chave |
itmlyttr_id | Primario/único | cod_layout_trans cod_campo |
Grupo de Perguntas
<não se aplica>.
Consulta Padrão
<não se aplica>.
Estrutura de Menu
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
<não se aplica>..
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|