line_cnt 는 itab01의 테이블을 돌고, 몇 라인이나 있는지 세준다.
총 갯수의 write를 했을 때, cnt는 총 5개 (데이터 들어가있는 값이 5개였다.)
itab01-surname을 출력했을 때는 해당 테이블의 맨 마지막 surname을 추출했다.
맨 마지막 라인에 'po'를 추가하면 내부테이블 안에 쏙 들어간다.
출력시 위와같이 잘 나오는 것을 알 수 있다.
surname이 'Ko'인 사람을 'Kooo'로 바꿨고, 내부테이블에서는 변경이 일어난 점을 확인했다.
그런데 zemployees에서는 kooo나, internal table에서 추가한 새로운 'po'도 볼 수 없었는데,
이 이유는 내가 modify [실제 db테이블 ] from [내부테이블] 을 하지 않았기 때문이였다.
변경하려고 하니 위와같은 에러가 나왔는데,
그 이유는 work area or internal table의 타입이 DB테이블의 구조와 정확히 1:1매핑되어있어야하지만,
그렇지 않기 때문이였다.
몇가지 work area만 내부테이블에서 가져와서 썼기 때문에 일치하지 않고 호환되지 않기 때문에
inactive로만 된다.
해결방법으로는 work area의 타입을 완전히 같게 만들거나 move-corresponding으로 옮기는 방법이 있다.
'SAP' 카테고리의 다른 글
SAP ABAP Programming for Beginners - 73 Delete (0) | 2025.04.24 |
---|---|
SAP ABAP Programming for Beginners - 72 Read (0) | 2025.04.24 |
SAP ABAP INTERNAL TABLE에서 MODIFY쓰기 (0) | 2025.04.24 |
SAP ABAP PACKAGE SIZE 5 & ULINE 출력 버퍼 (0) | 2025.04.24 |
SAP ABAP Programming for Beginners 70 TYPE, LIKE 차이 (0) | 2025.04.24 |