Parâmetro MV_CTBUPRC

Características do Requisito

Linha de Produto:

Microsiga Protheus

Segmento:

Serviços

Módulo:

Contabilidade Gerencial (SIGACTB)

Rotina:

Rotina

Nome Técnico

Contabilização Contábil.
CTBA105.PRW

Rotina(s) envolvida(s)

Nome Técnico

Rotina interna do sistema.
AdmXProc.prw
Lançamentos Contábeis Manuais.
Ctba101.prw
Lançamentos Contábeis Manuais Automatizados.
Ctba102.prw
Lançamentos Contábeis por Tipo de Saldo
Ctba103.prw
Rotina interna do sistema
CtbxAtu.prw
Rotina interna do sistema
Ctbxfun,prx
Rotina interna do sistema
ctbxfuna.prw
Rotina interna do sistema
CtbXvld.prw
Rotina interna do sistema
VldBase.prw

Cadastros Iniciais:

Cadastros básicos da Contabilidade Gerencial: de Calendário Contábil, Moedas Contábeis, Moeda X Calendário,Plano de Contas, Lançamento Padronizados .

Parâmetro(s):

MV_CTBUPRC

Requisito (ISSUE):

MSERV-1074

País(es):

Brasil

Banco(s) de Dados:

SqlServer,Oracle.

Tabelas Utilizadas:

CT2, CTK, CV3, TRW.

Sistema(s) Operacional(is):

Todos homologados para o Protheus.

Descrição

MV_CTBUPRC

O parâmetro MV_CTBUPRC se existir e estiver parametrizado como verdadeiro (.T.), irá criar o arquivo temporário da contabilização no banco de dados e não local. Serão realizadas as verificações da regra e contra-regra, as amarrações ( CtbAmarra) e as validações da função linhaOK feitas por procedures dinâmicas. A gravação dos lançamentos contábeis (CT2), rastreamento de lançamento (CV3) e da tabela temporária (TRW ) também serão feitas por procedures dinâmicas. A tabela TRW será populada pela procedure dinâmica caso a atualização de saldos seja on line ( MV_ATUSAL = 'S').

O parâmetro MV_ALTLCTO deve estar parametrizado com .F.

Obs: ao utilizar desse recurso, não será permitido alterar  (MV_ALTLCTO = .F.) o lançamento durante a contabilização. Essa melhoria será disponibilizada nas rotinas de contabilização contábil: ctba500 e fina370.

 

Importante

(Apenas para Microsiga Protheus, versões anteriores à versão 12)

Antes de executar o compatibilizador  U_UPDCTB é imprescindível:

  • Realizar o backup da base de dados do produto que será executado o compatibilizador (diretório PROTHEUS_DATA\DATA, se versão 10, ou \PROTHEUS11_DATA\DATA, se versão 11) e dos dicionários de dados SXs (diretório PROTHEUS_DATA_SYSTEM, se versão 10, ou \PROTHEUS11_DATA\SYSTEM, se versão  11).
  • Os diretórios acima mencionados correspondem à instalação padrão do Protheus, portanto, devem ser alterados conforme o produto instalado na empresa.
  • Essa rotina deve ser executada em modo exclusivo, ou seja, nenhum usuário deve estar utilizando o sistema.
  • Se os dicionários de dados possuírem índices personalizados (criados pelo usuário), antes de executar o compatibilizador, certifique-se de que estão identificados pelo nickname. Caso o compatibilizador necessite criar índices, irá adicioná-los a partir da ordem original instalada pelo Protheus, o que poderá sobrescrever índices personalizados, caso não estejam identificados pelo nickname.
  • O compatibilizador deve ser executado com a Integridade Referencial desativada*.

 

Atenção

O procedimento a seguir deve ser realizado por um profissional   qualificado como Administrador de Banco de Dados (DBA) ou equivalente!

