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

 X 

✒️ABAP La creación de un ALV TREE orientado a objetos

ABAP La creación de un ALV TREE orientado a objetos

ABAP La creación de un ALV TREE orientado a objetos

1 | ALV TREE orientado a objetos

Existen muchos programas estándar muy útiles que podemos tener en cuenta a la hora de querer implementar diferentes funcionalidades a un ALV TREE.

Algunos de ellos son:

BCALV_TREE_01

BCALV_TREE_02

BCALV_TREE_03

BCALV_TREE_04

BCALV_TREE_05

BCALV_TREE_0

BCALV_TREE_DND_MULTIPLE

A parte de la clase CL_GUI_ALV_TREE existe otra clase estándar de ABAP

que podemos utilizar para la creación de los ALV TREEs orientados a objetos.

Esta clase es la clase CL_GUI_ALV_TREE_SIMPLE.

Vale la pena destacar que mediante la utilización de la clase CL_GUI_ALV_TREE_SIMPLE

no es posible crear una jerarquía tal como hacemos con la clase CL_GUI_ALV_TREE.

Podemos tomar como ejemplo el programa estándar BCALV_TREE_SIMPLE_DEMO, el cual nos va a servir de referencia para aprender

a generar reportes ALV TREEs Orientados a Objetos utilizando la clase CL_GUI_ALV_TREE_SIMPLE.

2 | Video

En este video se aprendera a crear un ALV TREE orientado a objetos

para ello construiremos el programa Z el cual llena con datos la tabla estandar SPFLI que contiene información sobre vuelos.

REPORT ZCVS_A2M5L9C1_ALV_TREE_DATOS.

*----------------------------------------------------------------------*

* DECLARACION DE TABLAS INTERNAS

*----------------------------------------------------------------------*

DATA: ti_spfli TYPE STANDARD TABLE OF spfli,

wa_spfli LIKE LINE OF ti_spfli.

luego construiremos el programa ZALVTREE

Los puntos mas importantes a tener en cuenta en el programa son

Declaramos una tabla interna con 7 campos la cual se mostrara por pantalla

*----------------------------------------------------------------------*

* DECLARACION DE TYPES

*----------------------------------------------------------------------*

TYPES: BEGIN OF ty_spfli,

carrid TYPE spfli-carrid,

connid TYPE spfli-connid,

countryfr TYPE spfli-countryfr,

cityfrom TYPE spfli-cityfrom,

airpfrom TYPE spfli-airpfrom,

countryto TYPE spfli-countryto,

cityto TYPE spfli-cityto,

END OF ty_spfli.

TYPES: BEGIN OF ty_header,

carrid TYPE spfli-carrid,

END OF ty_header.

*----------------------------------------------------------------------*

* DECLARACION DE TABLAS INTERNAS

*----------------------------------------------------------------------*

DATA: t_spfli TYPE STANDARD TABLE OF ty_spfli WITH HEADER LINE,

tab_tree TYPE STANDARD TABLE OF ty_spfli WITH HEADER LINE,

t_tree TYPE STANDARD TABLE OF ty_spfli WITH HEADER LINE,

t_header TYPE STANDARD TABLE OF ty_header WITH HEADER LINE.

Declaramos unas variables para instanciar la clase CL_GUI_ALV_TREE y otra para instanciar la clase CL_GUI_CUSTOM_CONTAIN

*----------------------------------------------------------------------*

* DECLARACION DE VARIABLES

*----------------------------------------------------------------------*

DATA: g_alv_tree TYPE REF TO cl_gui_alv_tree,

l_hierarchy_header TYPE treev_hhdr,

gs_fieldcat TYPE lvc_s_fcat,

gt_fieldcat_tree TYPE lvc_t_fcat,

g_custom_container TYPE REF TO cl_gui_custom_container.

Dentro del evento START-OF-SELECCTION construimos la sub rutina OBTENER_DATOS

PERFORM obtener_datos.

La cual recupera todos los datos de la tabla SPFLI.

FORM obtener_datos.

SELECT carrid connid countryfr cityfrom

airpfrom countryto cityto

INTO TABLE t_spfli

FROM spfli.

IF sy-subrc EQ 0.

LOOP AT t_spfli ASSIGNING <spfli>.

MOVE <spfli>-carrid TO t_header-carrid.

APPEND t_header.

ENDLOOP.

SORT t_header.

DELETE ADJACENT DUPLICATES FROM t_header.

ENDIF.

ENDFORM. "OBTENER_DATOS

