CONTEÚDO

  1. Visão Geral
  2. Data Models
  3. Flex Fields
  4. Demais informações

01. VISÃO GERAL



A Carol possui uma área de armazenamento onde ficam as staging tables, que são as tabelas que armazenam os dados brutos provenientes do ERP. Os Data Models são estrutura de dados definidas dentro da Carol, e nessas estruturas são armazenadas as informações resultantes do processamento das pipelines.

No tópico 02 abaixo, é apresentado um modelo visual de como as informação são trabalhadas dentro da Carol (Stage 4), antes de serem enviadas à Gesplam. Cada quadro apresentado dentro  da camada Pipeline, representa um conjunto nomeado e temporário de resultados, derivado de uma consulta sql (common table expression - CTE). São utilizadas como alternativa à, por exemplo,  subquerys e views, para melhor organização e manutenção das consultas.

Dentro do código das pipelines essas CTE's estão dispostas da seguinte forma:

WITH common_table_expression_1 (query_statement_1),
common_table_expression_2 ( query_statement_2 ),
common_table_expression_n ( query_statement_n )


Cada CTE armazena um conjunto intermediário de registros que são utilizados pelas CTEs seguintes , até que por fim é gerado um CTE final, que contém os registros que atendem à regra de negócio e que serão levados para o Data Models.

02. DATA MODELS

Principais tabelas e campos envolvidos:

Modelo de dados Previsto: contempla todas as partidas em aberto de Clientes, ou seja, títulos a receber com saldo em aberto. O valor previsto para o título em aberto será calculado considerando seus abatimentos existentes, ou seja, títulos AB- e impostos calculados na emissão (IR-, IS-, PI-, CF-, etc.).

Não são considerados os seguintes tipos de títulos para envio: PR - Provisórios, RA - Recebimento Antecipado e NCC-Nota de Crédito ao Cliente

Modelo de dados Realizado: contempla todas as partidas de Clientes que tenham movimentação bancária atribuída, como recebimentos antecipados e baixas totais ou parciais.

Movimentos bancários sem vinculo com Títulos a Receber não serão enviados na integração.

Modelo de dados Previsto: contempla todas as partidas em aberto de Fornecedores, ou seja, títulos a pagar com saldo em aberto. O valor previsto para o título em aberto será calculado considerando seus abatimentos existentes, ou seja, títulos AB- e impostos calculados na emissão (IR-, IS-, PI-, CF-, etc.).

Não são considerados os seguintes tipos de títulos para envio: PR - Provisórios, PA - Pagamento Antecipado e NDF-Nota de Débito ao Fornecedor.

Modelo de dados Realizado: contempla todas as partidas de Fornecedores que tenham movimentação bancária atribuída, como pagamentos antecipados e baixas totais ou parciais.

Movimentos bancários sem vinculo com Títulos a Pagar não serão enviados na integração.

AtributoData Model PrevisoData Model Realizado
filtroDataAtualizacaoTimestamp da Staging TableTimestamp da Staging Table
externalCodeHeaderVer aba Dados por ProcessoVer aba Dados por Processo
externalCodeDetailVer aba Dados por ProcessoVer aba Dados por Processo
businessUnit_2Grupo + Empresa + Unid .Negócio  ( sep="|" pipe )Grupo + Empresa + Unid .Negócio  ( sep="|" pipe )
divisongroupFilialFilial
originSystemSE1 = 'CR' / SE2 = 'CP'SE1 = 'CR' / SE2 = 'CP'
originSystemNameSE1 = 'CONTAS A RECEBER' / SE2 = 'CONTAS A PAGAR'SE1 = 'CONTAS A RECEBER' / SE2 = 'CONTAS A PAGAR'
dateOfIssueE1_EMISSAO / E2_EMISSAOE1_EMISSAO / E2_EMISSAO
dataemissaoNFE1_EMISSAO / Null para SE2 E1_EMISSAO / Null para SE2 
datalanctoNFE2_EMIS1 / Null para SE1 E2_EMIS1 / Null para SE1 
descriptionE1_HIST / E2_HISTE1_HIST / E2_HIST
documentTypeE1_TIPO / E2_TIPOE1_TIPO / E2_TIPO
documentTypeName_ptBRX5_DESCRI referente campo TIPOX5_DESCRI referente campo TIPO
documentNumberPrefixo + Num + Parcela + TipoPrefixo + Num + Parcela + Tipo
currencyCTO_DESC conforme E1_MOEDA/E2_MOEDACTO_DESC conforme E1_MOEDA/E2_MOEDA
dueDate2E1_VENCTO / E2_VENCTOE1_VENCTO / E2_VENCTO
payday2NullFK5_DATA
eventTypeIF ( FK5_RECPAG ='P' , 'S' , 'E' ) IF ( FK5_RECPAG ='P' , 'S' , 'E' ) 
currentAccountGrupo + Empresa + Unid .Negócio + ' - PREV'A6_FILIAL + FK5_BANCO + FK5_AGENCI + FK5_CONTA
beneficiary

CP = A2_FILIAL + E2_FORNECE + E2_LOJA
CR = A1_FILIAL + E1_CLIENTE + E1_LOJA

CP = A2_FILIAL + E2_FORNECE + E2_LOJA
CR = A1_FILIAL + E1_CLIENTE + E1_LOJA

