資料參考

資料引用必不可少的是 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 完成)