Hallo zusammen,
wie funktioniert denn folgendes:
Der Benutzer klickt doppelt auf eine Zelle des ALVs. (hab hier schon was gefunden, aber ich wollte meine Fragen nicht in ein bestehendes Thema schreiben
http://www.abapforum.com/forum/viewtopi ... iew=unread )
Anschließend soll abhängig von der Spalte, auf die gelickt wurde, eine Transaktion aufgerufen werden (z.B. MM03, VA03...)
Also wenn der Benutzer in dem ALV auf eine Zelle der Spalte "Materialnr" klickt => Aufruf der Transaktion MM03.
Den Wert kann ich mir mit der Instanzmethode get_current_cell der Klasse CL_GUI_ALV_GRID ermitteln. Aber wie weiß ich, wenn ich z.B. den wert "24578" erhalte, ob es sich um eine Materialnr. oder um eine Auftragsnr. handelt?
Ich hätte jetzt einfach einen "test - Select" nacheinander auf die entsprechenden Tabellen gemacht und wenn der Sy-subrc = 0 ergibt, dann rufe ich die entsprechende Transaktion auf. (Blöd nur, wenn 24578 auch eine Materialnummer ist und gleichzeitig eine Auftragsnummer...)
ODER:
Einfach den Zeilenindex lesen und dann in einen Arbeitsbereich setzen und mit Zugriff auf das entsprechende Feld z.B. -matnr den Wert auslesen und die mm03 aufrufen. (so ist es auch in dem Link beschrieben)
Was ist aber, wenn z.B. die Interne Tabelle so aufgebaut ist: |BELEGNR1|BELEGRN2|MATNR1|MATNR2| also in einer Zeile zwei Spalten vorkommen, die vom gleichen Typ sind. (Macht zwar nicht so viel Sinn, aber mich interessiert das Prinzip)
Dann bring mir der Zeilenindex nicht wirklich was.
Wie kann man denn so etwas am besten erledigen?
Man müsste vielleicht festestellen können, zu welchem Feldkatalogelement der entsprechende Eintrag gehört?
Danke!
Viele Grüße