Hallo Leute,
ich habe da ein Problem, vielleicht kann mir hier jemand aus dem Forum weiterhelfen. Habe dazu auch schon viel Recherche betrieben und viel probiert und bekomme es einfach nicht hin.
Ich hab in meinem "Haupt"-Dynpro 2 Subscreens eingebunden, in einem definiere ich Select-Options und der andere beinhaltet ein Custom Control in welchem ich eine ALV Liste anzeige. Wenn ich den Select-Options Werte mitgebe, kann ich mithilfe eines Aktualisere Buttons, welcher sich direkt als Funktion des ALV´s auch im Custom Control befindet, die Selektion der gewünschten Datensätze ausführen. Das funktioniert soweit alles sehr gut.
Nun zu meinem Problem, neben den Aktualisere Button besitzt mein Hauptdynpro auch einen Stautus, auf welchem ebenfalls ein paar Funktionen definiert sind, beispielsweise Detailansicht des markierten Satzes und ähnliches. Nach erstmaligen betätigen dieses Buttons liefert mir die Methode GET_SELECTED_ROWS() die durch die Klasse CL_SALV_SELECTIONS angeboten wird die Indizies der markierten Spalten korrekt und leitet mich zB. falls eine Zeile markiert ist zum nächsten Dynpro weiter so wie ich das möchte.
Code: Alles auswählen.
...
ME->GET_MO_GRID( )->GET_SELECTIONS( )->GET_SELECTED_ROWS( ).
...
Aber sobald ich von diesem Dynpro zurückkehre und eine neue Zeile markieren möchte und anschließend den Button im Status betätige, bekomme ich die zuvor markierte alte Zeile(die alten Indizies aus der Methode GET_SELECTED_ROWS). Das ALV registriert irgendwie nicht das ich eine neue Zeile markiert habe, egal ob ich vor der Markierung, quasi beim PBO und zurückkehren in das Hauptdynpro einen refresh auf die Tabelle ausführe.
Komischerweise funktioniert alles wunderbar, sobald ich die exakt gleiche Funktionalität in eine Funktion des ALV´s selbst packe, nur dann sitzt der Button eben an der falschen Stelle und nicht im Status sondern im ALV, wo ich ihn eigentlich nicht haben möchte.
Nun meine Frage, weiß jemand wie man der SALV Tabelle irgendwie mit auf den Weg geben kann, das sie ab jetzt wieder neue Markierungen bekommt, bzw. wieder auf diese achten soll. Mir kommt es nämlich so vor, als würde der Fokus der Anwendung sozusagen im Status hängen bleiben, und die SALV Tabelle registriert dadurch keine Klicks in die Tabelle selbst mehr, Funktionen, die durch das ALV seblst geboten werden, funktionieren jedoch einwandfrei und beziehen sich auch auf die korrekten markierten Zeilen.
Vielleicht kann mir jemand helfen, ich wäre sehr dankbar !!!
Gruß,
Christoph