🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 X 

✒️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

ABAP El catálogo ALV automático, los logos, los encabezados y los status GUI

Resumen

Unidad 5 lección 7

El catálogo ALV automático, los logos, los encabezados y los estaTus GUI.

1- La creación del catálogo del ALV.

Existen dos formas de crear el catálogo ALV = primera forma manual => campo a campo

FORM armar_catalogo.

REFRESH ti_catalogo.

CLEAR wa_catalogo.

wa_catalago-fieldname = 'DNI' "Nombre del campo

wa_catalago-tabname = 'TI_USUARIOS' "Nombre del campo

wa_catalago-seltext_s = 'DNI' "Descripcion corta cabecera

wa_catalago-seltext_m = 'DNI' "Descripcion media cabecera

wa_catalago-seltext_l = 'DNI' "Descripcion larga cabecera

wa_catalago-outputlen = 10 "ancho de columna

wa_catalago-just = 'C' "Alineacion centrada

APPEND wa_catalogo TO ti_catalogo

2da opcion es crealo automática/ con el modulo de funciones 'REUSE_ALV_FIELDCATALOG_MERGE'

si tomamos el ej anterior => la creacion automático del catalogo seria

FORM armar_catalogo_automático.

CLEAR v_repid.

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_catalogo[]

EXCEPTIONS

inconsistent_interface = 1

program_error = 2

OTHERS = 3

IF sy-subrc NE 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4

ENDIF.

xa poder utilizar el modulo de funciones q crea automatica/ el catálogo vamos a tener q modificar dos puntos del prog.

Primero: Declarar la tabla interna de ALV, en este caso TI_USUARIOS =>tabla interna utilizando la sentencia OCCURS y LIKE y haciendo referencia a campos de una tabla DB existente.

REPORT zreporte_alv_automático.

TYPE -POOLS: slis.

CONSTANTS: c_x(1) TYPE c VALUE 'X'.

* declarar asi xa usuar el MERGE en el catalogo

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,

fnacimiento LIKE ztabla_usuarios-fnacimiento,

nacionalidad LIKE ztabla_usuarios-nacionalidad,

codigo_postal LIKE ztabla_usuarios-codigo_postal,

estado_civil LIKE ztabla_usuarios-estado_civil,

END OF ti_usuarios,

declaración de la tabla interna del catalgo mediante la sentencia OCCURS 0 hace q no sea necesario declarar una cabecera o estructura ya q la misma viene incluida con la tabla interna.

Segundo: configurar el EDITOR ABAP xa q se restrinja la la cantidad de ancho de la pantalla a 72 caracteres. Esto significa q ninguna linea del prog. debe tener + de 72 caracteres de ancho, ya sea comentarios o código.

La configuracion el ancho del EDITOR ABAP a 72 caracteres en la opción del menú es:

= Utilidades

= opciones

= Editor ABAP

y tildamos long lineas compatib descend(72)

sino se realiza esta configuración a 72 caracteres de ancho el prog genera error => dump en pantalla

Ahora bien si generamos el catalogo del ALV en forma automática utilizar el modulo de funciones 'REUSE_ALV_FIELDCATALOG_MERGE' entonces luego de la ejecucion de este modulo de funciones la tabla interna TI_CATALOGO tendra lo sgnte:

Tabla: TI_USURIOS
Tipo tabla Standard table [8 x 56 (732) ]
LINEA ROW COL_POS FIELDNAME TABNAME
1 DNI TI_USUARIOS
2 NOMRE_APE TI_USUARIOS
3 ESTADO_USU TI_USUARIOS
4 DIRECCION TI_USUARIOS
5 FNACIMIENTO TI_USUARIOS
6 NACIONALIDAD TI_USUARIOS
7 CODIGO_POSTAL TI_USUARIOS
8 ESTADO_CIVIL TI_USUARIOS

