Skip to Content

Create and Run an ABAP Application

Create and run an ABAP application based on tables from the sample EPM data model.
You will learn
  • How to create and run an ABAP application
julieplummer20Julie PlummerJanuary 14, 2022
Created by
olgadolinskaja
January 31, 2017
Contributors
julieplummer20
olgadolinskaja

Prerequisites

This mission is based on tables of the SAP NetWeaver Demo sample EPM Model, so that you can complete the tutorial on any SAP NetWeaver 7.5x system.

For more information, see The SAP NetWeaver Enterprise Procurement Model – An Introduction

  • Step 1

    In the toolbar, choose New > ABAP Program…:

    Image depicting step1-new-program

    A wizard appears to create a new ABAP Program. Enter z_invoice_items_euro in the name field. Enter a meaningful text in the description field. Choose Finish to create the report.
    Afterwards an editor will be opened which shows the empty report.

    Image depicting step1b-program-properties
  • Step 2
    1. Type lcl and choose Ctrl+Space to get code completion proposals. Select the code template for the insertion of a local class by choosing lcl - Local class or choose Enter if the right entry is already selected.

      Image depicting step2-local-class-quick-fix
    2. Adjust the name of the local class to lcl_main using inline editing.

      Image depicting step2-local-class
  • Step 3

    Position the cursor in the class definition statement and choose Ctrl+1 to open the Quick Fix menu. Choose Generate factory method create to create a static factory method.

    Image depicting step3-create-method
  • Step 4
    1. Add the definition of an additional instance method run by entering methods run. in the public section.

    2. Then position the cursor on the method name and choose Ctrl+1 to open the Quick-Fix menu. Choose Add implementation for run.

      Image depicting step4-run-method
    3. Implement a simple WRITE statement in the method run.

      Image depicting step4b-write-statement
  • Step 5
    1. Add a START-OF-SELECTION event to your report

    2. Create an instance of the local class lcl_main.

    3. Call the run method.
      That is, enter the following code:

      ABAP
      Copy
      START-OF-SELECTION.
          lcl_main=>create( )->run( ).
      
      Image depicting step5-create-run-statement

    Class methods are called using => ; instance methods are called using ->.

  • Step 6

    Save and activate your program by choosing Save and Activate in the toolbar.

    Image depicting step6-save-and-activate-program
  • Step 7

    Choose F8 to run your program. An embedded SAP GUI will open inside an Eclipse editor. After checking the output of the report choose Close.

    Image depicting step7-run-program
  • Step 8

    You will now enhance the program to output your user name and today’s date. Change the WRITE statement to:

    WRITE: 'Welcome, ', sy-uname, / 'Today is the', sy-datum.

    Image depicting step8-enhance-write

    sy- is the table containing all the system fields. For the complete list, see the ABAP keyword documentation: ABAP System Fields.

    / is simply the new line character. (See also ABAP keyword documentation: WRITE.)

  • Step 9

    Again, choose F8 to run your program. Your output should now look something like this:

    Image depicting step9-run-program-2
  • Step 10

    Your code should look like this:

    ABAP
    Copy
    *&---------------------------------------------------------------------*
    *& Report zjp_basic_app
    *&---------------------------------------------------------------------*
    *&
    *&---------------------------------------------------------------------*
    REPORT z_invoice_items_euro.
    
    class lcl_main definition create private.
    
      public section.
        methods run.
        CLASS-METHODS create
          RETURNING
            value(r_result) TYPE REF TO lcl_main.
    
      protected section.
      private section.
    
    endclass.
    
    class lcl_main implementation.
    
      method create.
        create object r_result.
      endmethod.
    
      method run.
        WRITE: 'Welcome, ', sy-uname, / 'Today is the', sy-datum.
    
      endmethod.
    
    endclass.
    
    START-OF-SELECTION.
        lcl_main=>create( )->run( ).
    
    
  • Step 11

    Which event keyword is used to turn a report into an executable program?<br/>Choose one answer only.

Back to top