Histórico da Página
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
Sigla do Documento" + ”_” + "Código do Requisito " ”_” + "Descrição do Requisito " + ”_” + [Sigla País]
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 |
UTB060- Manutenção Layout Transação | Nova | Datasul -> Financeiro / Controladoria ->Universal -> Cadastros |
UTB734 – API Processo Transação Importação | Nova |
|
ACRXXX – importa_telaImportador Movimento do Marketplace | Nova | Datasul -> Financeiro / Controladoria -> Contas a Receber -> Tarefas |
Relatório Movimentos Marketplace | Nova | Datasul -> Financeiro / Controladoria -> Contas a Receber -> Relatórios |
UTB060 –
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á.
Tela-pai:
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 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. 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-filha:
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 no caso do campo não conter dados válidos;
- Um campo de regra, onde irá considerar uma lista de ;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 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, para cada campo, a sua posição inicial e final.
No caso especifico da extensão .XML, o usuário deve informar, para cada campo, qual a tag correspondente.
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, tendo que primeiro excluir o processo. Assim fica garantido que a importação realizada vai ter 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, o processo pode 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 local do arquivonome do arquivo, o diretório onde o arquivo está, o diretório ondo para onde o arquivo deve ser será enviado depois de processado e um diretório para armazenar os possíveis logs de erro. Como retorno terá 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.
Tabela de processos
A tabela de processos de importação das transações é uma tabela filha da tabela de parametrização (layout_transacao) e será pai de todas as tabelas de transação, no caso deste projeto movto_admdra_cartao_cr. 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:
A tela de importação ficará responsável pela criação dos registros em banco provenientes da importação pela API. Nesta tela deve ser possível escolher uma faixa de administradoras de cartão de crédito,
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
Fluxo do Processo
<não se aplica>.
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_trans) e será pai de todas as tabelas de transação (no caso deste projeto movto_mktplace). 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 dos marketplaces selecionados, utilizando os dados de acordo com o que for retornado da API, que será chamada conforme a parametrização do marketplace.
A tela conterá uma seleção de marketplaces, que irá carregar num browse todos os registros correspondentes a busca, onde o usuário poderá marcar de quais marketplaces deseja importar. Neste browse será apresentado a identificação do marketplace, o código do layout que utiliza, e o local de origem dos arquivos que serão importados.
A 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 marketplace, deve fazer a chamada correspondente a API. Quando esta terminar seu processamento, o programa de importação deverá criar registros na tabela movto_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 marketplace, 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.
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:
- por 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_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 | 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_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 | Situação Movto Marke | Dt Situação | 99/99/9999 | Data Situação Movto Marketplace |
dat_compra | date | 8 | ? | não | Data Compra | Dt 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 | 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 | Dt Envio Mercadoria | Dt Envio | 99/99/9999 | Data Envio Mercadoria |
dat_notif_envio | date | 8 | ? | 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 | 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 Produto | Vl Produto | ->>,>>>,>>>,>>9.99 | Valor do Produto |
val_frete | decimal | 13 | 0 | não | Valor Frete | Frete | ->>,>>>,>>>,>>9.99 | Valor do Frete |
val_repas_brut | decimal | 13 | 0 | não | Vl Repasse Bruto | Vl Rep Brut | ->> |
Dicionário de Dados
,>>>,>>>,>>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 |
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 |
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 ind_sit_movto_mktplace | |
mvtmktpl_empres | cod_empresa ind_sit_movto_mktplace | |
mvtmktpl_id | Primário/Único | num_movto_mktplace |
mvtmktpl_ped_vda | cod_empresa cod_ped_vda ind_sit_movto_mktplace | |
mvtmktpl_proc_trans | cdn_proces_trans |
Tabela | Descrição | Banco | Módulo |
processoproces_transacaotrans | Processo TransacaoTransaçã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 TransaçãoTrans | Cod Lay TransLayout | x(8) | Código do Layout Transação | ||
cdn_processoproces_transacaotrans | integer | 76 | 0 | sim | Código Processo Transação | Cod Process Trans | Código | ->,>>>,>>9 | Código Processo Transação |
descod_nom_arquivoarq | character | 1540 | sim | Nome Arquivo | Nom ArqNome Arquivo | x(1540) | Nome Arquivo | ||
des_fullcaminho_pathnamecomplet | character | 30150 | sim | Caminho ArquivoCompleto | Caminho ArqComp | x(30150) | Caminho Completo do Arquivo | ||
dat_criacaocriac_arquivoarq | date | 10 | ? | não | Data Dt Criação Arquivo | Dt Criação Arq | 99/99/9999 | Data Criação Arquivo | |
hra_criacaocriac_arquivoarq | character | 8 | não | Hora Hr Criação Arquivo | Hr Criação Arq | hh99:mm99:ss99 | Hora Criação Arquivo | ||
dat_ult_mod_arquivoarq | date | 10 | ? | nãoData Modificação Arquivo | Dt Último Modific | Dt Ult Mod Arq | 99/99/9999 | Data Último Modificação Arquivo | |
hra_ult_mod_arquivoarq | character | 8 | nãoHora Modificação Arquivo | Hr Último Modific | Hr Ult Mod Arq | hh99:mm99:ss99 | Hora Último Modificação Arquivo | ||
dat_import_arquivoarq | date | 10 | ? | nãosim | Data Dt Importação Arquivo | Dt Import Arq | 99/99/9999 | Data Importação Arquivo | |
hra_import_arquivoarq | character | 8 | nãosim | Hora Hr Importação Arquivo | Hr Import Arq | hh99:mm99:ss99 | Hora Importação Arquivo | ||
ind_sit_processproces_trans | character | 15 | Ativo | não | Situação do Processo | Sit ProcessProcesso | x(15) | Situação do Processo Transação | |
cod_usuar_gerac_processimport | character | 1512 | não | Usuário Importação | Usuar ImportUsuário | x(1512) | Código Usuário Importação |
Índice | Tipo | Chave | ||
prcstrns_id | Primario/único | cod_layout_trans | cdn_processoproces_transacaotrans |
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 TransaçãoCód Lay TransTrans | Cod Layout | x(8) | Código do Layout Transação | |
des_layout_trans | character | 2040 | não | Descrição Layout Transação | Des Lay TransDescrição | x(2040) | Descrição do Layout Transação | |
ind_operac_layout | character | 15 | Importação | sim | Operação Layout | OperacOperação | x(15) | Operação do Layout |
ind_tip_arq_arquivolayout | character | 35 | TXT | sim | Tipo do Arquivo | Tip Tipo Arq | x(35) | Tipo do Arquivo |
ind_tip_delimitacaodelimitac | character | 15 | (nenhum) | não | Tipo Delimitação | Tip DelimDelimitação | x(15) | Indicador Tipo Delimitação |
cod_delimitadordelimit | character | 3 | não | Delimitador | DelimDelimitador | x(3) | Delimitador | |
ind_transactrans_layout | character | 2030 | Pagto Marketplace | sim | Transação | TransTransação | x(2030) | Transação do Layout |
log_usa_cabecalhocabec | logical | no | não | Usa CabeçalhoCabecalhoUsa Cabec | 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 TransaçãoCód Lay TransTrans | Cod Layout | x(8) | Código do Layout Transação | |
cod_fieldcampo | character | 2040 | sim | Field TabelaCampoField Tab | Campo | x(2040) | Field TabelaCódigo Campo | |
des_label_fieldcampo | character | 50 | sim | Label Field Tabela | Label Field Tab | x(50) | Label Field Tabelado Campo | |
ind_tip_fieldcampo | character | 1510 | Character | sim | Tipo FieldCampoTip Field | Tipo | x(1510) | Tipo Fielddo Campo |
num_tam_tamanhocampo | integer | 75 | 0 | sim | Tamanho FieldCampoTam Field | Tamanho | ->,>>>,>>9 | Tamanho Fielddo Campo |
num_pos_fieldcampo | integer | 7 | 0 | sim | Posição FieldCampoPos Field | Posição | ->,>>>,>>9 | Posição Fielddo Campo |
des_val_valorpadr_padraocampo | character | 2040 | não | Valor Padrão Campo | Vlr Valor Padrão | x(2040) | Descrição Valor Padrão Campo | |
ind_regra_excecaoexcec | character | 1020 | (nenhum)Todos | não | Regra ExceçãoImportarRegra Exceção | Importar | x(1020) | Regra Exceçãopara Importação da Linha |
des_lista_regra_excecaoexcec | character | 100200 | não | Lista Regra Exceção | Lista Regra Excec | x(100200) | Lista Regra Exceçãode Regras ou Exceções | |
des_tag_xml | character | 3040 | nãoTag | TAG XML | TagTAG | x(3040) | TagTAG do XML |
Índice | Tipo | Chave | ||
itmlyttr_id | Primario/único | cod_layout_trans | cod_ fieldcampo |
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. |
---|