CL_ABAP_TABLEDESCR - ooxxvv/MySAPnotes GitHub Wiki
PageOutline {{{#!comment -------------------- 以上的部份是固定的,不要變動 ----- --------------------------------------- 在建立連結時,請標明連結的頁面類型,例如:wiki:WikiStart,而不要只用 WikiStart ----- }}}
- 產生 Internal Table 結構
- CREATE => 根據傳入的Structure 產生 Internal table 。(用 CL_ABAP_STRUCTDESCR 產生 Structure)。
- 相關範例
- code20071023
{{{#!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
}}}