APPEND
DATA : BEGIN OF GS_STUDENT,
ZCODE TYPE C LENGTH 10,
ZKNAME TYPE C LENGTH 10,
ZENAME TYPE C LENGTH 10,
ZGENDER TYPE C,
END OF GS_STUDENT.
DATA : GT_STUDENT LIKE TABLE OF GS_STUDENT.
CLEAR : GS_STUDENT.
GS_STUDENT-ZCODE = 'CODE-01'.
GS_STUDENT-ZKNAME = '차은우'.
GS_STUDENT-ZENAME = 'CHA'.
GS_STUDENT-ZGENDER = 'F'.
COLLECT GS_STUDENT INTO GT_STUDENT.
* CLEAR 안해서 기존 데이터 존재
GS_STUDENT-ZGENDER = 'M'.
COLLECT GS_STUDENT INTO GT_STUDENT. "잘못된 데이터 변경이 아니라 새로운 한 줄 추가
1. TABLE KEY를 이용해 한 라인 변경
DATA : BEGIN OF GS_STUDENT,
ZCODE TYPE C LENGTH 10,
ZKNAME TYPE C LENGTH 10,
ZENAME TYPE C LENGTH 10,
ZGENDER TYPE C,
END OF GS_STUDENT.
DATA : GT_STUDENT LIKE TABLE OF GS_STUDENT WITH NON-UNIQUE KEY ZCODE.
CLEAR : GS_STUDENT.
GS_STUDENT-ZCODE = 'CODE-01'.
GS_STUDENT-ZKNAME = '차은우'.
GS_STUDENT-ZENAME = 'CHA'.
GS_STUDENT-ZGENDER = 'F'.
COLLECT GS_STUDENT INTO GT_STUDENT.
* CLEAR 안해서 기존 데이터 존재
GS_STUDENT-ZGENDER = 'M'.
MODIFY TABLE GT_STUDENT FROM GS_STUDENT. "KEY 지정한 ZCODE기준으로 수정
2. TABLE KEY를 이용해 한 필드 변경
DATA : BEGIN OF GS_STUDENT,
ZCODE TYPE C LENGTH 10,
ZKNAME TYPE C LENGTH 10,
ZENAME TYPE C LENGTH 10,
ZGENDER TYPE C,
END OF GS_STUDENT.
DATA : GT_STUDENT LIKE TABLE OF GS_STUDENT WITH NON-UNIQUE KEY ZCODE.
CLEAR : GS_STUDENT.
GS_STUDENT-ZCODE = 'CODE-01'.
GS_STUDENT-ZKNAME = '차은우'.
GS_STUDENT-ZENAME = 'CHA'.
GS_STUDENT-ZGENDER = 'F'.
COLLECT GS_STUDENT INTO GT_STUDENT.
* CLEAR 안해서 기존 데이터 존재
GS_STUDENT-ZENAME = 'EUN'.
GS_STUDENT-ZGENDER = 'M'.
MODIFY TABLE GT_STUDENT FROM GS_STUDENT TRANSPORTING ZENAME. "ZENAE만 변경
* 둘다 변경하고 싶다면
MODIFY TABLE GT_STUDENT FROM GS_STUDENT TRANSPORTING ZENAME ZGENDER.
3. WHERE 조건을 이용해 여러 라인 변경
LOOP AT GT_STUDENT INTO GS_STUDENT.
IF GS_STUDENT-ZGUBUN = 'M'.
GS_STUDENT-ZGNAME = '남자'.
ELSEIF GS_STUDENT-ZGUBUN = 'F'.
GS_STUDENT-ZGUBUN = '여자'.
ENDIF.
MODIFY GT_STUDENT FROM GS_STUDENT TRANSPORTING ZGNAME
WHERE ZCODE = GS_STUDENT-ZCODE.
CLEAR : GS_STUDENT.
ENDLOOP.
4. INDEX를 이용해 한 라인 변경
LOOP AT GT_STUDENT INTO GS_STUDENT.
IF GS_STUDENT-ZGUBUN = 'M'.
GS_STUDENT-ZGNAME = '남자'.
ELSEIF GS_STUDENT-ZGUBUN = 'F'.
GS_STUDENT-ZGUBUN = '여자'.
ENDIF.
MODIFY GT_STUDENT FROM GS_STUDENT INDEX SY-TABIX.
CLEAR : GS_STUDENT.
ENDLOOP.