FI document header substitution

En esta oportunidad mostraré un caso donde el objetivo es actualizar los campos: XREF1_HD y XREF2_HD de la BKPF.

Como ejemplo tenemos la sgte. condición: 
BKPF-TCODE = F-53 or BKPF-TCODE = FBZ2

Para la solución de este caso optaremos ampliando la funcionalidad de una BTE
BTE 1120 (Document Posting : Field Substitution header/items)

Para ver paso a paso el proceso de implementación de una BTE clic aqui

Veamos:
Ingresamos a la Transacción F-53 para contabilizar la salida de pagos.
Ingresamos los datos y tratar las partidas abiertas.


Luego de dar clic en Grabar, automáticamente ingresará a: Z_SAMPLE_PROCESS_00001120

Aqui vemos que la variable sy-tcode es igual a 'FBZ2'

En la función: Z_SAMPLE_PROCESS_00001120 los campos que podemos sustituir son los campos que se encuentran en las estructuras BKPF_SUBST y BSEG_SUBST

Como los campos (XREF1_HD y XREF2_HD) a sustituir no se encuentran en la estructura BKPF_SUBST

Ampliaremos la estructura BKPF_SUBST realizando un append de los campos nuevos a sustituir.

Ahora al momento de volver a debugear la función: Z_SAMPLE_PROCESS_00001120
veremos que la tabla T_BKPFSUB ya trae los 2 campos nuevos a sustituir: XREF1_HD y XREF2_HD

La lógica del código sería algo asi:

t_bkpfsub-xref1_hd = 'test_xref1_hd'.
t_bkpfsub-xref1_hd = 'test_xref2_hd'.
modify t_bkpfsub index 1.


Finalmente se generará el documento contable y comprobaremos los valores de los campos BKPF-XREF1_HD y BKPF-XREF2_HD en la cabecera del documento:

Nos vemos en el siguiente Blog ;)
MAGALEX

Comentarios

Publicar un comentario

Entradas populares de este blog

Modificando Vista de Actualización SM30

User Exit para VA01 y VA02

Buttons and events in ALV GRID and ALV GRID OO