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

반응형