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 | SCO |
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.
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_tela | Nova | Datasul -> Financeiro / Controladoria -> Contas a Receber -> Tarefas |
UTB060 – Cadastro de Layout da Transação.
As informações desta rotina serão guardadas em duas novas tabelas: layout_transacao e item_layout_transação, onde as informações gerais serão guardadas na tabela pai layout_transacao e na tabela filha item_layout_transacao serão armazenadas as informações dos campos individualmente. Deve ser criado num 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:
Na tela-pai o usuário deve ser capaz de informar 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:
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 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 regraA 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 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 e item_layout_transacao, o processo pode avançar para a rotina de importação.
ACRXXX – Importação.
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 nome do arquivo, o diretório ondo o arquivo deve ser enviado depois de processado e um diretório para armazenar os possíveis logs de erro. Como retorno terá 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.
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_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>.
Dicionário de Dados
Tabela | Descrição | Banco | Módulo |
movto_admdra_cartao_cr | Movimento Admin Cartão Crédito | emsfin | ACR |
Campo | Tipo | Tamanho | Valor Inicial | Mandatório | Título | Abrev | Picture | Help de Campo |
cdn_processo_transacao | integer | 7 | sim | Código Processo Transação | Cod Proces Trans | ->,>>>,>>9 | Código Processo Transação | |
cod_admdra_cartao_cr | character | 5 | sim | Código Administradora Cartão Crédito | Cód Admdra Cr | x(05) | Código Administradora Cartão Crédito | |
num_seq_movto_admdra_cartao_cr | integer | 7 | 0 | sim | Sequencial Movimento Administradora de Credito | Seq Movto Admdra Cr | ->,>>>,>>9 | Sequencial Movimento Administradora de Credito |
num_linha_importa | integer | 7 | sim | Linha Importação | Lin Import | ->,>>>,>>9 | Linha Importação | |
num_sheet_importa | integer | 7 | sim | Sheet Importação | Sheet Import | ->,>>>,>>9 | Sheet Importação | |
ind_tip_trans | character | 15 | (nenhum) | sim | Tipo Transação | Tip Trans | x(15) | Tipo Transação |
des_pedido | character | 15 | sim | Numero Pedido | Num Ped | x(15) | Numero Pedido | |
dat_envio_mercad | date | 10 | não | Data de Envio da Mercadoria | Dt Envio Mercad | 99/99/9999 | Data de Envio da Mercadoria | |
dat_notif_envio | date | 10 | não | Data de Notificação do Envio | Dt Notif Envio | 99/99/9999 | Data de Notificação do Envio | |
des_produto | character | 500 | não | Descrição Produto | Des Prod | x(500) | Descrição Produto | |
ind_tip_pagamento | character | 20 | não | Tipo de Pagamento | Tip Pagto | x(20) | Tipo de Pagamento | |
val_total_pedido | decimal | 16 | não | Valor Total do Pedido | Vlr Tot Ped | ->,>>>,>>>,>>>,>>9.99 | Valor Total do Pedido | |
cod_parcela | character | 15 | não | Parcela | Parc | x(15) | Parcela | |
val_ciclo | decimal | 16 | não | Valor do Ciclo | Vlr Ciclo | ->>>,>>>,>>>,>>9.99 | Valor do Ciclo | |
val_comissao | decimal | 16 | não | Valor da Comissão | Vlr Comis | ->>>,>>>,>>>,>>9.99 | Valor da Comissão | |
val_repasse | decimal | 16 | não | Valor de Repasse | Vlr Repasse | ->>>>>>>>>>>9.99 | Valor de Repasse | |
des_origem | character | 50 | não | Origem | Orig | x(50) | Origem |
Índice | Tipo | Chave |
id | Primario/único | cdn_processo_transacao |
cod_admdra_cartao_cr | ||
num_seq_movto_admdra_cartao_cr | ||
id2 | Único | cod_admdra_cartao_cr |
num_seq_movto_admdra_cartao_cr | ||
ind_tip_trans | ||
num_pedido |
Tabela | Descrição | Banco | Módulo |
processo_transacao | Processo Transacao | 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ção | Cod Lay Trans | x(8) | Código Layout Transação | |
cdn_processo_transacao | integer | 7 | sim | Código Processo Transação | Cod Process Trans | ->,>>>,>>9 | Código Processo Transação | |
des_nom_arquivo | character | 15 | sim | Nome Arquivo | Nom Arq | x(15) | Nome Arquivo | |
des_full_pathname | character | 30 | sim | Caminho Arquivo | Caminho Arq | x(30) | Caminho Arquivo | |
dat_criacao_arquivo | date | 10 | não | Data Criação Arquivo | Dt Criação Arq | 99/99/9999 | Data Criação Arquivo | |
hra_criacao_arquivo | character | 8 | não | Hora Criação Arquivo | Hr Criação Arq | hh:mm:ss | Hora Criação Arquivo | |
dat_ult_mod_arquivo | date | 10 | não | Data Modificação Arquivo | Dt Mod Arq | 99/99/9999 | Data Modificação Arquivo | |
hra_ult_mod_arquivo | character | 8 | não | Hora Modificação Arquivo | Hr Mod Arq | hh:mm:ss | Hora Modificação Arquivo | |
dat_import_arquivo | date | 10 | não | Data Importação Arquivo | Dt Import Arq | 99/99/9999 | Data Importação Arquivo | |
hra_import_arquivo | character | 8 | não | Hora Importação Arquivo | Hr Import Arq | hh:mm:ss | Hora Importação Arquivo | |
ind_sit_process | character | 15 | não | Situação do Processo | Sit Process | x(15) | Situação do Processo | |
cod_usuar_gerac_process | character | 15 | não | Usuário Importação | Usuar Import | x(15) | Usuário Importação |
Índice | Tipo | Chave |
id | Primario/único | cod_layout_trans |
cdn_processo_transacao |
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ção | Cód Lay Trans | x(8) | Código Layout Transação | |
des_layout_trans | character | 20 | não | Descrição Layout Transação | Des Lay Trans | x(20) | Descrição Layout Transação | |
ind_operac_layout | character | 15 | sim | Operação | Operac | x(15) | Operação | |
ind_tip_arquivo | character | 3 | TXT | sim | Tipo do Arquivo | Tip Arq | x(3) | Tipo do Arquivo |
ind_tip_delimitacao | character | 15 | (nenhum) | não | Tipo Delimitação | Tip Delim | x(15) | Tipo Delimitação |
cod_delimitador | character | 3 | não | Delimitador | Delim | x(3) | Delimitador | |
ind_transac_layout | character | 20 | Pagto Marketplace | sim | Transação | Trans | x(20) | Transação |
log_usa_cabecalho | logical | no | não | Usa Cabeçalho | Usa Cabec | yes/no | Usa Cabeçalho |
Índice | Tipo | Chave |
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ção | Cód Lay Trans | x(8) | Código Layout Transação | |
cod_field | character | 20 | sim | Field Tabela | Field Tab | x(20) | Field Tabela | |
des_label_field | character | 50 | sim | Label Field Tabela | Label Field Tab | x(50) | Label Field Tabela | |
ind_tip_field | character | 15 | sim | Tipo Field | Tip Field | x(15) | Tipo Field | |
num_tamanho | integer | 7 | sim | Tamanho Field | Tam Field | ->,>>>,>>9 | Tamanho Field | |
num_pos_field | integer | 7 | sim | Posição Field | Pos Field | ->,>>>,>>9 | Posição Field | |
des_valor_padrao | character | 20 | não | Valor Padrão | Vlr Padrão | x(20) | Valor Padrão | |
ind_regra_excecao | character | 10 | (nenhum) | não | Regra Exceção | Regra Exceção | x(10) | Regra Exceção |
des_lista_regra_excecao | character | 100 | não | Lista Regra Exceção | Lista Regra Excec | x(100) | Lista Regra Exceção | |
des_tag_xml | character | 30 | não | Tag | Tag | x(30) | Tag |
Índice | Tipo | Chave |
id | Primario/único | cod_layout_trans |
cod_field |
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. |
---|