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

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

 

 

 

Protótipo 02

 

 

 

 

 

 

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

da administradora

movfin

SCO

emsfinACR

Campo

Tipo

Tamanho

Valor Inicial

Mandatório

Título

Abrev

Picture

Help de Campo

cdn

num_

processo

movto_

transacao

admdra

integer

de

7

12

 

simCódigo Processo TransaçãoCod Proces Trans

Sim

Número movimento administradora

Num movto adm

>>>,>>>

->

,>>>,>>9

Código Processo Transação

Número movimento da administradora

cod_admdra_cartao_cr

character

char

5

 

sim

Sim

Código

Administradora

Cartão Crédito

Cód Admdra Cr

Administradora

x(

05

5)

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

cod_band

char

10

 

Não

Bandeira

Band

x(10)

Bandeira

ind_tip_trans

char

15

 

Sim

Transação

Trans

x(15)

Tipo transação movimento: Liquidação, Estorno, Imposto

cod_ped_vda

char

12

 

Não

Pedido venda

Ped venda

x(12)

Pedido de venda

des_situacao

char

20

 

Não

Situação

Situação

X(20)

Situação

dat_situacao

date

10

 

Não

Data situação

Dt situação

99/99/9999

Data da situação

dat_compra

dat_envio_mercad

date

10

 

não

Não

Data

de Envio da Mercadoria

compra

Dt

Envio Mercad

compra

99/99/9999

Data de

Envio da Mercadoria

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

dat_pagamento

date

10

 

Não

Data pagamento

Dt pagamento

99/99/9999

Data do pagamento consumidor

dat_estorno

dat_notif_envio

date

10

 

não

Não

Data

de Notificação do Envio

estorno

Dt

Notif Envio

estorno

99/99/9999

Data

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

do estorno

dat_liberacao

date

10

 

Não

Data liberação

Dt liberação

99/99/9999

Data da liberação

dat_prev_pag

date

10

 

Não

Data prevista pagamento

Dt prev pag

99/99/9999

Data prevista pagamento

dat_envio_merc

date

10

 

Não

Data envio Mercadoria

Dt envio mercad

99/99/9999

Data de envio da mercadoria

dat_notif_envio

date

10

 

Não

Data notificação envio

Dt notiv envio

99/99/9999

Data de notificação de envio

desc_produto

char

100

 

Não

Descrição produto

Desc produto

X(100)

Descrição do produto

desc_tip_pagamento

char

20

 

Não

Tipo Pagamento

Tipo Pagto

X(20)

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

val_pedido

dec

11

 

Não

Valor pedido

Val ped

>>>,>>>,>>9.99

Valor total do pedido

des_parcela

char

20

 

Não

Parcela

Parcela

X(20)

Parcela (A vista, 1/1)

val_produto

dec

11

 

Não

Valor produto

Val pagto produto

>>>,>>>,>>9.99

Valor Produto

valor_frete

dec

11

 

Não

Valor frete

Val pagto frete

>>>,>>>,>>9.99

Valor Frete

val_repasse_bruto

dec

11

 

Não

Valor repasse bruto

Val repasse bruto

val_total_pedidodecimal16 nãoValor Total do PedidoVlr Tot Ped->,>>>,

>>>,>>>,>>9.99

Valor

Total do Pedido

repasse bruto

val_perc_comis

dec

4

cod_parcelacharacter15

 

não

Não

Parcela

Perc comissão

Parcx(15)

Perc comissão

>9.99

Percentual comissão

Parcela

val_

ciclo

comissao

decimal

dec

16

11

 

não

Não

Valor

do Ciclo
Vlr Ciclo

comissão

Val comissao

->>>,

>>>,>>>,>>9.99

Valor

do Ciclo

comissão

val_repasse_

comissao

liq

decimal

dec

16

11

 

não

Não

Valor

da Comissão
Vlr Comis

repasse líquido

Val repasse liq

->>>,

>>>,>>>,>>9.99

Valor

da Comissão
val_repassedecimal16 nãoValor de RepasseVlr Repasse->>>>>>>>>>>9.99Valor de Repasse

repasse líquido

ind_sit_movto_admdra

char

15

Pendente

Sim

Situação movimento

Sit movto

X(15)

Pendente, em conciliação, conciliado

Livres padrões                

 

 

 

 

 

 

 

 

des_origemcharacter50 nãoOrigemOrigx(50)Origem

Índice

Tipo

Chave

id

Id

Primario

Primário/único

cdn

num_

processo

movto_

transacao

admdra

 

ped_vda

 

cod_

admdra_cartao_cr
  

ped_vda

ind_sit

num_seq

_movto_admdra

dat_

cartao_cr

compra

 

  
id2Únicocod_admdra_cartao_cr

dat_compra

ind_sit_movto_admdra

dat_estorno

 

dat_estorno

ind_sit

  num_seq

_movto_admdra

dat_

cartao

prev_

cr

pag

 

 

dat_prev_pag

ind_

tip_trans
  num_pedido

sit_movto_admdra

 

 

 

