[SAP] INTERNAL TABLE LINE_삽입

이안·2024년 2월 19일

SAP

목록 보기
6/30
post-thumbnail

1. INSERT : 인터널테이블의 데이터를 삽입

(넣는 순서지정 가능)

DATA : BEGIN OF GS_STUDENT,
	ZCODE TYPE C LENGTH 10,
	ZKNAME TYPE C LENGTH 10,
	ZENAME TYPE C LENGTH 10,
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'.
INSERT GS_STUDENT INTO TABLE GT_STUDENT. "INDEX없으면 순서대로 삽입

CLEAR : GS_STUDENT.
GS_STUDENT-ZCODE = 'CODE-02'.
GS_STUDENT-ZKNAME = '최우식'.
GS_STUDENT-ZENAME = 'CHOI'.
INSERT GS_STUDENT INTO TABLE GT_STUDENT INDEX 1. "INDEX를 이용해 1에 삽입

자리 체크는 0 → 1 → 2..

표 순서는 1 → 2 → 3…

2. APPEND : 인터널테이블의 마지막 라인에 데이터를 삽입

(넣는 순서대로 삽입)

DATA : BEGIN OF GS_STUDENT,
	ZCODE TYPE C LENGTH 10,
	ZKNAME TYPE C LENGTH 10,
	ZENAME TYPE C LENGTH 10,
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'.
APPEND GS_STUDENT TO GT_STUDENT.

CLEAR : GS_STUDENT.
GS_STUDENT-ZCODE = 'CODE-02'.
GS_STUDENT-ZKNAME = '최우식'.
GS_STUDENT-ZENAME = 'CHOI'.
APPEND GS_STUDENT TO GT_STUDENT.

3. COLLECT : 같은 값이 있으면 숫자 타입은 SUM 수행, 같은 값 없으면 데이터 추가

DATA : BEGIN OF GS_STUDENT,
	ZCODE TYPE C LENGTH 10,
	ZKNAME TYPE C LENGTH 10,
	ZENAME TYPE C LENGTH 10,
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'.
COLLECT GS_STUDENT INTO GT_STUDENT.

CLEAR : GS_STUDENT.
GS_STUDENT-ZCODE = 'CODE-02'.
GS_STUDENT-ZKNAME = '최우식'.
GS_STUDENT-ZENAME = 'CHOI'.
COLLECT GS_STUDENT INTO GT_STUDENT.

DATA : BEGIN OF GS_STUDENT,
	ZCODE TYPE C LENGTH 10,
	ZKNAME TYPE C LENGTH 10,
	ZENAME TYPE C LENGTH 10,
	ZSUM TYPE I,
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-ZSUM = '1000'.
COLLECT GS_STUDENT INTO GT_STUDENT.

CLEAR : GS_STUDENT.
GS_STUDENT-ZCODE = 'CODE-02'.
GS_STUDENT-ZKNAME = '최우식'.
GS_STUDENT-ZENAME = 'CHOI'.
GS_STUDENT-ZSUM = '1000'.
COLLECT GS_STUDENT INTO GT_STUDENT. "같은 값이 없기에 각각 COLLECT 삽입

CLEAR : GS_STUDENT.
GS_STUDENT-ZCODE = 'CODE-01'.
GS_STUDENT-ZKNAME = '차은우'.
GS_STUDENT-ZENAME = 'CHA'.
GS_STUDENT-ZSUM = '1000'.
COLLECT GS_STUDENT INTO GT_STUDENT. "같은 값이 있기에 차은우의 ZSUM은 합산되어 2000

0개의 댓글