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
.
我在 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
.