SAP/ABAP

ABAP Loop ~ Into / Assigning

그녀는애교쟁이 2013. 9. 4. 09:27
반응형
개발할 때 Loop into / Loop assigning 은 많이 사용하는 구문입니다. 앞에 into 는 Structure 또는 Internal Table 의 Header 를 이용한 구문이고 assigning 은 field symbol 을 이용한 구문입니다. 두 구문은 동일한 기능 ( Internal table 에 대한 어떠한 처리 )을 수행하지만 방식은 전혀 다릅니다. into 의 경우 별도의 Structure ( 또는 Header )라는 변수에 복사를 하여 처리를 하는 것이고, assigning 의 경우에는 internal table 의 위치(주소값)을 가지고 처리를 하는 것입니다. 그렇기 때문에 assigning 이 성능적으로 복사하는 과정을 생략하여 빠르다고 할 수 있습니다. 또한 internal table 에 데이터를 수정할 경우 modify 하는 과정을 거치지 않아 성능이 이득을 볼 수 있습니다.


Loop ... Into
LOOP AT itab INTO wa_tab.
  ...
  ...
...
wa_tab-fld1 = ’X’.
MODIFY itab FROM wa_tab.

ENDLOOP.
Loop ... Assigning
LOOP AT itab ASSIGNING <fs>.
  ...
  ...
...
<fs>-fld1 = ’X’.
ENDLOOP.

- 끗 -