728x90
LOOP itab1.
modify itab2 ... where field1 = itab1-field1.
ENDLOOP.
itab1을 LOOP돌면서 itab1의 필드에 대한 조건으로 itab2의 값을 modify 하고 싶었다.
근데 자꾸 DUMP남
Error in an ABAP statement (processing an internal table).
어떤 itab1에 대한 LOOP 안에서 다른 itab에 대한 modify를 하면 나는 dump라고 함.
그래서 필드심볼을 써서 해결함.
LOOP AT LT_DATA INTO LS_DATA.
* UPDATE itab2
* SET field1 = 'X'
* WHERE ....
**********************************************************************
READ TABLE itab2 ASSIGNING <itab2>
WITH KEY field2 = LS_DATA-field2
field3 = LS_DATA-field3.
IF SY-SUBRC = 0.
<itab2>-field1 = 'X'.
* modify itab2 from itab2.
UNASSIGN : <itab2>.
ENDIF.
update / modify 대신 field symbol을 사용하면 속도도 향상되고 좋음
728x90
'Ⅰ. ERP > 6. 에러해결' 카테고리의 다른 글
[에러해결] error when generating selection screen 1000 of report in sap (0) | 2023.08.22 |
---|---|
[SAP DUMP] DBSQL_DUPLICATE_KEY_ERROR (0) | 2022.12.29 |
[SAP DUMP] SAPSQL_IN_ITAB_ILLEGAL_OPTION 2022.12.22 14:43:47 (0) | 2022.12.22 |
[SAP ABAP] MODIFY DB .. FROM TABLE ITAB 에서 같은 이름명 쓰면 안됨 (0) | 2022.12.14 |
[SAP ERROR] 스크립트 기록 및 재생 및 마이그레이션 setting 자동화 (0) | 2022.10.06 |