Árvore de páginas


CONTEÚDO

  1. Visão Geral
  2. Exemplo de utilização
  3. Tabelas utilizadas


01. VISÃO GERAL

O processo de transação e controle de registros no processo de bloqueio de contingencia é realizado para garantir a integridade e não gerar eventuais falhas no processo e é um conceito de funcionalidade padrão do sistema.


02. EXEMPLO DE UTILIZAÇÃO

É executado em qualquer ponto de bloqueio do PCO e tem a mesma regra.


Contextualização


Esse controle é realizado nos processos de bloqueios de contingencias (tela de Contingencia) e caso um usuário esteja efetuando o processo ele será bloqueado à outro usuário que tentar acessa-lo e só poderá continuar a ação quando o primeiro usuário que esteja realizando a ação na tela do processo de bloqueio saia da transação e tenha concluído o processo.


Essa configuração é consulta os níveis da entidade do cubo e macro executam o conteúdo do campo AKW_CONCCH.


Por exemplo considerando o nível do cubo que tenha a configuração abaixo:

NívelExpressão - AKW_CONCCHEntidade do Cubo
1AKD->AKD_COConta Orçamentaria
2

AKD→AKD_CO+AKD->AKD_CC


Centro de Custo
3AKD->AKD_CO+AKD→AKD_CC+ AKD_TPSALDTipo de Saldo

Na AKW as expressões no campo AKW_CONCCH serão macro executadas pela rotina e serão lockados na tabela pertinente para afins de integridade e controle de transação.
 

Nesse caso serão avaliados os registros na AKD que tenham o par das chaves AKD_CO + AKD_CC(Isto dependendo do nível utilizado do cubo) e com isso serão lockados os registros que tenham a expressão do nível do cubo.


Por exemplo um registro em que tenha a conta orçamentaria e o centro de custos conforme abaixo seriam travados pelo controle de transação e conforme o configurado no ponto de bloqueio e com isso só seria permitido que outro usuário o acesse quando o processo for concluído.

AKD_COAKD_CC
000000001PCO1001


Esse processo acontece em qualquer Tela de bloqueio que tenha o comportamento de concorrência de usuários sendo que uma delas ainda esteja aberta por outro.


Controle de Transação - Integração Módulos de Origem X PCO


Na integração dos módulos de origem com o PCO (Planejamento e Controle Orçamentário), são chamadas as funções PcoVldLan, PcoDetLan, PcoIniLan e PcoFinLan, juntamente com os respectivos processos.

Para garantir a consistência e a confiabilidade das operações é importante assegurar que todas as operações de integração ocorram dentro de uma transação BEGIN TRANSACTION/END TRANSACTION.

Esta transação age como um envelope protetor que envolve todas as ações realizadas durante o processo de integração.

Isso é crucial para lidar com situações inesperadas, como quedas abruptas do sistema, time outs ou outras interrupções imprevistas.


Portanto, ao chamar as funções PcoVldLan, PcoDetLan, PcoIniLan e PcoFinLan dentro de uma transação BEGIN TRANSACTION/END TRANSACTION, os módulos de origem garantem que todas as operações de integração sejam tratadas com segurança, preservando a integridade dos dados e evitando problemas decorrentes de quedas de sistema ou interrupções inesperadas.

Essa abordagem é fundamental para manter a confiabilidade e a estabilidade do processo de integração entre os módulos de origem e o PCO.


É fundamental enfatizar que a responsabilidade de colocar os processos dentro de uma transação BEGIN TRANSACTION/END TRANSACTION recai sobre os módulos de origem na integração com o PCO.

Esses módulos desempenham um papel crucial na garantia da consistência e da confiabilidade das operações de integração.

Aqui está o porquê de isso ser tão importante:

      1. Controle Local: Os módulos de origem são os mais adequados para entender o contexto e a lógica de seus próprios processos.

       Portanto, eles têm o conhecimento necessário para determinar quando iniciar e encerrar uma transação com precisão.

      2. Isolamento: Cada módulo de origem pode lidar com suas próprias transações, garantindo isolamento entre diferentes processos de integração.

       Isso evita conflitos e problemas de concorrência entre os processos, pois cada um opera em seu próprio ambiente transacional.

      3. Flexibilidade: Delegar a responsabilidade para os módulos de origem oferece flexibilidade no gerenciamento de transações.

      Eles podem iniciar uma transação quando necessário, executar as operações de integração e, em seguida, confirmar (commit) ou reverter (rollback) a transação com base em seus próprios critérios.



03. TABELAS UTILIZADAS

  • AKD - Lançamentos  
  • AKW - Entidades do Cubo