我的程序可以通过两种方式启动:
从我的一个本地类调用START OF SELECTION
函数的MAIN
事件。
调用相同方法的ZAVGTTA4
事务。
在PAI
,对于BACK事件,当调用LEAVE TO SCREEN '0'.
时,我的程序根据它的启动方式以两种方式运行。我想回到选择屏幕(1000)。
我考虑过查询堆栈,我肯定会发现我的程序是如何被调用的。我可以看到堆栈跟踪不同,但我不知道如何从程序中访问我的堆栈。我听说过我认为可以帮助我的RTTI。
答案 0 :(得分:4)
您可以尝试SYSTEM_CALLSTACK
。
DATA:
abap_callstack_line TYPE abap_callstack_line,
callstack TYPE abap_callstack.
CALL FUNCTION 'SYSTEM_CALLSTACK'
EXPORTING
max_level = 4
IMPORTING
callstack = callstack.
但在你的情况下,我更喜欢一个额外的参数,并且调用地可以填写此条目。我不会将参数called_by
称为behaviour
或mode
。