PDA

Ver la Versión Completa : Necesito Ejemplos de ALV con columnas dinamicas


CarlitosCepeda
09/04/09, 15:15:41
Hola, saludos a todos
Quien me puede ayudar, enviandome o poniendo aquí ejemplos de ALV dinamicos. Sé que es con FIELD-SYMBOLS, pero no me sale.
Espero respuestas
Gracias.
Saludos.

Jonathan Barrio Rodriguez
10/04/09, 03:59:17
****, Carlitos, Carlitos, pues vas ******, ******.

Ese fué mi primer proyecto en sap y la verdad me costó el salir de la empresa. Pero no voy a desmoralizarte, que se puede hacer.

Para conseguir las columnas dinámicas tienes que meter en un loop la declaración de las columnas del ALV.:

loop at I_BSEG_RESULTADOS.

i_tab_alv-name_field = "CLIENTE".
i_tab_alv-value_field = itab_datos-kunnr.

move corresponding i_tab_alv to fieldcat.
append fieldcat.

endloop.

Y para conseguir los valores...
te pasaré este trozo de código qué espero te sea útil:

* DESCRIBE FIELD I_BSEG_RESULTADOS TYPE D_TYP COMPONENTS D_COMPONENTES.
*DO D_COMPONENTES TIMES.
* ASSIGN COMPONENT SY-INDEX OF STRUCTURE I_BSEG_RESULTADOS TO <F1>.
* READ TABLE I_BSEG_RESULTADOS index sy-index.
* ASSIGN COMPONENT I_BSEG_PRUEBAS-ZZBAD OF STRUCTURE I_BSEG_WA TO <F2>.
* IF SY-SUBRC eq 0.
* <F1> = <f2>.
* endif.
* enddo.

Igual es un poco complicadillo, escribe si necesitas ayuda.

Saludos.

K-MUS
13/04/09, 18:55:20
Hola, saludos a todos
Quien me puede ayudar, enviandome o poniendo aquí ejemplos de ALV dinamicos. Sé que es con FIELD-SYMBOLS, pero no me sale.
Espero respuestas
Gracias.
Saludos.

PDT: mi correo es benjamincepeda@gmail.com.

Definí mejor que es lo que pretendes... quizas que lo que vos llamas ALV dinámicos no es lo que todos piensan.

El ALV ya es dinámico de por si, si vos te refería a que el ALV a veces muestre 5 columnas o despues 3.

No hace falta que te vuelvas loco con field-symbols. Directamente declara en el catálogo todas las columnas que puedas llegar a utilizar y después directamente seteales el valor no_out = 'X' y listo... esa columna ya no será visible.

Ya una vez que se ejecuta el ALV el mismo usuario puede eliminar columnas, agregar, filtrar, etc.

Saludos

CarlitosCepeda
14/04/09, 14:10:00
Gracias a ambos, por su ayuda.
Ya terminé el programa.
Lo resolví haciendo un loop en el catalogo, y para llenar los campos con un FIELD-SYMBOLS. Anteriormente tenía mucho código para hacer lo que quería, pero con el field-symbols me ahorre bastante.

El que quiera, yo le envío el programa (txt) a su correo.
Lo único malo es que la estructura del ALV (ósea, los campos), me quedo enorme. :eek:

Saludos a todos.
gracias nuevamente ;)

jesusgs12
14/04/09, 14:52:20
Gracias a ambos, por su ayuda.
Ya terminé el programa.
Lo resolví haciendo un loop en el catalogo, y para llenar los campos con un FIELD-SYMBOLS. Anteriormente tenía mucho código para hacer lo que quería, pero con el field-symbols me ahorre bastante.

El que quiera, yo le envío el programa (txt) a su correo.
Lo único malo es que la estructura del ALV (ósea, los campos), me quedo enorme. :eek:

Saludos a todos.
gracias nuevamente ;)

Si las columnas del alv te quedan demasiado anchas en relación a los datos o a la cabecera puedes marcar la opción CWIDTH_OPT del layout ;)

funeralord
05/05/09, 19:10:59
podrias enviarme el codigo

sarismendi@actualisap.com

program1
05/05/09, 20:53:36
Saludos a mi tb me podrias pasar tu codigo a mi correo necesito algo muy parecido por no decir igual. mi correo es es_corpio18@yahoo.es
de antemano muchas gracias

MADF
08/05/09, 21:56:15
Amigo me podrias hacer llegar tu desarrollo.

dfma59@gmail.com

Saludos.

guscavalera
21/05/09, 15:06:16
Igual a mì, me podrìas mandar tu programa?

mi correo es guscavalera@hotmail.com....
gracias.

memoo
24/07/09, 22:27:01
Hola, saludos a todos
Quien me puede ayudar, enviandome o poniendo aquí ejemplos de ALV dinamicos. Sé que es con FIELD-SYMBOLS, pero no me sale.
Espero respuestas
Gracias.
Saludos.


Amigo por favor envíame este código!!!

saludos!!!


cv.guillermo@gmail.com

veruchis
17/11/09, 18:53:08
Hola,

Por favor, si alguno de ustedes tiene el código del compañero me lo podría pasar a

veronicayokiko@hotmail.com

Gracias

