Á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. 

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_tela

Nova

Datasul -> Financeiro / Controladoria -> Cobranças Especiais -> Tarefas

relatório_admNovaDatasul -> Financeiro / Controladoria -> Cobranças Especiais -> Relatórios

 

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, 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, poderá 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. 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:

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

 A tela conterá uma seleção de administradoras e bandeiras, que irá carregar num browse todos os registros correspondentes a busca, onde o usuário poderá marcar de quais administradoras deseja importar. Neste browse será apresentado a identificação da administradora, 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 à parte, 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 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 total de arquivos encontrados e importados de cada administradora, 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.

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édito;
  • 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

 

 

 

 

 

 

Fluxo do Processo

 <não se aplica>. 

Dicionário de Dados

 

Tabela

Descrição

Banco

Módulo

movto_admdra

Movimento da administradora

movfin

SCO

Campo

Tipo

Tamanho

Valor Inicial

Mandatório

Título

Abrev

Picture

Help de Campo

num_movto_admdra

deint

1211

 0

Sim

Número movimento administradora

Nr Movto Admdra

Número MovNum movto adm

>>>,>>>,>>>,>>9

Número movimento Movimento da administradoraAdministradora

cod_admdra_cartao_cr

char

5

 

Sim

AdministradoraAdministradora

Administrad

x(5)

Código Administradora Cartão Crédito

cod_band

char

10

 

NãoSim

Bandeira

Band

x(10)

Código da Bandeira

ind_tip_trans_movto_admdra

char

15 

"Liquidação"

Sim

Transação

Trans

x(15)

Tipo transação movimento: Liquidação, Estorno, ImpostoTransação Movimento Administradora

cod_ped_vda

char

12

 

Não

Pedido vendaVenda

Ped vendaVda

x(12)

Código Pedido de vendaVenda

des_sit_movto_situacaoadmdra

char

2040

 

Não

Situação

Situação

X(2040)

Situação Movimento Administradora

dat_situacaosit_movto_admdra

date

10

 

NãoData

situaçãoDt Situação

Dt situaçãoSituação

99/99/9999

Data da situaçãoSituação Movimento Administradora

dat_compra

date

10

 

Não

Data compra

Dt compra

99/99/9999

Data de compra. Se não estiver definido no layout – usar data de implantação do pedido de vendaCompra.

dat_pagamentopagto

date

10

 

Não

Data pagamentoPagamentoDt pagamento

Data Pagto

99/99/9999

Data do pagamento consumidorPagamento

dat_estorn_estornomovto

date

10

 

NãoData estorno

Dt Estorno Movto

Dt estornoEstorno

99/99/9999

Data do Estorno do estornoMovimento

dat_liber_liberacaoped

date

10

 

NãoData

liberaçãoDt Liberação

Dt liberaçãoLiberação

99/99/9999

Data da liberaçãoLiberação Pedido

dat_prev_pagpagto

date

10

 

Não

Data prevista pagamentoPrevista Pgto

Prev PagtoDt prev pag

99/99/9999

Data prevista pagamentoPrevista Pagamento

dat_envio_mercmercad

date

10

 

Não

Data envio Envio Mercadoria

Dt envio mercadEnvio

99/99/9999

Data de envio da mercadoriaEnvio Mercadoria

dat_notif_envio

date

10

 

Não

Data notificação envioNotificação Envio

Dt notiv envioNotific

99/99/9999

Data de notificação Notificação de envioEnvio

descdes_produtoprodut

char

100

 

Não

Descrição produtoProdutoDesc produto

Produto

X(100)

Descrição do produtoProduto

descdes_tip_pagamentopagto

char

20

 

Não

Tipo Pagamento

Tipo Tp Pagto

X(20)

Tipo de pagamento (Cartão de crédito, depósito, boleto, etc)

Descrição Tipo Pagamento

val_ped_vdaval_pedido

dec

11

 

Não

Valor pedido

Val pedVl Pedido

>>>,>>>,>>9.99

Valor total do pedidoPedido

des_parc_parcelapagto

char

2040

 

Não

Desc Parcela PagtoParcela

Desc Parc Pgo

X(2040)Parcela (A vista, 1/1

)Descrição Parcela Pagamento

val_produtoprodut

dec

11

 

Não

Valor produtoVal pagto produto

Vl Produto

>>>,>>>,>>9.99

Valor do Produto

valor_frete

dec

11

 

Não

Valor freteVal pagto frete

Frete

>>>,>>>,>>9.99

Valor do Frete

val_repasserepas_brutobrut

dec

11

 

Não

Valor repasse brutoVal repasse brutoRepasse Bruto

Vl Rep Brut

>>>,>>>,>>9.99

Valor repasse brutoRepasse Bruto

val_perc_comis

dec

4

 

NãoPerc

comissãoPercentual Comissão

Perc comissãoComis

>9.99

Percentual comissãoComissão

val_comissaocomis

dec

11

 

Não

Valor comissãoComissão

Val comissaoComissão

>>>,>>>,>>9.99

Valor comissãoComissão

