SAP BC 400
BC400 ABAP Workbench Concepts and Tools.................................................. 1
Copyright................................................................................................................ 2
ABAP Workbench............................................................................................ 3
ITS....................................................................................................................... 4
Prerequisites....................................................................................................... 5
Target Group..................................................................................................... 6
ABAP Workbench Foundations and Concepts: Contents.......................................... 1
Course Goal....................................................................................................... 2
Course Objectives............................................................................................. 3
Course Content................................................................................................. 4
Course Content................................................................................................. 5
Main Business Scenario.................................................................................. 6
Important Database Tables for the Flight Data Model............................................. 7
Program Flow in an ABAP Program.................................................................. 1
Overview............................................................................................................ 2
Client / Server Architecture............................................................................. 3
User-Oriented View........................................................................................... 4
Program Flow: What the User Sees............................................................... 5
Interaction Between Server Layers............................................................... 6
Overview............................................................................................................ 7
Sample Program 1: Program Start................................................................. 8
System Loads Program Context.................................................................... 9
Runtime System Sends Selection Screen................................................... 10
Selection Screen Entries Inserted into Data Objects.......................................... 11
Program Requests Data Record from Database.................................................. 12
Database Returns Data Record to Program....................................................... 13
Runtime System Sends List.......................................................................... 14
Overview.......................................................................................................... 15
Sample Program 2: Program Start.............................................................. 16
ABAP Runtime System sends Screen......................................................... 17
User Leaves Selection Screen....................................................................... 18
Program Requests Data Record from Database............................................. 19
Database Returns Data Record................................................................... 20
Program Calls Screen..................................................................................... 21
ABAP Runtime System Sends Selection Screen.............................................. 22
User Executes User Action............................................................................ 23
Processing of the ABAP Processing Block Resumes........................................ 24
Overview.......................................................................................................... 25
Course Content............................................................................................... 26
Course Content............................................................................................... 27
Introduction to the ABAP Workbench.............................................................. 1
Introduction to the ABAP Workbench......................................................... 2
Overview: Introduction to the ABAP Workbench................................................. 3
R/3 Repository.................................................................................................. 4
Repository Structure........................................................................................ 5
SAP Application Hierarchy............................................................................. 6
Repository Information System.................................................................... 7
ABAP Workbench Tools................................................................................. 8
Screen Structure in the Object Navigator..................................................... 9
Navigation Functions in the Navigation Area................................................. 10
Navigation in the Tool Area......................................................................... 11
Synchronizing the Navigation Area and the Tool Area.......................................... 12
Analyzing an Existing Program................................................................... 13
Determining the Functional Scope: Executing a Program................................. 14
Executing a Program Using a Transaction Code.............................................. 15
Determining Screen Numbers and Field Names........................................... 16
Static Analysis: Object list............................................................................ 17
Static Analysis in the Object Navigator..................................................... 18
Example: Displaying Screen 100 in the Screen Painter......................................... 19
Dynamic analysis: Debugging mode.......................................................... 20
Starting a Program in Debugging Mode..................................................... 21
Switch to Debugging Mode at Runtime..................................................... 22
Investigating the Behavior of ABAP Programs at Runtime: Breakpoints in the Debugging Mode.................. 23
Breakpoints in the Debugging Mode.......................................................... 24
Analyzing the Source Code.......................................................................... 25
General ABAP Syntax: Key Words............................................................ 26
Keyword Documentation in the Editor...................................................... 27
Navigation in the Editor: Double-Clicking....................................................... 28
Comments....................................................................................................... 29
Analyzing the Sample Program Source Code................................................... 30
Data Objects and Selection Screens........................................................... 31
Requesting a Data Record from the Database......................................... 32
Receiving the Results of a Query................................................................ 33
Processing Screens.......................................................................................... 34
Creating Lists in ABAP.................................................................................. 35
Overview: Introduction to the ABAP Workbench................................................. 36
Objective of the First Project........................................................................ 37
Project Organization in the ABAP Workbench............................................... 38
Transporting Repository Objects................................................................. 39
Sample Project: Training BC400................................................................ 40
Project Representation in the Workbench Organizer...................................... 41
Completing the Development Process........................................................ 42
Performing Adjustments............................................................................... 43
Copying Programs.......................................................................................... 44
Saving Programs............................................................................................. 45
Allocation to a Change Request.................................................................. 46
Adjusting Short Texts.................................................................................... 47
Adapting Source Code .................................................................... ....... 48
Making Changes to Screens......................................................................... 49
Activating Program Objects......................................................................... 50
Inactive and Active Development Objects................................................... 51
Generation of Runtime Objects................................................................... 52
Saving and Activating................................................................................... 53
Creating a New Program............................................................................... 54
Creating a Program........................................................................................ 55
Creating a Transaction Code....................................................................... 56
Including a Transaction Code in SAP Easy Access............................................... 57
Introduction to the ABAP Workbench: Unit Summary....................................... 58
ABAP Workbench Exercises........................................................................ 59
ABAP Workbench Solutions........................................................................ 63
ABAP Statements and Data Declarations........................................................ 1
ABAP Statements and Data Declarations: Unit Objectives................................ 2
Main Focus of Unit: Data Objects in Programs................................................... 3
Overview: Types............................................................................................... 4
Using Types....................................................................................................... 5
Attributes of Global and Local Program Types................................................ 6
Global types in the ABAP Dictionary........................................................... 7
Example: Using Semantic Information from the Dictionary........................................ 8
Finding out About ABAP Dictionary Types 1........................................................... 9
Finding ABAP Dictionary Types in the Repository Information System..................... 10
Local Data Types in Programs.................................................................... 11
Overview: Data objects................................................................................. 12
Defining Data Objects................................................................................... 13
Overview: Elementary Data Objects.......................................................... 14
Syntax Example: Defining Elementary Data Objects................................. 15
Fixed Data Objects........................................................................................ 16
Copying and Initializing Variables.............................................................. 17
Performing Calculations............................................................................... 18
Evaluating Field Contents............................................................................ 19
Tracing Data Flow in the Debugger: Field View........................................... 20
Tracing Data Flow in the Debugger: Watchpoint....................................... 21
Overview: Structures...................................................................................... 22
Defining Structures with a Dictionary Type Reference............................................. 23
Example: Dictionary Structure Type SBC400FOCC............................................... 24
Syntax Example: Local Program Structure Types............................................ 25
Addressing Fields in Structures..................................................................... 26
Copying Identically-Named Fields Between Structures...................................... 27
Structures in the Debugger............................................................................ 28
Data Objects in a Program's Object List and in the Where-Used List................... 29
Overview: Internal Tables............................................................................ 30
Internal Tables................................................................................................ 31
Attributes of Internal Tables........................................................................ 32
The Relationship Between the Table Kind and the Access Type........................ 33
Declaring Internal Tables with a Dictionary Type Reference.............................. 34
Syntax Example: Local Table Types in Programs.................................... 35
Overview: Accessing Single Records........................................................... 36
Overview: Processing Sets of Records........................................................ 37
Example: Filling Internal Tables Line by Line.............................................. 38
Example: Reading Internal Table Contents Using a Loop........................... 39
Example: Reading Internal Tables Using the Index....................................... 40
Example: Reading Internal Tables Using Keys................................................ 41
Operations on the Whole Internal Table.................................................... 42
Syntax Example: Sorting a Standard Table..................................................... 43
Internal Tables in Debugging Mode............................................................ 44
Internal Tables with Headers....................................................................... 45
Overview: ABAP Statement Attributes...................................................... 46
ABAP Statement Return Codes.................................................................. 47
Standard Dialogs for Messages................................................................... 48
Syntax Example: MESSAGE Statements.......................................................... 49
The Dialog Behavior of Messages: Message Types.............................................. 50
Runtime Behavior of Messages.................................................................. 51
ABAP Statements and Data Declarations: Unit Summary.................................. 52
Data Objects and Statements Exercises.................................................... 53
Data Objects and Statements Solutions.................................................... 58
Reading Database Tables.................................................................................... 1
Reading Database Tables: Unit Objectives.................................................... 2
Information on Database Tables in R/3...................................................... 3
Flight Data Model for ABAP Training Courses................................................. 4
Data Model........................................................................................................ 5
Implementation in the Database Using the ABAP Dictionary............................ 6
Maintenance Tool: ABAP Dictionary.......................................................... 7
Finding Fields, Key Fields, and Secondary Indexes in the ABAP Dictionary..................... 8
Finding Database Tables................................................................................. 9
Reading Database Tables............................................................................. 10
Querying the Database.................................................................................. 11
SELECT Overview......................................................................................... 12
Reading a Single Record............................................................................... 13
Reading Several Records Using a SELECT Loop................................................. 14
Reading Several Records Using an Array Fetch........................................................ 15
The Field List and Appropriate Target Structure: The INTO Clause........................ 16
Target Structures with Identically-Named Fields for All Columns Specified.................... 17
Authorization Checks.................................................................................... 18
Authorization Checks in ABAP Programs.................................................. 19
Authorization Objects and Authorizations............................................. 20
AUTHORITY-CHECK................................................................................. 21
Inserting AUTHORITY-CHECK in Programs..................................................... 22
Outlook: Reading Multiple Database Tables.......................................................... 23
Reading Multiple Database Tables............................................................. 24
ABAP Join and Dictionary Views................................................................ 25
Reference Model............................................................................................ 26
Overview: Available Reuse Techniques..................................................... 27
Reading Database Tables: Unit Summary........................................................... 28
Database Dialogs 1: Exercises..................................................................... 29
Database Dialogs 1: Solutions..................................................................... 34
Internal Program Modularization...................................................................... 1
Internal Program Modularization: Unit Objectives.............................................. 2
Possible Elements in an ABAP Program....................................................... 3
Event Blocks..................................................................................................... 4
Example: ABAP Program with Event Blocks and a Selection Screen.......................... 5
Sample Program Runtime Behavior............................................................. 6
Event Blocks in Executable Programs.......................................................... 7
Syntax: Event Blocks...................................................................................... 8
Subroutines........................................................................................................ 9
Example: Flow Chart.................................................................................... 10
Concept: Encapsulating Output in a Subroutine......................................................... 11
Calling Subroutines........................................................................................ 12
Syntax Example: Calling the Subroutine.................................................. 13
Implementation: Generic Subroutine to Display the First n Lines of an Internal Table............... 14
Syntax: Generic Subroutine to Display the First n Lines of an Internal Table............................. 15
Generating a Call Using Drag&Drop........................................................... 16
Subroutines in the Debugging Mode........................................................... 17
Subroutines That Return Data..................................................................... 18
Syntax Example: Subroutines with USING and CHANGING Parameters.............................. 19
Copying Large Internal Tables.................................................................... 20
Solution: Reference Parameters.................................................................. 21
Syntax Example: Subroutine with Interface Reference Parameters....................................... 22
Internal Program Modularization: Unit Summary................................................................. 23
Modularization in Programs Exercises....................................................... 24
Internal Program Modularization Solutions.................................................................... 26
User Dialogs: Lists................................................................................................. 1
User Dialogs: Lists: Unit Objectives.............................................................. 2
List Attributes.................................................................................................... 3
Standard List Functions.................................................................................. 4
Column Header in the Default Page Header............................................................. 5
Multilingual Capability.................................................................................... 6
Lists in Executable Programs......................................................................... 7
Detail Lists......................................................................................................... 8
Example: A Simple Detail List....................................................................... 9
Syntax: A Simple Detail List........................................................................ 10
Example: Detail lists...................................................................................... 11
Placing Global Data in the HIDE Area....................................................... 12
Line Selection.................................................................................................. 13
Line Selection: Syntax.................................................................................. 14
User Dialogs: Lists: Unit Summary............................................................. 15
User Dialogs – Lists: Exercises..................................................................... 16
User Dialogs – Lists Benutzerdialog Liste: Solutions.......................................... 18
User Dialogs: Selection Screens.......................................................................... 1
Selection Screens: Unit Objectives................................................................ 2
Use of Selection Screens.................................................................................. 3
Screen Attributes............................................................................................... 4
The Selection Screen........................................................................................ 5
Entering Selections........................................................................................... 6
Using the Semantic Information of Dictionary Types...................................... 7
Selection Texts.................................................................................................. 8
Variants.............................................................................................................. 9
Single Fields (PARAMETERS)..................................................................... 10
Effect of the PARAMETERS Statement................................................... 11
Runtime Behavior and Data Transport (1).......................................................... 12
Using Parameters When You Access the Database............................................. 13
Value Sets (SELECT-OPTIONS)................................................................. 14
Effect of SELECT-OPTIONS...................................................................... 15
Runtime Behavior and Data Transport (2)........................................................... 16
Using Value Sets When You Access the Database.............................................. 17
Selection screen events.................................................................................. 18
Selection Screen Events................................................................................ 19
Error Messages in AT SELECTION-SCREEN...................................................... 20
Syntax Example for AT SELECTION-SCREEN..................................... 21
Selection Screens: Unit Summary............................................................... 22
Selection Screen: Exercises........................................................................... 23
Selection Screen Solutions............................................................................ 24
User Dialogs: Screens............................................................................................ 1
Screens: Unit Objectives.................................................................................. 2
Selection Screen Attributes............................................................................. 3
Options for Calling Screens............................................................................. 4
Objective of the Example Program............................................................... 5
Parts of a Screen............................................................................................... 6
Editing Screens.................................................................................................. 7
The Editing Window in the Graphical Layout Editor............................................. 8
Example, Step 1: Creating a Screen.............................................................. 9
Creating a Screen: Screen Attributes.......................................................... 10
Input Fields with Reference to Fields of a Dictionary Structure...................................... 11
Changing the Element Attributes of a Field: The Attribute Window................................ 12
Example, Step 2: Displaying Data.............................................................. 13
Screen Interfaces............................................................................................ 14
Data Transport from the Program to the Screen................................................... 15
Data Transport from the Screen to the Program................................................... 16
Data Transport in the Example Program................................................... 17
Data Availability............................................................................................ 18
Syntax: Example Program with Data Transport............................................... 19
Example, Step 3: Defining Pushbuttons.................................................... 20
Runtime Behavior When User Chooses a Pushbutton.............................................. 21
Defining Pushbuttons / Assigning Function Codes.......................................... 22
Making the Command Field Usable........................................................... 23
Modules........................................................................................................... 24
The user_command_<nnnn> PAI Module................................................................... 25
Creating Modules Using Forward Navigation................................................................. 26
Next Screen (Set Statically) = 0................................................................... 27
Next Screen (Set Statically) = Screen Number......................................................... 28
Setting the Next Screen Dynamically......................................................... 29
Syntax Example: The user_command_100 Module................................................................ 30
Exceptional Runtime Behavior When ENTER Is not Assigned to a Function Code................. 31
Possible Solution: Deleting the Command Field in a PBO Module...................................... 32
Screens: Unit Summary................................................................................ 33
Screens: Exercises.......................................................................................... 34
Screens Solutions............................................................................................ 39
Interfaces................................................................................................................ 1
Interfaces: Unit Objectives............................................................................. 2
Overview of Screen Objects............................................................................ 3
Evaluating Functions After User Actions..................................................... 4
Functions in ABAP Programs......................................................................... 5
Status: Functions in Screens........................................................................... 6
Runtime Behavior: Setting a Status before Displaying a Screen..................................... 7
Creating GUI Statuses for Lists...................................................................... 8
Adjusting Statuses............................................................................................ 9
Statuses in the Menu Painter: Key Settings............................................................... 10
Statuses in the Menu Painter: The Menu Bar.............................................................. 11
Technical View of Basic Interface Elements............................................................... 12
Objective: Example Program Interface..................................................... 13
Creating GUI Statuses for a Screen............................................................ 14
Including Existing Elements......................................................................... 15
Technical View of an Interface with Two Statuses.................................................................. 16
Each Status References Functions (Indirectly)...................................................................... 17
Each Referenced Function Has the Attribute Active or Inactive in the Status......................... 18
Setting Functions to Active or Inactive in the Status............................................................. 19
Adding an Additional Function Subsequently................................................................ 20
Outlook: Title.................................................................................................. 21
Creating GUI Titles for a Screen.................................................................. 22
Interfaces: Unit Summary............................................................................ 23
Interfaces Exercises....................................................................................... 24
InterfacesSolutions........................................................................................ 26
Reuse Components............................................................................................... 1
Reuse Components: Unit Objectives............................................................ 2
Techniques for Encapsulating Business Logic................................................. 3
Overview: Function Groups and Function Modules................................................ 4
Function Groups and Function Modules: Course Objectives................................... 5
Function Groups............................................................................................... 6
Function Modules............................................................................................. 7
Function Groups: Data Flow......................................................................... 8
Example: The Cancel Dialog Box................................................................. 9
Requirement: Function Module for Standard Dialog......................................... 10
Finding the Function Module....................................................................... 11
Function Module Interface.......................................................................... 12
Documentation and Testing......................................................................... 13
Syntax: Calling the Function Module........................................................ 14
Reuse Components: Exercises..................................................................... 44
Reuse Components: Solutions..................................................................... 48
Developing Internet Applications: Exercises....................................................... 22
Developing Internet Applications: Solutions ................................................ 24