Report basado en LDB PNP
A continuación se detalla un ejemplo de programa ABAP del módulo HCM basado en la BDL PNP, maestro de personal.
REPORT ZEJEMPLO_PNP.
TABLES: PERNR.
INFOTYPES: 0000, 0001. "Definición de los infotipos a utilizar
DATA: L_NUM TYPE I.
START-OF-SELECTION.
GET PERNR.
* Lectura del infotipo 1 atendiendo a las fechas de selección
RP-PROVIDE-FROM-LAST P0001 SPACE PN-BEGDA PN-ENDDA.
IF PNP-SW-FOUND = '1'.
ADD 1 TO L_NUM.
* Escribir datos del empleado seleccionado, a saber:
* Nr. de personal, nombre completo, código de sociedad, grupo de personal, área
* de personal y división de personal
WRITE: / 'P0001', P0001-PERNR, P0001-ENAME, P0001-BUKRS, P0001-PERSG,
P0001-PERSK, P0001-WERKS.
ELSE.
* Pasar al siguiente empleado
REJECT.
ENDIF.
END-OF-SELECTION.
* Detalle del número de empleados seleccionados
WRITE: SY-ULINE.
WRITE: / 'NR. DE EMPLEADOS SELECCIONADOS: ', L_NUM.
TOP-OF-PAGE.
* Escribir cabeceras
WRITE: SY-ULINE.
WRITE: / 'IT 1', 'PERNR', 'NOMBRE Y APEL.', 'SOCIEDAD', 'GRP.PERS.', 'ÁREA PERS.', 'DIV.PERS.'.
WRITE: SY-ULINE.
Requerimientos: En los atributos del report se establece como Base de datos Lógica, la PNP.
Descripción: Este report muestra los datos de empleados más importantes del IT 1.
Filtro: En el filtrado estándar en base a la BDL PNP marcamos año actual, ponemos status de ocupación 3 y un valor para nuestra sociedad. De ésta forma nos aseguramos que seleccionamos a los empleados activos del año actual para la sociedad definida.
Características: Uso de macroinstrucciones y base de datos lógica PNP.
REPORT ZEJEMPLO_PNP.
TABLES: PERNR.
INFOTYPES: 0000, 0001. "Definición de los infotipos a utilizar
DATA: L_NUM TYPE I.
START-OF-SELECTION.
GET PERNR.
* Lectura del infotipo 1 atendiendo a las fechas de selección
RP-PROVIDE-FROM-LAST P0001 SPACE PN-BEGDA PN-ENDDA.
IF PNP-SW-FOUND = '1'.
ADD 1 TO L_NUM.
* Escribir datos del empleado seleccionado, a saber:
* Nr. de personal, nombre completo, código de sociedad, grupo de personal, área
* de personal y división de personal
WRITE: / 'P0001', P0001-PERNR, P0001-ENAME, P0001-BUKRS, P0001-PERSG,
P0001-PERSK, P0001-WERKS.
ELSE.
* Pasar al siguiente empleado
REJECT.
ENDIF.
END-OF-SELECTION.
* Detalle del número de empleados seleccionados
WRITE: SY-ULINE.
WRITE: / 'NR. DE EMPLEADOS SELECCIONADOS: ', L_NUM.
TOP-OF-PAGE.
* Escribir cabeceras
WRITE: SY-ULINE.
WRITE: / 'IT 1', 'PERNR', 'NOMBRE Y APEL.', 'SOCIEDAD', 'GRP.PERS.', 'ÁREA PERS.', 'DIV.PERS.'.
WRITE: SY-ULINE.
Comentarios
Publicar un comentario