Add new column FBL3N FBL5N FBL1N

En esta oportunidad mostraremos paso a paso como realizar la ampliación de campos a los reportes que se ejecutan por las tcodes:
 FBL3N/FBL5N/FBL1N

Objetivo: Añadir una nueva columna al reporte 
DEMO
En este caso el nuevo campo que he añadido tiene por etiqueta 'Denominación'
y en cada posición su valor es: 'MAGALEX'

Para llevar a cabo esta ampliación nos apoyaremos de la BTE, veamos los 7 pasos:
  1. Ampliar las estructuras RFPOS y RPOSX, añadir el nuevo campo a visualizar en el reporte.
  2. Ejecutar la tcode FIBF para iniciar la implementación de la BTE y consultando desde el menú Entorno->Sistema info (P/S) encontraremos el evento para nuestro caso. Evento: 00001650 (Completar datos por posición)
  3. Copiar la función estándar BTE SAMPLE_INTERFACE_00001650 a una función Z
  4. Implementar el código fuente dentro de la función Z para que realice nuestro objetivo en el campo nuevo. 
  5. Crear un producto cliente desde la tcode FIBF->Opciones->Productos->...de un cliente
  6. Asignar el módulo de función Z al evento 00001650, desde la tcode: FIBF->Opciones->Módulos P/S->...de una aplicación SAP
  7. Regenerar las estructuras de los reportes estándar ejecutando los programas RFPOSXEXTEND y BALVBUFDEL. Esto se debe de hacer en cada mandante.

Paso 1:
Ampliar las estructuras RFPOS y RPOSX 
Añadir el nuevo campo a visualizar en el reporte.






Del mismo modo proceder con la estructura RFPOSX:



Paso2:
Ejecutar la tcode FIBF para iniciar la implementación de la BTE


Menú Entorno->Sistema info (P/S) 

Ejecutamos:
Encontraremos el evento para nuestro caso.
Evento: 00001650 (Completar datos por posición)


Paso 3:
Copiar la función estándar BTE: SAMPLE_INTERFACE_00001650 a una función Z





Al copiar la función y/o grabar nos solicitará un OT de tipo WORKBENCH


Paso 4:
Implementar el código fuente dentro de la función Z

A modo de ejemplo en el campo E_POSTAB-ZZTEXTO asignaré el valor 'MAGALEX'. Esto obviamente variará según el objetivo de tu requerimiento.

Es muy probable que en tu caso ya encuentres varias líneas de código, de ser así añadir la nueva lógica debajo de las líneas ya existentes.

Paso 5:
Crear un producto cliente desde la tcode FIBF->Opciones->Productos->...de un cliente


Crearemos un nuevo producto

En mi caso le he puesto de nombre producto: ZFIRFPOS si deseas lo puedes cambiar
Le damos clic en el botón Grabar y automáticamente nos solicitará una OT de tipo CUSTOMIZING

Veremos que el nuevo producto que hemos creado se está guardando en la tabla TBE24




Paso 6:
Asignar el módulo de función Z_SAMPLE_INTERFACE_00001650 al evento 00001650desde: 
tcode: FIBF->Opciones->Módulos P/S->...de una aplicación SAP


Al grabar nos solicitará otra OT de tipo WORKBENCH
Veremos que el nuevo evento que hemos creado se guardará en la tabla: TBE31



Paso 7:
Regenerar las estructuras de los reportes estándar ejecutando los programas RFPOSXEXTEND BALVBUFDEL. Esto se debe de hacer en cada mandante.

Ejecutando el programa: RFPOSXEXTEND


Ejecutando el programa: BALVBUFDEL


Ahora procederemos con las
VALIDACIONES:

Ingresamos a la tcode: FBL3N, ingresamos alguna cta mayor y ejecutamos el reporte:

En mi caso tengo los siguientes registros:

Si deseamos le podemos cambiar el formato de lista:

Modificamos el layout del ALV

En mi caso el nuevo campo ampliado se llama: 'Denominación'
Añadimos a la lista de columnas visualizadas

Resultado:
Ahora en el reporte ya podemos visualizar el dato de nuestro nuevo campo

También a modo de comprobación podemos visualizar el dato técnico de la nueva columna añadida
la cual vemos que hace referencia a nuestro campo ZZTEXTO de la estructura RFPOSXEXT

También puedes ver otro caso de BTE donde se aplica la sustitución de campo de cabecera/líneas para un Doc.Contable, clic aqui


Nos vemos en el siguiente Blog ;)
MAGALEX

Comentarios

  1. Pregunta... hice los pasos que comentas, pero al momento de presentar la columna en el ALV, ésta esta vacia. Ya hice un debbug a la funcion z_sample_interface_00001650 y la variable trae valores pero no se muestran en el ALV. ¿Que pudiera ser?

    ResponderEliminar
    Respuestas
    1. Ya ví que era, estaba nombrando el campo de las estructuras de forma diferente. :s

      Eliminar
  2. Muchas gracias, me ha sido muy útil.

    ResponderEliminar

  3. Buenas Tardes ya he hecho todos los pasos y no me aparece en el layout para agregarlo , y mis campos se llaman igual en las tablas rfpos y rfposx

    ResponderEliminar

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