CTB220ALT_modifica_el_valor_y_el_historial_del_asiento_contable

Características del requisito

Línea de producto:

Microsiga Protheus

Segmento:

Servicios

Módulo:

Contabilidad de gestión

Rutina:

Rutina

Nombre técnico

CTBA220

Consolidación general

Punto de entrada:

CTB220ALT

País(es):

Todos

Base(s) de datos:

Todos los homologados para procedures.

Tablas utilizadas:

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

Sistema(s) operativo(s):

Todos los homologados

Llamados relacionados

TTQBV8

Versiones/Release:

12.1.6

Versión corregida

12.1.6

Versión expedida

12.1.6 y 12.1.7

Punto de entrada

Descripción:

El punto de entrada CTB220ALT permite modificar el valor y el historial del asiento contable

Ubicación:

Miscelâneas/Procesamientos/Consolidación general

Eventos:

Informe el título de la rutina

Programa fuente:

CTBA220

Función:

Informe el Nombre del(de los) producto(s) que se utilizará(n) o “Todos”

 

Ejemplo:

Cuerpo del PE creado en la base de datos. (SQLSERVER). Ejemplo de historial y valor que tendrán sus valores modificados dentro del PE ( anaranjado ).

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 = 'HISTORIAL MODIFICADO'

      SELECT @IN_VALOR = @IN_VALOR * 0.3


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

En el ejemplo anterior es como el PE se creó en la base SQLSERVER.

Este PE se activará dentro de la procedure dinámica (creado en tiempo de ejecución)  CT220C_XX  que realiza la grabación de asientos contables consolidados.

Se activará en el siguiente trecho en cursiva. Las variables @cFilial_CT2 , @cCT2_DATA , @cCT2_LINHA , @cCT2_TPSALD , @cCT2_EMPORI , @cCT2_FILORI , @cCT2_MOEDLC , 

@cCT2_LOTE , @cCT2_SBLOTE , @cCT2_DOC , @cCT2_HIST , @nCT2_VALOR son las variables de entrada y @cCT2_HISTDEST output , @nCT2_VALORDEST output  son las variables de salida.

Las variables de entrada vienen con sus respectivos contenidos  y se pasarán hacia adentro del PE. Dentro del PE  que las variables de salida @cCT2_HISTDEST y @nCT2_VALORDES podrán tratarse y/o modificarse, dichas modificaciones se grabarán a continuación en la tabla CT2. Observe a continuación, que los campos @cCT2_HIST y @cCT2_VALOR en verde reciben los contenidos de las variables de salida del PE.

Con el ejemplo de PE anterior, el historial que se grabará en el campo CT2_HIST será 'HISTÓRIAL MODIFICADO' y el campo CT2_VALOR tendrá como contenido el valor originalmente recibido 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