A ativação indevida da Integridade Referencial pode alterar   drasticamente o relacionamento entre tabelas no banco de dados. Portanto,   antes de utilizá-la, observe atentamente os procedimentos a seguir:

  1. No   Configurador (SIGACFG), veja se a empresa utiliza Integridade   Referencial, selecionando a opção Integridade/Verificação   (APCFG60A).
  2. Se não   há Integridade Referencial ativa,   são relacionadas em uma nova janela todas as empresas e filiais cadastradas   para o sistema e nenhuma delas estará selecionada. Neste caso, E SOMENTE NESTE, não é necessário   qualquer outro procedimento de ativação   ou desativação de integridade, basta finalizar a verificação e aplicar   normalmente o compatibilizador, conforme instruções.
  3.  Se há Integridade Referencial ativa   em todas as empresas e filiais, é   exibida uma mensagem na janela Verificação   de relacionamento entre tabelas. Confirme a mensagem para que a   verificação seja concluída, ou;
  4.  Se   há Integridade Referencial ativa   em uma ou mais empresas, que não   na sua totalidade, são relacionadas em uma nova janela todas as empresas e   filiais cadastradas para o sistema e, somente, a(s) que possui(em)   integridade está(arão) selecionada(s). Anote qual(is) empresa(s) e/ou   filial(is) possui(em) a integridade ativada e reserve esta anotação para   posterior consulta na reativação (ou ainda, contate nosso Help Desk Framework   para informações quanto a um arquivo que contém essa informação).
  5. Nestes   casos descritos nos itens “iii” ou   “iv”, E SOMENTE NESTES CASOS, é necessário desativar tal integridade, selecionando a opção Integridade/ Desativar (APCFG60D).
  6.  Quando desativada a Integridade Referencial,   execute o compatibilizador, conforme instruções.
  7. Aplicado o compatibilizador, a Integridade   Referencial deve ser reativada, SE E   SOMENTE SE tiver sido desativada, através da opção Integridade/Ativar (APCFG60). Para isso, tenha em mãos as   informações da(s) empresa(s) e/ou filial(is) que possuía(m) ativação da   integridade, selecione-a(s) novamente e confirme a ativação.

 

Contate o Help Desk Framework EM CASO DE DÚVIDAS!

 

  1. Em Microsiga Protheus TOTVS Smart Client (se versão 10) ou ByYou Smart Client (se versão 11), digite o U_UPDCTB no campo Programa Inicial. Descreva se o compatibilizador deve ter uma data específica ou superior para que a atualização nos dicionários seja efetuada corretamente. Importante: Para a correta atualização do dicionário de dados, certifique-se que a data do compatibilizador seja igual ou superior a 30/11/2016.
  2. Clique em OK para continuar.
  3. Após a confirmação é exibida uma tela para a seleção da empresa em que o dicionário de dados será modificado ou é apresentada a janela para seleção do compatibilizador.
  4. Ao confirmar é exibida uma mensagem de advertência sobre o backup e a necessidade de sua execução em modo exclusivo.
    1. Clique em Processar para iniciar o processamento. O primeiro passo da execução é a preparação dos arquivos.
      É apresentada uma mensagem explicativa na tela.
    2. Em seguida, é exibida a janela Atualização concluída com o histórico (log) de todas as atualizações processadas. Nesse log de atualização são apresentados somente os campos atualizados pelo programa. O compatibilizador cria os campos que ainda não existem no dicionário de dados.
    3. Clique em Gravar para salvar o histórico (log) apresentado.
    4. Clique em OK para encerrar o processamento.

Procedimento para Implantação

O sistema é atualizado logo após a aplicação do pacote de atualizações (Patch) deste chamado.

  1. Aplique o patch do chamado e execute uma vez a rotina U_UPDCTB.
  2. No módulo Configurador acesse Ambiente/Cadastros/Parâmetros e verifique se o parâmetro MV_CTBUPRC está criado de acordo com as especificações abaixo:

Nome da Variável:

MV_CTBUPRC

Tipo:

Lógico
Descrição:
Define se deseja contabilizar pelo novo modelo de contabilização, com procedures dinâmicas para validações e inclusão de dados CT2 e CV3 (.T.).

Valor Padrão:

Falso (.F.)

 

Ponto de Entrada CT105CT2


Descrição:

Este ponto de entrada (PE) permite a gravação de dados complementares na tabela de lançamentos contábeis (CT2) durante o processo de contabilização de lançamentos de integração com outros módulos do Protheus.

Localização:

Rotina customizada. Não fica no menu

Eventos:

CT105CT2

Programa Fonte:

CTBA105

Função:

CT105CT2_XX, onde xx é o código da empresa 

Retorno:

Não tem retorno. o Usuário deve garantir que a gravação dos complementos seja bem sucedida.

Ponto de Entrada CTBGRV


Descrição:

Este ponto de entrada (PE) permite a gravação de dados complementares na tabela de lançamentos contábeis (CT2) durante o processo de contabilização de lançamentos de integração com outros módulos do Protheus.

Localização:

Rotina customizada. Não fica no menu

Eventos:

CTBGRV

Programa Fonte:

Ctba105

Função:

CTBGRV_XX, onde xx é o código da empresa 

Retorno:

Não tem retorno. o Usuário deve garantir que a gravação dos complementos seja bem sucedida.