TabelaDescriçãoBancoMódulo
processoproces_transacaotransProcesso TransacaoTransaçãoemsuniUTB
CampoTipoTamanhoValor InicialMandatórioTítuloAbrevPictureHelp de Campo
cod_layout_transcharacter8 simCódigo Layout TransaçãoTransCod Lay TransLayoutx(8)Código do Layout Transação
cdn_processoproces_transacaotransinteger7 0simCódigo Processo TransaçãoCod Process TransCódigo->,>>>,>>9Código Processo Transação
descod_nom_arquivoarqcharacter1540 simNome ArquivoNom ArqNome Arquivox(1540)Nome Arquivo
des_fullcaminho_pathnamecompletcharacter30150 simCaminho ArquivoCompletoCaminho ArqCompx(30150)Caminho Completo do Arquivo
dat_criacaocriac_arquivoarqdate10 ?nãoData Dt Criação ArquivoDt Criação Arq99/99/9999Data Criação Arquivo
hra_criacaocriac_arquivoarqcharacter8 nãoHora Hr Criação ArquivoHr Criação Arqhh99:mm99:ss99Hora Criação Arquivo
dat_ult_mod_arquivoarqdate10 ?nãoData Modificação ArquivoDt Último ModificDt Ult Mod Arq99/99/9999Data Último Modificação Arquivo
hra_ult_mod_arquivoarqcharacter8 nãoHora Modificação ArquivoHr Mod Arqhh:mm:ssDt Último ModificDt Ult Mod99:99:99Hora Último Hora Modificação Arquivo
dat_import_arquivoarqdate10 ?nãosimData Dt Importação ArquivoDt Import ArqImportação99/99/9999Data Importação Arquivo
hra_import_arquivoarqcharacter8 nãosimHora Hr Importação ArquivoHr Import ArqImportaçãohh99:mm99:ss99Hora Importação Arquivo
ind_sit_processproces_transcharacter15 AtivonãoSituação do ProcessoSit ProcessProcessox(15)Situação do Processo Transação
cod_usuar_gerac_processimportcharacter1512 nãoUsuário ImportaçãoUsuar ImportUsuáriox(1512)Código Usuário Importação
ÍndiceTipoChave
prcstrns_idPrimario/únicocod_layout_trans  
cdn_processoproces_transacaotrans 

 

 

 

TabelaDescriçãoBancoMódulo
layout_transLayout TransaçãoemsuniUTB
CampoTipoTamanhoValor InicialMandatórioTítuloAbrevPictureHelp de Campo
cod_layout_transcharacter8 simCódigo Layout TransaçãoCód Lay TransTransCod Layoutx(8)Código do Layout Transação
des_layout_transcharacter2040 nãoDescrição Layout TransaçãoDes Lay TransDescriçãox(2040)Descrição do Layout Transação
ind_operac_layoutcharacter15 ImportaçãosimOperação LayoutOperacOperaçãox(15)Operação do Layout
ind_tip_arq_arquivolayoutcharacter35TXTsimTipo do ArquivoTip Tipo Arqx(35)Tipo do Arquivo
ind_tip_delimitacaodelimitaccharacter15(nenhum)nãoTipo DelimitaçãoTip DelimDelimitaçãox(15)Indicador Tipo Delimitação
cod_delimitadordelimitcharacter3 nãoDelimitadorDelimDelimitadorx(3)Delimitador
ind_transactrans_layoutcharacter2030Pagto MarketplacesimTransaçãoTransTransaçãox(2030)Transação do Layout
log_usa_cabecalhocabeclogical nonãoUsa CabeçalhoCabecalhoUsa CabecCabecalhoyes/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 TransaçãoCód Lay TransTransCod Layoutx(8)Código do Layout Transação
cod_fieldcampocharacter2040 simField TabelaCampoField TabCampox(2040)Field TabelaCódigo Campo
des_label_fieldcampocharacter50 simLabel Field TabelaLabel Field Tabx(50)Label Field Tabelado Campo
ind_tip_fieldcampocharacter1510 CharactersimTipo FieldCampoTip FieldTipox(1510)Tipo Fielddo Campo
num_tam_tamanhocampointeger75 0simTamanho FieldCampoTam FieldTamanho->,>>>,>>9Tamanho Fielddo Campo
num_pos_fieldcampointeger7 0simPosição FieldCampoPos FieldPosição->,>>>,>>9Posição Fielddo Campo
des_val_valorpadr_padraocampocharacter2040 nãoValor Padrão CampoVlr Valor Padrãox(2040)Descrição Valor Padrão Campo
ind_regra_excecaoexceccharacter1020(nenhum)TodosnãoRegra ExceçãoImportarRegra ExceçãoImportarx(1020)Regra Exceçãopara Importação da Linha
des_lista_regra_excecaoexceccharacter100200 nãoLista Regra ExceçãoLista Regra Excecx(100200)Lista Regra Exceçãode Regras ou Exceções
des_tag_xmlcharacter3040 nãoTagTAG XMLTagTAGx(3040)TagTAG do XML
ÍndiceTipoChave
itmlyttr_idPrimario/único

cod_layout_trans

  

cod_

field

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.