wenn ich ein Programm (nennen wir es zruf) habe, das ein anderes Programm per CALL TRANSACTION aufruft (nennen wir es zchlagmichtot), wie kann ich dann im Programm zchlagmichtot herrausfinden, das es von zruf aufgerufen wurde?
Evtl. hilft der Artikel "Form Routine ermitteln" auf http://www.tricktresor.de.
(Dort unter Entwicklung - Programmierung - Programmiertricks - Profitricks)
Neben der eigentlichen Lösung (Aufruf CALL 'ABAP_CALLSTACK', Details s. dort) wird dort noch auf den Fuba SYSTEM_CALLSTACK hingewiesen.
Hab's aber noch nicht selber ausprobiert.
Gruss,
Frank
GastX hat geschrieben:Evtl. hilft der Artikel "Form Routine ermitteln" auf http://www.tricktresor.de.
Nein, die Auswertung des ABAP-Callstacks bringt nichts.
(Sieht man auch im Debugger, wenn man den in der per CALL TRANSACTION aufgerufenen Funktion startet.)
wenn du nur in Zschlagmichtot wissen willst ob es von Zruf gerufen wurde, würde ich einfach in Zruf kurz vor dem Call Transaction einen export to memory machen(z.b. sy-repid). In Zschlagmichtot würde ich dann einen Import from memory machen. Wenn der Import nicht klappt ist Zschlagmichtot auf jeden fall nicht von zruf gerufen worden.