Page tree

CTB220ALT_altera_o_valor_e_o_histórico_do_lançamento_contábil

Características do Requisito

Linha de Produto:

Microsiga Protheus

Segmento:

Serviços

Módulo:

Contabilidade Gerencial

Rotina:

Rotina

Nome Técnico

CTBA220

Consolidação Geral

Ponto de Entrada:

CTB220ALT

País(es):

Todos

Banco(s) de Dados:

Todos homologados para procedures.

Tabelas Utilizadas:

CT1, CT2, CTT, CTD, CTH, CQ0, CQ1, CQ2, CQ3, CQ4, CQ5, CQ6, CQ7, CQ8, CQ9

Sistema(s) Operacional(is):

Todos homologados

Chamados relacionadoTTQBV8

Versões/Release:

12.1.6

Versão Corrigida12.1.6
Versão Expedida12.1.6 e 12.1.7

Ponto de Entrada

Descrição:

O ponto de entrada CTB220ALT permite alterar o valor e o histórico do lançamento contábil

Localização:

Miscelâneas/Processamentos/Consolidação Geral

Eventos:

Informe o Título da rotina

Programa Fonte:

CTBA220

Função:

Informe o Nome do(s) produto(s) a ser utilizado ou “Todos”

 

Exemplo:

Corpo do PE criado no banco de dados. (SQLSERVER). Exemplo de histórico e  valor que terão seus valores alterados  dentro do PE ( em laranja ).

CREATE PROCEDURE CTB220ALT_T3 (

@IN_FILIAL Char( 8 ) ,
@IN_DATA Char( 8 ) ,
@IN_LINHA Char( 3 ) ,
@IN_TPSALD Char( 1 ) ,
@IN_EMPORI Char( 2 ) ,
@IN_FILORI Char( 8 ) ,
@IN_MOEDLC Char( 2 ) ,
@IN_LOTE Char( 6 ) ,
@IN_SBLOTE Char( 3 ) ,
@IN_DOC Char( 6 ) ,
@IN_HIST Char( 40 ) ,
@IN_VALOR Float ,
@OUT_HIST Char( 40 ) output ,
@OUT_VALOR Float output ) AS

-- Declaration of variables
DECLARE @cHist Char( 40 )
DECLARE @nValor Float
BEGIN

      SELECT @IN_HIST = 'HISTÓRICO ALTERADO'

      SELECT @IN_VALOR = @IN_VALOR * 0.3


      SET @OUT_HIST = @IN_HIST
     SET @OUT_VALOR = @IN_VALOR
END

No exemplo acima é como o PE foi criado no banco SQLSERVER.

Esse PE será chamado dentro da procedure dinâmica (criado em tempo de execução)  CT220C_XX  que faz a gravação do lançamentos contabéis consolidados.

Será chamado no trecho abaixo em itálico. As variáveis @cFilial_CT2 , @cCT2_DATA , @cCT2_LINHA , @cCT2_TPSALD , @cCT2_EMPORI , @cCT2_FILORI , @cCT2_MOEDLC , 
@cCT2_LOTE , @cCT2_SBLOTE , @cCT2_DOC , @cCT2_HIST , @nCT2_VALOR  são as variáveis de entrada e @cCT2_HISTDEST output , @nCT2_VALORDEST output  são as variáveis de saída.

As variáveis de entrada vêm com os seus respectivos conteúdos  e serão passados para dentro do PE. Dentro do PE  que as variáveis de saída @cCT2_HISTDEST e @nCT2_VALORDES poderão ser tratados e/ou modificados, alterações essas que, em seguida, serão gravados na tabela CT2. Observe , em verde abaixo, que os campos @cCT2_HIST e @cCT2_VALOR recebem os conteúdos das variáveis de saída do PE.

Com o exemplo de PE acima, o histórico a ser gravado no campo CT2_HIST será 'HISTÓRICO ALTERADO' e o campo CT2_VALOR terá como seu conteúdo o valor originalmente recebido multiplicado por 0.3.

"
SET @cCT2_HISTDEST = ' '
SET @nCT2_VALORDEST = 0

EXEC CTB220ALT_T3 @cFilial_CT2 , @cCT2_DATA , @cCT2_LINHA , @cCT2_TPSALD , @cCT2_EMPORI , @cCT2_FILORI , @cCT2_MOEDLC ,
@cCT2_LOTE , @cCT2_SBLOTE , @cCT2_DOC , @cCT2_HIST , @nCT2_VALOR , @cCT2_HISTDEST output , @nCT2_VALORDEST output


SET @cCT2_HIST = @cCT2_HISTDEST
SET @nCT2_VALOR = @nCT2_VALORDEST


