Title: ABAP Programming
1ABAP Programming
- Introduction to the ABAP Workbench
2Objectives
- to introduce
- the ABAP integrated development environment
- the two main ABAP application types
- reporting
- dialog programming
3Order 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
4ABAP WorkbenchPurpose Function
- SAPs 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
5ABAP 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
6ABAP 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
7ABAP Workbench Architecture
Transport System
Screen Painter
Reporting
ABAP Editor
R/3 Repository
Function Modules
ABAP Dictionary
ABAP Organizer
Data Modeler
Menu Painter
ABAP Processor
Debugging Trace Test Tuning
8The 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
9Menubar
Standard toolbar
Screen title-bar
Application toolbar
Client
Server
Message line
10The 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
11(No Transcript)
12The 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
13Reporting
- 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
14Report
Selection Screen
List Screen
ABAP Open SQL
R/3 Database
15(No Transcript)
16(No Transcript)
17(No Transcript)
18Dialog 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
19Development Environment
ABAP Dictionary
Screen Painter
Menu Painter
ABAP
Runtime Environment
Dialog Processor
ABAP Processor
20Dialog Programming - Overview
Transaction Code
Module Pool
0100
0200
0300
Screen Flow Logic
21DIALOG Communication ABAP
PROCESS BEFORE OUTPUT. MODULE
INITIALISE. PROCESS AFTER INPUT. MODULE
READ-ITAB. MODULE ....
MODULE INITIALISE Clear ITAB. ENDMODULE. MOD
ULE READ-ITAB. Select From ITAB
Where... ENDMODULE. MODULE......
ENDMODULE.
1
2
3
4
22Graphical Screen Painter
Currently Edited Field
Graphical Elements Toolbar
23Menu Painter
24The 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)
25(No Transcript)
26Test 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
27Test 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
28(No Transcript)
29Test 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
30(No Transcript)
31(No Transcript)
32The 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
33(No Transcript)
34ABAP 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.
35Workbench 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
36Workbench 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
37Summary 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
38Related Reading
- OnLine Help
- R/3 Library ... Basis Components ... ABAP
Workbench - BC ABAP Users Guide
- ABAP Basics
- Overview of the Components of Application
Programs - ABAP Workbench Tools
39Recommended ABAP Texts
- ABAP/4 Programming the SAP R/3 System,
- Bernd Matzke
- Developing SAPs 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