본문 바로가기

[SAP ABAP] field symbol로 itab에 값 삽입

초록활명수 2022. 12. 19.
반응형

나는 프로젝트를 하다보면 부족한 점들을 많이 느낀다.

그래서 주변 시니어 개발자분들께 여쭤보거나 구선생님께 물어본다. 

설명 들은 부분을 바로 손으로 적고 이해가 안가는 부분에 대해 다시 쓰면서

내 머릿속에 정리를 한다. ( 그래도 이해안가면 조심스럽게 수첩을 들고가서 재질문하고....)

 

필드심볼을 공부할 시절, 튜닝을 담당했을때 필드심볼로 internal talble에 데이터를 넣고 싶었다.

그래서 배운 구문이다.

"GT_ITEM에 빈공간을 만들고 <GT_ITEM>의 메모리를 연결한다."
Append initial line to GT_ITEM assigning <GT_ITEM>.

"IT_BSIS의 데이터를 <GT_ITEM>에 넣는다."
Move-corresponding IT_BSIS to <GT_ITEM>

UNASSIGN <GT_ITEM>.

 

Append initial line to GT_ITEM assigning <GT_ITEM>.

 

* 먼저 공간을 만들고 값을 넣기 때문에 확실히 append할 때 ( 조건문으로 경우 나누기)

* 반드시 append 구문 먼저 쓰기 

 

예제) IT_BSIS의 값을 GT_ITEM에 넣기. ( append 필요 없는경우 조건문 사용 & continue 활용하기)

LOOP AT IT_BSIS WHERE BLDAT IN S_BLDAT AND ZUONR IN S_ZUONR.
          PERFORM REVERSE_CHECK USING IT_BSIS-BELNR IT_BSIS-GJAHR ZCHK.
          IF ZCHK = 'X'. CONTINUE.  ENDIF.

          IF ( P_TEXT1 NE '' AND IT_BSIS-SGTXT CS P_TEXT1 ) .
            APPEND INITIAL LINE TO GT_ITEM ASSIGNING <GT_ITEM>.
            MOVE-CORRESPONDING IT_BSIS TO <GT_ITEM>.
            <GT_ITEM>-HWAER = GV_HWAER.
            <GT_ITEM>-ZEMPSITE = P_USER.
            <GT_ITEM>-ZEMPNO   = P_EMPNO.
*            APPEND GT_ITEM. CLEAR GT_ITEM.
            UNASSIGN <GT_ITEM>.
          ENDIF.
        ENDLOOP.
반응형

댓글