如何使用 EXPORT / IMPORT 到内存

How to use EXPORT / IMPORT to Memory

我正在尝试导出 BAPI 调用中增强功能的值,该值在后台更新任务中执行。但是该值并未在增强内部读取,但是如果我进行本地测试,该值将从内存中正确读取。

关于为什么这不起作用的任何想法?

这是我的代码:

导出程序:

DATA: lv_id TYPE char30.

CONCATENATE 'ZTCODE' sy-uname
  INTO lv_id.

EXPORT ztcode FROM iv_tcode TO MEMORY ID lv_id.

导入程序(内部增强):

DATA: lv_tcode  TYPE sy-tcode,
      lv_id     TYPE char30.

CONCATENATE 'ZTCODE' sy-uname
  INTO lv_id.

IMPORT ztcode TO lv_tcode FROM MEMORY ID lv_id.

显然您正在尝试将数据从用户会话传输到 background/update 会话。这将无法使用 ABAP 内存。查看 ABAP Memory Organization 上的文档:RFC 调用或更新模块 运行 在具有不同 ABAP 内存的不同用户会话中。