CL_ABAP_TABLEDESCR - ooxxvv/MySAPnotes GitHub Wiki

PageOutline {{{#!comment -------------------- 以上的部份是固定的,不要變動 ----- --------------------------------------- 在建立連結時,請標明連結的頁面類型,例如:wiki:WikiStart,而不要只用 WikiStart ----- }}}

CL_ABAP_TABLEDESCR

  • 產生 Internal Table 結構

EXPORTING

IMPORTING

TABLES

EXCEPTIONS

Attributes

Methods

  • CREATE => 根據傳入的Structure 產生 Internal table 。(用 CL_ABAP_STRUCTDESCR 產生 Structure)。

程式碼

{{{#!abap FIELD-SYMBOLS:

TYPE ANY TABLE, TYPE ANY.

DATA: linetype TYPE REF TO cl_abap_structdescr, tabletype TYPE REF TO cl_abap_tabledescr, comp_tab TYPE cl_abap_structdescr=>component_table, comp LIKE LINE OF comp_tab, dref TYPE REF TO data, dref2 TYPE REF TO data, elemtype TYPE REF TO cl_abap_elemdescr.

DATA: l_len TYPE i VALUE 30.

*---1. 設定欄位屬性 *------1.1 產生指定長度的字元變數 elemtype=cl_abap_elemdescr=>get_c( l_len ). *------1.2 設定欄位名稱及型態 comp-name='FIELD1'. comp-type=elemtype. *------1.3 Append to Internal table APPEND comp TO comp_tab.

*---2. 根據 (1) 的 Internal table 產生 Structure linetype=cl_abap_structdescr=>create( comp_tab ). *---3. 根據 (2) 的 Structure 產生 Internal table tabletype=cl_abap_tabledescr=>create( p_line_type=linetype ).

---4. Assign (2) 所產生的 structure (workarea) CREATE DATA dref TYPE HANDLE linetype. ASSIGN dref-> TO .

---5. Assign (3) 所產生的 internal table (internal table) CREATE DATA dref2 TYPE HANDLE tabletype. ASSIGN dref2-> TO

.

}}}

{{{#!comment -------------------- 以下的部份是固定的,不要變動 ----- }}}

⚠️ **GitHub.com Fallback** ⚠️