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 | ACR |
Segmento Executor | Manufatura | ||
Projeto | IRM | MANFIN01-433 | |
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 três tipos de arquivos: num documento .TXT, num documento XLS ou ainda num documento XML. Além disso, cada tipo de arquivo tem suas próprias particularidades no quesito de formatação.
Devido à isso, 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 um layout para 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 |
UTBXXX- parametrização | Nova | Datasul -> Financeiro / Controladoria ->Universal -> Cadastros |
UTBXXX – API importação | Nova |
|
ACRXXX – importa_tela | Nova | Datasul -> Financeiro / Controladoria -> Contas a Receber -> Tarefas |
UTBXXX – 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.
Tela-pai:
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, que no caso deste projeto sempre será “Pagto Marketplace”. As transações ficaram fixas no código-fonte, sendo que cada novo projeto deverá adicionar a sua transação no bloco respectivo dentro do programa.
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:
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 em um programa a parte, onde ficarão gravados diretamente no código-fonte o código, label e tipo de dado do campo conforme sua tabela. Desta forma facilitará a inclusão de novas transações nos projetos que venham a utilizar esta rotina, visto que não será preciso alterar regras de negócio, somente adicionar neste programa.
Uma vez carregado todos os campos, o usuário poderá informar, para cada campo:
- A posição 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 indicador se este campo possui alguma regra ou restrição;
- A regra/descrição que deve ser aplicada, caso informe uma das duas 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.
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 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 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á 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, xxxx.
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
<Informações utilizadas na linha Protheus>.
Nome: FINSRF2
X1_ORDEM | 01 |
X1_PERGUNT | Emissão De |
X1_TIPO | D |
X1_TAMANHO | 8 |
X1_GSC | G |
X1_VAR01 | MV_PAR01 |
X1_DEF01 | Comum |
X1_CNT01 | '01/01/08' |
X1_HELP | Data inicial do intervalo de emissões das guias de DARF a serem consideradas na seleção dos dados para o relatório |
(Opcional)
Consulta Padrão
<Informações utilizadas na linha Protheus>
Consulta: AMB
Descrição | Configurações de Planejamento |
Tipo | Consulta Padrão |
Tabela | “AMB” |
Índice | “Código” |
Campo | “Código”; ”Descrição” |
Retorno | AMB->AMB_CODIGO |
<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 |
(Opcional)
Estrutura de Menu
<Informações utilizadas na linha Datasul>.
Procedimentos
Procedimento |
|
|
| ||||
Descrição | (Max 40 posições) | (Max 40 posições) | (Max 40 posições) | ||||
MóduloNome Externo |
|
|
| Programa base
|
|
| |
Nome Menu/Programa | (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
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] | 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
<O cadastro de papéis é obrigatório para os projetos de desenvolvimento FLEX a partir do Datasul 10>.
<Lembrete: o nome dos papeis em inglês descrito neste ponto do documento, devem ser homologados pela equipe de tradução>.
Código Papel | (máx 3 posições) |
Descrição em Português* |
|
Descrição em Inglês* |
|
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>..
[1] Nome Verbalizado é obrigatório para desenvolvimentos no Datasul 10 em diante.
[2] Tipo é obrigatório para desenvolvimento no Datasul 10 em diante
[3] Categorias são obrigatórias para os programas FLEX.
[4] Obrigatório quando o projeto for FLEX
[5] Obrigatório quando o projeto for FLEX
[6] Obrigatório quando o projeto for FLEX
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|