
ABAP Programming Introduction to the ABAP Workbench
Objectives • to introduce • the ABAP integrated development environment • the two main ABAP application types • reporting • dialog programming
Order of Presentation • Purpose and Function of the ABAP Workbench • Workbench Tools: • Object Navigator (Repository Browser) • The ABAP Language • The Repository Information System • Test and Analysis Tools • Menu & Screen Painter • The Data Modeler • ABAP Query • The Workbench Organizer • The Class Builder
ABAP WorkbenchPurpose & Function • SAP’s Integrated Graphical Programming Development Environment: • Used to create/change ABAP application programs • Each ABAP application program is either a report or a transaction: • Reports are applications that retrieve and display information from database with little or no user interaction • Transactions accepts inputs/data from users and then perform one or more relevant actions, usually involving updating databases
ABAP WorkbenchPurpose & Function • The Workbench can be used to • write ABAP code • design dialogs/screens with a graphical editor • create menus with a menu editor • debug an application • test an application for efficiency • control access to objects under development • create new or access predefined database information
ABAP WorkbenchPurpose & Function • Comprises the following tools • The Object Navigator (aka Repository Browser) • the ABAP Language • the Screen and Menu Painters • the Repository Information System • the Data Modeler • various test and analysis tools • the ABAP Query • the Workbench Organizer
ABAP Workbench Architecture Transport System Screen Painter ABAP Editor Reporting R/3 Repository ABAP Dictionary Function Modules ABAP Organizer Data Modeler Menu Painter ABAP Processor Debugging Trace Test Tuning
The Workbench Screen • All R/3 screens have a similar ‘look and feel’ • screens consist of • screen titlebar • menu bar • standard toolbar • application toolbar • screen body • message line
Menubar Standard toolbar Screen title-bar Application toolbar Client Server Message line
The Object Navigator (The Repository Browser) • central tool for organizing and managing your personal development objects • used to navigate through development object lists • where development objects are the components used to construct an application • automatically calls other workbench tools • if you create a new data definition the browser calls the Data Dictionary, and then returns to the browser after the definition is created
The ABAP Language • Advanced Business Application Programming • developed by SAP for the interactive development of application programs • 4th Generation Language (with some OO features) • main uses for ABAP programs include • creation of new reports • development of new user dialog programs (transactions) • customisation of R/3 to meet individual client needs
Reporting • uses ABAP Open SQL to extract data from the R/3 database • Open SQL is a subset of ANSI SQL • report consists of a [selection screen] and a list screen • selection screen allows the user to enter selection criteria • list screen displays the report data
Report Selection Screen List Screen ABAP Open SQL R/3 Database
Dialog Programming • Dialog Programs (Transactions) are used for both reading and changing the database • Main Components of a Dialog Program are • screen & menus • processing logic defined in an ABAP program (module pool) • for each screen, interaction and control flow from one module to another is defined in DYNPRO • data structures defined in the ABAP dictionary
Development Environment ABAP Dictionary Screen Painter Menu Painter ABAP Runtime Environment Dialog Processor ABAP Processor
Dialog Programming - Overview Transaction Code Module Pool 0100 0200 0300 Screen Flow Logic
DIALOG Communication ABAP PROCESS BEFORE OUTPUT. MODULE INITIALISE. PROCESS AFTER INPUT. MODULE READ-ITAB. MODULE .... MODULE INITIALISE Clear ITAB. ENDMODULE. MODULE READ-ITAB. Select * From ITAB Where... ENDMODULE. MODULE...... : : ENDMODULE. 1 2 3 4
Graphical Screen Painter Currently Edited Field Graphical Elements Toolbar
The Repository Information System • The Repository Information System is used to search for objects in the R/3 system and provides • list of all objects X with attribute/s Y • the Where Used List which gives a list of every place that object X is used throughout the R/3 system • information about foreign key relationships between tables • display of data (all records in table X with attribute Y)
Test and Analysis Tools • ABAP Editor • syntax checker • tests for coding and syntactical correctness • provides automatic ‘correct’ facility • in case of an error, provides a detailed (although sometimes obscure) reason for the error • extended syntax check • searches out situations that might possibly result in a runtime error (eg, inconsistent interface parameters) • warns about use of literals instead of text elements
Test and Analysis Tools • Debugger • finds logic errors • provides ability to • stop the program anywhere during runtime • continue statement by statement • skip over subroutines • check or change the contents of variables and internal tables on the fly
Test and Analysis Tools • Runtime analysis • used to determine the performance, (absolute and relative) of the various parts of an ABAP program • can provide statistics on the efficiency of • code • database accesses • R/3 system itself
The Data Modeler • graphical tool that utilises E-R modelling • tightly coupled to the data dictionary • possible to click on an object in the model (ie, an entity), and retrieve related data from the dictionary, (ie table - structure, contents) • create the data model and the dictionary can create the table automatically
ABAP Query • Automated report generator • user not required to know ABAP language • can generate • basic lists, statistics, ranked lists • To define a report • enter individual texts, such as titles • select the fields and options which determine the report layout • assign a particular sequence by numbering the fields. • The system generates each query in the form of an ABAP program.
Workbench Organizer • records and controls changes to objects • ABAP Programs, Dictionary Objects, Screens, User Interface Definitions, … • provides assistance for organizing development projects • by allowing you to distribute project work for individual developers or teams among different change requests
Workbench Organizer • interface to the Transport mechanism • movement of applications from development test production environments • prevents parallel, uncoordinated changes to the same object, (version control) • even when many copies of the object exist in several, connected SAP systems
Summary & Conclusion • this lecture provided an overview of the tools that comprise the ABAP Development Workbench • of these the editor /syntax checker/debugger is the combination that we will use most frequently • it is essential that you be able to use the tools to • navigate around the workbench • find,execute,change development objects
Related Reading • OnLine Help • R/3 Library ... Basis Components ... ABAP Workbench • BC ABAP User’s Guide • ABAP Basics • Overview of the Components of Application Programs • ABAP Workbench Tools
Recommended ABAP Texts • ABAP/4: Programming the SAP R/3 System, Bernd Matzke • Developing SAP’s R/3 applications with ABAP/4, Rudiger Kretschmer, and Wolfgang Weiss • Introduction to ABAP/4 Programming for SAP, Revised and Expanded Edition by Gareth M. De Bruyn, Robert Lyfareff