Ⅰ. ERP/1. ABAP
[SAP ABAP] field symbol로 itab에 값 삽입
초록활명수
2022. 12. 19. 14:18
728x90
나는 프로젝트를 하다보면 부족한 점들을 많이 느낀다.
그래서 주변 시니어 개발자분들께 여쭤보거나 구선생님께 물어본다.
설명 들은 부분을 바로 손으로 적고 이해가 안가는 부분에 대해 다시 쓰면서
내 머릿속에 정리를 한다. ( 그래도 이해안가면 조심스럽게 수첩을 들고가서 재질문하고....)
필드심볼을 공부할 시절, 튜닝을 담당했을때 필드심볼로 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.
728x90