*"Native SQL语句不能以句点号结尾;
*"不能在EXEC SQL…ENDEXEC间有注释,即不能有星号与双引号的出现;
*"参数占位符使用冒号,而不是问号;
DATA: ARG1 TYPE STRING VALUE '300'.
TABLES: T001.
"打开游标
EXEC SQL.
OPEN c1 FOR SELECT MANDT, BUKRS FROM T001
WHERE MANDT = :arg1 AND BUKRS >= '1001' and bukrs <= '1999'
ENDEXEC.
"读取游标
DO.
EXEC SQL.
FETCH NEXT c1 INTO :t001-mandt, :t001-bukrs
ENDEXEC.
IF SY-SUBRC <> 0.
EXIT.
ELSE.
WRITE: / T001-MANDT, T001-BUKRS.
ENDIF.
ENDDO.
"关闭游标
EXEC SQL.
CLOSE c1
ENDEXEC.


本文详细介绍了在ABAP中使用Native SQL语句的规则,包括语句不能以句点结束,避免在EXEC SQL...ENDEXEC间注释,使用冒号作为参数占位符。通过具体代码示例展示了如何正确打开、读取和关闭游标。
200

被折叠的 条评论
为什么被折叠?



