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.
Principais tabelas envolvidas:
|
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 Model | Grupo de Flex Fields | Nomenclatura da configuração | Origem do dado |
---|---|---|---|
Contas a Receber Previsto | Receber_Previsto | RecPrevFlex001 a RecPrevFlex050 | SE1, SA1, SED |
Contas a Receber Realizado | Receber_Realizado | RecRealFlex001 a RecRealFlex050 | SE1, SA1, SED |
Contas a Pagar Previsto | Pagar_Previsto | PagPrevFlex001 a PagPrevFlex050 | SE2, SA2, SED |
Contas a Pagar Realizado | Pagar_Realizado | PagRealFlex001 a PagRealFlex050 | SE2, SA2, SED |
CT1Gesplan | CT1 | CT1Flex001 a CT1Flex050 | CT1 |
CTTGesplan | CTT | CTTFlex001 a CTTFlex050 | CTT |
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"
|