Si deseamos mofificar alguna de las propiedades de los campos del catalogo del ALV entonces luego de la ejecucion del modulo de funciones 'REUSE_ALV_FIELDCATALOG_MERGE' vamos a tener q modificar el contenido de la tabla interna TI_CATALOGO x Ej: => modificamos el contenido del texto medio correspondiente al campo NOMBRE_APE con TEST asi como lo vemos:

* le cambiamos el nombre de salida a la columna NOMBRE_APE

READ TABLE ti_catalogo WITH KEY fieldname 'NOMBRE_APE' INTO wa_catalogo.

IF sy-subrc EQ 0.

wa_catalogo-seltext_m = 'TEST'.

wa_catalogo-ddictxt = 'M'.

CLEAR v_indice.

v_indice = sy-tabix.

MODIFY ti_catalogo INDEX v_indice FROM wa_catalogo.

ENDIF.

y el resultado es:

REPORTE DE USUARIOS
LUPA - ASC-DESC-FILTRO- entre otros
DNI TEST ESTADO_USU DIRECCION FECHA_NACIMIENTO NACIONALIDAD CODIGO_POSTAL
1111 NNNN I AAAAAVVVVV DDMMYYYY EEEEEEE 5555555

2 - La utilización de logos y encabezados en los ALV

En los ALV GRILLA podemos agregar logos q encabezados en los listados, en cambio no es posible en el ALV LIST. xa ello debemos declarar una tab int de tipo SLIS_T_LISTHEADER y una estructura de tipo SLIS_LISTHEADER tal como vemos:

* tabla interna y estructura xa la cabecera

ti_header TYPE slis_t_listheader,

wa_header TYPE slis_listheader.

Antes de declarar la subrutina q genera el catalogo de ALV en forma automática vamos a declarar la subrutina LLENAR_CABECERA asi:

* completamos la cabecera del ALV

PERFORM llenar_cabecera.

y dentro de la subrutina LLENAR_CABECERA vamos a llenar tambie la tabla interna TI_HEADER con el encabezado del reporte y la fecha del sist.

FORM llenar_cabecera.

DATA: vl_fecha(10) TYPE c.

CLEAR vl_fecha.

CONCATENATE sy-datum+6(2) sy-datum+4(2) sy-datum(4)

INTO vl_fecha SEPARATED BY '/'.

REFRESH ti_header.

CLEAR wa_header.

wa_header-typ = 'H'.

wa_header-info = 'Listado de usuarios'.

APPEND wa_header TO ti_header.

CLEAR wa_header.

wa_header-typ = 'S'.

wa_header-key = 'Tipo de Reporte'.

wa_header-info = 'ALV'.

APPEND wa_header TO ti_header.

CLEAR wa_header.

wa_header-typ = 'S'.

wa_header-key = 'Fecha:'.

wa_header-info = 'vl_fecha'.

APPEND wa_header TO ti_header.

ENDFORM.

Luego agregamos en la llamada el modulo de funciones de ALV. el parámetro exporting I_CALL_TOP_PAGE con literal TOP_OF_PAGE q sera el nombre de la subrutina q cargue el contenido del encabezado y el logo.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

......

......

i_callback_top_of_page = 'TOP_OF_PAGE'

.......

Ahora vamos a crear la subrutina TOP_OF_PAGE con la llamada al modulo de funciones 'RESUSE_ALV_COMENTARY_WRITE' el cual carga el encabezado q definimos en la tabla interna TI_HEADER, junto con el log 'ENJOYSAP_LOGO'.

FORM top_of_page.

CALL FUNCTION 'REUSE_ALV_COMENTARY_WRITE'

EXPORTING

it_list_commentary = ti_header

i_logo = 'ENJOYSAP_LOGO'.

ENDFORM.

=> TX SE78 xa la admon de los logos disponibles en el sist .

ejecutamos el prog y se ve asi:

Listado de Usuarios

Tipo de reporte: ALV

Fecha: 10/03/2022

