SAP/ABAP
[Predefined ABAP Type] Character
멍냐옹2
2023. 4. 3. 13:43
반응형
Character Data Type
: 문자형 데이터 타입
종류
Data Type | 초기길이 | 가능 길이 | 명칭 | 설명 | |
문자 |
C | 1 | 1-65535 | Character | 문자 |
N | 1 | 1-65535 | Numeric Character | 숫자로 이루어진 Character | |
D | 8 | 8 | Date Character | YYYYMMDD | |
T | 6 | 6 | Time Character | HHmmSS |
예제 - Data Type : C
DATA gv_c0.
DATA gv_c1 TYPE c.
DATA gv_c2(1) TYPE c.
DATA gv_c3(2) TYPE c.
DATA gv_c4 TYPE c LENGTH 2.
DATA gv_c5(5) TYPE c.
DATA gv_len TYPE i.
MOVE : 'KOREA' TO gv_c0,
'KOREA' TO gv_c1,
'KOREA' TO gv_c2,
'KOREA' TO gv_c3,
'KOREA' TO gv_c4,
'KOREA' TO gv_c5.
WRITE : / gv_c0,
/ gv_c1,
/ gv_c2,
/ gv_c3,
/ gv_c4,
/ gv_c5.
gv_len = STRLEN( gv_c5 ).
WRITE / gv_len.
MOVE TO vs "="
값을 대입하는데 사용 된다는 의미에서 동일하고 내용을 찾아보니 가독성의 차이일 뿐 성능에서도 차이가 없는 것으로 판단 된다.
참고 : https://answers.sap.com/questions/5830815/move-and--difference.html
DATA x TYPE c.
DATA y TYPE c.
x = '1'.
y = x.
WRITE : / x,
/ y.
x = '2'.
MOVE x TO y.
WRITE : / x,
/ y.
MOVE '3' TO x.
MOVE x TO y.
WRITE : / x,
/ y.
예제 - Data Type : N
DATA : gv_num1 TYPE i.
DATA : gv_num2 TYPE n LENGTH 4.
gv_num1 = 89.
WRITE / gv_num1.
gv_num2 = 89.
WRITE / gv_num2.
예제 - Data Type : T, D
sy-datum : 시스템의 오늘 날짜
sy-uzeit : 시스템의 현재 시간
DATA : gv_date TYPE d.
gv_date = sy-datum.
WRITE : / gv_date.
gv_date = gv_date + 3.
WRITE : / gv_date.
DATA : gv_time TYPE t.
gv_time = sy-uzeit.
WRITE : / gv_time.
gv_time = gv_time - 60.
WRITE : / gv_time.
* SY-DATUM vs SY-DATLO
datum : img에서 설정한 System Time Zone을 기준으로 설정
datlo : User's Time Default Time, 사용자에 설정된 Time Zone
* SY-TIMLO vs SY-UZEIT
uzeit : system 시간
timlo : 사용자 시간
참고 : https://help.sap.com/doc/abapdocu_750_index_htm/7.50/en-US/abentime_system_fields.htm
반응형