SET @iRecno = 0
SELECT @iRecno = MAX ( R_E_C_N_O_ ) FROM CT2T30
SET @iRecno = @iRecno + 1
IF (@iRecno = 0 or @iRecno is null ) BEGIN
    SET @iRecno = 1
END


begin tran
INSERT INTO CT2T30 (CT2_FILIAL , CT2_DATA , CT2_LOTE , CT2_SBLOTE , CT2_DOC , CT2_LINHA , CT2_MOEDLC , CT2_DC , CT2_DEBITO ,
CT2_CREDIT , CT2_DCD , CT2_DCC , CT2_VALOR , CT2_MOEDAS , CT2_HP , CT2_HIST , CT2_CCD , CT2_CCC , CT2_ITEMD ,
CT2_ITEMC , CT2_CLVLDB , CT2_CLVLCR , CT2_ATIVDE , CT2_ATIVCR , CT2_EMPORI , CT2_FILORI , CT2_INTERC , CT2_IDENTC ,
CT2_TPSALD , CT2_SEQUEN , CT2_MANUAL , CT2_ORIGEM , CT2_ROTINA , CT2_AGLUT , CT2_LP , CT2_SEQHIS , CT2_SEQLAN ,
CT2_DTVENC , CT2_SLBASE , CT2_DTLP , CT2_DATATX , CT2_TAXA , CT2_VLR01 , CT2_VLR02 , CT2_VLR03 , CT2_VLR04 ,
CT2_VLR05 , CT2_CRCONV , CT2_CRITER , CT2_KEY , CT2_SEGOFI , CT2_DTCV3 , CT2_SEQIDX , CT2_CONFST , CT2_OBSCNF ,
CT2_USRCNF , CT2_DTCONF , CT2_HRCONF , CT2_MLTSLD , CT2_CTLSLD , CT2_CODPAR , CT2_NODIA , CT2_DIACTB , CT2_MOEFDB ,
CT2_MOEFCR , CT2_USERGI , CT2_USERGA , CT2_AT01DB , CT2_AT01CR , CT2_AT02DB , CT2_AT02CR , CT2_AT03DB , CT2_AT03CR ,
CT2_AT04DB , CT2_AT04CR , CT2_LANCSU , CT2_GRPDIA , CT2_CODCLI , CT2_CODFOR , CT2_LANC , CT2_CTRLSD , R_E_C_N_O_ )
VALUES (@cFilial_CT2 , @cCT2_DATA , @cCT2_LOTE , @cCT2_SBLOTE , @cCT2_DOC , @cCT2_LINHA , @cCT2_MOEDLC , @cCT2_DC ,
@cCT2_DEBITO , @cCT2_CREDIT , @cCT2_DCD , @cCT2_DCC , @nCT2_VALOR , @cCT2_MOEDAS , @cCT2_HP , @cCT2_HIST , @cCT2_CCD ,
@cCT2_CCC , @cCT2_ITEMD , @cCT2_ITEMC , @cCT2_CLVLDB , @cCT2_CLVLCR , @cCT2_ATIVDE , @cCT2_ATIVCR , @cCT2_EMPORI ,
@cCT2_FILORI , @cCT2_INTERC , @cCT2_IDENTC , @cCT2_TPSALD , @cCT2_SEQUEN , @cCT2_MANUAL , @cCT2_ORIGEM , @cCT2_ROTINA ,
@cCT2_AGLUT , @cCT2_LP , @cCT2_SEQHIS , @cCT2_SEQLAN , @cCT2_DTVENC , @cCT2_SLBASE , @cCT2_DTLP , @cCT2_DATATX ,
@nCT2_TAXA , @nCT2_VLR01 , @nCT2_VLR02 , @nCT2_VLR03 , @nCT2_VLR04 , @nCT2_VLR05 , @cCT2_CRCONV , @cCT2_CRITER ,
@cCT2_KEY , @cCT2_SEGOFI , @cCT2_DTCV3 , @cCT2_SEQIDX , @cCT2_CONFST , @cCT2_OBSCNF , @cCT2_USRCNF , @cCT2_DTCONF ,
@cCT2_HRCONF , @cCT2_MLTSLD , @cCT2_CTLSLD , @cCT2_CODPAR , @cCT2_NODIA , @cCT2_DIACTB , @cCT2_MOEFDB , @cCT2_MOEFCR ,
@cCT2_USERGI , @cCT2_USERGA , @cCT2_AT01DB , @cCT2_AT01CR , @cCT2_AT02DB , @cCT2_AT02CR , @cCT2_AT03DB , @cCT2_AT03CR ,
@cCT2_AT04DB , @cCT2_AT04CR , @cCT2_LANCSU , @cCT2_GRPDIA , @cCT2_CODCLI , @cCT2_CODFOR , @cCT2_LANC , @cCT2_CTRLSD ,
@iRecno );
commit tran
FETCH CUR_CTB220A