gibt es eine SAP-Tabelle mit einer Übersicht über alle Selektionscreens und Dynpros, die in einem System existieren? (Ähnlich zur Tabelle VARID, die eine Übersicht über Varianten zu Programmen gibt)
Hintergrund ist folgender:
Ich möchte für ein Projekt eine Liste zusammenstellen mit Dynpros und Selektionscreens, die als Parameter bzw. Select-Options ein Feld von einem bestimmten Typ verwenden. Dazu wollte ich dann ein kleines Programm schreiben, welches mir diese Dynpros und Screens ausgibt (meine Idee war über eine Tabelle, in der diese verwaltet werden). Ein ähnliches Vorgehen habe ich verwendet, um mir Varianten anzuzeigen, die in einem Parameter einen bestimmten Wert voreingestellt hatten (daher der Vergleich zur VARID).
Weiß jemand zufällig ob so eine Tabelle existiert oder hat eine andere Idee mit der ich mein Problem angehen kann?
Wenn mit Typ ein konkreter ABAP-Dictionary-Datentyp gemeint ist, dann wird es eine Tabelle, die sich entsprechend filtern lässt, so nicht direkt geben. Dynprofelder und Select-Options refenzieren entweder auf eine Strukturkomponente (z.B. T001W-WERKS) oder auf eine deklarierte Variable. Mit dem Verwendungsnachweis müssen alle Programme durchsucht werden, die eine Variable mit entsprechenden Typ deklarieren. Ausgehend von den gefundenen Variablen nochmal ein Verwendungsnachweis, der nach Select-Options bzw. Dynprofeldern sucht.
Sprich die Select-Options und Dynprofelder lassen sich mit einer Verkettung von Verwendungsnachweisen suchen.
Der Funktionsbaustein RS_EU_CROSSREF stellt den Verwendungsnachweis zur Verfügung.
Man könnte das mit einem eigenen Auswertereport "relativ" leicht umsetzen:
1) SELECT auf D020S mit TYPE = 'S' alle als "Selektionsdynpro" deklarierten Dynpros ermitteln.
2) Mit dem Funktionsbaustein RS_SELSCREEN_INFO die Felder bestimmen.
3) Mit dem Funktionsbaustein GET_GLOBAL_SYMBOLS die Datentypen bestimmen. Wobei man hier sicher noch verfeinern müsste (siehe Anmerkungen von jocoder).
EDIT:
Bei "normalen" Dynpros muss man die Feldliste mit dem Befehl IMPORT DYNPRO auslesen. Hierbei handelt es sich aber um einen Befehl, der nur für den internen Gebrauch durch die SAP gedacht ist und in Anwendungsprogrammen nicht verwendet werden darf. Sprich "Verwendung auf eigene Gefahr".
Alternativ gibt es auch noch den Funktionsbaustein RS_IMPORT_DYNPRO der im Grunde das Gleiche macht, nur "umständlicher".
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.