코드가 컴파일 될 때 자동으로 생성되며, 실행중인 시간에 해당 문장이 실행되는지 여부와 상관없이 생성된다.
DATA lv_var TYPE string.
lv_var = 'EXAMPLE'.
DATA(lv_var) = 'EXAMPLE'.
DATA: lt_spfli TYPE STANDARD TABLE OF SPFLI,
ls_spfli LIKE LINE OF lt_spfli.
LOOP AT lt_spfli INTO ls_spfli.
ENDLOOP.
DATA: lt_spfli TYPE STANDARD TABLE OF SPFLI.
LOOP AT lt_spfli INTO DATA(ls_spfli).
ENDLOOP.
READ TABLE lt_spfli INTO DATA(ls_spfli) INDEX 1.
Internal Table의 Row수를 찾기 위해 Helper Variables를 사용하지 않아도 된다.
DATA lv_lines TYPE i. "helper variable"
DESCRIBE TABLE lt_spfli LINES lv_lines.
DESCRIBE TABLE lt_spfli LINES DATA(lv_lines).
클래스의 Method를 호출할 때 , Actual Parameter는 formal Parameter와 Type이 매칭되어야 한다.
따라서 Method 시그니처를 확인하고, 실제 매개변수를 형식 매개변수와 동일한 타입으로 정의해야한다.
또한 Formal Parameter의 타입이 변경될 때마다 프로그램에서 Actual Parameter의 타입도 변경되어야 한다.
다음과 같이 Inline Declaration을 사용하면 이러한 모든 문제를 피할 수 있다.
Inline Declaration은 Procedure 내에서만 사용하여 Procedure의 로컬 데이터 범위를 제한해야 한다.
DATA: lv_a1 TYPE string,
lv_a2 TYPE string.
oref->meth( IMPORTING fp1 = lv_a1
fp2 = lv_a1 ).
oref->meth( IMPORTING fp1 = DATA(lv_a1)
fp2 = DATA(lv_a1) ).