PDA

Ver la Versión Completa : Manejo Reuse_alv_fieldcatalog_merge


Yanett Ponce Seares
29/10/09, 19:28:11
Soy nueva en este lenguaje y hay veces que me complico ... Por ej.
Tengo una duda de conceptos, alguien me puede explicar para que sirve esta función y como se visualiza al ejecutarla .... Muchas Gracias !!!

DavidXD_XD
29/10/09, 21:21:05
Hola Yanett, pues esa funcion sirve para poder construir el catalogo del ALV de manera rapida a partir de una estructura o tabla del diccionario o una tabla interna cuyos campos deben estar referenciados a una campo de la tabla del diccionario ... puedes probar en la SE37 ejecutandola colocando por ejemplo en el parametro I_STRUCTURE_NAME cualquier tabla y nuevamente ejecuta, veras q t bota una tabla interna con las propiedades de los campos de la tabla o estructura q elegist ... espero te pueda ayudar :D

Yanett Ponce Seares
30/10/09, 11:16:49
Hola Yanett, pues esa funcion sirve para poder construir el catalogo del ALV de manera rapida a partir de una estructura o tabla del diccionario o una tabla interna cuyos campos deben estar referenciados a una campo de la tabla del diccionario ... puedes probar en la SE37 ejecutandola colocando por ejemplo en el parametro I_STRUCTURE_NAME cualquier tabla y nuevamente ejecuta, veras q t bota una tabla interna con las propiedades de los campos de la tabla o estructura q elegist ... espero te pueda ayudar :D


Muchas Gracias, ahora voy entendiendo de a poco .... Una vez que tengo llena mi tabla que deseo mostrar debo llamar otra función para que esta me la visualice... Cual de las 'reuse_alv_*' seria la apropiada ?

DavidXD_XD
30/10/09, 19:19:01
Hola Yanett, te recomiendo usar el REUSE_ALV_GRID_DISPLAY, como habras escuchado tbm se puede usar el REUSE_ALV_LIST_DISPLAY, pero ese tiene un pequeño inconveniente, a parte de ser obsoleto no te permite tener en tu codigo una linea con mas de 72 caracteres, si lo tienes te generara un DUMP, lo de los 72 caracteres se aplica a partir de la version 4.7, versiones inferiores a esta no podias expandirte de 72 caracteres por linea de codigo ... :D

Attilio Travascio
30/10/09, 19:19:02
Buenas tardes.
Hola Yanet, eso va a depender de que forma estas trabajando tu codigo, si utilizas orientado a objeto puedes utilizar este metedo CALL METHOD grid1->set_table_for_first_display. si por lo contrario lo estas haciendo de forma normal puedes utilizar esta otra REUSE_ALV_LIST_DISPLAY.

Yanett Ponce Seares
02/11/09, 11:02:24
Muchas Gracias por la respuesta, pero si comienzo a usar metodos... cual seria la logica?? aun no logro enchufarme .... me podrian dar un ej. como para poder saber como hacer las llamadas ... de los metodos ?
Gracias

Abaunus
02/11/09, 11:57:56
Si recién le estás agarrando la mano al tema, yo te recomiendo que depliegues el ALV mediante funciones. Básicamente es una:

* Función que despliega el ALV.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = v_report
i_structure_name = 'IT_SALIDA'
is_layout = w_layout
i_save = 'X'
it_events = i_events
it_fieldcat = i_fieldcat
TABLES
t_outtab = it_salida
EXCEPTIONS
program_error = 1.

Donde lo importante previamente, además de la tabla it_salida, es que completes la estructura para el layout, la tabla de eventos, y la tabla del fieldcat, la cual se consigue mediante la función 'REUSE_ALV_FIELDCATALOG_MERGE'.