✒️ABAP El catálogo ALV automático, los logos, los encabezados y los status GUI
ABAP El catálogo ALV automático, los logos, los encabezados y los status GUI
UNIDAD 5: REPORTES
LECCION 7: CATALOGO ALV AUTOMATICO, LOGOS, ENCABEZADOS Y STATUS
1| CREACION DEL CATALOGO EN FORMA AUTOMATICA
- Utilizamos la función REUSE_ALV_FIELDCATALOG_MERGE para cargar el catalog
v_repid = sy_repid
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = v_repid
i_internal_tabname = 'TI_USUARIOS'
i_client_never_display = 'X'
i_inclname = v_repid
CHANGING
ct_fieldcat = ti_catalog[]
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
Considerar lo siguiente:
-Declarar la TI del ALV con LIKE y con referencia a campos de una BD ya existente.
DATA: BEGIN OF ti_usuarios OCCURS 0,
dni LIKE ztabla_usuarios-dni,
nombre_ape LIKE ztabla_usuarios-nombre_ape,
estado_usu LIKE ztabla_usuarios-estado_usu,
dirección LIKE ztabla_usuarios-dirección,
código_postal LIKE ztabla_usuarios-código_postal,
f_nacimiento LIKE ztabla_usuarios-f_nacimiento,
estado_civil LIKE ztabla_usuarios-estado_civil,
END OF ti_usuarios.
- Considerar y configurar el editor, para restringir el ancho de la pantalla a 72.
(solo si la versión es < 6)
>Utilidades
|-> opciones
|-> Editor ABAP
|-> Editor
|-> y Tildamos long. lineras compatib descend.(72)
2| UTILIZACION DE LOGOS Y ENCABEZADOS
- Solo para los tipos de ALV grilla, declarar:
ti_header type SLIS_T_LISTHEADER "Tipo tabla
st_header type SLIS_LISTHEADER "Tipo estructura
Llenamos los datos del encabezado
DATA: v_fecha(10) TYPE c.
CONCATENATE sy-datum 6(2) sy-datum 4(2) sy-datum(4)INTO v_fecha SEPARATED BY '/'.
st_header-typ = 'H'.
st_header-info = 'Listado de Usuarios'.
APPEND st_header TO ti_header.
CLEAR st_header.
st_header-typ = 'S'.
st_header-key = 'Tipo de reporte:'.
st_header-info = 'ALV'.
APPEND st_header TO ti_header.
CLEAR st_header.
st_header-typ = 'S'.
st_header-key = 'Fecha:'.
st_header-info = v_fecha.
APPEND st_header TO ti_header.
CLEAR st_header.
Cuando llamamos a la función ALV, agregamos el parámetro exporting
I_CALL_TOP_PAGE con el literal 'TOP_OF_PAGE', que sera la subrutina que
cargue el contenido y el logo.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = v_repid
it_fieldcat = ti_catalog[]
i_callback_top_of_page = 'TOP_OF_PAGE'
is_layout = st_layout
TABLES
t_outtab = ti_usuarios.
Luego creamos la subrutina TOP_OF_PAGE, y llamamos a la función
'REUSE_ALV_COMMENTARY_WRITE' que carga el encabezado TI_HEADER, con el logo
'ENJOYSAP_LOGO'
FORM top_of_page.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = ti_header
i_logo = 'ENJOYSAP_LOGO'.
ENDFORM.
Nota.- para la creación de ligo o ver los que existen con la TX SE78.
Otra forma de crear y subir logos a SAP es por la TX OAER, donde le damos: PICTURES / OT y
el nombre del logo a crear
3| UTILIZACION DE STATUS GUIS
- Uso del Status_GUI en AlV, agregar el parámetro I_CALLBACK_PF_STATUS_SET
con el literal 'PF_STATUS' q sera el nombre de la subrutina y el parámetro
I_CALLBACK_USER_COMMAND con el literal 'USER_COMMAND' que sera la subrutina
que ejecute y capture la acción realizada por el usuario.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = v_repid
i_callback_pf_status_set= 'PF_STATUS'
i_callback_user_command = 'USER_COMMAND'
it_fieldcat = ti_catalog[]
i_callback_top_of_page = 'TOP_OF_PAGE'
is_layout = st_layout
TABLES
t_outtab = ti_usuarios.
Se define el PF_STATUS
FORM pf_atatus USING rt_extab TYPE slis_t_extab.
SET PF_STATUS '100'.
ENDFORM.
Crear en el estatus, un botón para los use activos.
También crearemos teclas de función F03, F15 F12, para navegar (atrás, volver
a la pantalla principal o salir del programa), en atributos setear el tipo
función con 'E' para que funcione correctamente.
Por ultimo agregaremos la subrutina que captura las acciones del usuario.
FORM user_command USING r_ucomm type syucomm
rs_selfield type slist_selfield.
CASE r_ucomm.
WHEN 'USU_ACTI'.
ENDCASE.
ENDFROM.
Al ejecutar el reporte veremos el botón que si lo ejecutamos, procesa lo contenido
en el subrutina USER_COMMAND
 
 
 
Sobre el autor
Publicación académica de Hernan Cabezas, en su ámbito de estudios para la Carrera Consultor ABAP.
Hernan Cabezas
Peru - Legajo: ZM88T
✒️Autor de: 117 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Hernan Cabezas