Necesito Ejemplos de ALV con columnas dinamicas
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. |
****, 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. |
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 |
Alv Dinamico
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 ;) |
podrias enviarme el codigo
|
nesecito algo muy parecido
Saludos a mi tb me podrias pasar tu codigo a mi correo necesito algo muy parecido por no decir igual. mi correo es
de antemano muchas gracias |
Alv Dinamico
Amigo me podrias hacer llegar tu desarrollo.
Saludos. |
Igual a mì, me podrìas mandar tu programa?
mi correo es .... gracias. |
Amigo por favor envíame este código!!! saludos!!! |
Hola,
Por favor, si alguno de ustedes tiene el código del compañero me lo podría pasar a Gracias |
agregando o cargando columnas
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. |
Ayuda con catalogo dinamico
hola me podrias hacer llegar el codigo de tu desarrollo que tengo algo parecido que hacer, mi correo es
Gracias:D |
Hola
Me puedes enviar el codigo ???
Gracias.- |
Codigo!
Por favor me podrías pasar el código? mi mail es
|
me envias el fuente please...!!!
Me puedes enviar el codigo please.... a |
Crear un alv con columnas dinamicas
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>. |
Hola! Serias tan amable de enviarme tu codigo a mi correo...
:D muchas gracias |
Husos Horarios son GMT. La hora en este momento es 02:22:04. |
www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web