✒️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
Catalogo ALV automatico, logos, encabezados y status
1. Creacion del catalogo en forma automatica
La otra forma de crear Catalogos automaticos es con la funcion REUSE_ALV_FIELDCATALOG_MERGE.
Para eso:
V_repid = sy-repid.
CALL FUNCTIN '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_catalogo()
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
Pero para esto la tabla ALV se declara de otra forma.
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,
direccion LIKE ztabla_usuarios-direccion,
codigopostal LIKE ztabla_usuarios-codigopostal,
f_nacimiento LIKE ztabla_usuarios-f_nacimiento,
estado_civil LIKE ztabla_usuarios-estado_civil,
end of ti_usuarios.
Lo otro que debemos hacer es configurar el editor, para que se restrinja la cantidad de caracteres de ancho de la pantalla a 72.
Para eso:
Utilidades, opciones, Editor ABAP, editor, y tildamos long.lineas compatib. descend.(72)
2 utilizacion de logos y encabezados
En los ALV grilla podemos agregar logos y encabezados.
SLIS_T_LISTHEADER tabla estandard que se utiliza para la construccion de cabeceras en los reportes ALV.
SLIS_LISTHEADER estructura estandard SAP que se utiliza para la construccion de cabeceras en los reportes SAP.
ti_header type slis_t_listheader,
st_header type slis_listheader.
Antes de completar el catalogo, se llena la tabla TI_Header con el encabezado.
DATA: v_fecha(10) type c.
Concatenate sy-datum 6(2) sy-datum 4(2) sy-datum(4) into v_fecha separed 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 reportes'
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.
Luego
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
exporting
i_callback_program = v_repid
it_fieldcat = ti_catalogo()
i_callback_top_of_page = 'TOP_OF_PAGE'
is_layout = st_layout
TABLES
t_outtab = ti_usuarios.
Ahora se crea la rutina top_of_page.
con la llamada a la funcion REUSE_ALV_COMMENTARY_WRITE que carga el encabezado que definimos en la tabla interna TI_Header. con el logo.
FORM top_pf_page.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = ti_header
i_logo = 'ENJOYSAP_LOGO'
ENDFORM.
SE78 para ver logos disponibles o cargar nuevos.
OAER tambien es para cargar LOGOS y completamos los parametros,
nombre Clase = pictures
tipo de clase = OT
Clave del objeto = el nombre del logo
y en la sigueinte pantalla documento Estandard.
seleccionamos el icono imagen
y para agregarlo a una orden de transporte, documentos transportar.
3. Utilización de STATUS GUIs
Para usar un status gui en un reporte ALV se agrega en la llamada del alv el parametros exporting I_CALLBACK_PF_STATUS_SET con el literal PF_STATUS, que sera el nombre de la subrutina que declare la utilizacion del status GUI y el parametro exporting I_CALL_BACK_USER_COMMAND con el literal 'USER_COMMAND, que sera el nombre de la subrutina que se ejecute para capturar la accion realizada por el usuario.
CALL FUNCTIO '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_catalogo()
i_callback_top_of_page = 'TOP_OF_PAGE'
is_layout = st_layout
TABLES
t_outtab = ti_usuarios.
Subrutina pf_status que setea el status
FORM pf_status USING rt_extab TYPE slis_t_extab.
SET PF-STATUS '0100'.
ENDFORM.
IMPORTANTE Para setear teclas de funcion el tipo de funcion debe ser igual a "E".
Se agrega la funcion para capturar las acciones de los usuarios.
FORM user_command USING r_ucomm TYPE syucomm
rs_selfield TYPE slis_selfield.
CASE r_ucomm.
when 'usu_acti'.
ENDCASE.
ENDFORM.
CALL
 
 
 
Favorito:
Está publicación ha sido agregada a sus favoritos por: Joaquin Garcia Marrero
Sobre el autor
Publicación académica de Silvia Marina Carrizo, en su ámbito de estudios para la Carrera Consultor ABAP.
Silvia Marina Carrizo
Profesión: Analista Senior Genexus - Argentina - Legajo: ER54O
✒️Autor de: 61 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Silvia Carrizo