modify table子句出错。这里有什么问题。 我怀疑它与拥有一个独特的key-colb有关。
DATA : BEGIN OF line1,
cola TYPE i,
colb TYPE i,
END OF line1.
DATA mytable1 LIKE HASHED TABLE OF line1 WITH UNIQUE KEY colb.
DO 4 TIMES.
line1-cola = sy-index.
line1-colb = sy-index ** 2.
INSERT line1 INTO TABLE mytable1.
ENDDO.
line1-colb = 80.
**MODIFY TABLE mytable1 FROM line1 TRANSPORTING colb
where (colb > 2) and (cola < 5).**
LOOP AT mytable1 INTO line1.
WRITE :/ line1-cola, line1-colb.
ENDLOOP.
Error:
".", "ASSIGNING <fs>", "REFERENCE INTO data-reference", or "ASSIGNING
<fs> CASTING" expected after "COLB".
Note: Error line is in bold. The error is shown in red.
答案 0 :(得分:1)
这已经在documentation很长一段时间了:
您不能将关键字段用作带有HASHED或的HASHED的TRANSPORTING字段 分类表。
答案 1 :(得分:0)
@vwegert是对的,您无法更改HASHED和SORTED表中的键值。另一方面,你的错误是语法错误。如果你改变:
MODIFY TABLE mytable1 FROM line1 TRANSPORTING colb where colb > 2 and cola < 5.
有关
MODIFY mytable1 FROM line1 TRANSPORTING colb where colb > 2 and cola < 5. "'TABLE' word omitted
这也是一个语法错误,但SAP会更清楚地向您显示错误:
您无法使用&#34; MODIFY&#34;更改搜索键。 &#34; COLB&#34;包含在内 在&#34; MYTABLE1&#34;。
的表格键中
检查documentation。在修改&#39;中指定条件(或包括&#39; WHERE&#39;)时声明你不应该使用“&#39; TABLE&#39;。
这个词如果您仍想修改关键字段,请将内部表格更改为&#39; STANDARD&#39;像这样:
DATA mytable1 LIKE STANDARD TABLE OF line1 WITH KEY colb.
希望它有所帮助。