反正在写代码的时候遇到有一个东西需要一个新的定义,就尝试着用DATA(TEMP)或者FIELD-SYMBOL(<TEMP>).能激活就没问题,不能激活就自己定义一个,具体有以下这些语句
描述 |
7.40前 |
7.40后 |
Data statement |
DATA text TYPE string. |
DATA(text) = `ABC`. |
Loop at into work area |
DATA wa like LINE OF itab. |
LOOP AT itab INTO DATA(wa). |
Call method |
DATA a1 TYPE … DATA a2 TYPE … oref->meth( IMPORTING p1 = a1 IMPORTING p2 = a2 ). |
oref->meth( IMPORTING p1 = DATA(a1) IMPORTING p2 = DATA(a2) ). |
Loop at assigning |
FIELD-SYMBOLS: <line> type … LOOP AT itab ASSIGNING <line>. … ENDLOOP. |
LOOP AT itab ASSIGNING FIELD-SYMBOL(<line>). |
Read assigning |
FIELD-SYMBOLS: <line> type … READ TABLE itab ASSIGNING <line>. |
READ TABLE itab ASSIGNING FIELD-SYMBOL(<line>). |
Select into table |
DATA itab TYPE TABLE OF dbtab. SELECT * FROM dbtab INTO TABLE itab WHERE fld1 = lv_fld1. |
SELECT * FROM dbtab INTO TABLE DATA(itab) WHERE fld1 = @lv_fld1. |
Select single into |
SELECT SINGLE f1 f2 FROM dbtab INTO (lv_f1, lv_f2) WHERE … WRITE: / lv_f1, lv_f2. |
SELECT SINGLE f1 AS my_f1, F2 AS abc FROM dbtab INTO DATA(ls_structure) WHERE … WRITE: / ls_structure-my_f1, ls_structure-abc. |