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.
반응형