Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

 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

SCO

Segmento Executor

Manufatura

Projeto

MANFIN01

IRM

MANFIN01-433

Requisito

MANFIN01-1054 

Subtarefa

MANFIN01-1089

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á. 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, tendo que primeiro excluir o processo. 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 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 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_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.

Este programa será responsável por criar os movimentos das administradoras de crédito selecionadas, utilizando os dados de acordo com o que for retornado da API, que será chamada conforme a parametrização da administradora de crédito.

Para isso, irá permitir que o usuário informe uma faixa de administradoras que devem ser importadas, sendo que cada administradora terá uma parametrização, 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. Definidas as administradoras de crédito, deverá ser possível, em caso de execução on-line, selecionar quais os arquivos que serão importados. Quando for batch, sempre irá importar todos os arquivos dentro da pasta de origem da administradora.

Com estes parâmetros já é possível utilizar a API, portanto, para cada documento de cada administradora, deve fazer a chamada correspondente a API. Quando esta terminar seu processamento, o programa de importação deverá criar registros na tabela movto_admdra de acordo com a temp-table retornada. Além disso, deve gerar um relatório, onde constarão o que foi importado, qual o processo daquela importação, e os erros gerados no momento da importação.

 

Protótipo de Tela

 

 

Protótipo 01

 Image Added

 

 

Protótipo 02

 

 Image Added

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

 

 

 Image Removed

 

 

 

 

 

 

Fluxo do Processo

 <não se aplica>. 

Dicionário de Dados

 

TabelaDescriçãoBancoMódulo
movto_admdra_cartao_crMovimento Admin Cartão CréditoemsfinACR
CampoTipoTamanhoValor InicialMandatórioTítuloAbrevPictureHelp de Campo
cdn_processo_transacaointeger7 simCódigo Processo TransaçãoCod Proces Trans->,>>>,>>9Código Processo Transação
cod_admdra_cartao_crcharacter5 simCódigo Administradora Cartão CréditoCód Admdra Crx(05)Código Administradora Cartão Crédito
num_seq_movto_admdra_cartao_crinteger70simSequencial Movimento Administradora de CreditoSeq Movto Admdra Cr->,>>>,>>9Sequencial Movimento Administradora de Credito
num_linha_importainteger7 simLinha ImportaçãoLin Import->,>>>,>>9Linha Importação
num_sheet_importainteger7 simSheet ImportaçãoSheet Import->,>>>,>>9Sheet Importação
ind_tip_transcharacter15(nenhum)simTipo TransaçãoTip Transx(15)Tipo Transação
des_pedidocharacter15 simNumero PedidoNum Pedx(15)Numero Pedido
dat_envio_mercaddate10 nãoData de Envio da MercadoriaDt Envio Mercad99/99/9999Data de Envio da Mercadoria
dat_notif_enviodate10 nãoData de Notificação do EnvioDt Notif Envio99/99/9999Data de Notificação do Envio
des_produtocharacter500 nãoDescrição ProdutoDes Prodx(500)Descrição Produto
ind_tip_pagamentocharacter20 nãoTipo de PagamentoTip Pagtox(20)Tipo de Pagamento
val_total_pedidodecimal16 nãoValor Total do PedidoVlr Tot Ped->,>>>,>>>,>>>,>>9.99Valor Total do Pedido
cod_parcelacharacter15 nãoParcelaParcx(15)Parcela
val_ciclodecimal16 nãoValor do CicloVlr Ciclo->>>,>>>,>>>,>>9.99Valor do Ciclo
val_comissaodecimal16 nãoValor da ComissãoVlr Comis->>>,>>>,>>>,>>9.99Valor da Comissão
val_repassedecimal16 nãoValor de RepasseVlr Repasse->>>>>>>>>>>9.99Valor de Repasse
des_origemcharacter50 nãoOrigemOrigx(50)Origem
ÍndiceTipoChave
idPrimario/únicocdn_processo_transacao
  cod_admdra_cartao_cr
  num_seq_movto_admdra_cartao_cr
   
id2Únicocod_admdra_cartao_cr
  num_seq_movto_admdra_cartao_cr
  ind_tip_trans
  num_pedido

 

 

 

