✒️ABAP / El ALV Grid Control Por Jaime Gomez Arango

Selector Alummnos / Empresas

ABAP El ALV Grid Control

ABAP El ALV Grid Control

ALV Grid Control

In SAP, you can create Z controls using ABAP objects. One of these controls is the ALV GRID CONTROL, which allows you to create ALV reports using objects. With this control, you have access to all standard menu bar functions and can configure all ALV properties to suit your needs. To create the ALV, we use a Container, represented by the class CL_GUI_CUSTOMER_CONTAINER, which provides the physical area for object visualization. This container can hold other controls besides the ALV GRID CONTROL, such as Tree Control, SAP Picture Control, SAP Splitter Control, and more.

The container provides a physical area for object visualization. All controls exist within a container.

Two objects are used to manage Z controls and the ALV GRID CONTROL:

  • CL_GUI_CUSTOM_CONTAINER.
  • CL_GUI_ALV_GRID.

Note: You can view all attributes, methods, and other configurations of objects through the "Class Builder" transaction SE24.

Steps for Creating ALV Grid Control

  • Report Creation: Create a report (ZPRUEBA_ALV_GRID_OBJETOS) and declare:

TYPE-POOLS: slis.
* Output table of ALV
DATA: ti_usuarios TYPE STANDARD TABLE OF ztabla_usuarios,
st_usuarios LIKE LINE OF ti_usuarios.
* Catalog table and structure
DATA: ti_catalogo TYPE lvc_t_fcat,
st_catalogo LIKE LINE OF ti_catalogo,
ok_code TYPE sy-ucomm,
o_grilla TYPE REF TO cl_gui_alv_grid,
o_contenedor TYPE REF TO cl_gui_custom_container.

  • Data Retrieval and ALV Display: Perform data selection in the ZTABLA_USUARIOS table in the START-OF-SELECTION event. In the END-OF-SELECTION event, call dynpro 0100, which stores the ALV.

*----------------------------------------------------------------------*
START-OF-SELECTION.
*----------------------------------------------------------------------*
PERFORM seleccion_datos.
*----------------------------------------------------------------------*
END-OF-SELECTION.
*----------------------------------------------------------------------*
CALL SCREEN 0100.

  • Dynpro and GUI Status Creation: Create Dynpro 0100 and GUI Status 0100 with standard navigation buttons. Assign OK_CODE to the dynpro. Use the Screen Painter through transaction SE80 to create a Custom Control, which serves as the container for our ALV. Then, in the dynpro's element list, assign the name CONTENEDOR to the Custom control. In the dynpro processing logic, create modules:

PROCESS BEFORE OUTPUT.
MODULE status_0100.
MODULE crear_objetos_0100.
PROCESS AFTER INPUT.
MODULE salir_0100.
MODULE user_command_0100.

  • Creating Objects: In the CREAR_OBJETOS_0100 module, create the objects O_CONTENEDOR and O_GRILLA:

MODULE crear_objetos_0100 OUTPUT.
IF o_contenedor IS INITIAL.
CREATE OBJECT o_contenedor
EXPORTING
container_name = 'CONTENEDOR'.

CREATE OBJECT o_grilla
EXPORTING
i_parent = o_contenedor.

PERFORM armar_catalogo.

CALL METHOD o_grilla->set_table_for_first_display
CHANGING
it_outtab = ti_usuarios
it_fieldcatalog = ti_catalogo[].

ELSE.
CALL METHOD o_grilla->refresh_table_display
EXPORTING
i_soft_refresh = 'X'
EXCEPTIONS
finished = 1
OTHERS = 2.
ENDIF.
ENDMODULE. " CREAR_OBJETOS_0100 OUTPUT

  • Exiting the Program: In the SALIR_0100 module, release objects O_CONTENEDOR and O_GRILLA, and return to the initial screen.

MODULE salir_0100 INPUT.
CALL METHOD o_grilla->free.
CALL METHOD o_contenedor->free.
LEAVE PROGRAM.
ENDMODULE. " SALIR_0100 INPUT

Note: When working with ALV_GRID_CONTROL, it may be convenient to create a selection screen, and based on user parameters, call different dynpros using CALL_SCREEN statement. This program would be a hybrid between a dialog program and a classical report. In this situation, for example, a CALL_SCREEN is made to dynpro 0100, and when the BACK button is pressed, we want to return to the selection screen. Within the BACK button code, execute the statement LEAVE TO SCREEN 0 instead of LEAVE PROGRAM.

E.g

*&---------------------------------------------------------------------*
*& Report ZPRUEBA_ALV_GRID_OBJETOS
*&---------------------------------------------------------------------*
REPORT zprueba_alv_grid_objetos.

TYPE-POOLS: slis.

