✒️ABAP Los reportes interactivos
ABAP Los reportes interactivos
Reporte Interactivo
Es un tipo de reporte ABAP que muestra una lista , seleccionando un registro de la lista muestra otra lista y asi sucesivamente por cuantos niveles tenga el listado. **Esto es solo online ya que requiere una interaccion con el usuario.
Eventos y variables de un reporte interactivo
Cuando se clickea alguna posicion de la lista inicial , se ejecutara el evento AT LINE-SELECTION , debemos ubicarlo luego del START-OF-SELECTION . En dicho momento se cargan algunas variables utiles
SY-LSIND: Contiene el indice de la lista de detalle
SY-LISEL: Contiene el contenido de la linea seleccionada.
SY-LILLI:Contiene la linea seleccionada de la lista . Comenzando desde la primera linea que corresponde al titulo.
SY-CUROW: Contiene la posicion del cursor vertical en la pantalla
Se utilizara el evento TOP-OF-PAGE DURING LINE-SELECTION para imprimir por pantalla los textos de las cabeceras de las listas
*Programas de practica
DEMO_LIST_INTERACTIVE_1
DEMO_LIST_INTERACTIVE_2
DEMO_LIST_INTERACTIVE_3
DEMO_LIST_INTERACTIVE_4
Mi primer reporte interactivo.
**No olvidar ingresar registros y crear su interfaz de actualizacion (SM30 ) , (Utilidades / Generar Tab (&NC& / NOMBRE_TABLA / UN NIVEL / Buscar Imagene))
Modificacion de una tabla base de datos.
Debido a que realizamos cambios en la estructura de la tabla , tendremos que adaptar la tabla base de datos , utilizando la opcion del menu
Utilidades / Objeto Base de datos / utilidades base de datos / Activar y adaptar base de datos.
Luego creamos el reporte zreporte_int_usuarios (SE38)
REPORT ZREPORTE_INT_USUARIOS_XT66M.
DATA: ti_usuarios TYPE STANDARD TABLE OF ZTABLA_USU_XT66M,
wa_usuarios LIKE LINE OF ti_usuarios.
START-OF-SELECTION.
CLEAR ti_usuarios.
REFRESH ti_usuarios.
SELECT * FROM ZTABLA_USU_XT66M INTO tABLE ti_usuarios.
LOOP AT ti_usuarios INTO wa_usuarios.
FORMAT COLOR COL_TOTAL INTENSIFIED.
WRITE:/ wa_usuarios-dni,wa_usuarios-nombre_ape.
ENDLOOP.
]Luego agregaremos el evento AT LINE-SELECTION
AT LINE-SELECTION.
v_dni = sy-lisel(8).
PERFORM generar_reporte_nivel2.
FORM GENERAR_REPORTE_NIVEL2 .
READ TABLE ti_usuarios INTO wa_usuarios WITH KEY dni = v_dni.
IF sy-subrc EQ 0.
FORMAT COLOR COL_HEADING INTENSIFIED.
WRITE:/1(50) sy-uline.
WRITE:/1(1) sy-vline,
2(20) 'DNI',
22(1) sy-vline,
23(27) wa_usuarios-dni,
50(1) sy-vline.
WRITE:/1(1) sy-vline,
2(20) 'Nombre y Apellido',
22(1) sy-vline,
23(27) wa_usuarios-nombre_ape,
50(1) sy-vline.
WRITE:/1(1) sy-vline,
2(20) 'Estado usuario',
22(1) sy-vline,
23(27) wa_usuarios-estado_usu,
50(1) sy-vline.
WRITE:/1(1) sy-vline,
2(20) 'Dirección',
22(1) sy-vline,
23(27) wa_usuarios-direccion,
50(1) sy-vline.
WRITE:/1(1) sy-vline,
2(20) 'Código postal',
22(1) sy-vline,
23(27) wa_usuarios-codigo_postal,
50(1) sy-vline.
WRITE:/1(1) sy-vline,
2(20) 'Fecha Nacimiento',
22(1) sy-vline,
23(27) wa_usuarios-f_nacimiento,
50(1) sy-vline.
WRITE:/1(50) sy-uline.
ENDIF.
ENDFORM.
Depues utilizaremos TOP-OF-PAGE DURING LINE-SELECTION para imprimir por pantalla la cabecera de cada nivel de listados de detalle.
*----------------------------------------------------------------------*
TOP-OF-PAGE DURING LINE-SELECTION.
*----------------------------------------------------------------------*
WRITE:/ 'Detalle de los Usuarios', sy-uline.
Luego ejecutamos el programa.
***Podemos mostrar en una ventana de dialogo utilizando la sentencia WINDOWS STARTING AT
WINDOW STATING AT 1 15
ENDING AT 79 23
**Se pueden crear tantos niveles de listados como se requiera.
El nivel de listado donde estamos lo tendremos en la variable SY-LSIND
 
 
 
Sobre el autor
Publicación académica de Fabian Samir Geldres Del Carpio, en su ámbito de estudios para la Carrera Consultor ABAP.
Fabian Samir Geldres Del Carpio
Profesión: Computación E Informatica - Peru - Legajo: XT66M
✒️Autor de: 51 Publicaciones Académicas
🎓Cursando Actualmente: Consultor Funcional Módulo PP
🎓Egresado del módulo:
Certificación Académica de Fabian Geldres