LOGO EMPRESA

TX OAER => subir logo a SAP.

En la pantalla de seleccion

nombre Clase : Picture

tipo de Clase : OT

clave de Objeto : 'LOGO_EMPRESA'

Ejecutamos la TX

en la sgnte pantalla => Documento estándar y luego el icono imagen. en la ventana de diálogo se carga la imagen

si deseamos agregar la imagen a la OT debemos acceder al menu "documentos transportar"

3- La utilización de un status GUI en un ALV.

xa poder utilizar un status gui en un reporte ALV, vamos agregar en la llamada del modulo de funciones de ALV el parámetro exporting I_BACK_PF_STATUS_SET con el literal 'PF_STATUS' q será el nombre de la subrutina q declara la utilización del status GUI y el parámetro exporting I_CALLBACK_USER_COMMAND con el literal 'USER_COMMAND' q será el nombre de la subrutina q se ejecuta xa capturar la acción realizada x el usuario.

i_callback_pf_status_set = 'PF_STATUS'

I_callback_user_command = 'USER_COMMAND'

Ahora definimos la subrutina PF_STATUS

FORM pf_status USING rt_extab TYPE slis_t_extab.

set PF-STATUS '0100'

ENDFORM.

vamos a crear un status GUI => clic derecho y seleccionamos = Crea

= STATUS GUI

completamos el nombre del status q es 0100 y un texto breve q es STATUS 0100 asi:

Programa: ZREPORTE_ALV_AUTOMATICO

Status : 0100

Texto Breve: Status 0100

(chulo) Status dialogo

Dentro de la barra de pulsadores vamos a crear el boton con la descripcion 'usuarios activos' y el código 'USU_ACTI'

En las teclas de funciones del status GUI 0100 agregamos los códigos de navegacion xa poder volver atras (BACK) volver a la pantalla ppal (EXIT) o salir del prog. (CANCEL)

Si hacemos doble clic en c/u de los códigos de los botones de navegacion entonces podemos configurarlos => tipo de función 'E' sino funcionará como esperamos

x ultimo agregamos la subrutina USER_COMMAND q capturará las acciones realizadas x el usuario.

FORM user_command USING r_ucomm TYPE syucomm

se_selfield TYPE slis_selfield

CASE r_ucomm.

WHEN 'USU_ACTI'

ENDCASE.

final/ si ejecutamos el reporte, veremos en el status GUI, el boton de usuarios y q ejecutamos se procesa el codigo existente en la subrutina USER_COMMAND.

Reporte de Usuarios

boton USUARIOS ACTIVOS

con boton atras (<<<)

volvemos a la pantalla ppal

* ALV GRILLA

* ALV LISTA


 

 

 


Sobre el autor

Publicación académica de Gustavo Betancur Guzmán, en su ámbito de estudios para la Carrera Consultor ABAP.

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "El catálogo ALV automático, los logos, los encabezados y los status GUI" de la mano de nuestros alumnos.

SAP Senior

Catálogo ALV automático, logos, encabezados y status. Creación del catálogo en forma automática. Dos formas de crear el catálogo. - Forma manual. - Usando la función REUSE_ALV_FIELDCATALOG_MERGE. Para la forma automática habría que declarar la tabla con LIKE haciendo referencia a los campos de la tabla transparente que queramos usar. Utilización de Logos y encabezados. Para agregar los logos y los encabezados se tendrá que declarar una tabla interna del tipo SLIS_T_LISTHEADER y una estructura del tipo SLIS_LISTHEADER. Para cargar la tabla interna y el logo se usa la función REUSE_ALV_COMENTARY_WRITE. Transacción SE78 se utiliza para ver los logos disponibles...

Acceder a esta publicación

Creado y Compartido por: Carlos Rodriguez Escudero / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