* Tabla de salida del ALV
DATA: ti_usuarios TYPE STANDARD TABLE OF ztabla_usuarios,
st_usuarios LIKE LINE OF ti_usuarios.

* Tabla y estructura del catalogo
DATA: ti_catalogo TYPE lvc_t_fcat,
st_catalogo LIKE LINE OF ti_catalogo,
ok_code TYPE sy-ucomm,
o_grilla TYPE REF TO cl_gui_alv_grid,
o_contenedor TYPE REF TO cl_gui_custom_container.

*----------------------------------------------------------------------*
START-OF-SELECTION.
*----------------------------------------------------------------------*
PERFORM seleccion_datos.

*----------------------------------------------------------------------*
END-OF-SELECTION.
*----------------------------------------------------------------------*
CALL SCREEN 0100.


*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
SET PF-STATUS '0100'.
SET TITLEBAR '0100'.
ENDMODULE. " STATUS_0100 OUTPUT

*&---------------------------------------------------------------------*
*& Module CREAR_OBJETOS_0100 OUTPUT
*----------------------------------------------------------------------*
MODULE crear_objetos_0100 OUTPUT.
IF o_contenedor IS INITIAL.
CREATE OBJECT o_contenedor
EXPORTING
container_name = 'CONTENEDOR'.
CREATE OBJECT o_grilla
EXPORTING
i_parent = o_contenedor.

PERFORM armar_catalogo.

CALL METHOD o_grilla->set_table_for_first_display
CHANGING
it_outtab = ti_usuarios
it_fieldcatalog = ti_catalogo[].
ELSE.
CALL METHOD o_grilla->refresh_table_display
EXPORTING
i_soft_refresh = 'X'
EXCEPTIONS
finished = 1
OTHERS = 2.
ENDIF.
ENDMODULE. " CREAR_OBJETOS_0100 OUTPUT

*&---------------------------------------------------------------------*
*& Form ARMAR_CATALOGO
*&---------------------------------------------------------------------*
FORM armar_catalogo .

CLEAR ti_catalogo.
REFRESH ti_catalogo.

CLEAR st_catalogo.
st_catalogo-fieldname = 'DNI'.
st_catalogo-tabname = 'TI_USUARIOS'.
st_catalogo-scrtext_s = 'DNI'.
st_catalogo-scrtext_m = 'DNI'.
st_catalogo-scrtext_l = 'DNI'.
APPEND st_catalogo TO ti_catalogo.

CLEAR st_catalogo.
st_catalogo-fieldname = 'NOMBRE_APE'.
st_catalogo-tabname = 'TI_USUARIOS'.
st_catalogo-scrtext_s = 'Nombre y Apellido'.
st_catalogo-scrtext_m = 'Nombre y Apellido'.
st_catalogo-scrtext_l = 'Nombre y Apellido'.
st_catalogo-outputlen = 25.
st_catalogo-just = 'L'.
APPEND st_catalogo TO ti_catalogo.

CLEAR st_catalogo.
st_catalogo-fieldname = 'ESTADO_USU'.
st_catalogo-tabname = 'TI_USUARIOS'.
st_catalogo-scrtext_s = 'Estado usuario'.
st_catalogo-scrtext_m = 'Estado usuario'.
st_catalogo-scrtext_l = 'Estado usuario'.
st_catalogo-outputlen = 14.
st_catalogo-just = 'L'.
APPEND st_catalogo TO ti_catalogo.

CLEAR st_catalogo.
st_catalogo-fieldname = 'DIRECCION'.
st_catalogo-tabname = 'TI_USUARIOS'.
st_catalogo-scrtext_s = 'Dirección'.
st_catalogo-scrtext_m = 'Dirección'.
st_catalogo-scrtext_l = 'Dirección'.
st_catalogo-outputlen = 25.
st_catalogo-just = 'L'.
APPEND st_catalogo TO ti_catalogo.

CLEAR st_catalogo.
st_catalogo-fieldname = 'F_NACIMIENTO'.
st_catalogo-tabname = 'TI_USUARIOS'.
st_catalogo-scrtext_s = 'Fecha Nac.'.
st_catalogo-scrtext_m = 'Fecha Nac.'.
st_catalogo-scrtext_l = 'Fecha Nac.'.
st_catalogo-outputlen = 12.
st_catalogo-just = 'L'.
APPEND st_catalogo TO ti_catalogo.

CLEAR st_catalogo.
st_catalogo-fieldname = 'ESTADO_CIVIL'.
st_catalogo-tabname = 'TI_USUARIOS'.
st_catalogo-scrtext_s = 'Estado civil'.
st_catalogo-scrtext_m = 'Estado civil'.
st_catalogo-scrtext_l = 'Estado civil'.
st_catalogo-outputlen = 12.
st_catalogo-just = 'L'.
APPEND st_catalogo TO ti_catalogo.

