如何将单列 table 传递给 AMDP 方法?

How to pass single-column table to AMDP method?

我需要将带有单列的 table 传递给抛出错误的 AMDP 方法,其他参数正常:

TYPES: BEGIN OF s_so_i,
         parent_key   TYPE snwd_so_i-parent_key,
         product_guid TYPE snwd_pd-node_key,
         node_key     TYPE snwd_so_i-node_key,
       END OF s_so_i.
TYPES: BEGIN OF s_product,
         product_guid TYPE snwd_pd-node_key,
         category     TYPE snwd_pd-category,
       END OF s_product.
TYPES: tt_product TYPE STANDARD TABLE OF s_product,
       tt_so      TYPE STANDARD TABLE OF snwd_node_key,  "<-- error
       tt_so_i    TYPE STANDARD TABLE OF s_so_i.

应该怎么定义?

而不是使用 snwd_node_key 我可以建议你使用 EGUID_S.

EGUID_S 是一个结构,只包含一个 RAW16 作为 SYSUUID

的列

而不是

tt_so      TYPE STANDARD TABLE OF snwd_node_key,

使用

tt_so      TYPE STANDARD TABLE OF EGUID_S,

添加这个解决了问题:

TYPES: BEGIN OF s_so,
         so_guid TYPE snwd_so-node_key,
       END OF s_so.

TYPES: tt_product TYPE STANDARD TABLE OF s_product,
       tt_so_i    TYPE STANDARD TABLE OF s_so_i,
       tt_so      TYPE STANDARD TABLE OF s_so.  <--

因此 table 类型似乎必须指向结构类型。