abap에서 변수에 값을 넣는 방법은 뭐가 있을까?
Value 나 = 대입연산자 를 쓰는 경우 외에 또 뭐가 있을 지 궁금해졌다.
1. VALUE – 선언과 동시에 초기값
DATA lv_name TYPE c LENGTH 10 VALUE 'Konie'.
- 선언 시 사용가능
- 한 번에 초기값 넣을 때 편함
2. MOVE TO – 값 대입 (요즘은 안쓴다고함)
`MOVE 'Wonie' TO lv_name.`
- 예전 스타일
- 지금은 거의 사용 ❌ 하지 않는다고한다(가독성 낮고 불편)
3. = – 대입 연산자
lv_name = 'Konie'.
- 가장 널리 쓰이고, 간단하고 직관적
- IF, CASE, 계산식 등과 잘 어울림
4. CLEAR – 변수 초기화 (기본값으로 설정)
CLEAR lv_name. " 문자열은 공백, 숫자는 0
5. REFRESH – 내부 테이블 초기화
REFRESH lt_data. " lt_data = internal table
📌 요건 내부 테이블 전용
6. MOVE-CORRESPONDING – 구조체 간 필드명 일치시 값 복사
MOVE-CORRESPONDING ls_source TO ls_target.
- 두 구조체가 있을 때 같은 필드명끼리만 값이 복사됨
- gs_emp-name = ls_emp-name. 이렇게 하나씩 안 써도 돼서 편함
7. READ TABLE + INTO – 내부 테이블에서 읽어서 변수에 넣기
READ TABLE lt_emp INTO ls_emp INDEX 1.
- 내부 테이블에서 1행을 구조체에 대입
8. LOOP AT + INTO
LOOP AT lt_emp INTO ls_emp.
lv_name = ls_emp-name.
ENDLOOP.
9. ASSIGN – 필드 심볼에 대입 (참조처럼)
FIELD-SYMBOLS: <fs_name> TYPE any.
ASSIGN lv_name TO <fs_name>.
<fs_name> = 'Konie'. " → 실제로는 lv_name이 바뀜
요약 표
방법 | 설명 | 많이 쓰는 지 |
VALUE | 선언 시 초기값 | ✅ |
MOVE TO | 구식 대입 | ❌ |
= | 표준 대입 | ✅✅✅ |
CLEAR | 기본값 초기화 | ✅ |
MOVE-CORRESPONDING | 구조체 복사 | ✅ |
READ INTO | 테이블 → 구조체 | ✅ |
ASSIGN | 필드 심볼 참조 | ⚠️ 고급용 |
'SAP' 카테고리의 다른 글
easy abap 04. string 함수 (0) | 2025.05.07 |
---|---|
easy abap 03. string vs c (0) | 2025.05.07 |
easy abap 01. 네이밍 규칙 (0) | 2025.05.07 |
easy abap 00. 자료형 (0) | 2025.05.06 |
SAP ABAP Programming for Beginners - 74 Sort (0) | 2025.04.24 |