DATA : GV_NUM1 TYPE P VALUE '1234'. " 1,234 출력
DATA : GV_NUM2 TYPE P DECIMALS 2 VALUE '12.34'. "12.34 출력
DATA : GV_NUM3 TYPE I VALUE 1234.
DATA : GV_NUM4 TYPE N VALUE 1234. "길이 지정을 안하면 길이 1로 자동 지정 -> 1 출력
DATA : GV_NUM5 TYPE N LENGTH 2 VALUE 1234. "길이 2 -> 12 출력
DATA : GV_NUM6 TYPE N LENGTH 4 VALUE 1234. "길이 4 -> 1234 출력
DATA : GV_TEXT1 VALUE 'A'. "A 출력
DATA : GV_TEXT2 LENGTH 3 TYPE C VALUE 'ABC'. "ABC 출력
DATA : GV_TEXT3 (5) TYPE C VALUE 'ABCDE'. "ABCDE 출력
TYPE (X) & LENGTH (X) → TYPE C & LENGTH 1
TYPE (O) & LENGTH (X) → LENGTH 1
DATA : GV_TEXT4 TYPE STRING VALUE 'ABCDE'. "ABCDE 출력
DATA : GV_DATE TYPE D.
GV_DATE = SY-DATUM. "20231107 출력
DATA : GV_TIME TYPE T.
GV_TIME = SY-UZEIT. "201551 출력
필드 길이 지정 (C, N, P)
DATA : GV_LEN TYPE I.
GV_LEN = STRLEN( GV_TEXT ). "GV_TEXT길이 출력
DATA : TEXT1 TYPE STRING,
TEXT2(4) TYPE C.
TEXT1 = 'ABAP'.
TEXT2 = 'B'.
FIND TEXT2 IN TEXT1.
IF SY-SUBRC = 0. "정상 실행 되었을 경우
WRITE TEXT2. "B 출력
ENDIF.
DATA : TEXT1 TYPE STRING,
TEXT2(4) TYPE C.
TEXT1 = 'ABAP'.
TEXT2 = 'BBAP'.
REPLACE TEXT1 IN TEXT1 WITH TEXT2
WRITE : TEXT1. "BBAP 출력
DATA : TEXT1 TYPE STRING,
TEXT2(4) TYPE C.
TEXT1 = 'ABAP'.
TEXT2 = 'abap'.
TRANSLATE TEXT1 TO LOWER CASE.
TRANSLATE TEXT2 TO UPPER CASE.
WRITE :/ TEXT1. "abap 출력
WRITE :/ TEXT2. "ABAP 출력
DATA : TEXT1 TYPE STRING,
TEXT2(5) TYPE C.
TEXT1 = ' ABAP'.
TEXT2 = ' ABAP'.
SHIFT TEXT1.
WRITE :/ TEXT1. "ABAP 출력 (왼쪽으로 한 칸 이동 후)
WRITE :/ TEXT2. " ABAP 출력
DATA : TEXT1 TYPE STRING,
TEXT2(8) TYPE C,
TEXT3(8) TYPE C.
TEXT1 = 'AB AP'.
TEXT2 = 'AB AP'.
TEXT3 = 'AB AP'.
CONDENSE TEXT1.
CONDENSE TEXT2 NO-GAPS. "모든 공백 제거
WRITE :/ TEXT1. "AB AP 출력 (공백 한개 제거)
WRITE :/ TEXT2. "ABAP 출력 (공백 모두 제거)
WRITE :/ TEXT3. "AB AP 출력
DATA : TEXT1 TYPE STRING,
TEXT2(8) TYPE C.
TEXT1 = ' B P'.
TEXT2 = 'AAAA'.
OVERLAY TEXT1 WITH TEXT2. "TEXT1의 공백 위치에 맞게 TEXT2 합치기
WRITE :/ TEXT1. "ABAP 출력 (문자 합쳐진 후)
WRITE :/ TEXT2. "AAAA 출력
DATA : TEXT1 TYPE STRING,
TEXT2(4) TYPE C,
TEXT3(4) TYPE C.
TEXT1 = 'AB'.
TEXT2 = 'AP'.
CONCATENATE TEXT1 TEXT2 INTO TEXT3. "TEXT3에 TEXT1 + TEXT2 합치기
WRITE :/ TEXT1. "AB 출력
WRITE :/ TEXT2. "AP 출력
WRITE :/ TEXT3. "ABAP 출력
DATA : TEXT1 TYPE STRING,
TEXT2(4) TYPE C,
TEXT3(4) TYPE C.
TEXT1 = 'AB+AP'.
SPLIT TEXT1 AT '+' INTO TEXT2 TEXT3.
WRITE :/ TEXT1. "AB+AP 출력
WRITE :/ TEXT2. "AB 출력
WRITE :/ TEXT3. "AP 출력
TYPE T_HELLO(20) TYPE C. "TYPE 선언
DATA : GV_TEXT1 TYPE T_HELLO. "변수 선언
DATA : GV_TEXT2 LIKE GV_TEXT1.
구조체 TYPE 선언
TYPES : BEGIN OF T_ZEDT05,
ZCODE TYPE C LENGTH 10,
ZKNAME TYPE C LENGTH 20,
ZENAME TYPE C LENGTH 20,
END OF Z_ZEDT05.
구조체 변수 선언
DATA : GS_ZEDT05 TYPE T_ZEDT05.
GS_ZEDT05-ZCODE = 'CODE-01'.
GS_ZEDT05-ZKNAME = '차은우'.
GS_ZEDT05-ENAME = 'CHA'.
구조체 TYPE 선언
TYPES : BEGIN OF T_ZEDT05, "학생정보 마스터
ZCODE TYPE C LENGTH 10,
ZKNAME TYPE C LENGTH 20,
ZENAME TYPE C LENGTH 20,
END OF Z_ZEDT05.
TYPES : BEGIN OF T_ZEDT05_2. "학생정보 마스터 + 추가정보
INCLUDE TYPE T_ZEDT05.
TYPES : ZTITLE TYPE C LENGTH 10,
ZGRADE TYPE C LENGTH 1,
END OF T_ZEDT05_02.
구조체 변수 선언
DATA : GS_ZEDT05 TYPE T_ZEDT05_2.
GS_ZEDT05-ZCODE = 'CODE-01'.
GS_ZEDT05-ZKNAME = '차은우'.
GS_ZEDT05-ENAME = 'CHA'.
GS_ZEDT05-ZTITLE = '컴퓨터공학과'.
GS_ZEDT05-ZGRADE = '4'.
DATA 변수 선언 (타입 + 변수 선언)
DATA : BEGIN OF GS_ZEDT05, "학생정보 마스터
ZCODE TYPE C LENGTH 10,
ZKNAME TYPE C LENGTH 20,
ZENAME TYPE C LENGTH 20,
END OF GS_ZEDT05.
GS_ZEDT05-ZCODE = 'CODE-01'.
GS_ZEDT05-ZKNAME = '차은우'.
GS_ZEDT05-ENAME = 'CHA'.
DATA 변수 선언 (타입 + 변수 선언)
DATA : BEGIN OF GS_ZEDT05, "학생정보 마스터
ZCODE TYPE C LENGTH 10,
ZKNAME TYPE C LENGTH 20,
ZENAME TYPE C LENGTH 20,
END OF GS_ZEDT05.
DATA : BEGIN OF GS_ZEDT05_2. "학생정보 마스터 + 추가정보
INCLUDE STRUCTURE GS_ZEDT05.
TYPES : ZTITLE TYPE C LENGTH 10,
ZGRADE TYPE C LENGTH 1,
END OF GS_ZEDT05_02.
GS_ZEDT05-ZCODE = 'CODE-01'.
GS_ZEDT05-ZKNAME = '차은우'.
GS_ZEDT05-ENAME = 'CHA'.
GS_ZEDT05-ZTITLE = '컴퓨터공학과'.
GS_ZEDT05-ZGRADE = '4'.
GS_ZEDT05-ZGRADE = GS_ZEDT05-ZGRADE && '학년'. "4학년 출력 (ZGRADE 길이조정 필요)
*ABAP Dictionary TABLE 참고하여 구조체 + 변수 선언
DATA : GS_ZEDT05 TYPE ZEDT05_001.
GS_ZEDT05-ZCODE = 'CODE-01'.
GS_ZEDT05-ZKNAME = '차은우'.
GS_ZEDT05-ENAME = 'CHAE'.
GS_ZEDT05-ZGENDER = 'M'.
GS_ZEDT05-ZTEL = '01012345678'.
*ABAP Dictionary TABLE 참고하여 Table개별 필드 참고하여 변수 선언
DATA : BEGIN OF GS_ZEDT05,
ZCODE TYPE ZEDT05_001-ZCODE,
ZKNAME TYPE ZEDT05_001-ZKNAME,
ZENAME TYPE ZEDT05_001-ZENAME,
ZGENDER TYPE ZEDT05_001-ZGENDER,
ZTEL TYPE ZEDT05_001-ZTEL,
END OF GS_ZEDT05.
GS_ZEDT05-ZCODE = 'CODE-01'.
GS_ZEDT05-ZKNAME = '차은우'.
GS_ZEDT05-ENAME = 'CHA'.
GS_ZEDT05-ZGENDER = 'M'.
GS_ZEDT05-ZTEL = '01012345678'.
*DATA ELEMENT참고하여 TYPE + 변수 선언
DATA : BEGIN OF GS_ZEDT05,
ZCODE TYPE ZCODE05,
ZKNAME TYPE KNAME05,
ZENAME TYPE ZENAME05,
ZGENDER TYPE ZGENDER05,
ZTEL TYPE ZTEL05,
END OF GS_ZEDT05.
GS_ZEDT05-ZCODE = 'CODE-01'.
GS_ZEDT05-ZKNAME = '차은우'.
GS_ZEDT05-ENAME = 'CHA'.
GS_ZEDT05-ZGENDER = 'M'.
GS_ZEDT05-ZTEL = '01012345678'.
*ABAP Dictionary Structure참고 하여 TYPE + 변수 선언
DATA : GS_ZEDS05 TYPE ZEDS05_001.
GS_ZEDS05-ZCODE = 'CODE-01'.
GS_ZEDS05-ZKNAME = '차은우'.
GS_ZEDS05-ENAME = 'CHA'.
GS_ZEDS05-ZGENDER = 'M'.
GS_ZEDS05-ZTEL = '01012345678'.
TYPE-POOL ZTG05.
TYPES : BEGIN OF ZTG05_ZED05,
ZCODE(10) TYPE C,
ZKNAME(10) TYPE C,
ZENAME(10) TYPE C,
ZGENDER(1) TYPE C,
ZTEL(16) TYPE C,
END OF ZTG05_ZED05.
TYPES ZTG05_ZTITLE(10) TYPE C.
*TYPE GROUP 참고하여 TYPE + 변수 선언
DATA : GS_ZEDG05 TYPE ZTG05_ZED05.
DATA : GV_ZTITLE TYPE ZTG05_ZTITLE.
GS_ZEGS05-ZCODE = 'CODE-01'.
GS_ZEGS05-ZKNAME = '차은우'.
GS_ZEGS05-ENAME = 'CHA'.
GS_ZEGS05-ZGENDER = 'M'.
GS_ZEGS05-ZTEL = '01012345678'.
GV_ZTITLE = '컴퓨터학부'.
DATA : GV_ZCODE1 TYPE ZCODE05.
DATA : GV_ZCODE2 TYPE ZEDT05_001-ZCODE.
DATA : GS_ZEDT05 TYPE ZEDT05_001.
DATA : GT_ZEDT05 TYPE TABLE OF ZEDT05_001.