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
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:
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:
- Ampliar las estructuras RFPOS y RPOSX, añadir el nuevo campo a visualizar en el reporte.
- 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)
- Copiar la función estándar BTE SAMPLE_INTERFACE_00001650 a una función Z
- Implementar el código fuente dentro de la función Z para que realice nuestro objetivo en el campo nuevo.
- Crear un producto cliente desde la tcode FIBF->Opciones->Productos->...de un cliente
- 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
- 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
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 00001650, desde:
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 y 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
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?
ResponderEliminarYa ví que era, estaba nombrando el campo de las estructuras de forma diferente. :s
EliminarMuy bien Jeremias, éxitos!!!
EliminarMuchas gracias, me ha sido muy útil.
ResponderEliminar
ResponderEliminarBuenas 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