Histórico da Página
Parâmetro_MV_CTBUPRC
Características do Requisito
Linha de Produto: | Microsiga Protheus | ||||||||||||||||||||||||||||
Segmento: | Serviços | ||||||||||||||||||||||||||||
Módulo: | Contabilidade Gerencial (SIGACTB) | ||||||||||||||||||||||||||||
Rotina: |
| ||||||||||||||||||||||||||||
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): | Criação do parâmetro MV_CTBUPRC. Este parâmetro, se criado e parametrizado como .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 serão feitas por procedures dinâmicas. A gravação dos lançamentos contábeis (CT2), do 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 caso a atualização de saldos seja on line ( MV_ATUSAL = 'S'). Obs: Quando se utilizar recurso não será permitido alterar o lançamento durante a contabilização. | ||||||||||||||||||||||||||||
País(es): | Brasil | ||||||||||||||||||||||||||||
Banco(s) de Dados: | SqlServer, DB2, Oracle e Informix (Restrição) | ||||||||||||||||||||||||||||
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').
Obs: quando se utilizar desse recurso, não será permitido alterar o lançamento durante a contabilização. Essa melhoria será disponibilizada em algumas rotinas de contabilização contábil, por exemplo: ctba500, 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:
Contate o Help Desk Framework EM CASO DE DÚVIDAS! |
---|
- 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 ___/___/____.
- Clique em OK para continuar.
- 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.
- Ao confirmar é exibida uma mensagem de advertência sobre o backup e a necessidade de sua execução em modo exclusivo.
- Clique em Processar para iniciar o processamento. O primeiro passo da execução é a preparação dos arquivos.
É apresentada uma mensagem explicativa na tela. - 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.
- Clique em Gravar para salvar o histórico (log) apresentado.
- Clique em OK para encerrar o processamento.
- Clique em Processar para iniciar o processamento. O primeiro passo da execução é a preparação dos arquivos.
Procedimento para Implantação
O sistema é atualizado logo após a aplicação do pacote de atualizações (Patch) deste chamado.
- Aplique o patch do chamado e execute uma vez a rotina U_UPDCTB.
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: | Se verdadeiro (.T.), habilita uso de procedure na contabilização. Crie o arquivo temporário da contabilização no banco de dados. As regras e contra-regras, as amarrações ( CtbAmarra), as validações da função linhaOK, a gravação do CT2, CV3 e TRW serão feitas por procedures dinâmicas. |
Valor Padrão: | Falso (.F.) |
Atualizações do Compatibilizador
(Apenas para Microsiga Protheus, versões anteriores à versão 12)
Criação ou Alteração de Parâmetros no arquivo SX6 – Parâmetros:
Nome da Variável | MV_CTBUPRC |
Tipo | Lógico |
Descrição | Habilita procedures na contabilização de lanctos contábeis de integração. Arquivo tempórario no SGBD. Validações de amarrações e linhOk e gravação de CT2, CV3 e TRW por procedures. |
Valor Padrão | .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