✒️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
CREACION DEL CATALOG ALV DE FORMA AUTOMÁTICA
Para hacerlo hay que usar la función: REUSE_ALV_FIELDCATALOG_MERGE
Pero poderlo usar hay que cambiar algunas cosas
Primero: definición de la tabla interna del ALV
Hay que utilizar LIKE en la definición de los tipos y haciendo referencias a los campos de una tabla de base de datos existentes
Ejemplo
DATA: BEGIN OF ti_usuarios OCCURS 0,
dni LIKE ztabla_usuarios-dni,
nombre LIKE ztabla_usuarios-nombre,
apellido LIKE ztabla_usuarios-apellidos,
END OF ti_usuarios.
Segundo: restringir el ancho del editor a 72 lineas
Para ello UTILIDADES -> OPCIONES -> EDITOR ABAP -> EDITOR
Marcamos LONG.LINEAS COMPATIB DESCEND.(72)
La llamada al función quedaría así:
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_catalogo [ ]
EXCEPTION
inconsistent_interface = 1
program_error = 2
OTHERS 3.
UTILIZACION DE LOGOS Y ENCABEZADOS EN ALV
Primero: Para utilizar logos y encabezados en ALV debemos declarar una tabla del tipo SLIS_T_LISTHEADER y una estructura del tipo SLIS_LISTHEADER
Ejemplo
DATA: ti_header TYPE slis_t_listheader,
st_header TYPE slis_listheader.
Antes de completar el catálogo hay que llenar la tabla ti_header con el encabezado del reporte
Ejemplo
st_header-typ = ‘H’. “tipo de título.
st_header-info = ‘Lista de usuarios’. “el texto que se muestra de título
APPEND st_header TO ti_header.
CLEAR st_header.
st_header-typ = ‘S’. “tipo de título.
st_header-key = ‘Tipo de reporte: ’. “clave de texto
st_header-info = ‘ALV’. “el texto de la key
APPEND st_header TO ti_header.
Segundo: agregar en la llamada a la función ALV el parámetro de EXPORTING i_call_top_page con el literal ‘TOP_OF_PAGE’
En este caso el literal TOP_OF_PAGE es la subrutina a la que se llamara para cargar el texto del encabezado y el logo del ALV
Ejemplo:
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.
Tercero: definir ls subrutina TOP_OF_PAGE
Dentro de ella hay que llamar a la función REUSE_ALV_COMMENTARY_WRITE que cargara el encabezado definido en el primer paso y el logo
Ejemplo:
FORM top_of_page.
CALL FUNCTION ‘REUSE_ALV_COMMENTARY_WRITE’
EXPORTING
it_list_commentary = ti_header
i_logo = ‘ENJOYSAP_LOGO’.
ENDFORM.
VER Y AÑADIR LOGOS AL SISTEMA
Con la Tx SE78 podemos ver el listado de logos disponibles en el sistema o cargar nuevos.
También podemos usar la Tx OAER
En el parámetro nombre de clase introducimos pictures
En el parámetro tipo de clase ot
En el parámetro clave del objeto el nombre del logo
Luego se ejecuta y en la siguiente pantalla documento standard
Pulsamos sobre imagen
Y nos dejara seleccionar nuestra imagen
Para crear una orden de transporte tenemos que acceder al menú documentos transportar
STATUS GUI EN ALV
Para poder ustilizar STATUS GUI en ALV hay que agregar una llamada a la función I_CALLBACK_PF_STATUS_SET con el literal PF_STATUS que es la subrutina que se declare para usar los STATUS y luego una llamada a I_CALLBACK_USER_COMMAND con el literal ‘USER_COMMAND’ que es el nombre de la subrutina que se ejecutara para capturar las acciones del usuarario.
Ejemplo:
CALL FUNCTION ‘REUSE_ALV_GRID_DISPLAY’
EXPORTING
i_callback_program = v_repid
i_callback_ps_status_set = ‘PF_STATUS’
i_callback_user_command = ‘USER_COMMAND’
it_fieldcat = ti_catalogo [ ]
i_callback_top_of_page = ‘TOP_OF_PAGE’
is_layout = ti_layout
TABLES
t_outtab = ti_usuarios.
La subrutina PF_STATUS
FORM pf_status USING rt_extab TYPE slit_textab.
SET PF-STATUS ‘0100’.
ENDFORM.
Si agregamos botones de atrás, adelante, salida hay que marcarlos como tipo E o no funcionaran.
Subrutina USER_COMMAND
FORM user_command USING r_ucomm TYPE syucomm
rs_selfield TYPE slis_selfield.
CASE r_ucomm.
WHERE ‘USU_ACTI’.
ENDCASE.
ENDFORM.
 
 
 
Sobre el autor
Publicación académica de Josep Antoni Lopez Moyano, en su ámbito de estudios para la Carrera Consultor ABAP.
Josep Antoni Lopez Moyano
Profesión: It Manager - España - Legajo: QP26P
✒️Autor de: 375 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP HCM Nivel Inicial
- Carrera Consultor Basis NetWeaver Nivel Avanzado
- Carrera Consultor Basis NetWeaver Nivel Inicial
- Máster Funcional ABAP
- Máster ABAP Orientado a Objetos
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial