如何在异步后台任务中获取调用程序的名称?

How to get the name of the calling program in an asynchronous background task?

如何从异步远程函数调用 (aRFC) 中获取调用程序的名称?

CALL FUNCTION 'BAPI_MATERIAL_SAVEREPLICA' STARTING NEW TASK lv_taskname
  DESTINATION IN GROUP DEFAULT

被调用的 BAPI 触发了一个用户退出,我需要为这个特定的调用程序禁用它。但是,在RFC之后,堆栈的本地部分丢失了,本地系统上调用程序的名称未知。

我能想到的最接近的解决方案是在调用程序是 SAPMSSY1(RFC 调用)时禁用用户退出,但它并不准确。

可能是功能模块RFC_GET_ATTRIBUTES的参数CALLER_PROGRAM。我不确定它是否适用于所有类型的 RFC 调用。