ENDFORM. " ARMAR_CATALOGO

*&---------------------------------------------------------------------*
*& Module SALIR_0100 INPUT
*----------------------------------------------------------------------*
MODULE salir_0100 INPUT.
CALL METHOD o_grilla->free.
CALL METHOD o_contenedor->free.
LEAVE PROGRAM.
ENDMODULE. " SALIR_0100 INPUT

*&---------------------------------------------------------------------*
*& Form SELECCION_DATOS
*&---------------------------------------------------------------------*
FORM seleccion_datos .

CLEAR ti_usuarios.
REFRESH ti_usuarios.

SELECT dni nombre_ape estado_usu direccion codigo_postal
f_nacimiento estado_civil
FROM ztabla_usuarios
INTO CORRESPONDING FIELDS OF TABLE ti_usuarios.

ENDFORM. " SELECCION_DATOS


 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de Jaime Eduardo Gomez Arango, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Avanzado.

SAP Expert


Jaime Eduardo Gomez Arango

Profesión: Ingeniero de Sistemas y Computación - España - Legajo: SW34C

✒️Autor de: 149 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Presentación:

Ingeniero de sistemas y computación con 8 años de experiencia el desarrollo frontend & backend (react/node) y en cloud (aws), actualmente desarrollando habilidades en sap btp, ui5, abap y fiori.

Certificación Académica de Jaime Gomez

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "El ALV Grid Control" de la mano de nuestros alumnos.

SAP Master


El ALV Grid Control Introducción al ALV Grid Control El sistema R3 permite crear controles Z mediante objetos ABAP. El ALV Grid Control permite crear reportes EDB usando objetos ABAP. Proporciona todas las funciones estándar de la barra de menús y permite configurar todas sus propiedades. Se usa dentro de un contenedor que también puede alojar tree control, subfeature control, subsplitter y otros controles. Contenedor y clases clave El contenedor brinda el área física para la visualización de los objetos; todos los controles se sitúan dentro de él. Clases utilizadas para administrar los controles Z y el ALB Grid...

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio Romero

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

SAP Expert



El ALV Grid Control en SAP (ABAP List Viewer) es una herramienta estándar que permite presentar datos de forma interactiva y flexible en reportes ABAP. Ofrece funcionalidades como clasificación, filtrado, totales, subtotales, exportación a Excel y ajuste de columnas, mejorando la experiencia del usuario. Se implementa mediante la clase CL_GUI_ALV_GRID, trabajando sobre un contenedor gráfico (CL_GUI_CUSTOM_CONTAINER) en dynpros o pantallas. Los datos se transfieren al ALV a través de tablas internas y estructuras definidas en el diccionario de datos, junto con un catálogo de campos (Field Catalog) que describe sus propiedades. El programador puede añadir eventos para gestionar acciones del usuario,...

Acceder a esta publicación

Creado y Compartido por: David Ibarra / Disponibilidad Laboral: FullTime + Carta Presentación

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

lección "8: El ALV Grid Control": • Introducción al ALV Grid Control Esta sección presenta el ALV Grid Control como una herramienta esencial en ABAP Objects para desarrollar reportes ALV personalizados, aprovechando las capacidades del sistema SAP para crear controles Z. Permite el uso de todas las funciones estándar de la barra de menú y una amplia configuración de propiedades para adaptar el ALV a los requisitos específicos del usuario. â—¦ Contenedor: Se utiliza un objeto Contenedor (CL_GUI_CUSTOM_CONTAINER) para alojar el ALV Grid Control. â—¦ Objetos clave: Las clases CL_GUI_CUSTOM_CONTAINER y CL_GUI_ALV_GRID son fundamentales para gestionar los controles Z y el ALV...

Acceder a esta publicación

Creado y Compartido por: Roberto Fluder Ahumada

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

SAP SemiSenior

El ALV Grid Control en ABAP es una herramienta para mostrar listas de datos de forma flexible y funcional. Ofrece características como ordenación, filtrado y totales, mejorando la presentación de datos y la interacción del usuario. Además, se puede personalizar según las necesidades del negocio. Al crear un ALV Grid Control, se utilizan contenedores que pueden contener diferentes controles como el mismo ALV, gráficos y otros elementos UI. Estos contenedores proporcionan una forma flexible de gestionar la presentación y disposición de los datos en la interfaz. Además del ALV Grid Control, los contenedores pueden alojar otros controles como el Tree Control, el Picture Control,...

Acceder a esta publicación

Creado y Compartido por: Exequiel Eduardo Acevedo / Disponibilidad Laboral: FullTime

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

SAP Senior

