Hallo,
ich habe bisher folgendes Programm:
TABLES: mara, makt, marc.
SELECT-OPTIONS:
so_matnr FOR mara-matnr,
so_mtart FOR mara-mtart,
so_maktx FOR makt-maktx.
START-OF-SELECTION.
TYPES: BEGIN OF lt_material.
TYPES: matnr TYPE mara-matnr,
ersda TYPE mara-ersda,
created_at_time TYPE mara-created_at_time,
ernam TYPE mara-ernam,
laeda TYPE mara-laeda,
aenam TYPE mara-aenam,
vpsta TYPE mara-vpsta,
pstat TYPE mara-pstat,
lvorm TYPE mara-lvorm,
mtart TYPE mara-mtart,
maktx TYPE makt-maktx,
werks TYPE marc-werks,
END OF lt_material,
lt_materials TYPE STANDARD TABLE OF lt_material WITH EMPTY KEY.
DATA: lr_table TYPE REF TO cl_salv_table,
lt_materialundText TYPE lt_materials.
SELECT mara~matnr, mara~ersda, mara~created_at_time, mara~ernam, mara~laeda, mara~aenam, mara~vpsta, mara~pstat, mara~lvorm, mara~mtart, makt~maktx, marc~werks
FROM mara
LEFT OUTER JOIN makt
ON makt~matnr = mara~matnr
AND makt~spras = @sy-langu
INNER JOIN marc
ON marc~matnr = mara~matnr
WHERE mara~matnr IN @so_matnr AND mtart IN @so_mtart
INTO CORRESPONDING FIELDS OF TABLE @lt_materialundText.
cl_salv_table=>factory(
IMPORTING r_salv_table = lr_table
CHANGING t_table = lt_materialundText
).
LOOP AT lt_materialundText ASSIGNING FIELD-SYMBOL(<ls_test>).
<ls_test>-aenam = 'Test'.
ENDLOOP.
lr_table->display( ).
--------------------------------------------------------------------------------------
Ich habe also die Selektionsbildschirme, verbinde die ersten 10 Spalten der Tabelle Mara mit den entsprechenden Spalten der makt und der marc und gebe das dann mit Hilfe der Klasse cl_salv_table aus. Nun muss ich auch die Klasse cl_gui_alv_grid in das Programm einbauen und zwar so, dass ich später mit radio buttons zwischen der cl_salv_table und der cl_gui_alv_grid wechseln kann. Könnte mir da jemand weiterhelfen? Ich wollte die cl_gui_alv_grid ähnlich einbauen wie die cl_salv_table aber es klappt nicht wirklich.