我需要将一个带有单列的表传递给抛出错误的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.
我应该如何定义它?
我可以建议您使用EGUID_S,而不是使用snwd_node_key。
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. <--
因此,表类型似乎必须指向一个结构类型。