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: — ...
SAP EWM Help Latest Questions
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 ...
The SELECT statement in SAP ABAP is used to retrieve data from database tables into internal tables or variables. It’s one of the most powerful and frequently used Open SQL statements in ABAP and helps interact with the underlying SAP ...
1. Workbench Request Contains cross-client objects. These are usually repository objects that affect the entire system, not just one client. Examples: ABAP programs, Function Modules, Classes Dictionary objects (Tables, Views, Data Elements, Domains) Screens, Module Pool programs, etc. Once transported, the change is available in all clients ...
Imagine a business requirement in Sales & Distribution (SD): The sales team needs a printable Sales Order Form that shows both header details (from VBAK: order number, date, sold-to party, order type) and line item details (from VBAP: material, description, quantity, ...
Help Request (triggered by F1 key) provides field-level documentation to help users understand the purpose or use of a field. Types of Help Request: Automatic Help (F1) from Data Element Comes from documentation maintained in the data element. No coding needed — ...
A line type defines the structure of a single row in an internal table. · It can be a: Data element (e.g., MATNR) Structure (e.g., SFLIGHT) Custom type created via TYPES Example: TYPES: BEGIN OF ty_line, matnr TYPE matnr, maktx TYPE maktx, END OF ty_line. Here, ty_line is the line type ...
1. Primary Index Created automatically when you create a table in SE11. Based on the primary key fields of the table. Always unique. Cannot be deleted. Used whenever you do a SELECT ... WHERE on the primary key. Example:For table MARA, the primary index is ...
User enters Sales Order → goes to item screen. User enters Material + Quantity. SAP validates item → calls USEREXIT_CHECK_VBAP. Your enhancement runs. If xvbap-kwmeng < 10, show error/warning. If OK → continue. User clicks Save. SAP calls USEREXIT_SAVE_DOCUMENT_PREPARE → do final checks. SAP calls USEREXIT_SAVE_DOCUMENT → write ...