SAP/ABAP

Assigning Value

멍냐옹2 2023. 4. 11. 08:49
반응형

Assigning Value

: 변수에 값 설정

 

MOVE TO

: "=" 과 동일한 의미

: 형변환 가능

 

예제

DATA :  gv_f1(8) VALUE 'ABCDEFGH',
        gv_f2(8).

DATA :  gv_start   TYPE i  VALUE 2,
        gv_length  TYPE i  VALUE 4.

MOVE    gv_f1 TO gv_f2.
WRITE / gv_f2.

"변수 값 clear
CLEAR : gv_f2.
"2번째 자리(자리수 0부터 시작) ~ 3개 복사 = CDE
MOVE    gv_f1+2(3)  TO gv_f2.
WRITE / gv_f2.

CLEAR : gv_f2.
"2번째 자리 ~ 4개 복사 = CDEF
MOVE    gv_f1+gv_start(gv_length)  TO gv_f2.
WRITE / gv_f2.

MOVE-CORRESPONDING

: 구조체에 값을 할당할 때 사용, 필드 이름 및 순서가 다른경우에 사용시 맞지않게 값이 할당 될 수 있으므로 주의

 

예제

DATA : BEGIN OF gs_ren,
        name(20)      VALUE 'KIM SUNGJOON',
        country(10)   VALUE 'KOREA',
        city(20)      VALUE 'SEOUL',
       END OF gs_ren.

DATA : BEGIN OF gs_info,
        name(20),
        city(20),
        phone(10) VALUE '1521001234',
       END OF gs_info.

"name, city는 기존에 존재 하는 ren필드 값으로 설정되고, phone은 없기 때문에 기존 자신의 값으로 설정 됨.
MOVE-CORRESPONDING gs_ren TO gs_info.
WRITE : / gs_info-name, gs_info-city, gs_info-phone.

예제

구조체의 산술 연산

- ADD-CORRESPONDING

- SUBTRACT-CORRESPONDING

- MULTIPLY-CORRESPONDING

- DIVIDE-CORRESPONDING

DATA : BEGIN OF gs_rate, "가중치
        KIM TYPE f VALUE '0.8',
        LEE TYPE f VALUE '1.0',
       END OF gs_rate.

DATA : BEGIN OF gs_result,
        KIM TYPE i VALUE 95,
        LEE TYPE i VALUE 70,
       END OF gs_result.

"기존값에 곱셈 처리.
MULTIPLY-CORRESPONDING gs_result BY gs_rate.

WRITE : 'Test Result', 'KIM:', gs_result-KIM, 'LEE:', gs_result-LEE.

WRITE

: 출력 외에 값 할당 가능.

 

예제

DATA gv_c1 TYPE c VALUE 'A'.
DATA gv_c2 TYPE c.

WRITE : /  gv_c1, ', ', gv_c2.
WRITE gv_c1 TO gv_c2.
WRITE : /  gv_c1, ', ', gv_c2.

반응형