Hello,

Sign up to join our community!

Welcome Back,

Please sign in to your account!

Forgot Password,

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

You must login to ask a question.

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

ABAP

ABAP Programming

Share
Followers
7 Answers
127 Questions

SAP EWM Help Latest Questions

  • 0
DPM125
Beginner

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  

  • 0
DPM125
Beginner

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, ...

  • 0
DPM125
Beginner

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: — ...

  • 0
DPM125
Beginner

*&---------------------------------------------------------------------* *& Report  ZTEST_PROGRAM_2 *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT ztest_program_2. TYPES : BEGIN OF lty_student,         name TYPE string,         id TYPE zstudent_id_01,         departid TYPE zdep_id,         departmentname TYPE string,         END OF lty_student. " internal table DATA lt_student TYPE TABLE OF lty_student. " work area. DATA ls_student TYPE lty_student. DATA ls_department TYPE zdepartment_1. " assign  --> " unassig  --> directly access the place where the data is stored. START-OF-SELECTION.   SELECT studentname studentid departmentid FROM zstudent_2         INTO TABLE lt_student.   "using workarea.   clear: ls_Student.   ls_student-id = '2'.   ls_student-name = 'RAM'.   ls_student-departid = '4'.   ls_student-departmentname = 'CSE'.   " append    append ls_Student to lt_Student.     "using workarea.   clear: ls_Student.   ls_student-id = '3'.   ls_student-name = 'RAM'.   ls_student-departid = '5'.   ls_student-departmentname = 'CSE'.   " append    insert ls_Student into lt_Student.   LOOP AT lt_student INTO ls_student.     WRITE: / ls_student-name, ls_student-id, ls_student-departid, ls_Student-departmentname.   ENDLOOP.   This ABAP report ZTEST_PROGRAM_2 is a beginner-friendly example that demonstrates how to work with internal tables, work areas, and database records. It starts by defining a custom structure lty_student to hold student ...