Introducción al ALV Grid control. El sistema SAP nos permite crear controles Z utilizando objetos ABAP. Unos de los controles de los que hablemos es el ALV GRID CONTROL con el cual podemos crear reportes ALV utilizando objetos. Para crear el ALV utilizamos un contenedor. Este objeto puede contener otros controles a parte del ALV GRID COTROL como por ejemplo Tree control, SAP Picture control, SAP Splitter control y más. El contenedor proporciona un área física para la visualización de los objetos. Todos los controles existen dentro de un contenedor. Utilizamos dos objetos para administrar los controles Z y el ALV GRID CONTROL. Ellos son las clases: CL_GUI_CUSTOM_CONTAINER CL_GUI_ALV_GRID

Acceder a esta publicación

Creado y Compartido por: Javier Miguel Angel Barcelo / Disponibilidad Laboral: PartTime

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

SAP Expert


En nuestro reporte podemos querer excluir algunos de los botones estándar del menú, ya que no son útiles para el usuario, para excluir estos botones estándar deberemos completar una tabla interna del tipo UI_FUNCTIONS y pasar esta tabla interna en parámetro I_FUNCTIONS y pasar esta tabla interna en el parámetro IT_TOOLBARS_EXCLUDING correspondiente al método SET_TABLE_FOR_DISPLAY, los códigos de función de los botones que deseamos quitar de la barra se pueden obtener inspeccionando las constantes de la clase estándar CL_GUI_AVL_GRID en la transacción SE24 para ocultar la barra de herramientas entera podemos asignar X al campo nowtoolbar del layout. Cuando se trabaja...

Acceder a esta publicación

Creado y Compartido por: Jose Medina / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Expert


ALV Grid Control In SAP, you can create Z controls using ABAP objects. One of these controls is the ALV GRID CONTROL, which allows you to create ALV reports using objects. With this control, you have access to all standard menu bar functions and can configure all ALV properties to suit your needs. To create the ALV, we use a Container, represented by the class CL_GUI_CUSTOMER_CONTAINER, which provides the physical area for object visualization. This container can hold other controls besides the ALV GRID CONTROL, such as Tree Control, SAP Picture Control, SAP Splitter Control, and more. The container provides a physical area for object visualization. All controls exist within a container. Two objects are used to manage Z controls and the ALV...

Acceder a esta publicación

Creado y Compartido por: Jaime Eduardo Gomez Arango / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Expert


El ALV Grid Control 1 - Intro al ALV grid control. Se pueden crear repostes ALV utilizando objetos (details, sort, find, filter, sum, print, download, display variant, tollbar) podemos configurarlas segun nuestras necesidades. Para crear un ALV se utiliza un contenedor (proporciona un area fisica para la visualizacion de objetos) Se Utiliza dos objetos para administrar los controles Z y el ALV: - CL_GUI_CUSTOM_CONTAINER - CL_GUI_ALV_GRID se pueden ver todas las clase en SE24. 2 - Los paso para la creacion de un ALV grid control. - crear un reporte Z. - se define: Type-polls:slis. Data: tabla de salida, tabla y estructura del catalogo. - START-OF-SELECTION: select a la tabla. - END-OF-SELECTION...

Acceder a esta publicación

Creado y Compartido por: Pablo Adrian Oggero

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

SAP Master

ALV GRID CONTROL Es el control de SAP que se utiliza para la creación de ALVs grilla orientados a objetos. El control ALV Grid es una herramienta flexible para la visualización de listas. La herramienta proporciona la lista de operaciones comunes como funciones genéricas y se pueden mejorar las opciones de auto - definido. Se utiliza para construir no jerárquica , interactivo y listas de diseño moderno. Como un control, es un componente que se instala en la PC local. Ofrece funciones de lista típicas como la clasificación, filtrado, resumiendo, etc ... y al mismo tiempo da la oportunidad de desarrollar las funciones del usuario cuando sea necesario . Presenta numerosas interfaces como Excel, Inplace...

Acceder a esta publicación

Creado y Compartido por: Pedro Salazar / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Expert


Unidad 5: La programación Orientada a Objetos Lección 8: El ALV Grid Control Intro al ALV Grid Control: El sist. nos permite crear controles Z usando objetos ABAP. Uno de los controles de los que hablamos es el ALV GRID CONTROL con el cual podremos crear reportes ALV usando objetos. Con este control tendremos disponibles todas las funciones estándar de la barra de menú y podremos configurar todas las propiedades del ALV para adaptarlo a nuestras necesidades. Para crear un ALV usaremos el Contenedor. Este contenedor proporciona un área fisica para la visualización de los objetos. Todos los controles existen dentro de un contenedor. Usaremos dos objetos para administrar los controles Z y el ALV GRID...

Acceder a esta publicación

Creado y Compartido por: Candela Calzada / Disponibilidad Laboral: FullTime + Carta Presentación

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 99.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!