Employee management APP. Firstly, Create an employee table with the draft à zemployee_01 Create a draft table. à zemployee_01_d Create a class to insert the data. à zdpm_populate_empoyee Create a CDS root ...
SAP EWM Help Latest Questions
SAP R/3 is based on a 3-tier client-server architecture, which separates presentation, application, and database layers. This design provides scalability, flexibility, and better performance. Three-Tier Architecture: 1. Presentation Layer (Client Tier) Interface between the user and SAP system Usually a SAP ...
In SAP, updates to the database are not always executed immediately. Instead, the system uses an update task mechanism to ensure data consistency, improve performance, and provide rollback control. These updates can run in two modes: Synchronous (V1), where critical ...
In SAP, interfaces are the connection methods that allow SAP systems (or SAP and non-SAP systems) to exchange data. The choice of interface depends on the use case: whether data is synchronous or asynchronous, real-time or batch, large or small ...
Feature List Report Grid Report (ALV) Output Format Plain text list Interactive grid/table User Interactivity Low High Sorting/Filtering Manual (if needed) Built-in Totals/Subtotals Not available Available Export Options Manual Export to Excel, etc. Development Effort Low Medium to High Modern UI Experience No Yes
This replaces the need for LOOP AT, IF, and APPEND all in one line—powerful and readable. *&---------------------------------------------------------------------* *& Report ZREP_LCLCLASS *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT zrep_lclclass. 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_names TYPE STANDARD TABLE OF string WITH EMPTY KEY. lt_users = VALUE #( ( name = 'Alice' status = 'ACTIVE' ) ( name = 'Bob' status = 'INACTIVE' ) ( name = 'Charlie' status = 'ACTIVE' ) ). lt_names = VALUE string_table( FOR user IN lt_users WHERE ( status = 'ACTIVE' ) ( user-name ) ). LOOP AT lt_names INTO DATA(name). WRITE: / name. ENDLOOP. Output: Alice Charlie
Program Type Code Purpose Executable? Typical Usage Executable 1 Reports, standalone programs ✅ Yes Reports, jobs, selection screens Include I Reusable code ❌ No Shared FORM routines, definitions Module Pool M Dialog screens, GUI transactions ✅ Yes Custom SAP GUI apps Function Grp F Group of function modules ❌ No BAPIs, reusable logic Subroutine S Collection of FORM routines ❌ No Old-style code reuse Class Pool K Global class definitions ❌ No OO programming, ...
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: — ...
It’s an ABAP OO class that displays data in a grid (table-like format) inside a screen container. Unlike the simpler CL_SALV_TABLE, this grid is fully interactive and customizable. Main Features Editable cells → You can let users change data directly in the grid. Field ...
Hierarchical ALV allows you to display header–item relationships (like parent–child data). Example: One material (MARA) is the header, and its plant details (MARC) are the items. Useful for showing 1:N relationships in a single ALV output. In the SAP function module world, this ...