beneficiaryNameE1_NOMCLI / E2_NOMFORE1_NOMCLI / E2_NOMFOR
beneficiaryType3 = FORNECEDOR / 1= CLIENTE3 = FORNECEDOR / 1= CLIENTE
beneficiaryOriginSE1 = 'CR' / SE2 = 'CP'SE1 = 'CR' / SE2 = 'CP'
motionWayE2_FORMPAG Null
motionWayName_ptBRX5_DESCRI referente E2_FORMAGNull
paymentNumberNullFK5_IDMOV
valueSaldo do título - AbatimentosFK5_VALOR
proratedValueVer aba Dados por ProcessoVer aba Dados por Processo
valueBusinessE1_VLCRUZ / E2_VLCRUZFK5_VALOR
conversionBusinessVLCRUZ / VALORFK5_TXMOED
fixedRateBusinessIF( VLCRUZ / VALOR <>  0 , '1' , '0' )IF( VLCRUZ / VALOR <>  0 , '1' , '0' )
valueAccount0FK5_VALOR
conversionAccountVLCRUZ / VALORFK5_TXMOED
fixedRateAccountIF ( VLCRUZ / VALOR <>  0 , '1' , '0')IF ( VLCRUZ / VALOR <>  0 , '1' , '0')
accountingAccountPlanCompany_group + CT1_FILIALCompany_group + CT1_FILIAL
accountingAccount

CP = ED_DEBITO
CR = ED_CREDIT

CP = Se saída é SED->ED_DEBITO / Se entrada SED->ED_CREDIT 
CR = Se saída é SED->ED_CREDIT / Se entrada SED->ED_DEBITO
accountingAccountName_ptBRCT1_DESC01  CT1_DESC01
accountingAccountClassificationCT1_NATCTACT1_NATCTA
costCenterPlanCompany_group + CTT_FILIALCompany_group + CTT_FILIAL
costCenterCP = ED_CCD
CR = ED_CCC
CP = ED_CCD
CR = ED_CCC
compcostCenterName_ptBRCTT_DESC01 CTT_DESC01
flexField001Natureza do título (SE1 / SE2)Natureza do título (SE1 / SE2)
flexField002Natureza do Rateio (SEV)Natureza do Rateio (SEV)
flexField003Centro de Custo do Rateio (SEZ)Centro de Custo do Rateio (SEZ)


03. FLEX FIELDS

A integração permite ainda que campos específicos (ou campos padrão que não fazem parte da integração) sejam levados à Gesplan.

Essa configuração, embora seja contemplada por uma funcionalidade padrão da Carol, deve ser realizada em conjunto com a equipe Gesplan,  para que haja um De/Para entre os sistemas, e a Gesplan seja capaz de identificar a que se refere esse novo dado.

Na Carol, essa configuração é feita dentro do App Settings do tenant do cliente, uma vez cadastrado os pipelines levarão o conteúdo desses campos das staging tables para os data models.

Cada Data Model suporte até 50 campos customizados. A configuração deve seguir uma nomenclatura e deve estar vinculado a um grupo de campo de nome fixo também, conforme descrito abaixo:


Data ModelGrupo de Flex Fields Nomenclatura da configuraçãoOrigem do dado
Contas a Receber PrevistoReceber_Previsto

RecPrevFlex001 a RecPrevFlex050

SE1, SA1, SED
Contas a Receber RealizadoReceber_RealizadoRecRealFlex001 a RecRealFlex050SE1, SA1, SED
Contas a Pagar PrevistoPagar_PrevistoPagPrevFlex001 a PagPrevFlex050SE2, SA2, SED
Contas a Pagar RealizadoPagar_Realizado

PagRealFlex001 a PagRealFlex050

SE2, SA2, SED
CT1GesplanCT1CT1Flex001 a CT1Flex050CT1
CTTGesplanCTTCTTFlex001 a CTTFlex050CTT

O cadastro dos flex fields esta restrito à campos somente das tabelas listadas na coluna Origem do dado. Qualquer outra configuração que indique um campos de outra tabela causará falha na execução do pipeline.

Os flex fields 001, 002 e 003 dos data models Pagar e Receber, não devem ser cadastrados no App settings, eles são reservados para uso exclusivo, já pré definido dentro de cada pipeline:



A nomenclatura detalhada acima refere-se a configuração dos flex fields, já o nome do campo dentro do data model que carregará esse conteúdo configurado terá o nome flexfield0xx (onde xx indica o número do campo de acordo com a numeração da configuração).

No exemplo de configuração de flex fields a seguir temos a seguinte regra:

O conteúdo dos campos ED_CALCIRF e E2_VRETIRF estará disponível no data model Contas a Pagar Realizado nos campos flexfield004 e flexfield005 respectivamente, pois foram cadastrados no grupo de flex fields "Pagar_Realizado"

O conteúdo dos campos E1_ORIGEM, E1_STATUS e A1_NREDUZ estará disponível no data model Contas a Receber Previsto nos campos flexfield004. flexfield005 e flexfield006 respectivamente, pois foram cadastrados no grupo de flex fields "Receber_Previsto"

Independente do tipo de dado da origem (data, caracter ou numérico, por exemplo) , todo flex field deve ser cadastrado como STRING.

04. DEMAIS INFORMAÇÕES