ABAP Workbench Tools
Overview of the ABAP Workbench
Learning More
Object Navigator
Navigation
Switching Between Browsers
Navigation Stack
Navigation Context
Repository Browser
Selecting an Object
Object List Toolbar
Creating a New Object
Creating a Program
Copying an Object
Deleting an Object
Assigning an Object to a Different Package
Creating a Transport Entry
Activating an Object
Using Set Mode
User-Specific Settings
Worklist
Setting Markers
ABAP Editor
Front-End Editor (Source Code Mode)
Editing Features
Syntax Highlighting
Code Hints
Code Completion
Code Templates
Patterns
Automatic Brace and Structure Matching
Block Selection
Formatting
Additional Editing Features
Display Features
Window Splitter
Active Status Bar
Code Outlining and Structuring
Mouse Pointer and Caret Styles
Find and Replace
Incremental Search
Clipboard Ring
Navigation
Bookmarks
Printing
Export Functionality
Settings
Display Settings
Font and Color Settings
Code Completion Settings
Code Template Settings
Formatting Settings
Auto Correction Settings
Keyboard Settings
Default Key Combinations
Print Settings
XML Settings
Changing the Editor Mode
Creating a Program
Editing a Program
Saving and Activating a Program
Checking a Program
Extended Program Check
Errors and Warnings
Overview of Former Editor Modes
Front-End Editor (Plain Text Mode)
Back-End Editor
Editing a Program (Former Editor Modes)
Navigating in the Source Code
Navigating by Double-Click
Using Compression Logic
Editing Source Code (Front-End Editor)
Editing Source Code (Back-End Editor)
Using Buffers
Find and Replace (Front-End Editor)
Find and Replace (Back-End Editor)
Inserting Statement Patterns
Inserting Statement Patterns by Drag and Drop
Expanding Includes
Using ABAP Help
Local Editing
Improving the Layout
Features of the Pretty Printer
Function Builder
Overview of Function Modules
Looking Up Function Modules
Interface Parameters of a Function Module
Calling Function Modules From Your Programs
Creating New Function Modules
Creating a Function Group
Creating a Function Module
Specifying Parameters and Exceptions
Understanding Function Module Code
Checking and Activating Function Modules
Testing Function Modules
Saving Tests and Test Sequences
Documenting and Releasing a Function Module
Class Builder
Form-Based Class Builder
Source Code-Based Class Builder
Creating Classes and Interfaces
Creating a Standard Class
Class-Based Exceptions
Creating an Exception Class
Creating a Persistent Class
Generated Classes
Creating an Interface
Maintaining Standard Classes
Creating Attributes
Visibility Sections in Classes
Creating and Defining Methods
Creating Parameters for Methods
Creating Exceptions for Methods
Implementing Methods
Creating Event Handler Methods
Creating Events
Creating Types
Creating Local Definitions and Implementations
Local Definitions not Referred by the Global Class
Local Definitions Referred by the Global Class
Local Test Classes
Macros (Obsolete)
Activating Classes and Interfaces
Maintaining Persistent Classes
The Mapping Assistant
Defining Persistence Representation
Defining Value Attributes, Key Attributes, and GUIDs
Defining Reference Attributes
Class Diagram: Persistence Representation
Activating Persistent Classes
Editing Persistent Attributes
Maintaining Global Exception Classes
Creating Attributes for Exception Classes
Creating Exception Texts in the Online Text Repository
Inserting Exception Texts from Message Classes
Defining Relationships Between Object Types
Enhancing Classes with Interfaces
Creating a Subclass
Extending a Subclass
Nesting Interfaces
Defining a Friends Relationship
Locking a Class for Edit
Refactoring
Moving Components to a Superclass
Moving Components to a Subclass
Moving Components to an Interface
Moving Components to Associated Classes
Moving Interfaces to a Superclass
Moving Interfaces to a Subclass
Moving Interfaces to Subclass(es)
Moving Interface Components in Classes
Moving Components of the Interface to the Class
Moving Interface Components to a Component Interface
Moving Interface Components to the Component Interface
Splitting Classes
Splitting Classes
Splitting Interfaces
Splitting Implemented Interfaces
Testing
Testing a Class
Creating Instances
Testing Attributes
Testing Methods
Testing Event Handling
Testing an Interface View of an Object
Enhancements to Classes and Interfaces
Enhancing the Components of Global Classes or Interfaces
Nested Enhancement Implementations
Settings of the Class Builder
Naming Conventions in ABAP Objects
Screen Painter
Creating a Screen
Maintaining Screen Attributes
Using Modal Dialog Boxes
Creating Flow Logic
Flow Logic Keywords
Screen Elements
Graphical Layout Editor
Designing the Screen Layout
Basic Operations with Screen Elements
Inserting Fields
Using Icons
Using Radio Buttons
Tabstrip Controls
Creating a Tabstrip Control
Tabstrip Control Wizard
Table Controls
Creating a Table Control
Table Control Wizard
Editing a Table Control
Creating a Custom Container
Step Loops
Element List in Graphical Mode
Alphanumeric Fullscreen Editor
Creating Screen Elements
Adding Dictionary and Program Fields to a Screen
Creating a Table Control
Creating a Tabstrip Control
Splitter Controls
Creating a Custom Container
Creating a Step Loop
Modifying Screen Elements
Converting Elements
Element List
Maintaining Attributes for Screen Elements
General Attributes
Dictionary Attributes
Program Attributes
Display Attributes
Tabstrip Control Attributes
Table Control Attributes
Attributes of the Subscreen Area
Custom Container Attributes
Field Formats
Testing Screens
Checking Screens
Saving, Activating, and Deleting Screens
Menu Painter
Basic Concepts
The GUI Status
The Dialog Status
Functions
Special Function Keys and Function Codes
Context Menus
Using the Menu Painter
The Interface of the Menu Painter
Creating a GUI Title
Defining a Status
Creating a GUI Status
Creating a Context Menu
Menu Bars
Creating a Menu Bar
Adding Functions to a Menu
Defining Function Key Settings
Defining an Application Toolbar
Defining Icons and Info Texts in the Application Toolbar
Displaying Inactive Functions
Inserting Separators
Creating the Standard Toolbar
Testing and Activating a Status
Using the Ergonomics Check
Copying a Status
Linking Objects in a GUI Status
Overview Lists
Using Functions
Function Types
Defining Function Types
Defining a Fastpath
Activating and Deactivating Function Codes
Deactivating Functions at Runtime
Defining Dynamic Function Texts
Changing Function Texts
Defining Dynamic Menu Texts
Setting a GUI Status and a GUI Title
Evaluating Function Codes in the Program
Package Builder
Scenario 1: Defining the Package Hierarchy
Creating a Package using Package Builder
Package Attributes
Adding a Subpackage to a Package
Creating a Package Interface from Package Builder
Scenario 2: Making Services Available
Creating a Package Interface from Interface Builder
Adding Elements to an Interface
Adding Exposed Objects to a Package Interface
Restricting the Use of a Package Interface
Deprecating Usage Types
Creating Dependencies
Deleting Usages from a Package Interface
Extending Visibility over Several Levels
Graphic: Extending Visibility
Use Case 3: Using Services from Other Packages
Creating Use Accesses
Permissible Use Accesses
Creating an Access Object
Tool Hint for an Access Object
Creating and Maintaining a Client Interface
Package Architecture in SAP ERP
From Software Components to Structure Packages
Software Components in SAP ERP
Structure Packages
Using Objects from Other Structure Packages
Package Checks and System Settings
Performing a Package Check
System Settings
Package Check Scenario
Appendix
The Package Concept
Package
Encapsulation Levels
Dependency Control Lists
Usage Types and Usage Operations
Package Interface
Visibility of Package Interfaces
Exposing Objects at Package Interfaces
Propagation of Objects Exposed at a Package Interface
Access Control Lists
Exposing Composite Objects
Non-Closed Package Interfaces
Default Interfaces
Access Object
Delegating and Composing Services
Client Interfaces
Objects Exposed in Client Interfaces
Glossary
Naming Conventions for Packages
Questions and Answers
Troubleshooting
MIME Repository
Supported MIME Types
Importing MIME Objects
Uploading and Downloading MIME Objects
Creating Folders
Creating Namespace Folders
Converting MIME Objects into BSPs
Classifying MIME Objects as Relevant for Translation
Additional Functions
Tips & Tricks
Classification Toolset
Basic Concepts
The Nature of Characteristics
Maintaining Object Type Groups
Object Types and Object Type Groups
Object Filters
Working With Object Type Groups
Maintaining Characteristics
Working with Characteristics
Properties of a Characteristic
Assigning Values to a Characteristic
Setting Default Characteristics
Maintaining Classifications
Selection Criteria in the Classification Browser
Tree Browser
List Browser
Classifying Objects in the List Browser
Classification of Objects in the Classification Grid
Classifying Single Objects
Classifying Multiple Objects
Creating Object Links
Running Queries
Defining Conditions for a Classification Report
Executing a Report Run
Checking the Results of a Report Run
Maintaining Text Elements
Creating and Maintaining Text Elements
Creating List and Column Headings
Maintaining Selection Texts
Maintaining Text Symbols
Analyzing Text Elements
Analyzing Selection Texts
Analyzing Text Symbols
Copying Text Elements
Translating Text Elements
Maintenance of Messages
Creating a Message Class
Adding a Message
Creating Long Texts for Messages
Assigning IMG Activities to a Message
Maintaining Transactions
Dialog Transactions
Report Transactions
OO Transactions
Variant Transactions
Parameter Transactions
Variant Maintenance
Creating and Maintaining Variants
Calling the Initial Screen
Displaying a List of all Variants
Creating Variants
Maintaining the Attributes of a Variant
Changing Variants
Deleting Variants
Printing a Variant
Variant Attributes
Variable Values in Variants
Assigning a Date Calculation Variable
User-Specific Selection Variables
Creating User-Specific Variables
Changing Values Interactively
Changing Values from a Program
Fixed Values from Table TVARVC
Creating Table Variables from TVARVC
Executing Programs with Variants
Splitscreen Editor
Starting the Splitscreen Editor
Splitscreen Editor Functions
ABAP Editor Functions in the Splitscreen Editor
Transformation Editor
Creating a Transformation Program
Testing a Transformation Program
Creating Breakpoints in XSLT Programs
XSLT Debugger
Starting and Exiting a Debugging Session
User Interface of the XSLT Debugger
Result View
Breakpoint View
Call View
Variable View
Breakpoints
Creating Breakpoints in XSLT Programs
Saving Breakpoints
Deleting Breakpoints
Ways of Debugging
XSLT Debugger and ABAP Debugger
Web Dynpro in the ABAP Workbench
Go and Create First Application with Web Dynpro ABAP
Step 1: Creating and Editing a Component
Step 2: Structuring the First View
Step 3: Context Mapping of the First View
Step 4: Binding the Attribute
Step 5: Designing the Second View
Step 6: Maintaining the Context of the Second View
Step 7: Embedding the View in a Window
Step 8: Defining Navigation
Step 9: Creating and Testing a Web Dynpro Application
Creating a Simple Flight Info Application
Part 1: Creating and Editing the Search View
Part 2: Testing the First View
Part 3: Creating and Editing the "Display View
Part 4: Implementing the Data Transport
Part 5: Setting Up Navigation
Web Dynpro Tools in the ABAP Workbench
Component Editor
Controller Editor
Controller Properties
Controller Context
Creating and Maintaining Context Nodes
Creating and Maintaining Context Attributes
Defining a Mapping
Controller Attributes
Controller Events
Controller Methods
View Editor
View Layout (View Designer)
View: Inbound and Outbound Plugs
View: Components of a View Controller
Window Editor
Window: View Hierarchy
Window: Inbound and Outbound Plugs
Navigation Links of a Window's Outbound Plugs
Window: Components of a Window Controller
Display Interface View
Displaying and Defining the Interface Controller
Web Dynpro Application
Web Dynpro Code Wizard
Screen Design Time Conversion
Restrictions
Transformation Rules
Layout Management
Dynpro Controls
Checkbox
Frame
I/O Field
Pushbutton
Radio Button
Step Loop
Subscreen
Table Control
TabStrip
Text Field
Web Dynpro Text Browser
Web Dynpro ABAP Runtime Analysis
Memory Analysis
Package Assignment and Transport Entry
Refactoring for Web Dynpro ABAP
Web Application Builder for BSPs
Introduction
Components of a BSP Application
Structure of a BSP Application
Event Handler
Page Attributes
Global Objects
Basic Functions
Creating BSP Applications
Creating Pages
Creating Controllers
Creating Error Pages
Determining the Page Flow
Creating References to MIMEs
Activating BSP Applications
Executing BSP Applications
Model View Controller (MVC)
MVC Design Pattern
Using MVC for BSP
Creating Controllers
Creating Views
Testing Controllers
Calling (Sub) Controllers
Calling Views
Creating Error Pages
From Pages to Controllers
Call Options of BSP Components
Navigation
Lifetime
Data Binding
Calling the Model Class by the Controller
Components
Process Flow
Creating Your Own Components
Creating Top-Level Controllers
Creating Components
Calling Components
Determining Input Processing
Class CL_BSP_CONTROLLER2
Examples of Architecture
BSP Applications with Controllers and Views
BSP Application with Several Views per Controller
Combination of the Previous Examples
Calling Controllers of Other Applications
Calling Several Controllers from a View
Model View Controller Tutorial
Creating Controllers
Creating Views
Calling Controllers
Defining Your Own BSP Extension
BSP Extension Framework
Creating BSP Extensions
Defining BSP Elements
Defining Element Content
User-Defined Validation
Iteration Through Element Content
Manipulation of the Element Content
Pass by Reference for Attributes
Activating the BSP Extension
Implementing Element Handler Classes
Generated Classes and Class Hierarchy
Basis Class CL_BSP_ELEMENT
Entering Documentation
Using BSP Elements
Example: Using Extensions in BSP Pages
Implementing External Tools with WebDAV
Implementing the Page Layout Using External Tools
Mass Import for MIMEs Using WebDAV
Copying Page Attributes
Mass Import for MIMEs Using WebDAV
Creating and Configuring Service Providers and Service Consumers
Web Application Builder for ITS Services
Introduction
User Settings for Internet Services
Basic Functions
Creating an Internet Service
Components of Internet Services
Using Mixed Mode
Creating HTML Templates
Generation Style: Classic
Generation Style: HTML Business
Generation Style: WebGUI
Extending HTML Templates
Creating MIME Objects
Creating Non-Language-Specific MIME Objects
Creating Language-Specific MIME Objects
Editing MIME Objects
Creating Language Resources
Publishing a Service
Statuses of Web Development Objects
Executing Services
Tools Used for Implementation Support
Navigating Using Double-Click
Using Patterns and Wizards
ITS Architecture Components
Information on Development Objects
Navigation and Information System: Overview
The Repository Information System
Environment Analysis
Determining the Environment
Where-used Lists
The Application Hierarchy
The Data Browser
Customizing the Data Browser Display
Other Data Browser Functions
Additional Concepts
Inactive Sources
Concept
Support in the ABAP Workbench Tools
Activating an Object
Overview of Inactive Objects
Status Display
Activating Classes and Interfaces
Effect of Inactive Sources on Operations
Further Effects
Inactive Sources and Modifications
Classic BAdIs