Resumen Lección: Catálogo ALV automático, logos, encabezados y status Creación del catálogo en forma automática Existen dos formas de crear el catálogo del ALV, la primera es en forma manual, ingresando campo por campo, tal como hicimos en el ejemplo de la lección anterior. La segunda, es crear el catálogo en forma automática con la función RESUSE_ALV_FIELDCATALOG_MERGE. Utilización de Logos y encabezados En los ALV Grilla podemos agregar logos y encabezados en los listados. Para ello, debemos declarar una tabla del tipo SLIS_T_LISTHEADER y una estructura del tipo SLIS_LISTHEADER, Utilización de Status GUIs Para poder utilizar un Status GUI en un reporte...

Acceder a esta publicación

Creado y Compartido por: Alexander José Tovar Rodríguez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

Lección: Catálogo ALV automático, logos, encabezados y status 1. Creación del catálogo en forma automática Forma manual, ingresando campo por campo. 2. Utilización de Logros y encabezados Transacción SE78 ver logros sisponibles en el sistema o cargar nuevos debemos utilizar. 3. Utilización de STATUS GUIS

Acceder a esta publicación

Creado y Compartido por: Edwin Cesar Condor Vilcapuma / Disponibilidad Laboral: PartTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

1_ Creación del catálogo en forma automática: dos formas de crear el catálogo del ALV. Primera en forma manueal, la segunda es crear el catálogo en forma automática en la función REUSE_ALV_FIELDCATALOG_MERGE 2- Utilización de Logos y encabezados Transacción SE78: para ver los logos disponibles en el sistema o cargar nuevos debemos utilizar la transacción SE78. Audio Tips 1: otra posibilidad de la que disponemos para subir logos a SAP a parte de la transacción SE78 es la transacción OAER, luego en la pantalla de selección que vemos se completan los parametros nombre clase se introduce el text 3- Utilización de Status GUIs

Acceder a esta publicación

Creado y Compartido por: Claudio Marcelo Dario Haikel

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert

El catálogo ALV automático, los logos, los encabezados y los status GUI LECCION 7º DE 10 1- la creacion del catalogo del ALV en forma automatica. 2 formas: manual: ingresando campo a campo automatica: con modulo de funciones REUSE_ALV_FIELDCATALOG_MERGE. Se declara la ti utilizando la sentencia occurs 0 y like. restingir la cantidad de caracteres de ancho pantalla a 72 caracteres. En utolidades--> opciones--> editor--> tildar long lineas compatib descend(72). 2- La utilizacion de logos y encabezados en los AVL. declarar la ti del tipo slis_t_listheader y la wa del tipo slis_listheader. crear la subrutinas llenar_cabecera se llena la ti_header agreamos el parametro i_call_tope_page...

Acceder a esta publicación

Creado y Compartido por: Pablo Adrian Oggero

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Lección: Catalogo ALV automático, logos, encabezado y status 1. CREACIÓN DEL CATALOGO EN FORMA AUTOMÁTICA Existen 2 formas de crear el catalogo del ALV, la primera es en forma manual ingresando campo por campo. La segunda es crear el catalogo en forma automática con la función reuse_alv_fieldcatalog_merge. Si se crea el catalogo de forma automática se debe declarar la tabla interna utilizando Like haciendo referencia a campos de una tabla BD existente. El editor se debe restringir en la cantidad de caracteres de ancho de la pantalla a 72 2. UTILIZACIÓN DE LOGS Y ENCABEZADOS En los reportes ALV "grillas" se pueden agregar logos y encabezados en los listados. Para ello se declara...

Acceder a esta publicación

Creado y Compartido por: Javier Mirabal

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Creación de catálogo en forma automática Existen dos formas de crear el catálogo de ALV, la primera es en forma manual, ingresando campo por campo, la segunda es en forma automática con la función REUSE_ALV_FIELDCATALOG_MERGE. Para poder hacerlo de esta forma debemos declarar la tabla interna utilizando LIKE y haciendo referencia a campos de una tabla base de datos existente. Utilización de Logos y encabezados En los VL Grilla podemos agregar logos y encabezados en los listados. Para ello debemos declarar una tabla del tipo SLIS_T_LISTHEADER y una estructura de tipo SLIS_LISTHEADER. Para ver los logos disponibles o crear nuevos debemos utilizar la tx SE78, también podemos hacerlo con la...

