2009 Oct 23 1:36 PM
Good,
could somebody tell me how I could make a dynamic ALV Object Oriented dynamic.
It is not known how many columns are displayed in a fixed manner.
I have done ALV OO, but not dynamic.
If someone could say something. Please.
Ideally, some code, so if you show me a link to it, perfect.
Thanks
2009 Oct 23 2:09 PM
Hello Jonnatan,
Dynamic alv is given as an example in the below link....
saptechnical-->Tutorials>ALV-->ALVMainPage
where "/" stands for "/".
you could also get more help on all kinds of alv in the above site
use ".com" after saptechnical
THanks ,
M.Naveen Kumar.
Good,
could somebody tell me how I could make a dynamic ALV Object Oriented dynamic.
It is not known how many columns are displayed in a fixed manner.
I have done ALV OO, but not dynamic.
If someone could say something. Please.
Ideally, some code, so if you show me a link to it, perfect.
Thanks
2009 Oct 23 2:09 PM
Hello Jonnatan,
Dynamic alv is given as an example in the below link....
saptechnical-->Tutorials>ALV-->ALVMainPage
where "/" stands for "/".
you could also get more help on all kinds of alv in the above site
use ".com" after saptechnical
THanks ,
M.Naveen Kumar.
2009 Oct 23 2:19 PM
Also look (and use search tool) in sdn wiki
- [Dynamic Internal Table |http://wiki.sdn.sap.com/wiki/display/Snippets/DynamicInternalTable]
- [How to create dynamic internal table structure on the basis of dynamic ALV layout change at run time. |http://wiki.sdn.sap.com/wiki/display/Snippets/HowtocreatedynamicinternaltablestructureonthebasisofdynamicALVlayoutchangeatrun+time.]
etc.
Regards,
Raymond
2009 Oct 26 1:12 PM
Thanks a lot.
I have used this code:
*ALV OO dinámico
* Declaración de TYPE POOLS para el ALV
TYPE-POOLS: slis. " ALV Global Types
* Declaración de VARIABLES para la tabla interna dinámica y el ALV
DATA: l_structure TYPE REF TO DATA,
l_table TYPE REF TO DATA,
struc_desc TYPE REF TO cl_abap_structdescr,
lt_layout TYPE slis_layout_alv,
ls_lvc_fieldcatalogue TYPE lvc_s_fcat,
lt_lvc_fieldcatalogue TYPE lvc_t_fcat,
ls_fieldcatalogue TYPE slis_fieldcat_alv,
lt_fieldcatalogue TYPE slis_t_fieldcat_alv.
* Declaración de FIELD-SYMBOLS
FIELD-SYMBOLS : <it_table> TYPE STANDARD TABLE,
<dyn_str> TYPE ANY,
<str_comp> TYPE abap_compdescr.
* Textos para el TÍTULO del grid
DATA : t1(30), "texto escrito por nosotros
t2(10), "recibirá el nombre de la tabla
t3(50). "texto final a mostrar
* Declaración de SELECTION SCREEN para la tabla de entrada
PARAMETERS : p_table TYPE TABNAME."LIKE dd02l-tabname. "Nombre de la tabla
* initialization event
INITIALIZATION.
* start of selection event
START-OF-SELECTION.
* Textos para los TÍTULOS DEL GRID
t1 = 'ALV OO dinámico de la tabla: '. "texto introducido por nosotros
t2 = p_table. "nombre de la tabla seleccionada
* Texto final a mostrar en la pantalla
CONCATENATE t1 t2 INTO t3 SEPARATED BY space.
* C R E A R U N A E S T R U C T U R A D I N Á M I C A
CREATE DATA l_structure TYPE (p_table).
ASSIGN l_structure->* TO <dyn_str>.
* C A M P O S D E L A E S T R U C T U R A
struc_desc ?= cl_abap_typedescr=>describe_by_data( <dyn_str> ).
LOOP AT struc_desc->components ASSIGNING <str_comp>.
* construimos el Fieldcatalog
ls_lvc_fieldcatalogue-fieldname = <str_comp>-name.
ls_lvc_fieldcatalogue-ref_table = p_table.
APPEND ls_lvc_fieldcatalogue TO lt_lvc_fieldcatalogue.
* construimos el Fieldcatalog
ls_fieldcatalogue-fieldname = <str_comp>-name.
ls_fieldcatalogue-ref_tabname = p_table.
APPEND ls_fieldcatalogue TO lt_fieldcatalogue.
ENDLOOP.
2009 Oct 26 1:13 PM
And this part
* C R E A R L A T A B L A I N T E R N A D I N Á M I C A
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = lt_lvc_fieldcatalogue
IMPORTING
ep_table = l_table.
ASSIGN l_table->* TO <it_table>.
* recuperar los datos de la tabla seleccionada
SELECT * FROM (p_table)
INTO CORRESPONDING FIELDS OF TABLE <it_table>.
* LAYOUT del ALV
lt_layout-zebra = 'X'.
lt_layout-colwidth_optimize = 'X'.
lt_layout-window_titlebar = t3.
* MOSTRAR el ALV
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
is_layout = lt_layout
it_fieldcat = lt_fieldcatalogue
TABLES
t_outtab = <it_table>
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |