SAP defines three main types of internal tables based on their structure and access method: 1. Standard Table (STANDARD TABLE) Default type if nothing is specified. Entries are stored unsorted (in the order you append them). Index-based access (like arrays). Duplicate entries allowed. Access time: By index ...
SAP EWM Help Latest Questions
*&———————————————————————* *& Report ZTEST_BDC_FI01_1 *& *&———————————————————————* *& *& *&———————————————————————* REPORT ztest_bdc_fi01_1. types: begin of ty_error, msg type string, lineno type i, end of ty_error. * Batchinputdata of single transaction DATA: bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE. PARAMETERS : p_data TYPE ibipparms–path. DATA : it_tab TYPE truxs_t_text_data, lv_filename TYPE rlgrap–filename, it_msg type table of bdcmsgcoll, lv_msg type string, lt_error type table of ty_error, ls_error type ty_error. TYPES: BEGIN OF record, * data element: BANKS banks(003), * data element: BANKK bankl(015), * data element: BANKA banka(060), * data element: REGIO provz(003), * data element: ORT01_GP ort01(035), * data element: BRNCH brnch(040), ** data element: BANKA * banka_007(060), ** data element: REGIO * provz_008(003), ** data element: ORT01_GP * ort01_009(035), ** data element: BRNCH * brnch_010(040), END OF record. DATA: lt_record TYPE STANDARD TABLE OF record, ls_record TYPE record. AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_data.
You can build a new internal table with only selected entries and fields like this: *&---------------------------------------------------------------------* *& Report ZREP_LCLCLASS *&---------------------------------------------------------------------* *& Demonstrates modern ABAP syntax: REDUCE, FILTER, FOR expressions *&---------------------------------------------------------------------* REPORT zrep_lclclass. *---------------------------- * Example 1: REDUCE Operator *---------------------------- TYPES: BEGIN OF ty_order, id TYPE i, amount TYPE i, END OF ty_order. DATA: lt_orders TYPE STANDARD TABLE OF ty_order WITH EMPTY KEY, lv_total TYPE i. lt_orders = VALUE #( ( id = 1 amount = 100 ) ( id = 2 amount = 250 ) ( id = 3 amount = 150 ) ). lv_total = REDUCE i( INIT sum = 0 FOR order IN lt_orders NEXT sum = sum + order-amount ). WRITE: / '--- REDUCE Example ---', / 'Total Amount:', lv_total. *---------------------------- * Example 2: FILTER Operator *---------------------------- TYPES: BEGIN OF ty_user, name TYPE string, status TYPE string, END OF ty_user. DATA: lt_users TYPE STANDARD TABLE OF ty_user WITH EMPTY KEY, lt_active_users TYPE STANDARD TABLE OF ty_user WITH EMPTY KEY. lt_users = VALUE #( ( name = 'Alice' status = 'ACTIVE' ) ( name = 'Bob' status = 'INACTIVE' ) ( name = 'Charlie' status = 'ACTIVE' ) ). lt_active_users = FILTER #( lt_users WHERE status = 'ACTIVE' ). WRITE: / '--- FILTER Example ---'. LOOP AT lt_active_users INTO DATA(user). WRITE: / user-name, user-status. ENDLOOP. *------------------------------------------------------ * Example 3: FOR Expression - Extract Specific Fields *------------------------------------------------------ DATA: lt_names TYPE STANDARD TABLE OF string WITH EMPTY KEY. lt_names = VALUE string_table( FOR user IN lt_users WHERE ( status = 'ACTIVE' ) ( user-name ) ). WRITE: / '--- FOR Expression Example ---'. LOOP AT lt_names INTO DATA(name). WRITE: / name. ENDLOOP. This creates a new string table containing only the names of users whose status = 'ACTIVE'—short, clean, and readable. Output: — ...
ABAP Old vs New Syntax Cheat Sheet Assigning Value to a Variable *--Old Syntax DATA var1 TYPE char5. var1 = 'ABC'. *--New Syntax DATA(var1) = 'ABC'. 2. SELECT SINGLE INTO Work Area *--Old Syntax DATA wa TYPE ... SELECT SINGLE fld1 ...
Convert any structure to Internal table format, Field text and values data: stru_descr type ref to cl_abap_structdescr. data: dummy. data: data_structure type abap_abstypename. data: lt_components type abap_compdescr_tab. data: ls_email_data ...