val_repasserepas_liq

dec

11

 

Não

Valor repasse líquidoVal repasse liqRepasse Líquido

Vl Rep Liq

>>>,>>>,>>9.99

Valor repasse líquidoRepasse Líquido

ind_sit_movto_admdra

char

15

Pendente

Sim

Situação movimentoMovto

Sit movtoMovto

X(15)

Pendente, em conciliação, conciliado

Livres padrões                

 

 

 

 

 

 

 

 Situação Movimento Administradora

Índice

Tipo

ChaveId

mvtdmdr_id

Primário/único

num_movto_admdra

mvtdmdr_ped_vda

 

cod_ped_vda

ind_sit_movto_admdra

mvtdmdr_dat_compracomp

 

dat_compra

ind_sit_movto_admdra

mvtdmdr_dat_estornoestor

 

dat_eston_estornomovto

ind_sit_movto_admdra

mvtdmdr_dat_prevprv_pag

 

dat_prev_pag_pagto

ind_sit_movto_admdra

mvtdmdr_admdra 

cod_admdra_cartao_cr

cod_band

ind_sit_movto_admdra

 

 

 

TabelaDescriçãoBancoMódulo
proces_transProcesso TransaçãoemsuniUTB
CampoTipoTamanhoValor InicialMandatórioTítuloAbrevPictureHelp de Campo
cod_layout_transcharacter8 simCódigo Layout TransCod Layoutx(8)Código do Layout Transação
cdn_proces_transinteger70simCódigoCódigo->,>>>,>>9Código Processo Transação
cod_nom_arqcharacter40 simNome ArquivoNome Arquivox(40)Nome Arquivo
des_caminho_completcharacter150 simCaminho CompletoCaminho Compx(150)Caminho Completo do Arquivo
dat_criac_arqdate10?nãoDt Criação ArquivoDt Criação99/99/9999Data Criação Arquivo
hra_criac_arqcharacter8 nãoHr Criação ArquivoHr Criação99:99:99Hora Criação Arquivo
dat_ult_mod_arqdate10?nãoDt Último ModificDt Ult Mod99/99/9999Data Último Modificação Arquivo
hra_ult_mod_arqcharacter8 nãoDt Último ModificDt Ult Mod99:99:99Hora Último Modificação Arquivo
dat_import_arqdate10?simDt ImportaçãoDt Importação99/99/9999Data Importação Arquivo
hra_import_arqcharacter8 simHr ImportaçãoHr Importação99:99:99Hora Importação Arquivo
ind_sit_proces_transcharacter15AtivonãoSituação ProcessoSit Processox(15)Situação Processo Transação
cod_usuar_importcharacter12 nãoUsuário ImportaçãoUsuáriox(12)Código Usuário Importação
ÍndiceTipoChave
prcstrns_idPrimario/únicocod_layout_trans
cdn_proces_trans 

 

 

 

TabelaDescriçãoBancoMódulo
layout_transLayout TransaçãoemsuniUTB
CampoTipoTamanhoValor InicialMandatórioTítuloAbrevPictureHelp de Campo
cod_layout_transcharacter8 simCódigo Layout TransCod Layoutx(8)Código do Layout Transação
des_layout_transcharacter40 nãoDescrição LayoutDescriçãox(40)Descrição do Layout Transação
ind_operac_layoutcharacter15ImportaçãosimOperação LayoutOperaçãox(15)Operação do Layout
ind_tip_arq_layoutcharacter5TXTsimTipo ArquivoTipo Arqx(5)Tipo do Arquivo
ind_tip_delimitaccharacter15(nenhum)nãoTipo DelimitaçãoDelimitaçãox(15)Indicador Tipo Delimitação
cod_delimitcharacter3 nãoDelimitadorDelimitadorx(3)Delimitador
ind_trans_layoutcharacter30Pagto MarketplacesimTransaçãoTransaçãox(30)Transação do Layout
log_usa_cabeclogical nonãoUsa CabecalhoCabecalhoyes/noUsa Cabeçalho ?
ÍndiceTipoChave
lyttrns_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 TransCod Layoutx(8)Código do Layout Transação
cod_campocharacter40 simCampoCampox(40)Código Campo
des_label_campocharacter50 simLabelLabelx(50)Label do Campo
ind_tip_campocharacter10CharactersimTipo CampoTipox(10)Tipo do Campo
num_tam_campointeger50simTamanho CampoTamanho>,>>9Tamanho do Campo
num_pos_campointeger70simPosição CampoPosição>>>,>>9Posição do Campo
des_val_padr_campocharacter40 nãoValor Padrão CampoValor Padrãox(40)Descrição Valor Padrão Campo
ind_regra_exceccharacter20TodosnãoImportarImportarx(20)Regra para Importação da Linha
des_lista_regra_exceccharacter200 nãoListaListax(200)Lista de Regras ou Exceções
des_tag_xmlcharacter40 nãoTAG XMLTAGx(40)TAG do XML
ÍndiceTipoChave
itmlyttr_idPrimario/ú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.