Os pontos de entradas acima serão chamados nas procedures dinâmicas criada para gravação de lançamentos, portanto, a implementação deles é de responsabilidade do usuário. Uma vez criados os PE's no SGBD, estes devem ser implementados para gravação de dados adicionais.

Serão chamados na ordem e da forma descrita abaixo:

Obs: código em SQLSERVER

/*  -----------------------------------------
    PE CT105CT2
    ----------------------------------------- */
If ( @IN_cProg != 'CTBA101' and @IN_cProg != 'CTBA102' and @IN_cProg != 'CTBA103' ) And @IN_LSIMULA = '0' begin
      Exec CT105CT2_xx @IN_nMoedas, @cCT2_DATA, @cCT2_LOTE, @cCT2_SBLOTE, @cCT2_DOC, @IN_lCusto, @IN_lItem, @IN_lCLVL, @IN_TOTINF, @IN_LATUBASE, @IN_LREPROC

 end

 
/*   -----------------------------------------
     PE CTBGRV
    ----------------------------------------- */
If @IN_LSIMULA = '0' begin

       Exec CTBGRV_xx @IN_NOPC, @IN_cProg

 End


      Na primeira vez em que as procedures dinâmicas de gravação de lançamentos forem criadas, os pontos de entradas também serão criados no SGBD. Uma vez criados, a exclusão destes PE's só poderá ser feita manualmente no SGBD.

Exemplo:

Corpo do PE CT105CT2_XX  e os parâmetros de entrada. 

Create Procedure CT105CT2_XX (
@IN_NMOEDAS integer,
@IN_DATALANC Char( 08 ),
@IN_LOTE Char( 06 ),
@IN_SBLOTE Char( 03 ),
@IN_DOC Char( 06 ),
@IN_LCUSTO Char( 01 ),
@IN_LITEM Char( 01 ),
@IN_LCLVL Char( 01 ),
@IN_TOTINF float,
@IN_LATUBASE Char( 01 ),
@IN_LREPROC Char( 01 )
)
as

/* ------------------------------------------------------------------------------------
Ponto de entrada padrao : CT105CT2
---------------------------------------------
@IN_NMOEDAS - Nro de Moedas Usadas
@IN_DATALANC - Data do Lancto
@IN_LOTE - Nro do Lote Contábil
@IN_SBLOTE - Sublote contábil
@IN_DOC - Nro do Documento contabil
@IN_LCUSTO - Indica se Trabalha com CCusto, '1' trabalha, '0' Nao
@IN_LITEM - Indica se Trabalha com Item , '1' trabalha, '0' Nao
@IN_LCLVL - Indica se Trabalha com Classe de Valor, '1' trabalha, '0' Nao
@IN_TOTINF - Total Informado
@IN_LATUBASE - Indica se atualiza tabelas de Saldos. Se '1' atualiza
@IN_LREPROC - Indoca se é Reproc Contábil
-------------------------------------------------------------------------------------- */
Declare @iMoedas Integer
Declare @cDataLanc Char( 08 )
Declare @cLote Char( 06 )
Declare @cSbLote Char( 03 )
Declare @cDoc Char( 06 )
Declare @lCusto Char( 01 )
Declare @lItem Char( 01 )
Declare @lClvl Char( 01 )
Declare @nTotInf Float
Declare @lAtuBase Char( 01 )
Declare @lReproc Char( 01 )

Begin

select @iMoedas = @IN_NMOEDAS
select @cDataLanc = @IN_DATALANC
select @cLote = @IN_LOTE
select @cSbLote = @IN_SBLOTE
select @cDoc = @IN_DOC
select @lCusto = @IN_LCUSTO
select @lItem = @IN_LITEM
select @lClvl = @IN_LCLVL
select @nTotInf = @IN_TOTINF
select @lAtuBase = @IN_LATUBASE
select @lReproc = @IN_LREPROC

End

 

Corpo do PE CTBGRV_XX  e os parâmetros de entrada. 

Create Procedure CTBGRV_XX (
@IN_NOPC integer,
@IN_CPROG Char( 08 ),
)
as

/* ------------------------------------------------------------------------------------
Ponto de entrada padrao : CT105CT2
---------------------------------------------
@IN_NOPC - 3 - Inclusao, 4- alteração, 6 - Estorno - ( recebe sempre 3 )
@IN_CPROG - Nome do Programa
-------------------------------------------------------------------------------------- */
Declare @nOpc Integer
Declare @cProg Char( 10 )

Begin

select @nOpc = @IN_NOPC
select @cProg = @IN_CPROG

End