TABC41 ABAP Development Workbench Basics
- Services.........................................................................................................................................2-9
System Functions - User Profile ................................................................................................................................2-10
Table Settings - Example ............................................................................................................................................2-11
Personalizing the Frontend .........................................................................................................................................2-12
Navigation: Unit Summary .........................................................................................................................................2-13
Exercises ........................................................................................................................................................................2-14
Solutions.........................................................................................................................................................................2-19
System Kernel: Contents....................................................................................................................................................3-1
Client / Server Principles...............................................................................................................................................3-2
R/3 System Client / Server Configurations.................................................................................................................3-3
The System Kernel.........................................................................................................................................................3-4
Processing User Requests .............................................................................................................................................3-5
R/3 Database Interface...................................................................................................................................................3-6
R/3 Application Services...............................................................................................................................................3-7
Locks in R/3 at the Business Process Level................................................................................................................3-8
Asynchronous Update....................................................................................................................................................3-9
Long-Running ABAP Programs ................................................................................................................................3-10
Background Processing...............................................................................................................................................3-11
R/3 Printer Services......................................................................................................................................................3-12
The R/3 Instance...........................................................................................................................................................3-13
System Kernel: Unit Summary ..................................................................................................................................3-14
Communication: Contents .................................................................................................................................................4-1
Communication Interfaces ............................................................................................................................................4-2
Communication: R/3 is an Open System.....................................................................................................................4-3
Remote Function Call....................................................................................................................................................4-4
Office Integration Using OLE......................................................................................................................................4-6
Business Objects and BAPIs ........................................................................................................................................4-7
Administration: Contents ...................................................................................................................................................5-1
Security in the R/3 System............................................................................................................................................5-2
System Administration ..................................................................................................................................................5-3
Computing Center Management System (CCMS) ....................................................................................................5-4
Monitoring Architecture................................................................................................................................................5-5
Remote Services Provided by SAP ..............................................................................................................................5-6
SAPNet.............................................................................................................................................................................5-7
Administration: Unit Summary ...................................................................................................................................5-8
System-wide Concepts.......................................................................................................................................................6-1
Enterprise Structure Terminology ...............................................................................................................................6-2
Organizational Structures - Levels ...............................................................................................................................6-3
Organizational Structures - Business Functions.........................................................................................................6-4
Master Data - Customer Master...................................................................................................................................6-5
Customer Master - General and Financial Data .........................................................................................................6-6
Customer Master - Sales Data ......................................................................................................................................6-7
Master Data - Material Master.....................................................................................................................................6-8
Transactions and Documents: Topic Objectives........................................................................................................6-9
Transaction - Using Master Data...............................................................................................................................6-10
Transaction - Using Organizational Units.................................................................................................................6-11
Message Types..............................................................................................................................................................6-12
SAP Business Workflow Example .............................................................................................................................6-13
mySAP.com.........................................................................................................................................................................7-1
SAP’s Major Internet Initiatives ..................................................................................................................................7-2
The Strategy: From Integration to Collaboration.......................................................................................................7-3
People on Top .................................................................................................................................................................7-4
mySAP.com: What does it mean? ...............................................................................................................................7-5
Workplace: Topic Objectives .......................................................................................................................................7-6
Workplace Internet Business Framework ...................................................................................................................7-7
mySAP.com Workplace - Benefits..............................................................................................................................7-8
Marketplace: Topic Objectives ....................................................................................................................................7-9
mySAP.com Marketplace ...........................................................................................................................................7-10
Buying and Selling on the Marketplace....................................................................................................................7-11
mySAP.com Marketplace - Benefits ..........................................................................................................................7-12
Application Hosting Types .........................................................................................................................................7-13
mySAP.com: Unit Summary ......................................................................................................................................7-14
Section: ABAP Workbench Concepts and Tools ...........................................................................................................8-1
Content: ABAP Workbench Concepts and Tools......................................................................................................8-2
Main Business Scenario ................................................................................................................................................8-3
Program Flow in an ABAP Program...............................................................................................................................9-1
Overview..........................................................................................................................................................................9-2
Client / Server Architecture ..........................................................................................................................................9-3
User-Oriented View.......................................................................................................................................................9-4
Program Flow: What the User Sees .............................................................................................................................9-5
Interaction Between Server Layers ..............................................................................................................................9-6
Overview..........................................................................................................................................................................9-7
Sample Program 1: Program Start ...............................................................................................................................9-8
System Loads Program Context ...................................................................................................................................9-9
Runtime System Sends Selection Screen ..................................................................................................................9-10
Selection Screen Entries Inserted into Data Objects ...............................................................................................9-11
Program Requests Data Record from Database.......................................................................................................9-12
Database Returns Data Record to Program...............................................................................................................9-13
Runtime System Sends List........................................................................................................................................9-14
Overview........................................................................................................................................................................9-15
Sample Program 2: Program Start ..............................................................................................................................9-16
ABAP Runtime System sends Screen........................................................................................................................9-17
User Leaves Selection Screen ....................................................................................................................................9-18
Program Requests Data Record from Database.......................................................................................................9-19
Database Returns Data Record...................................................................................................................................9-20
Program Calls Screen...................................................................................................................................................9-21
ABAP Runtime System Sends Selection Screen .....................................................................................................9-22
User Executes User Action.........................................................................................................................................9-23
Processing of the ABAP Processing Block Resumes .............................................................................................9-24
Overview........................................................................................................................................................................9-25
Introduction to the ABAP Workbench..........................................................................................................................10-1
Overview: Introduction to the ABAP Workbench...................................................................................................10-2
R/3 Repository ..............................................................................................................................................................10-3
Structure of the Repository .........................................................................................................................................10-4
SAP Application Hierarchy ........................................................................................................................................10-5
Repository Information System .................................................................................................................................10-6
ABAP Workbench Tools ............................................................................................................................................10-7
Screen Structure in the Object Navigator..................................................................................................................10-8
Navigation Functions in the Hierarchy Area ............................................................................................................10-9
Displaying Program Objects in the Object Window.............................................................................................10-10
Analyzing an Existing Program...............................................................................................................................10-11
Determining the Functional Scope: Executing a Program...................................................................................10-12
Static View of Program Objects: The Object List................................................................................................10-13
Starting Programs .......................................................................................................................................................10-14
Determining the Sequential Use of Program Objects: Debugging mode ..........................................................10-15
Breakpoints in the Debugging Mode.......................................................................................................................10-16
General ABAP Syntax...............................................................................................................................................10-17
Chained Statements and Comments .........................................................................................................................10-18
Navigation in the Editor ............................................................................................................................................10-19
Keyword Documentation ..........................................................................................................................................10-20
Sample Program Source Code..................................................................................................................................10-21
Data Objects and Selection Screens........................................................................................................................10-22
Database Dialog 1: .....................................................................................................................................................10-23
Database Dialog 2: .....................................................................................................................................................10-24
Processing Screens.....................................................................................................................................................10-25
Creating Lists ..............................................................................................................................................................10-26
Overview: Introduction to the ABAP Workbench.................................................................................................10-27
First Project: ................................................................................................................................................................10-28
Transporting Repository Objects.............................................................................................................................10-29
Sample Project: Training BC400 ..............................................................................................................................10-30
Project Representation in the Workbench Organizer............................................................................................10-31
Completing the Development Process.....................................................................................................................10-32
Copying Programs ......................................................................................................................................................10-33
Saving Programs .........................................................................................................................................................10-34
Allocation to a Change Request...............................................................................................................................10-35
Adjusting Short Texts ................................................................................................................................................10-36
Adapting Source Code...............................................................................................................................................10-37
Making Changes to Screens......................................................................................................................................10-38
Saving and Activating................................................................................................................................................10-39
Introduction to the ABAP Workbench: Unit Summary ........................................................................................10-40
Exercises ......................................................................................................................................................................10-41
Solutions.......................................................................................................................................................................10-45
ABAP Statements and Data Declarations.....................................................................................................................11-1
The R/3 Client/Server Architecture...........................................................................................................................11-2
Overview: Types...........................................................................................................................................................11-3
Using Types...................................................................................................................................................................11-4
Local and Global Data Types.....................................................................................................................................11-5
Using Elementary Dictionary Types..........................................................................................................................11-6
Finding ABAP Dictionary Types 1 ............................................................................................................................11-7
Finding ABAP Dictionary Types 2 ............................................................................................................................11-8
Local Data Types in Programs ...................................................................................................................................11-9
Overview: Data Objects ............................................................................................................................................11-10
Defining Data Objects ...............................................................................................................................................11-11
Overview: Elementary Data Objects........................................................................................................................11-12
Data Objects in a Program's Object List..................................................................................................................11-13
Defining Elementary Data Objects..........................................................................................................................11-14
Literals and Constants................................................................................................................................................11-15
Changing Variables: Copy and Initialization..........................................................................................................11-16
Performing Calculations............................................................................................................................................11-17
Evaluating Field Contents .........................................................................................................................................11-18
Observing Data Flow in the Debugger: Field .........................................................................................................11-19
Observing Data Flow in the Debugger: Watchpoint.............................................................................................11-20
Overview: Structures .................................................................................................................................................11-21
Defining Structures with a Dictionary Type Reference........................................................................................11-22
Addressing Fields in Structures ...............................................................................................................................11-23
Assigning Values Field for Field ..............................................................................................................................11-24
Structures in the Debugger........................................................................................................................................11-25
Overview: Internal Tables.........................................................................................................................................11-26
Table Type...................................................................................................................................................................11-27
Table Types .................................................................................................................................................................11-28
Declaring Internal Tables with a Dictionary Type Reference .............................................................................11-29
Processing Single Records........................................................................................................................................11-30
Processing Sets of Records.......................................................................................................................................11-31
Further Processing Options.......................................................................................................................................11-32
Example: Filling Internal Tables Line by Line ......................................................................................................11-33
Example: Reading Internal Table Contents Using a Loop...................................................................................11-34
Example: Reading Internal Tables Using the Index..............................................................................................11-35
Example: Reading Internal Tables Using Keys .....................................................................................................11-36
Internal Tables in Debugging Mode.........................................................................................................................11-37
Internal Tables with Header Lines...........................................................................................................................11-38
Overview: ABAP Statement Attributes...................................................................................................................11-39
ABAP Statement Return Codes ...............................................................................................................................11-40
User Messages: An Overview..................................................................................................................................11-41
Syntax: MESSAGE Statements ...............................................................................................................................11-42
Runtime Behavior of Messages ...............................................................................................................................11-43
ABAP Statements and Data Declarations: Unit Summary...................................................................................11-44
Exercises ......................................................................................................................................................................11-45
Solutions.......................................................................................................................................................................11-49
Database Dialogs I ............................................................................................................................................................12-1
Information about Database Tables...........................................................................................................................12-2
Information in the ABAP Dictionary .........................................................................................................................12-3
Finding Database Tables .............................................................................................................................................12-4
Flight Data Model for ABAP Training Courses ......................................................................................................12-5
Data Model....................................................................................................................................................................12-6
Realization in the ABAP Dictionary:........................................................................................................................12-7
Key Fields and Secondary Indexes............................................................................................................................12-8
Reading Database Tables ............................................................................................................................................12-9
SELECT Overview....................................................................................................................................................12-10
Querying the Database...............................................................................................................................................12-11
Processing Single Records........................................................................................................................................12-12
SELECT Loops...........................................................................................................................................................12-13
Array Fetch..................................................................................................................................................................12-14
INTO Clauses..............................................................................................................................................................12-15
INTO CORRESPONDING FIELDS.......................................................................................................................12-16
Authorization Checks ................................................................................................................................................12-17
The Authorization Concept.......................................................................................................................................12-18
Authorization Checks in ABAP Programs ..............................................................................................................12-19
Authorization Objects and Authorizations..............................................................................................................12-20
AUTHORITY-CHECK.............................................................................................................................................12-21
Inserting AUTHORITY-CHECK in Programs ......................................................................................................12-22
Reading Multiple Database Tables..........................................................................................................................12-23
Overview: Reading Multiple Database Tables.......................................................................................................12-24
ABAP Dictionary: Views..........................................................................................................................................12-25
Database Dialogs I: Unit Summary ..........................................................................................................................12-26
Datenbankdialoge 1: Exercises ................................................................................................................................12-27
Solutions.......................................................................................................................................................................12-32
Internal Program Modularization ...................................................................................................................................13-1
Possible Elements of an ABAP Program..................................................................................................................13-2
For example: ABAP Program with Event Blocks and a Selection Screen..........................................................13-3
Sample Program Runtime Behavior..........................................................................................................................13-4
Event Blocks in Executable Programs .......................................................................................................................13-5
Syntax: Event Blocks ...................................................................................................................................................13-6
Program with Subroutines...........................................................................................................................................13-7
Subroutines in the Object List....................................................................................................................................13-8
Syntax Example: Subroutine Interface ......................................................................................................................13-9
Calling Subroutines: Runtime Behavior..................................................................................................................13-10
Calling by Value and by Reference.........................................................................................................................13-11
Syntax Example: Calling Subroutines .....................................................................................................................13-12
Internal Program Modularization: Unit Summary .................................................................................................13-13
Exercises ......................................................................................................................................................................13-14
Solutions.......................................................................................................................................................................13-16
User Dialogs: Lists............................................................................................................................................................14-1
Lists.................................................................................................................................................................................14-2
List Operations..............................................................................................................................................................14-3
Page Headers .................................................................................................................................................................14-4
Multilingual Capability ...............................................................................................................................................14-5
Lists in Executable Programs .....................................................................................................................................14-6
Detail Lists.....................................................................................................................................................................14-7
Example: A Simple Detail List..................................................................................................................................14-8
Syntax: A Simple Detail List......................................................................................................................................14-9
Example: Detail lists..................................................................................................................................................14-10
The HIDE Area ...........................................................................................................................................................14-11
Line Selection..............................................................................................................................................................14-12
Line Selection: Syntax...............................................................................................................................................14-13
User Dialogs: Lists: Unit Summary .........................................................................................................................14-14
User Dialogs - Lists: Exercises ................................................................................................................................14-15
Solutions.......................................................................................................................................................................14-17
User Dialogs: Selection Screens.....................................................................................................................................15-1
Selection Screen............................................................................................................................................................15-2
The Selection Screen....................................................................................................................................................15-3
Entering Selections.......................................................................................................................................................15-4
Search Help ...................................................................................................................................................................15-5
Selection Texts ..............................................................................................................................................................15-6
Variants ..........................................................................................................................................................................15-7
Recap: PARAMETERS ..............................................................................................................................................15-8
Data Transport...............................................................................................................................................................15-9
Using Parameters in the SELECT Statement 1......................................................................................................15-10
SELECT-OPTIONS...................................................................................................................................................15-11
Data Transport.............................................................................................................................................................15-12
Using Parameters in the SELECT Statement 2......................................................................................................15-13
Selection Screen Events ............................................................................................................................................15-14
Error Dialogs in AT SELECTION-SCREEN.........................................................................................................15-15
AT SELECTION-SCREEN Syntax.........................................................................................................................15-16
User Dialogs: Selection Screens: Unit Summary...................................................................................................15-17
Selection Screen: Exercises ......................................................................................................................................15-18
Solutions.......................................................................................................................................................................15-19
User Dialogs: Screens ......................................................................................................................................................16-1
Screens: Strengths........................................................................................................................................................16-2
Using Screens................................................................................................................................................................16-3
Example: Screen ...........................................................................................................................................................16-4
Parts of a Screen ...........................................................................................................................................................16-5
Step 1: Creating a Screen ............................................................................................................................................16-6
Creating a Screen: Screen Attributes .........................................................................................................................16-7
Input Fields from the Dictionary Structure ...............................................................................................................16-8
Changing Field Attributes...........................................................................................................................................16-9
Field Attributes: The Element List...........................................................................................................................16-10
Step 2: Displaying Data.............................................................................................................................................16-11
Screen Interfaces.........................................................................................................................................................16-12
Data Transport from the Program to the Screen ....................................................................................................16-13
Data Transport from the Screen to the Program ....................................................................................................16-14
Data Flow.....................................................................................................................................................................16-15
Syntax for Level 2......................................................................................................................................................16-16
Step 3: Defining Pushbuttons...................................................................................................................................16-17
Defining Pushbuttons / Assigning Function Codes...............................................................................................16-18
Assigning a Field Name to the OK_CODE Field ..................................................................................................16-19
Modules........................................................................................................................................................................16-20
Static Next Screen = 0 ...............................................................................................................................................16-21
Static Next Screen = Screen Number.......................................................................................................................16-22
Setting the Next Screen Dynamically ......................................................................................................................16-23
Program Logic .............................................................................................................................................................16-24
Forward Navigation: Creating Modules ..................................................................................................................16-25
Using the 'Save' Function..........................................................................................................................................16-26
User Dialogs: Screens: Unit Summary ....................................................................................................................16-27
Exercises ......................................................................................................................................................................16-28
Solutions.......................................................................................................................................................................16-34
Reuse Components............................................................................................................................................................17-1
Techniques for Encapsulating Business Logic .........................................................................................................17-2
Function Groups and Function Modules ...................................................................................................................17-3
Function Group.............................................................................................................................................................17-4
Function Module...........................................................................................................................................................17-5
Function Group: Data Flow........................................................................................................................................17-6
Example: The Cancel Dialog Box.............................................................................................................................17-7
Requirement: Function Module for Standard Dialog..............................................................................................17-8
Finding the Function Module .....................................................................................................................................17-9
Function Module Interface........................................................................................................................................17-10
Documentation and Testing......................................................................................................................................17-11
Syntax: Calling the Function Module ......................................................................................................................17-12
Inserting a Function Module Call in a Program.....................................................................................................17-13
Objects and Methods..................................................................................................................................................17-14
Benefits of Object-oriented Programming ..............................................................................................................17-15
Real World / Functions / Objects.............................................................................................................................17-16
ABAP Objects:............................................................................................................................................................17-17
Example Scenario: Rebooking a Flight ...................................................................................................................17-18
Objects Are Instances of a Class..............................................................................................................................17-19
Program Flow in an ABAP Program .......................................................................................................................17-20
Application Areas of ABAP Objects .......................................................................................................................17-21
Controls: Technical Background I............................................................................................................................17-22
Example: ALV Grid Control....................................................................................................................................17-23
Program using ALV Grid Control...........................................................................................................................17-24
Objects and Classes for the ALV Grid Control......................................................................................................17-25
CL_GUI_CONTROL_CONTAINER .....................................................................................................................17-26
CL_GUI_ALV_GRID...............................................................................................................................................17-27
Creating a Custom Control Screen Element ...........................................................................................................17-28
Syntax Example: Defining Reference Variables....................................................................................................17-29
Syntax Example: CREATE OBJECT ......................................................................................................................17-30
Syntax Example: Calling Methods..........................................................................................................................17-31
Business Objects and BAPIs ....................................................................................................................................17-32
BAPIs ...........................................................................................................................................................................17-33
Where Are BAPIs Used?...........................................................................................................................................17-34
Example: FlightBooking Business Object ..............................................................................................................17-35
BAPI Explorer.............................................................................................................................................................17-36
BAPI Explorer - Legend ...........................................................................................................................................17-37
Business Objects in the BAPI Explorer...................................................................................................................17-38
BAPIs in the BAPI Explorer....................................................................................................................................17-39
Business Object Builder............................................................................................................................................17-40
Standard BAPIs...........................................................................................................................................................17-41
BAPIs Are Implemented as Function Modules......................................................................................................17-42
Calling a BAPI from an ABAP Program................................................................................................................17-43
BAPIs: Exception Handling .....................................................................................................................................17-44
Logical Databases.......................................................................................................................................................17-45
Reading Logically Dependent Data .........................................................................................................................17-46
Logical Databases.......................................................................................................................................................17-47
Controlling an LDB from within a Program...........................................................................................................17-48
Event Blocks in Logical Databases.........................................................................................................................17-49
Example: Event Sequencing.....................................................................................................................................17-50
Summary ......................................................................................................................................................................17-51
Reuse Components .....................................................................................................................................................17-52
Exercises ......................................................................................................................................................................17-53
Solutions.......................................................................................................................................................................17-56
Download attached file: You must be Loged in to download file