Code: Alles auswählen.
FIELD-SYMBOLS:
<lt_table> TYPE standard table,
<ls_row> TYPE any ,
<lv_field> TYPE any.
CASE sender.
WHEN grid1. ASSIGN Datentabelle 1 to <lt_table>
WHEN grid2. ASSIGN Datentabelle 2 to <lt_table>.
when others. ASSERT 1 = 0.
ENDCASE.
READ TABLE <lt_table> assigning <ls_row> index row.
CHECK sy-subrc = 0.
ASSIGN component column OF STRUCTURE <ls_row> to <lv_field>.
CHECK sy-subrc = 0.
CASE column.
WHEN 'MATNR'.
WHEN 'DISPO'.
WHEN ...
endcase.
Code: Alles auswählen.
case sender.
when grid1.
data: lt_outtab type table of mara.
when grid2.
data: lt_outtab type table of marc.
endcase.
Da hast du Recht, das stimmt.Ach ja - ich verstehe nicht warum du immer auf die Dynpronummer abfragen willst. Frage doch direkt ab, welcher Grid den Event gefeuert hat über den SENDER-Parameter des Events, falls die Grids global definiert sind.
Richtig, auf Komponenten kann nicht zugegriffen werden, da es sich um untypisierte Feldsymbole handelt. Dann müsstest Du mit CREATE DATA arbeiten.Aba hat geschrieben:Da hast du Recht, das stimmt.Ach ja - ich verstehe nicht warum du immer auf die Dynpronummer abfragen willst. Frage doch direkt ab, welcher Grid den Event gefeuert hat über den SENDER-Parameter des Events, falls die Grids global definiert sind.
Die zwei ALVs sollen zur Pflege von Tabellendaten genutzt werden. ALV 1 soll quasi Kopfdaten anzeigen und bei Auswahl von Kopfdaten soll in die Detaildaten in ALV 2 gesprungen werden. Deswegen müssen die auch beide die Funktionen des Updates, Inserts und so bei den DB haben.
Was mir gerade zu der dynamischen Fieldsymbolzuweisung noch aufgefallen ist, dass man dann gar nicht auf einzelne Komponenten zugreifen kann im Code, da dann die Fehlermeldung "<feldsymbol>-spalte unbekannt" kommt.
ich glaube ich werde einfach zwei eigene machen. Erscheint mir jetzt doch gerade einfacher.