Select 进入内部 table 和数据类型兼容错误

Select into internal table and data type compatible error

我在 SE11 中创建了一个包含以下列的结构:

column name      type (data element)
-----------      -------------------
mandt            mandt
itemdesc         arktx
quantity         lfimg
tweight          gsgew

我在SE11中创建了一个table类型ZPACK_DETAIL,线型就是上面的结构

然后我使用下面的代码声明了一个内部 table 并用数据库中的数据填充它 table:

DATA : dresult TYPE zpack_detail .

SELECT arktx lfimg ntgew 
    FROM lips AS detail LEFT JOIN marm AS material
    ON detail~matnr = material~matnr
    LEFT OUTER JOIN vbak
    ON detail~vgbel = vbak~vbeln
    INTO TABLE dresult
WHERE detail~vbeln = '001'.

激活报告此警告消息:

The data type of the component ITEMDESC of DRESULT is not compatible with the data type of LFIMG.

有人可以提示我哪里出了问题吗?我声明内部 table 的方式有问题吗?

事实上,您的代码存在一些问题。

您必须将变量声明为内部变量 table。 ZPACK_DETAIL 是结构 table 而不是 table 类型。

DATA: dresult TYPE STANDARD TABLE OF zpack_detail WITH EMPTY KEY.

其次。您不应使用 MANDT 字段,因为您的查询与客户端无关。从您的结构中删除此字段或使用 INTO CORRESPONDING FIELDS OF TABLE 并将投影调整为 SELECT arktx AS itemdesc lfimg AS quantity ntgew AS tweight.