在ABAP程序中获取调用事务名称

jcj*_*cjr 1 sap abap

我有两个事务调用相同的程序/报告.我想基于用于在其中运行的t代码来分支程序的行为.如何在ABAP代码中获取原始事务的名称?或者,我需要使用不同的方法吗?

dot*_*huZ 7

你试过这个吗?sy-tcode总是显示前台事务代码,对后台程序不感兴趣.

IF sy-tcode = 'A'. 
    ... do your stuff
ELSEIF sy-tcode = 'B'.
    ... do your stuff
ENDIF.
Run Code Online (Sandbox Code Playgroud)

  • @jcjr它只是一个由社区维护的维基,而不是SAP维护 - 更喜欢查看[SY字段官方文档](https://help.sap.com/http.svc/rc/abapdocu_752_index_htm/7.52/en-US/ index.htm?file = abensystem_fields.htm) - 代替SY-TCODE,您也可以使用`CL_ABAP_SYST => GET_TRANSACTION_CODE()`(注意它有两个微小的不同行为,一个用于变量事务,一个用于SY-TCODE已按编程方式更改) (4认同)
  • 将其添加到Wiki. (2认同)