Luego si el árbol no fue instanciado todavía construir una instancia del arbol

IF g_alv_tree IS INITIAL.

* Se crearán los objetos correspondientes al CONTAINER y el ALV TREE

PERFORM init_tree.

y el contenido

FORM init_tree.

DATA: l_tree_container_name(30) TYPE c.

l_tree_container_name = 'TREE_CONTROL'.

* Creamos el objeto CONTAINER

CREATE OBJECT g_custom_container

EXPORTING

container_name = l_tree_container_name

EXCEPTIONS

cntl_error = 1

cntl_system_error = 2

create_error = 3

lifetime_error = 4

lifetime_dynpro_dynpro_link = 5.

* Creamos el objeto del ALV TREE

CREATE OBJECT g_alv_tree

EXPORTING

parent = g_custom_container

node_selection_mode = cl_gui_column_tree=>node_sel_mode_single

item_selection = ''

no_html_header = 'X'

no_toolbar = ''

EXCEPTIONS

cntl_error = 1

cntl_system_error = 2

create_error = 3

lifetime_error = 4

illegal_node_selection_mode = 5

failed = 6

illegal_column_name = 7.

Mediante la sub rutina FILL_CATALOG_TREE

* Completamos el catálogo

PERFORM fill_catalog_tree.

Llenamos el catalogo

FORM fill_catalog_tree.

DATA: gs_fieldcat_add TYPE lvc_s_fcat.

CLEAR gs_fieldcat.

gs_fieldcat-col_pos = 1.

gs_fieldcat-reptext = 'Flight'.

gs_fieldcat-scrtext_s = 'Flight'.

gs_fieldcat-fieldname = 'CONNID'.

gs_fieldcat-tabname = 'T_SPFLI'.

APPEND gs_fieldcat TO gt_fieldcat_tree.

construimos la jerarquía de los datos mediante las sub rutinas BUILD_HEARARCHY_HEADER y CREATE_HER

* Construimos la jerarquia del ALV TREE

PERFORM build_hierarchy_header CHANGING l_hierarchy_header.

FORM build_hierarchy_header CHANGING p_hierarchy_header TYPE treev_hhdr.

CLEAR p_hierarchy_header.

p_hierarchy_header-heading = 'Airline carrier'(300).

p_hierarchy_header-width = 18.

p_hierarchy_header-width_pix = ' '.

ENDFORM. "BUILD_HIERARCHY_HEADER

*----------------------------------------------------------------------*

Por ultimo llamamos al método SET_TABLE_FOR_FIRST_DISPLAY para mostrar el ALV por pantalla

* Ejecutamos el método que muestra el ALV

CALL METHOD g_alv_tree->set_table_for_first_display

EXPORTING

is_hierarchy_header = l_hierarchy_header

CHANGING

it_outtab = t_tree[]

it_fieldcatalog = gt_fieldcat_tree.

también debemos crear una DINPRO en donde colocaremos el CASTON CONTROL que contenga el ALV TREE

Y un STATUS GUI para navegar entre pantallas

si ejecutamos por pantalla veremos la salida del mismo por pantalla


 

 

 


Sobre el autor

Publicación académica de Alex Francisco Lemos Collazos, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Expert


✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "La creación de un ALV TREE orientado a objetos" de la mano de nuestros alumnos.

SAP Master

Lección 9: Video - Creación de un ALV TREE orientado a objetos. 1.- Video que muestra como crear un ALV TREE orientado a objetos. Programas útiles para tener en cuenta: Existen muchos programas estándar muy útiles que podemos tener en cuenta a la hora de querer implementar diferentes funcionalidades a nuestro ALV TREE, algunos son: BCALV_TREE_01. BCALV_TREE_02. BCALV_TREE_03. BCALV_TREE_04. BCALV_TREE_05. BCALV_TREE_06. BCALV_TREE_DND_MULTIPLE.

Acceder a esta publicación

Creado y Compartido por: Calixto Gutiérrez

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

SAP Expert


Creación de un ALV TREE orientado a objetos. Se crea el reporte Z_LLENAR_SPFLI que contiene información sobre vuelos. Luego se crea el Z_ALV_TREE, clic en display. Mostrar lista de objetos, se declara una tabla interna con 7 campos, la cual se mostrara por pantalla. Dentro del evento STAR-OF-SELECTION , se crea la subrutina obtener datos la cual recupera todos los datos de la tabla SPFLI. Luego si el árbol no fue instanciado todavía construimos una instancia del árbol y del conteiner. Mediante la rutina fill_catalog-tree se llena el catalogo. Se construye la jerarquía del árbol mediante la subrutina build_hierarchy_header y créate_hierarchy. Luego clic en screens, clic en 0100,...

