資料參考
資料引用必不可少的是 TYPE
之後的 REF TO
。
結構的動態建立
如果應該在執行時決定結構的型別,我們可以將目標結構定義為對泛型型別 data
的引用。
DATA wa TYPE REF TO data.
為了給 wa
一個型別,我們使用語句 CREATE DATA
。新增 TYPE
可以通過以下方式指定:
參考:
CREATE DATA wa TYPE kna1
- 靜態檢查處於活動狀態,因此無法建立未知型別
名稱:
CREATE DATA wa TYPE (lw_name_as_string)
- 需要括號,
lw_name_as_string
包含型別名稱作為字串。- 如果找不到型別,則會丟擲
CX_SY_CREATE_DATA_ERROR
型別的異常
對於例項化動態建立的型別,可以指定 HANDLE
新增。HANDLE
接收一個繼承自 CL_ABAP_DATADESCR
的物件。
CREATE DATA dref TYPE HANDLE obj
obj
可以使用 R un T ime T ype S ervices 建立- 因為
dref
仍然是一個資料參考,它必須被解除引用(->*
)才能用作 datacontainer(通常通過 Field-Symbols 完成)