Acceder a esta publicación

Creado y Compartido por: Victor Manuel Gomez Escalona

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

1|CRECION DEL CATALOGO EN FORMA AUTOMATICA SE PUEDE CREAR * DE FORMA MANUAL INGRESANDO CAMPO POR CAMPO * CON LA FUNCION REUSE_ALV_FIELDCATALOG_MERGE SI CREAMOS UN CATALAGO EN FORMA AUTOMATICA DEBEMOS DELARAR LA TABLA INTERNA UTILIZANDO LIKE Y HACIENDO REFERENCIA A CAMPOS DE UNA TABLE BASE DE DATOS EXISTENTE. 2|UTILIZACION DE LOGOS Y ENCABEZADOS EN LOS ALV GRILLA PODEMOS AGREGAR LOGOS Y ENCABEZADOS EN LOS LISTADOS.SE DEBE DECLARAR UNA TABLA DEL TIPO SLIS_T_LISTHEADER Y UNA ESTRUCTURA DE TIPO SLIS_LISTHEADER. EN LA LLAMADA DE LA FUNCION SE AGREGARA EL PARAMETRO EXPORTING I_CALL_TOP_PAGE CON EL LITERAL TOP_OF_PAGE QUE SERA EL NOMBRE DE LA SUBRUTINA QUE CARGUE EL CONTENIDO DEL ENCABEZADO Y EL LOGO. SE78 SE UTILIZA PARA VER LOS LOGOS DISPONIBLES...

Acceder a esta publicación

Creado y Compartido por: Luis Eugenio Leyva Orozco

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Lección 7/9: CATALOGO ALV AUTOMÁTICO, LOGOS, ENCABEZADOS Y STATUS 1. CREACIÓN DEL CATALOGO EN FORMA AUTOMÁTICA Existen dos formas de crear el catalogo del ALV. 1.- Forma Manual: ingresando campo por campo, tal como hicimos en el ejemplo de la lección anterior. 2.- Forma Automática: con la función REUSE_ALV_FIELDCATALOG_MERGE. 2. UTILIZACIÓN DE LOGOS Y ENCABEZADOS En los ALV Grilla podemos agregar logos y encabezados en los listados. Para ello, debemos declarar una tabla del tipo SLIS_T_LISTHEADER y una estructura del tipo SLIS_LISTHEADER. Sintaxis. *Tabla y estructura para la cabecera ti_header TYPE slis_t_listheader, st_header TYPE slis_listheader. TRANSACCIÓN...

Acceder a esta publicación

Creado y Compartido por: Ruben Santiago Cuenca Balanza / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Creación del catálogo en forma automatica Existen dos formas de crear el catálogo del ALV una de forma manual es decir ingresando campo por campo y la segunda es crearlo de forma automatica con la funcion RESUSE_ALV_FIEDCATALOG_MERGE Para realizarlo de forma automatica se debe modificar dos puntos en el programa. El primero es como se declara la tabla interna del ALV Si se crea de forma automatica debemos declarar la tabla utilizando LIKE y haciendo referencia a campos de una tabla de base de datos existente, ejemplo. DATA: BEGIN OF ti_usuarios OCCURS 0, dni LIKE ztabla_usuarios-dni, etc etc etc El segundo punto es configurar el editor para que restrinja la cantidad de caracteres de ancho de la pantalla a 72 Utilización...

Acceder a esta publicación

Creado y Compartido por: Jesus Enrique Ramos Bello / Disponibilidad Laboral: FullTime + Carta Presentación

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 79.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!