Acceder a esta publicación

Creado y Compartido por: David De Jesùs Restrepo Cañas

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

SAP Master

ALV TREE ORIENTADO A OBJETOS: CREAR PROGRAMA SE38 PROGRAMAS UTILES: BCALV_TREE_01 BCALV_TREE_02 BCALV_TREE_03 BCALV_TREE_04 BCALV_TREE_05 BCALV_TREE_06 BCALV_TREE_DND_MULTIPLE Clase estandar ABAP para crear ALV TREES POO CL_GUI_ALV_TREE_SIMPLE. NO es posible crear jerarquias.

Acceder a esta publicación

Creado y Compartido por: Jose Ignacio Rodini

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

SAP Master

ALV Tree OO Declarar la tabla interna a mostrar Declarar variables para crear objetos del ALV Tree CL_GUI_ALV_TREE CL_GUI_CUSTOM_CONTAINER En el START-OF-SELECTION creamos instancias de los objetos si no han sido creados Construimos jerarquía del árbol Llamamos al método SET_TABLE_FOR_FIRST_DISPLAY Crear Dynpro con el Custom Control Creamos Status Gui para navegar entre pantallas

Acceder a esta publicación

Creado y Compartido por: Xavier Martinez Garsaball

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

SAP Master

Creación de un ALV TREE orientado a objetos * Declarar tabla interna * Variable para instanciar la clase CL_GUI_ALV_TREE * Variable para instanciar la clase CL_GUI_CUSTOM_CONTAINER * Recuperar datos a mostrar * Crear catalogo *Crear jerarquía * Método SET_TABLE_FOR_FIRST_DISPLAY * Dynpro con custom container

Acceder a esta publicación

Creado y Compartido por: Helen Silva Ruiz

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

SAP Master

Creación de un ALV Tree Orientado a Objetos Vamos a puntualizar los aspectos más importantes a tener en cuenta para este tipo de programas. - Declaración de Datos Tabla Interna conteniendo los Datos a mostrar por pantalla Una Variable para instanciar la Clase CL_GUI_ALV_TREE Una Variable para instanciar la Clase CL_GUI_CUSTOM_CONTAINER - Evento START-OF-SELECTION Llamamos a la Subrutina que recupera la información de la TBD y arma la Tabla Interna Si el árbol no fue instanciado, Creamos una instancia del árbol y del container con CREATE OBJECT. Llamamos a una Subrutina para completar el Catálogo Se construye la jerarquía de los...

Acceder a esta publicación

Creado y Compartido por: Victor Norberto Levi

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

SAP Expert


CREACION ALV TREE OO: Creamos el reporte Z_LLENAR_SPFLI ( contiene información sobre vuelos). Luego se creamos Z_ALV_TREE, clic en display. Declaramos una tabla interna con campos que luego se muestra en pantalla . En el evento STAR-OF-SELECTION , se creamos la subrutina para recuperar todos los datos de la tabla SPFLI. Si el árbol no fue instanciado construimos una instancia del árbol y del conteiner. Con la rutina fill_catalog-tree se llena el catalogo. Se construye la jerarquía del árbol mediante la subrutina build_hierarchy_header y créate_hierarchy. Clic en screens. Clic en 0100. Clic en LAYOUT t y en STATUS GUI para navegar en pantalla. Ejecutamos el programa y se visualiza por...

Acceder a esta publicación

Creado y Compartido por: Ernesto Aristides Romano

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

SAP Master

Lección 9 Video: ALV TREE orientado a objetos Creamos el programa Z_LLENAR_SPFLI Luego construimos el programa z_alv_tree Damos clic en lista de objetos Los puntos más importantes para tener en cuenta son: Declarar los campos en la tabla interna, la cual se mostrara por pantalla Se instancia la clase variable cl_gui_alv_tree Se instancia la clase variable cl_gui_custom_container Dentro del evento start-of-selection construimos la subrutina obtener datos, la cual recupera todos los datos de la tabal spfli Si el árbol no fue instanciado, construimos la instancia init_tree Mediante la rutina fill_catalog_tree. Por esta función llenamos el catalogo Construimos la jerarquía de los...

Acceder a esta publicación

Creado y Compartido por: Jhon Deibys Cano Pineda

 


 

👌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!