Also Programmablauf ungefähr so: Selektionsschirm mit Artikelnummer -> Ausführen -> Dynpro mit oben "Filter auf Gruppe" und unten (ALV-)Grid mit Ergebnis.
Hab ich das soweit richtig verstanden?
Du musst das zweite Dynpro mit dem ScreenPainter selbst anlegen.
Darauf musst du das Eingabefeld für die Gruppe und einen Sog. CustomContainer plazieren.
Schau dir dazu in der Hilfe an wie man allgemein Dynpros erstellt.
Im PBO-Modul musst du nun (jedesmal) die Datenselektion durchführen und sofern im Eingabefeld etwas eingetragen wurde, die Daten mit dieser Eingabe filtern.
Danach erfolgt hier auch die Ausgabe. Dazu benötigst du entweder die Klassen CL_GUI_CUSTOM_CONTAINER und CL_GUI_ALV_GRID oder alternativ CL_SALV_TABLE. Wobei ich vorallem für Anfänger eher zum SALV rate.
Zu CL_GUI_CUSTOM_CONTAINER und CL_GUI_ALV_GRID gibt es dutzende Beispiele im Internet und auch hier zu finden, wie man sowas bewerkstelligt.
Beim SALV gibt es die FACTORY Methode der du im Parameter CONNTAINER_NAME dem Namen des Containers im Dynpro und mit T_TABLE deine Tabelle übergibst, dann wird der Rest automatisch erledigt.
Die Ausgabe darfst du nur einmal auf diesem Weg machen, bei jedem weiteren Aufruf genügt ein REFRESH.
Am besten gehst du so vor:
Code: Alles auswählen.
DATA: lr_table TYPE REF TO cl_salv_table.
IF lr_table IS NOT BOUND.
cl_salv_table=>factory( exporting CONTAINER_NAME = '...'
importing R_SALV_TABLE = lr_table
changing T_TABLE = ... ).
ELSE.
lr_table->refresh( ).
ENDIF.
lg ADT
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.
ECC: 6.18
Basis: 7.50