ich möchte ein Programm schreiben, in dem ich für z.B. eine Methode oder ein DDIC-Objekt einen Verwendungsnachweis mache. Für die gefundenen Objekte mache ich wiederum einen Verwendungsnachweis, solange bis ich das aufrufende Programm ermittelt habe.
Das soll dem Zweck dienen, alle Programme zu finden und somit testen zu können, die dieses Objekt letztendlich verwenden und deren Funktion ich ggf. mit einer Anpassung geändert haben könnte.
Wie immer stelle ich mir die Frage, ob ich der erste Mensch bin, der auf diese Idee gekommen ist und ob es nicht bereits im Standard eine Funktion gibt, die mir diese Information liefert. Oder vielleicht hat jemand von euch bereits so ein Programm in petto?
Ich bin also dabei, dieses Programm zu schreiben und stoße auf folgendes Problem:
Ich verwende den Funktionsbaustein RS_EU_CROSSREF. Ich gebe eine Methode hinein und bekomme eine andere Methode - die über ein Interface eingefügt wurde - als Ergebnis. Für diese Interface-Methode möchte ich nun eigentlich erneut den Funktionsbaustein aufrufen, doch leider ist der Methodenname, den ich in O_FOUNDS als Ergebnis bekommen habe, abgeschnitten, weil das Feld PROGRAM nicht genug Zeichen [C(40)] hat. Hat hier jemand eine Idee, wie ich an den ganzen Methodennamen komme? Gibt es einen anderen (besseren) Funktionsbaustein oder eine Klasse, die man für den Verwendungsnachweis verwenden kann?
Der Funktionsbaustein hat einen Parameter REKURSIV. Leider habe ich noch nicht herausgefunden, was der bewirkt. Ihn auf TRUE zu setzen hat im ersten Versuch keine Auswirkung gehabt. Weiß jemand, was der bewirkt?
Für den abapOpenReview https://github.com/larshp/abapOpenReview/tree/atc habe ich einen rekursiven Verwendungsnachweis in Klasse zcl_aor_crossref gebaut. Anstatt auf Methodenebene macht das Programm einen Verwendungsnachweis auf Klassenebene. Also Verwendungsnachweis findet Methode der Klasse XY und sucht anschließend, wo die Klasse XY verwendet wird.
Folgende Benutzer bedankten sich beim Autor jocoder für den Beitrag: Ju.Le.611