如何使用LOOP AT itab INTO <fieldsymbol>

tom*_*uyt 2 abap syntax-error

因为我很少循环到一个字段符号,我经常忘记使用ASSIGNING而不是INTO哪个将迅速导致异常终止.是否有一个有效的使用INTO<fieldsymbol>或这是一些语法检查器真的应该抓?

Eri*_*ric 5

LOOP...INTO完全有效,但它的工作方式不同. LOOP...INTO将值传输到提供的结构,但ASSIGNING将字段符号分配给实际的表行.

唯一的区别是您要更改表格内容.请参阅以下内容:

* Changes all entries in the CARRID column of lt_flights to 50.
LOOP AT lt_flights ASSIGNING <flight>.
  <flight>-carrid = 50.
ENDLOOP.

* Does not change the entries in lt_flights (MODIFY...FROM would be required).
ASSIGN <flight> TO ls_flight.
LOOP AT lt_flights INTO <flight>.
  <flight>-carrid = 50.
ENDLOOP.
Run Code Online (Sandbox Code Playgroud)

LOOP...INTO 除非你有某种动态编程要求,否则使用字段符号将毫无用处.