TabelaDescriçãoBancoMódulo
processo_transacaoProcesso TransacaoemsuniUTB
CampoTipoTamanhoValor InicialMandatórioTítuloAbrevPictureHelp de Campo
cod_layout_transcharacter8 simCódigo Layout TransaçãoCod Lay Transx(8)Código Layout Transação
cdn_processo_transacaointeger7 simCódigo Processo TransaçãoCod Process Trans->,>>>,>>9Código Processo Transação
des_nom_arquivocharacter15 simNome ArquivoNom Arqx(15)Nome Arquivo
des_full_pathnamecharacter30 simCaminho ArquivoCaminho Arqx(30)Caminho Arquivo
dat_criacao_arquivodate10 nãoData Criação ArquivoDt Criação Arq99/99/9999Data Criação Arquivo
hra_criacao_arquivocharacter8 nãoHora Criação ArquivoHr Criação Arqhh:mm:ssHora Criação Arquivo
dat_ult_mod_arquivodate10 nãoData Modificação ArquivoDt Mod Arq99/99/9999Data Modificação Arquivo
hra_ult_mod_arquivocharacter8 nãoHora Modificação ArquivoHr Mod Arqhh:mm:ssHora Modificação Arquivo
dat_import_arquivodate10 nãoData Importação ArquivoDt Import Arq99/99/9999Data Importação Arquivo
hra_import_arquivocharacter8 nãoHora Importação ArquivoHr Import Arqhh:mm:ssHora Importação Arquivo
ind_sit_processcharacter15 nãoSituação do ProcessoSit Processx(15)Situação do Processo
cod_usuar_gerac_processcharacter15 nãoUsuário ImportaçãoUsuar Importx(15)Usuário Importação
ÍndiceTipoChave
idPrimario/únicocod_layout_trans
  cdn_processo_transacao

 

 

 

TabelaDescriçãoBancoMódulo
layout_transLayout TransaçãoemsuniUTB
CampoTipoTamanhoValor InicialMandatórioTítuloAbrevPictureHelp de Campo
cod_layout_transcharacter8 simCódigo Layout TransaçãoCód Lay Transx(8)Código Layout Transação
des_layout_transcharacter20 nãoDescrição Layout TransaçãoDes Lay Transx(20)Descrição Layout Transação
ind_operac_layoutcharacter15 simOperaçãoOperacx(15)Operação
ind_tip_arquivocharacter3TXTsimTipo do ArquivoTip Arqx(3)Tipo do Arquivo
ind_tip_delimitacaocharacter15(nenhum)nãoTipo DelimitaçãoTip Delimx(15)Tipo Delimitação
cod_delimitadorcharacter3 nãoDelimitadorDelimx(3)Delimitador
ind_transac_layoutcharacter20Pagto MarketplacesimTransaçãoTransx(20)Transação
log_usa_cabecalhological nonãoUsa CabeçalhoUsa Cabecyes/noUsa Cabeçalho
ÍndiceTipoChave
idPrimario/únicocod_layout_trans

 

 

 

TabelaDescriçãoBancoMódulo
item_layout_transItem Layout TransaçãoemsuniUTB
CampoTipoTamanhoValor InicialMandatórioTítuloAbrevPictureHelp de Campo
cod_layout_transcharacter8 simCódigo Layout TransaçãoCód Lay Transx(8)Código Layout Transação
cod_fieldcharacter20 simField TabelaField Tabx(20)Field Tabela
des_label_fieldcharacter50 simLabel Field TabelaLabel Field Tabx(50)Label Field Tabela
ind_tip_fieldcharacter15 simTipo FieldTip Fieldx(15)Tipo Field
num_tamanhointeger7 simTamanho FieldTam Field->,>>>,>>9Tamanho Field
num_pos_fieldinteger7 simPosição FieldPos Field->,>>>,>>9Posição Field
des_valor_padraocharacter20 nãoValor PadrãoVlr Padrãox(20)Valor Padrão
ind_regra_excecaocharacter10(nenhum)nãoRegra ExceçãoRegra Exceçãox(10)Regra Exceção
des_lista_regra_excecaocharacter100 nãoLista Regra ExceçãoLista Regra Excecx(100)Lista Regra Exceção
des_tag_xmlcharacter30 nãoTagTagx(30)Tag
ÍndiceTipoChave
idPrimario/únicocod_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.