rzepeda
17/11/09, 23:47:16
Hola, saludos a todos
Quien me puede ayudar, enviandome o poniendo aquí ejemplos de ALV dinamicos. Sé que es con FIELD-SYMBOLS, pero no me sale.
Espero respuestas
Gracias.
Saludos.




wa_fieldcat-fieldname = 'phone'.
wa_fieldcat-ref_field = 'telephone'.
wa_fieldcat-ref-table = 'scustom'.
wa_fieldcat--col_pos = 4.
append wa_fieldcat to it_fieldcat.

diazjo
15/06/10, 01:19:25
hola me podrias hacer llegar el codigo de tu desarrollo que tengo algo parecido que hacer, mi correo es diazmjorgea@gmail.com

Gracias:D

lurrutiad
08/09/10, 16:12:49
Me puedes enviar el codigo ???

lurrutia@actualisap.com

Gracias.-

jere82
24/09/10, 14:45:10
Por favor me podrías pasar el código? mi mail es jeregalarze@hotmail.com

soryabap
24/03/11, 17:16:20
Gracias a ambos, por su ayuda.
Ya terminé el programa.
Lo resolví haciendo un loop en el catalogo, y para llenar los campos con un FIELD-SYMBOLS. Anteriormente tenía mucho código para hacer lo que quería, pero con el field-symbols me ahorre bastante.

El que quiera, yo le envío el programa (txt) a su correo.
Lo único malo es que la estructura del ALV (ósea, los campos), me quedo enorme. :eek:

Saludos a todos.
gracias nuevamente ;)


Me puedes enviar el codigo please.... a sorymorales@hotmail.com

gnes6
24/05/11, 21:33:21
Hola, saludos a todos
Quien me puede ayudar, enviandome o poniendo aquí ejemplos de ALV dinamicos. Sé que es con FIELD-SYMBOLS, pero no me sale.
Espero respuestas
Gracias.
Saludos.


Aca un ejemplo, copia el codigo y pruebalo..!! :D

REPORT ZPRUEBA_ALV_DINAMICO.

TYPE-POOLS: slis.
FIELD-SYMBOLS: <t_dyntable> TYPE STANDARD TABLE, " Dynamic internal table name
<fs_dyntable>, " Field symbol to create work area
<fs_fldval> type any. " Field symbol to assign values

PARAMETERS: p_cols(5) TYPE c, " Input number of columns
p_rows(5) TYPE c.
DATA: t_newtable TYPE REF TO data,
t_newline TYPE REF TO data,
fs_fldcat TYPE slis_t_fieldcat_alv,
t_fldcat TYPE lvc_t_fcat,
wa_it_fldcat TYPE lvc_s_fcat,
wa_colno(2) TYPE n,
wa_flname(5) TYPE c.
* Create fields .
DO p_cols TIMES.
CLEAR wa_it_fldcat.
move sy-index to wa_colno.
concatenate 'COL'
wa_colno
into wa_flname.
wa_it_fldcat-fieldname = wa_flname.
wa_it_fldcat-datatype = 'CHAR'.
wa_it_fldcat-intlen = 10.
APPEND wa_it_fldcat TO t_fldcat.
ENDDO.
* Create dynamic internal table and assign to FS
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = t_fldcat
IMPORTING
ep_table = t_newtable.
ASSIGN t_newtable->* TO <t_dyntable>.
* Create dynamic work area and assign to FS
CREATE DATA t_newline LIKE LINE OF <t_dyntable>.
ASSIGN t_newline->* TO <fs_dyntable>.
************************
** Populate internal table
************************
DATA: fieldname(20) TYPE c.
DATA: fieldvalue(10) TYPE c.
DATA: index(3) TYPE c.
DATA: index2(3) TYPE c.
DO p_rows TIMES.
index2 = sy-index.
DO p_cols TIMES.
index = sy-index.
MOVE sy-index TO wa_colno.
CONCATENATE 'COL'
wa_colno
INTO wa_flname.
* Set up fieldvalue
CONCATENATE 'VALUE ' index '-' index2 INTO
fieldvalue.
CONDENSE fieldvalue NO-GAPS.
ASSIGN COMPONENT wa_flname
OF STRUCTURE <fs_dyntable> TO <fs_fldval>.
<fs_fldval> = fieldvalue.
ENDDO.
* Append to the dynamic internal table
APPEND <fs_dyntable> TO <t_dyntable>.
ENDDo.



************************
** Display internal table
************************

DATA: wa_cat LIKE LINE OF fs_fldcat.
DO p_cols TIMES.
CLEAR wa_cat.
MOVE sy-index TO wa_colno.
CONCATENATE 'COL'
wa_colno
INTO wa_flname.
wa_cat-fieldname = wa_flname.
wa_cat-seltext_s = wa_flname.
wa_cat-outputlen = '10'.
APPEND wa_cat TO fs_fldcat.
ENDDO.
* Call ABAP List Viewer (ALV)
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
it_fieldcat = fs_fldcat
TABLES
t_outtab = <t_dyntable>.

ana luna
17/11/11, 22:51:10
Hola! Serias tan amable de enviarme tu codigo a mi correo... analucialuna@gmail.com
:D muchas gracias