Application Development on AS ABAP |
ABAP Programming Language |
ABAP Programming (BC-ABA) |
Introduction to ABAP |
SAP NetWeaver Application Server ABAP |
Overview of NetWeaver AS ABAP |
ABAP Application Server |
Work Processes |
The Components of ABAP Application Programs |
Application Programs on NetWeaver AS ABAP |
User Interfaces |
ABAP Programming Models |
Object-Oriented Programming Model |
Procedural Programming Model |
Structure of the Processing Logic |
Processing Blocks in ABAP Programs |
Program Types and Execution |
Dialog Programming |
Report Programming |
Creating and Changing ABAP Programs |
Opening Programs in the Object Navigator |
Opening Programs in the ABAP Editor |
Opening Programs Using Forward Navigation |
Maintaining Program Attributes |
Editing Programs |
Program Checks |
The ABAP Programming Language |
ABAP Syntax |
Syntax Conventions |
ABAP Statements an Overview |
Introductory Statements for Programs |
Data Types and Data Objects |
Data Types |
Definition and Visibility of Data Types |
Compatibility |
Data Objects |
Literals |
Text Symbols |
Variables |
Constants |
Interface Work Areas |
Determining the Attributes of Data Objects |
Built-In Data Types and Data Objects |
Predefined ABAP Types |
Data Types in the ABAP Dictionary |
Predefined Data Objects |
Generic Data Types for Typing |
Local Data Types and Data Objects in a Program |
The Statements TYPES and DATA |
Self-Defined Elementary Data Types and Data Objects |
Reference Types and Reference Variables |
Self-Defined Complex Data Types |
Structured Data Types |
Self-Defined Table Types |
Operations on Data Objects |
Assigning Values |
Assigning Values with MOVE |
Resetting Variables to Their Initial Value |
Type Conversions |
Assignment Rules for Reference Variables |
Conversion Rules for Structures |
Conversion Rules for Internal Tables |
Alignment of Data Objects |
Numeric operations |
Arithmetic Calculations |
Mathematical functions |
Business Calculations |
Date and Time Calculations |
Controlling the Program Flow |
Logical Expressions |
Comparisons for Operands of Arbitrary Data Types |
Comparisons Between Character Strings and Byte Strings |
Comparisons Between Bit Samples |
Checking Requirements |
Combining Several Logical Expressions |
Control Structures |
Branching Conditionally |
Loops |
Dealing with Exceptions |
Class-Based Exceptions |
Overview of Class-Based Exceptions |
Handling Exceptions |
Raising Exceptions |
Propagating Exceptions |
Defining Exceptions |
Exception Texts |
Previous Concepts |
Exceptions in Function Modules and Methods |
Catchable Runtime Errors |
Byte and Character String Processing |
Processing Character Strings |
Searching Within Character Strings |
Replacements in Character Strings |
Moving Field Contents Character by Character |
Concatenating Character Strings |
Splitting Character Strings |
Converting to Upper or Lower Case or Replacing Characters |
Converting into a Sortable Format |
Overlaying Character Fields |
Condensing Field Contents |
Obsolete Statements for Character Strings |
Processing Byte Strings |
Setting and Reading Bits |
Bit Operations |
Set Operations Using Bit Sequences |
Processing Subfields |
Determining Length |
Field Symbols and Data References |
Field Symbols |
Declaring Field Symbols |
Assigning Data Objects to Field Symbols |
Basic Forms of the ASSIGN Statement |
Assigning Components of Structures to a Field Symbol |
Casting Data Objects |
Obsolete Casting |
Data Areas for Field Symbols |
Data References |
Reference Variable |
Creating Data Objects Dynamically |
Getting References to Data Objects |
Dereferencing Data References |
Data References: Example |
Internal Tables and Extracts |
Internal Tables |
Creating Internal Tables |
Table types |
Internal Tables |
Special Features of Standard Tables |
Processing Internal Tables |
Operations on Entire Internal Tables |
Assigning Internal Tables |
Initializing Internal Tables |
Comparing Internal Tables |
Sorting Internal Tables |
Internal Tables as Interface Parameters |
Determining the Attributes of Internal Tables |
Operations on Individual Lines |
Access Methods to Individual Table Entries |
Access Using Field Symbols |
Filling Internal Tables Line By Line |
Inserting Lines into Tables |
Appending Summarized Lines |
Appending Table Lines |
Reading Lines of Tables |
Binary Search in Standard Tables |
Processing Table Entries in Loops |
Changing Lines |
Deleting Lines |
Searching Through Internal Tables Line By Line |
Searching through Table Rows |
Searching Through and Replacing Table Rows |
Obsolete Statements for Internal Tables |
Using Header Lines as Work Areas |
Extracts |
Defining an Extract |
Filling an Extract with Data |
Processing Extracts |
Reading an Extract |
Sorting an Extract |
Control Level Processing |
Calculating Numbers and Totals |
Formatting data |
Example of Formatted Data |
Formatting Data During Reading |
Refining Data Using Internal Tables |
Formatting Data Using Extracts |
Saving Data Externally |
Database Accesses |
Database Accesses of the NetWeaver AS ABAP |
Open SQL |
Reading Data |
Defining a Selection |
Specifying a Target Area |
Specifying Database Tables |
Selecting Lines |
Grouping Lines |
Selecting Groups of Lines |
Specifying a Sort Order |
Subqueries |
Using a Cursor to Read Data |
Possible Conflicting Locks |
Changing Data |
Inserting Lines into Tables |
Changing Lines |
Deleting Lines |
Inserting or Changing Lines |
Committing Database Changes |
Performance Notes |
Keep the Result Set Small |
Minimize the Amount of Data Transferred |
Minimize the Number of Data Transfers |
Minimize the Search Overhead |
Reducing the Database Load |
Native SQL |
Native SQL for Oracle |
Native SQL for Informix |
Native SQL for DB2 Common Server |
Data Interfaces |
Working with Files on the Application Server |
Automatic Checks in File Operations |
Authorization Checks for Programs and Files |
General Checks for File Access |
Working with Files on the Presentation Server |
Using Platform-Independent Filenames |
Data Clusters |
Storage Media for Data Clusters |
Statements for Data Clusters |
Data Consistency |
Transactions and Logical Units of Work |
Database Logical Unit of Work (LUW) |
SAP LUW |
SAP Transactions |
Checking Authorizations |
Authorization Concept |
Authorization |
The SAP Lock Concept |
Example Program: SAP Locking |
Update Techniques |
Asynchronous Update |
Updating Asynchronously in Steps |
Synchronous Update |
Local Update |
Creating Update Function Modules |
Calling Update Functions |
Calling Update Functions Directly |
Adding Update-Task Calls to a Subroutine |
Special LUW Considerations |
Transactions That Call Update Function Modules |
Dialog Modules that Call Update Function Modules |
Error Handling for Bundled Updates |
Obsolete Techniques |
Using Contexts |
What Are Contexts? |
The Context Builder in the ABAP Workbench |
Creating and Editing a Context |
Using Tables as Modules |
Using Function Modules as Modules |
Using Contexts as Modules |
Testing a Context |
Buffering Contexts |
Fields |
Modules |
Interfaces |
Using Contexts in ABAP Programs |
Finding and Displaying a Context |
Creating an Instance of a Context |
Supplying Context Instances with Key Values |
Querying Data from Context Instances |
Message Handling in Contexts |
Message Handling in Table Modules |
Message Handling in Function Module Modules |
Hints for Working With Contexts |
Logical Databases |
Structure of Logical Databases |
Selection Views |
Example of a Logical Database |
Using Logical Databases |
Linking a Logical Database to an Executable Program |
Calling a Logical Database Using a Function Module |
Editing Logical Databases |
Creating a Logical Database |
Editing the Structure |
Editing a Search Help |
Editing Selections |
Editing the Database Program |
Dynamic Selections in the Database Program |
Field Selections in the Database Program |
Search Helps in the Database Program |
Independent Calls and the Database Program |
Editing Other Components |
Improving Performance |
Lists |
Creating Lists |
Creating Simple Lists with the WRITE Statement |
The WRITE Statement |
Positioning WRITE Output on the List |
Formatting Options |
Displaying Symbols and Icons on the List |
Lines and Blank Lines |
Displaying Field Contents as Checkboxes |
Using WRITE via a Statement Structure |
Creating Complex Lists |
The Standard List |
Structure of the Standard List |
GUI Status of the Standard List |
The Self-Defined List |
Individual Page Header |
Determining the List Width |
Creating Blank Lines |
Determining the Page Length |
Defining a Page Footer |
Lists with Several Pages |
Programming Page Breaks |
Standard Page Headers of Individual Pages |
Page length of individual pages |
Page Width of List Levels |
Scrolling in Lists |
Scrolling Window by Window |
Scrolling by Pages |
Scrolling to the List's Margins |
Scrolling by Columns |
Defining Where the User Can Scroll on a Page |
Laying Out List Pages |
Positioning the Output |
Absolute Positioning |
Relative Positioning |
Formatting Output |
The FORMAT Statement |
Colors in Lists |
Enabling Fields for Input |
Outputting Fields as Hotspots |
Special Output Formats |
Lines in Lists |
Interactive Lists |
Details Lists |
Dialog Status for Lists |
Context Menus for Lists |
List Events in an ABAP Program |
Lists in Dialog Boxes |
Passing Data from Lists to Programs |
Passing Data Automatically |
Passing Data by Program Statements |
Manipulating Detail Lists |
Scrolling in Detail Lists |
Setting the Cursor from within the Program |
Modifying List Lines |
Lists and Screens |
Starting Lists from Screen Processing |
Calling Screens from List Processing |
Printing and Storing Lists |
Printing a List After Creating It |
Printing a List While Creating It |
Print Parameters |
Execute and Print |
Printing from within the Program |
Printing Lists from a Called Program |
Print Control |
Determining Left and Upper Margins |
Determining the Print Format |
Archiving Lists Using SAP ArchiveLink |
ABAP User Interfaces |
General Screens |
Screen Elements |
Screen Attributes |
Screen Elements |
Screen Fields |
Screen Flow Logic |
Processing Screens |
User Actions on Screens |
Processing Input/Output Fields |
Pushbuttons on the Screen |
Checkboxes and Radio Buttons with Function Codes |
Using GUI Statuses |
Reading Function Codes |
Finding Out the Cursor Position |
Calling ABAP Dialog Modules |
Simple Module Calls |
Controlling the Data Transfer |
Calling Modules Unconditionally |
Conditional Module Calls |
Input checks |
Automatic Input Checks |
Checking Input in the Screen Flow Logic |
Input Checks in Dialog Modules |
Field Help, Input Help, and Dropdown Boxes |
Field help |
Input Help |
Input Help from the ABAP Dictionary |
Input Help on the Screen |
Input Help in Dialog Modules |
Dropdown Boxes |
Modifying Screens Dynamically |
Setting Attributes Dynamically |
The Field Selection Function |
Setting the Cursor Position |
Switching on Hold Data Dynamically |
Screen Sequences |
Static Next Screen |
Dynamic Next Screen |
Leaving a Screen from a Program |
Calling a Screen Sequence |
Embedding Modal Dialog Boxes |
Screen Sequences: Example Transaction |
Filling an Initial Screen Using SPA/GPA Parameters |
Complex Screen Elements |
Status icons |
Context Menus |
Subscreens |
Tabstrip controls |
Custom Controls |
Table Controls |
Table Controls on the Screen |
Table Controls in the Flow Logic |
Table Controls in ABAP Programs |
Table Controls: Examples with Scrolling |
Table Controls: Examples with Modifications |
Appendix: The Step Loop Technique |
Selection Screens |
Selection Screens and Logical Databases |
Defining Selection Screens |
Defining Input Fields for Single Values |
Basic Form of Parameters |
Dynamic Dictionary Reference |
Default Values for Parameters |
SPA/GPA Parameters as Default Values |
Allowing Parameters to Accept Upper and Lower Case |
Reducing the Visible Length |
Defining Required Fields |
Search Helps for Parameters |
Checking Input Values |
Defining Checkboxes |
Defining Radio Buttons |
Hiding Input Fields |
Modifying Input Fields |
Defining Complex Selections |
Selection Tables |
Basic Form of Selection Criteria |
Selection Criteria and Logical Databases |
Default Values for Selection Criteria |
Restricting Entry to One Row |
Restricting Entry to Single Fields |
Additional Options for Selection Criteria |
Formatting Selection Screens |
Blank Lines, Underlines, and Comments |
Several Elements in a Single Line |
Blocks of Elements |
Calling Selection Screens |
Calling Standard Selection Screens |
Calling User-Defined Selection Screens |
User Actions on Selection Screens |
Pushbuttons on the Selection Screen |
Checkboxes and Radio Buttons with Function Codes |
Pushbuttons in the Application Toolbar |
Changing the Standard GUI Status |
Selection screen processing |
Basic Form |
PBO of the Selection Screen |
Processing Single Fields |
Processing Blocks |
Processing Radio Buttons |
Processing Multiple Selections |
Defining Field Help |
Defining Input Help |
Subscreens and Tabstrip Controls on Selection Screens |
Selection Screens as Subscreens |
Tabstrip Controls on Selection Screens |
Subscreens on Selection Screens |
Using Selection Criteria |
Selection Tables in the WHERE Clause |
Selection Tables in Logical Expressions |
Selection Tables in GET Events |
Messages |
Message Management |
Messages |
Message Processing |
Messages Without Screens |
Messages on Screens |
Messages on Selection Screens |
Messages in Lists |
Messages in Function Modules and Methods |
Executing ABAP Program Units |
Summary of Callable Units |
ABAP Programs |
Procedures |
Screens and Screen Sequences |
Calling Programs |
Program Calls - Overview |
Calling Executable Programs |
Filling the Selection Screen of a Called Program |
Affecting Lists in Called Programs |
Program Statements to Leave a Called Program |
Direct execution |
Linking to a Logical Database |
Event Blocks in Executable Programs |
Description of Reporting Events |
INITIALIZATION |
AT SELECTION-SCREEN |
START-OF-SELECTION |
GET |
GET ? LATE |
END-OF-SELECTION |
Exiting Event Blocks |
Exiting Event Blocks Using STOP |
Exiting Event Blocks Using EXIT |
Leaving Event Blocks Using CHECK |
Leaving a GET Event Block Using REJECT |
Transactions |
Called by the User (Transactions Code) |
Sample Transaction |
Calling Transactions |
Calling Screen Sequences as Modules |
Passing Data Between Programs |
Modularization Techniques |
Defining Processing Blocks |
Event Blocks |
Dialog Modules |
Procedures |
Defining Subroutines |
Global Data from the Framework Program |
Local Data in the Subroutine |
The Parameter Interface |
Function Modules |
Function Groups |
Creating Function Modules |
Source Code Modules |
Macros |
Include Programs |
Calling Procedures |
Calling Procedures - Overview |
Internal Procedure Calls |
External Procedure Calls |
Organization of External Procedure Calls |
Calling Subroutines |
Naming Subroutines |
Passing Parameters to Subroutines |
Examples of Subroutines |
Shared Data Areas |
Terminating Subroutines |
Calling Function Modules |
ABAP Objects |
What is Object Orientation? |
From Function Groups to Objects |
Instances of Function Groups: Example |
Classes |
Classes: Overview Graphic |
Classes - Introductory Example |
Object Handling |
Objects: Overview Graphic |
Objects - Introductory Example |
Declaring and Calling Methods |
Methods in ABAP Objects - Example |
Inheritance |
Inheritance: Overview Graphic |
Inheritance: Introductory Example |
Interfaces |
Interfaces: Overview Graphic |
Interfaces - Introductory Example |
Triggering and Handling Events |
Events: Overview Graphic |
Events: Introductory Example |
Events: Complex Example |
Class and Interface Pools |
OO Transactions |
ABAP and Unicode |
Character Codes |
ABAP Development in Unicode |
Concepts and Conventions |
Data Types |
Data Layout of Structures |
Unicode Fragment View |
Valid Characters |
Restrictions in Unicode Programs |
Character-Type and Numeric Operands |
Access Using Offset and Length Specifications |
Assignments |
Comparisons |
Processing Strings |
Type Checks and Type Compatibility |
Changes to Database Operations |
Determining the Length and Distance |
Structure Enhancements |
Other Changes |
New ABAP Statements for Unicode |
String Processing for Byte Strings |
Determining the Length and Distance |
Assignments to Field Symbols |
Includes with Group Names |
Creating Data Objects Dynamically |
Assigning Fields Dynamically |
Storing Data as Clusters |
File interface |
Files on the Presentation Server |
Generic Types for Field Symbols and Parameters |
Formatting Lists |
New Classes for Unicode |
Determining Field Properties |
Converting Data |
RFC and Unicode |
Further Measures |
Examples |
Assignment Between Structures I |
Assignment Between Structures II |
Assignments Between Structures III |
Assignments Between Structures IV |
Assignment Between Structure and Single Field I |
Assignment Between Structure and Single Field II |
Assignment Between Structure and Single Field III |
Assignment Between Structure and Single Field III |
Assignment Between Structure and Single Field V |
Character String Processing |
File Interface |
Outputting Lists |
Unicode Glossary |
Appendix |
Screens and Processing Blocks |
ABAP System Fields |
ABAP Programming Techniques |
ABAP - Shared Objects |
Shared Objects - Implementation |
Shared Objects - Notes on Usage |
Shared Objects - Areas |
Shared Objects Area Properties |
Basic Properties |
Area Name |
Area Root Class |
Client-Dependent Area |
Automatic Area Building |
Transactional Area |
Fixed Area Properties |
Area Binding |
Area Instance Versioning |
Dynamic Area Properties |
Area Constructor Class |
Displacement Type |
Runtime-dependent Area Properties |
Area Build Type |
Size of an Area Instance Version |
Number of Versions of an Area Instance |
Lifetime of an Area Instance |
Shared Objects - Transaction SHMA |
Display, Change and Create Areas |
Maintain Runtime Properties |
Display Runtime Properties |
Change Runtime Properties |
Delete Runtime Properties |
Additional Functions |
Shared Objects - Access |
Shared Objects Access to Area Instances |
Shared Objects - Locks |
Shared Objects States of Area Instance Versions |
Shared Objects Monitor - Transaction SHMM |
Shared Objects - Working with Objects |
Shared Memory-enabled Classes |
References |
Root Object |
Object Creation |
Behandlung von Speicherengpässen |
Shared Objects - Classes |
CL_ABAP_MEMORY_AREA |
CL_SHM_AREA |
Area Class <area> |
CL_IMODE_AREA |
IF_SHM_BUILD_INSTANCE |
<area_constructor> Area Constructor Class |
Shared Objects - Terms |
Shared Objects - Example |
ABAP - Object Services |
The Persistence Service |
Concepts Used in Persistence |
Components of the Persistence Service |
Management States of an Object |
Mapping |
Mapping by Business Key |
Mapping by Instance-GUID |
Mapping by Instance-GUID and Business Key |
Inheritance in Persistent Classes |
Saving Object References Persistently |
Persistent Objects and COMMIT WORK |
The Persistence Service During Updates |
Transaction Service |
Transaction Service and SAP Transaction Concept |
Components of the Transaction Service |
Transaction Mode |
Nesting and Concatenation |
Interaction between Classical and Object-Oriented Transactions |
Check Agents |
Query Service |
Concepts Used in Queries |
Filter Condition |
Sort Condition |
Query Service Components |
Dealing with Exceptions |
Working with Persistent Objects: Examples |
Generating a Persistent Object |
Object-Oriented Transaction Mode |
Using a Query |
Programming with the Background Processing System (BC-CCM-BTC) |
Programming Techniques |
Scheduling and Managing a Job: Easy Method |
Easy Job Scheduling Using BP_JOBVARIANT_SCHEDULE |
Managing Easy-Method Jobs with BP_JOBVARIANT_OVE |
Scheduling a Job: Full-Control Method |
Task Overview: Full-Control Job Scheduling |
Where to Specify Job Attributes |
Getting Job-Start Specifications from Users |
Calculating Start Dates for Periodic Jobs |
Obtaining Printing and Archiving Specifications |
Sample Program: Declarations, Set Up, and Print Specifications |
Sample Program: Creating a Job with JOB_OPEN |
Sample Program: Adding an ABAP Job Step |
Sample Program: Adding a Job Step for an External Command or Pro |
Sample Program: Adding a Job Step with ABAP SUBMI |
Sample Program: Immediate Start with JOB_CLOSE |
Sample Program: Immediate Start with Spool Reques |
Sample Program: Start-Time Window with JOB_CLOSE |
Sample Program: Job Start on Workday (JOB_CLOSE) |
Sample Program: Job Start on Event (JOB_CLOSE) |
Sample Program: Wait for Predecessor Job with JOB |
Sample Program: Start at Switch to Operating Mode (JOB_CLOSE) |
Job Outcomes: Displaying Job Logs |
Displaying a Job Log |
Copying a Job Log into an Internal Table |
Managing Jobs: Generating Job Lists |
Sample Program: Generating a Job List |
Displaying Job Status: SHOW_JOBSTATE |
Selecting and Deleting a Job |
Working with Events |
Event Concepts |
Using Events: Task Overview |
Defining Events |
Triggering Events from ABAP Programs |
Triggering Events from External Programs |
Finding Out Which Event and Argument Were Triggere |
Running External Programs |
Implementing Parallel Processing |
Special Techniques: Starting External Programs |
Advanced Scheduling 1: Building Chains of Jobs |
Advanced Scheduling 2: Scheduling and Synchronizi |
Advanced Scheduling 3: Deciding Which Job to Sche |
Reference: Background Processing Function Modules |
JOB_OPEN: Create a Background Processing Job |
JOB_SUBMIT, ABAP SUBMIT: Add a Job Step to a Job |
JOB_CLOSE: Pass a Job to the Background Processin |
BP_JOBVARIANT_SCHEDULE and BP_JOBVARIANT_OVERVIEW: |
BP_CALCULATE_NEXT_JOB_STARTS: Determine Start Dat |
BP_CHECK_EVENTID: Check that an Event Exists |
Method RAISE: Trigger an Event from an ABAP Program |
BP_JOB_COPY: Copy a Background Job |
BP_JOB_DELETE: Delete a Background Processing Job |
BP_JOB_GET_PREDECESSORS: List Predecessor-Jobs of |
BP_JOB_GET_SUCESSORS: List the Successor-Jobs of |
BP_JOB_MAINTENANCE: Job Management Functions |
BP_JOB_SELECT: Read Jobs from Database |
BP_FIND_JOBS_WITH_PROGRAM: Read Jobs that Run a S |
BP_JOBLIST_PROCESSOR: Allow User to Work with List of Jobs |
SHOW_JOBSTATE: Check Status of a Job |
BP_JOBLOG_READ: Read a Job Log for Processing |
BP_JOBLOG_SHOW: Display a Job Processing Log |
BP_START_DATE_EDITOR: Display/Request Start Speci |
BP_JOB_READ: Retrieve Job Specifications |
SHOW_JOBSTATE: Display Job Status |
Parallel-Processing Function Modules |
Data Transfer |
Data Transfer Methods |
Data Transfer: Overview of Batch Input |
The Transaction Recorder |
Recording Transactions |
Recording |
Using the Recording Editor |
Generating Batch Input Sessions From the Recording |
Generating Data Transfer Programs |
Generating Function Modules |
Using Function Modules |
Creating Test Files |
Executing the Data Transfer |
Writing Data Conversion Programs |
Generating an SAP Data Structure for the Conversio |
Data Conversion |
Filling SAP Data Structures |
Selecting a Data Transfer Method |
Executing Data Transfer Programs |
Batch Input Authorizations |
Additional Information |
Using CALL TRANSACTION USING for Data Transfer |
Creating Batch Input Sessions |
Creating a Session with BDC_OPEN_GROUP |
Adding Data to a Session: BDC_INSERT |
Closing a Session: BDC_CLOSE_GROUP |
Processing Batch Input Sessions |
Using CALL DIALOG with Batch Input |
Using the Data Transfer Data Structure |
Determining System Data |
Frequent Data Transfer Errors |
Direct Input |
Programming with External Commands |
Programming Techniques |
SXPG_CALL_SYSTEM: Run an External Command (Express Method) |
SXPG_COMMAND_EXECUTE: Check Authorization for and Execute an Ex |
SXPG_COMMAND_CHECK: Check Authorization to Execute an External |
SXPG_COMMAND_LIST_GET: Read a List of External Commands |
SXPG_COMMAND_DEFINITION_GET: Read Single External Command |
SXPG_DUMMY_COMMAND_CHECK: Interface for Extra-Check Function Mo |
Common Application Interfaces |
ABAP Programming Tools |
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 |
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 Interface Components in Classes |
Moving Interface Components to a Component Interface |
Splitting Classes |
Splitting 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 Classes or Interfaces |
Settings of the Class Builder |
Naming Conventions in ABAP Objects |
Refactoring Assistant |
Consistent Renaming |
Renaming Local Elements |
Renaming Global Elements |
Extracting Source Code Segments |
Removing Unused Data Declarations |
Inserting GET and SET Methods |
Screen Painter |
Creating a Screen |
Maintaining Screen Attributes |
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 |
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 |
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 Windows Outbound Plugs |
Window: Components of a Window Controller |
Displaying an 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 |
Structure of a BSP Application |
Event Handler |
Page Attributes |
Global Objects |
Basic Functions |
Creating BSP Applications |
Creating Pages |
Creating a Controller |
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 a Controller |
Creating a View |
Testing Controllers |
Calling (Sub) Controllers |
Calling a View |
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 the Top-Level Controller |
Creating Components |
Calling Components |
Determining Input Processing |
Class CL_BSP_CONTROLLER2 |
Examples of Architecture |
BSP Application 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 the 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 |
Tips & Tricks |
Copying Page Attributes |
Mass Import for MIMEs Using WebDAV |
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 |
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 |
Creating and Configuring Service Providers and Service Consumers |
Providing a Web Service |
Developing a Web Service in Outside-In Mode |
Developing a Web Service in Inside-Out Mode |
Creating a Service Definition |
Editing a Service Definition |
Changing the Service Definition Configuration |
Configuring the Web Service Runtime |
Configuring Web Services and Web Service Clients in the SAP NetW |
Concepts |
Configuration of Individual Web Services and Web Service Clients |
Configuration of Groups of Web Services |
Configuration of Several Web Service Clients |
Service Metering |
Configuring Web Services |
Configuring Individual Web Services |
Configuring Groups of Web Services |
Preparing the Configuration Settings in Profiles |
Grouping and Configuring Web Services in Configuration Scenarios |
Editing Configuration Scenarios |
Managing WSDL Documents |
Accessing Information Provided via WSIL |
Configuring Web Service Clients |
Configuring Individual Web Service Clients |
Creating Web Service Physical Destinations |
Testing Web Services in the Web Services Navigator |
Finding Web Services |
Testing a Web Service Operation |
Testing Web Services with Pre-Defined Input Data |
Viewing Web Services Logs and Traces |
Configuring Proxy Settings |
Working with the SOA Manager |
Glossary of Terms for SOA Manager |
Technical Configuration |
Setting Up the SOA Manager |
Checking Roles |
Roles and Authorizations |
Migrating Web Service Configurations |
What Migration Does |
Configuring Reverse Proxies |
Setting Up a Connection to a J2EE Server for the Web Services Na |
Configuring Service Providers and Consumers |
Configuring a Service Provider |
Configuring a Service Provider (Simplified) |
Configuring Multiple Service Providers |
Creating a Configuration Scenario |
Creating and Editing a Configuration Profile |
Switching Configuration Profile Versions |
Configuring a Central Business Scenario |
Defining Systems as Central Systems |
Creating a Domain in a Central System |
Creating and Assigning Logon Data in a Central System |
Creating a Central Business Scenario |
Distributing Changes from the Central System to Domain Systems |
The Central Design Time Cache |
Creating a Management Connection to the Central System |
Configuring a Consumer Proxy |
Configuring an Event Provider |
Working with Service Groups |
Creating Routing Rules for Service Groups |
Logical Receiver Determination |
Technical Receiver Determination API |
Technical Receiver Determination API: Coding Examples |
Creating a Fallback Configuration |
Using Configuration Templates |
Publishing Services |
Setting Up the Connection to the Services Registry |
Finding Information in the Services Registry |
Publishing Service Endpoints Automatically |
Publishing Individual Service Definitions |
Creating and Changing Publication Rules in the Back-end System |
Accessing and Testing a Service |
Testing a Service |
Displaying a WSDL Document |
Logs and Traces |
Displaying Logs and Traces |
Configuring Logs |
Configuring Tracing |
Searching with Trace Patterns |
Evaluating SOA Configuration and Publication Logs |
Activating and Forwarding SOA Configuration Traces |
Monitoring Sequences |
General Information on Sequences |
Choosing Selection Criteria |
Checking the Sequence Overview |
Analyzing a Sequence |
Ending/Restarting/Debugging Sequences |
Consuming a Web Service |
Generating a Consumer Proxy |
Consuming a Stateless Web Service |
Consuming a Stateless Web Service (XI 3.0 Compatible) |
Sending a Message |
Implementing a Provider Proxy |
Troubleshooting |
Fault Messages |
Reporting and Handling Errors |
Protocols |
Querying the Payload |
Activating Extended XML Handling |
Accessing the Message ID |
Runtime Configuration |
Consuming a Stateful Web Service |
Consuming a TU&C/C Web Service |
Protocols |
Types of Message Transmission |
Web Services Reliable Messaging |
Programming with Sequences |
Exactly-Once-in-Order in an LUW |
Exactly-Once-in-Order in Multiple LUWs |
Using Sequences in Other Modules |
Creating a Persistent Sequence Without Proxy |
Programming with Sequences at the Provider Side |
Making a Web Service Secure |
Transport Security for Web Services (AS ABAP) |
Authentication for Web Services (AS ABAP) |
Authorizations |
Runtime Configuration with the SOA Manager |
Publishing a Web Service |
Classifying Services |
Publishing Services with Transaction WSPUBLISH |
Managing the Web Service Runtime |
Configuring the Web Service Runtime |
Configuration in Single Steps |
Creating a Service Destination |
Performing Settings for bgRFC |
Checking the Configuration |
Troubleshooting in the Web Service Runtime |
Managing the Event Handler |
Monitoring the Web Service Runtime |
Web Service Runtime Monitor |
Viewing Web Services Logs and Traces |
Monitoring Sequences |
Monitoring Sequences in the SOA Manager |
General Information on Sequences |
Choosing Selection Criteria |
Analyzing a Sequence |
Ending/Restarting/Debugging Sequences |
Monitoring Messages |
Monitoring Event-Controlled Processing |
Debugging bgRFC Units |
Troubleshooting Using Monitoring Tools |
Supported Standards |
Procedures |
Service Enabling with SAP NetWeaver Process Integration |
Designing a Service |
Designing a Data Type |
Designing a Message Type |
Designing a Service Interface and its Operations |
Implementing a Service |
Generating a Provider Proxy for the Service Interface (Inbound) |
Implementing the Proxy Source Code |
Configuring a Service Provider |
Configuring a Service Provider Using SAP NetWeaver Administrator |
Configuring a Service Provider Using the Integration Directory |
Configuring a Service Provider Using SOA Manager |
Publishing a Service |
Configuring the Connection to the Services Registry |
Publishing a Service to the Services Registry |
Checking That the Service is Available |
Consuming a Service |
Generating a Consumer Proxy |
Configuring a Consumer Proxy |
Configuring a Consumer Proxy Using SAP NetWeaver Administrator |
Configuring a Service Consumer Using SOA Manager |
Implementing a Simple Consumer Application |
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 |
MiniApp Maintenance |
Creating MiniApp Objects |
Maintaining Entries for MiniApps |
ITS Architecture Components |
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 |
Debugger |
Runtime Analysis |
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 |
 Package Builder |
ABAP Analysis Tools |
Debugger |
New Debugger |
Starting and Stopping the New Debugger |
Managing Sessions |
User Interface Layout |
Customizing the Work Area |
Source Code Execution and Navigation |
Breakpoints |
Working with Static Breakpoints |
Working with Dynamic Breakpoints in the ABAP Editor |
Working with Dynamic Breakpoints in the New Debugger |
Working with Watchpoints |
Tools |
Standard Tools |
Source Code (Edit Control) |
Call Stack |
Variable Fast Display |
Breakpoints |
Source Code |
Data Objects |
Object Display |
Types of Object Displays |
Table Display |
Structure Display |
Single Field Display |
Data Explorer |
Special Tools |
Debugger Scripting Tool |
Creating and Executing a Script |
Debugger Tracing |
Creating a Trace File |
SAS: ABAP Debugger Tracing and Scripting |
The Local Debugger Script Class |
Syntax of the Local Debugger Script Class |
Web Dynpro Tool |
Loaded Programs (Global Data) |
Memory Analysis |
Screen Analysis |
The DiffTool |
System Areas |
Console: XML and List Preview Tool |
Naming Conventions for Anonymous Storage Objects |
Other Functions |
Settings |
Software Layer Aware Debugging |
Object Sets in SLAD |
Debugger Profiles |
Creating a Persistent Object Set |
Creating a Persistent Debugger Profile |
Using a Profile in the ABAP Debugger |
Simple Transformation Debugger |
Classic Debugger |
Starting and Stopping the Classic Debugger |
Session Management |
User Interface |
Source Code Execution and Navigation |
Breakpoints |
Working with Single Breakpoints |
Working with Multiple Breakpoints |
Breakpoints Display |
Working with Watchpoints |
Memory Monitoring with Watchpoints |
Data Object Display |
Fields Display |
Table Display |
Object Display |
Other Functions |
Settings |
Memory Consumption |
Activatable Checkpoints |
Checkpoint Groups |
Activation Settings |
Log Display |
Activation Variants |
Definition Settings |
Group Overview |
Runtime Analysis |
Measurable Components |
Creating Measurements |
Setting the Measurement Accuracy |
Variant Definitions |
Executing Measurements |
Performance Results |
Measurement Display Tool |
Adapting Message Display |
Hit Lists |
Database Tables |
Profiles |
Processing Blocks |
Call Hierarchy |
Times |
Comparison Tools |
Hit List Comparison |
Hit List Comparison Results |
Individual Lines |
Event Hierarchy |
Program Hit Lists |
Hierarchy Comparison |
Call Hierarchy Comparison Results |
Tips and Tricks |
Performance Analysis |
Performance Trace Overview |
Architecture and Navigation |
Initial Screen |
Recording Performance Data |
Starting the Trace |
Stopping the Trace |
Analyzing Performance Data |
Display Filter |
Other Filters |
Displaying Lists of Trace Records |
Analyzing Trace Records |
SQL Trace Analysis |
Embedded SQL |
Measured Database Operations |
Logical Sequence of Database Operations |
Buffering |
Analyzing a Sample SQL Data File |
Example Explanation of an Oracle Statement |
Example Explanation of an Informix Statement |
Enqueue Trace Analysis |
Enqueue Trace Records |
Detailed Display of Enqueue Trace Records |
RFC Trace Analysis |
RFC Trace Records |
Detailed Display of RFC Trace Records |
Table Buffer Trace Analysis |
Table Buffer Trace Records |
Detailed Display of the Table Buffer Trace Records |
Additional Functions |
Saving Lists Locally |
The Function Execute Explain for SQL Statements |
Using the Dictionary Information Function |
Summarizing Trace Lists |
Coverage Analyzer |
Coverage and Program Modification |
Administration |
Coverage Analyzer Status |
Test Groups and Registration |
Creating a Test Group |
Reset Coverage Results |
Settings |
Monitor |
Consistency Checks |
Global Display |
Detail Display |
Display of Coverage Results |
Processing Blocks and Source Code Display |
Runtime Monitor |
Test Maintenance |
Creating and Activating Tests |
Displaying, Changing, and Deleting Tests |
Collected Log Records |
Administration |
Test Overview |
Server Status |
Log Records |
Log Book |
Settings |
Memory Inspector |
Memory Snapshots |
List of Memory Snapshots |
Navigation |
Memory Objects Display |
Display Layout |
Memory Snapshots Comparison |
Code Inspector |
Inspection |
Creating and Executing Persistent Inspections |
Creating and Executing Anonymous Inspections |
Object Set |
Creating and Processing Object Sets |
Check Variant |
Creating and Processing Check Variants |
ABAP Unit |
Advantages of Using ABAP Unit |
Implementation of ABAP Unit Tests |
Test Classes |
Test Attributes |
Test Methods |
Methods of the CL_AUNIT_ASSERT Class |
Fixtures |
Production Code and Test Code |
Example |
Execution of ABAP Unit Tests |
Results Display |
Workbench Integration |
Using the Test Class Code Wizard |
ABAP Unit Browser |
Using the Favorites |
Using the Tag Assistant |
 ABAP Dump Analysis |
ABAP Dictionary |
Tables |
Table Fields |
Reference Fields and Reference Tables |
Includes |
Named Includes |
Foreign Keys |
Generic and Constant Foreign Keys |
Text Tables |
Semantic Attributes of Foreign Keys |
Cardinality |
Type of Foreign Key Fields |
Multi-Structured Foreign Keys |
Technical Settings |
Data Class |
Size Category |
Buffering Permission |
Buffering Types |
Full Buffering |
Generic Buffering |
Single-Record Buffering |
Logging |
Converting Pooled Tables into Transparent Tables |
Database Table Buffers |
Local Buffer Synchronization |
Example of Buffer Synchronization |
Restrictions and Recommendations for Table Buffering |
Accesses Proceeding Directly to the Database |
Technical Implementation of the Table Buffer |
Analyzing Buffer Quality |
Indexes |
Special Features of Secondary Indexes |
Extension Index |
Checking Index Usage |
Unique Indexes |
Index Identifiers |
Customizing Includes |
Append Structures |
Creating Tables |
Creating Tables and Table Fields |
Creating Foreign Keys |
Maintaining Technical Settings |
Creating Secondary Indexes |
Creating an Extension Index |
Delivery Class |
Activation Type |
Error Message in the Foreign Key Check |
Making Changes to Tables |
Adding an Append Structure |
Inserting an Include |
Inserting New Fields |
Initial Values |
Deleting an Existing Field |
Changing Data Types and Lengths of Existing Fields |
Changing the Table Category |
Moving Fields |
Copying Fields from Another Table |
Copying Fields from an Entity Type |
Deleting Tables |
Views |
Join, Projection and Selection |
Inner Join and Outer Join |
Foreign Key Relationship and Join Condition |
Maintenance Status |
Time-Dependent Key Components |
Inserts with Database Views |
Database Views |
Includes in Database Views |
Technical Settings of a Database View |
Append Views |
Projection Views |
Help Views |
Maintenance Views |
Restrictions for Maintenance and Help Views |
Creating Views |
Creating a Database View |
Creating Help Views |
Creating Projection Views |
Creating Maintenance Views |
Maintenance Attribute of a View Field |
Delivery Class of a Maintenance View |
Maintaining Selection Conditions of Views |
Creating an Append View |
Deleting Views |
Example of Views |
Types |
Data Elements |
Creating Data Elements |
Documentation and Documentation Status |
Field Labels |
Structures |
Creating Structures |
Named Includes |
Table Types |
Creating Table Types |
Key Definition of a Table Type |
Access Mode |
Key Category |
Secondary Keys for Table Types |
Generic Table Types |
Ranges Table Types |
Creating a Ranges Table Type |
Deleting Types |
Reference Type |
Domains |
Fixed Values |
Creating Fixed Value Appends |
Value Table |
Input and Output Conversions |
Creating Domains |
Output Styles |
Changing Domains |
Deleting Domains |
Search Helps |
Elementary Search Help |
Collective Search Help |
Append Search Helps |
Assignment of Search Helps to Screen Fields |
Assignment of a Search Help to a Data Element |
Assignment of a Search Help to a Check Table |
Assignment of a Search Help to a Table Field or Structure Field |
Direct Assignment of a Search Help to a Screen Field |
Hierarchy of Search Help Calls |
Value Transport for Input Helps |
Creating Elementary Search Helps |
Dialog Types |
Hot Keys |
Default Values for Search Help Parameters |
Creating Collective Search Helps |
Creating an Append Search Help |
Search Help Exit |
Example of Search Helps |
Lock Objects |
Lock Mode |
Function Modules for Lock Requests |
Conditions Required of Foreign Keys |
Lock Mechanism |
Local Lock Containers |
Creating Lock Objects |
Deleting Lock Objects |
Example of Lock Objects |
Adjustment of Database Structures |
Example of Conversion |
Conversion Problems |
Continuing Terminated Conversions |
Finding Terminated Conversions |
Activation |
Runtime Objects |
Mass Activation |
Activating Objects in the Background |
Data Types in the ABAP Dictionary |
Predefined ABAP Types |
Mapping of the ABAP Data Types |
The Database Utility |
Functions for Editing Tables and Indexes in the Database |
Functions for Editing Views in the Database |
Functions for Editing Pools and Clusters in the Database |
Processing Types |
Storage Parameters |
Displaying and Maintaining the Storage Parameters |
Displaying Requests for Mass Processing |
Scheduling Jobs for Mass Processing |
Displaying Logs for Mass Processing |
Displaying Temporary Tables without Restart Logs |
Pooled and Cluster Tables |
Creating Table Pools/Table Clusters |
Deleting Table Pools/Table Clusters |
Creating Pooled Tables/Cluster Tables |
Changing Pooled and Cluster Tables |
Flight Model |
Switch Framework |
Components and Architecture |
Business Function Set |
Business Function |
Switch |
Switch States |
Conflicts and Conflict Switches |
Switchable Units |
Switch BC Sets |
Activating Switch BC Sets |
Maintenance Transactions |
Creating Switches |
Creating Business Functions |
Creating Business Function Sets |
Switching on Business Functions |
Maintaining Information About Business Functions |
ABAP Programming Interfaces |
Writing RFC Programs in ABAP |
Calling RFC Function Modules in ABAP |
Introduction |
RFC Calls |
Parameters in Remote Calls |
Calling Remote Functions Locally |
Calling Remote Functions Back |
RFC Call Restrictions |
Things to Look Out for in Unicode |
RFC Exceptions |
Using Pre-Defined Exceptions for RFC |
Exceptions That Cannot Be Handled |
RFC Variants |
Synchronous RFC (sRFC) |
Asynchronous RFC (aRFC) |
Call Properties of Asynchronous RFCs |
Receiving Results from an Asynchronous RFC |
Keeping Remote Contexts |
Parallel Processing with Asynchronous RFC |
CALL FUNCTION - STARTING NEW TASK |
RECEIVE |
WAIT UNTIL |
aRFC Programming Example |
Transactional RFC (tRFC) |
CALL FUNCTION - IN BACKGROUND TASK |
Queued RFC (qRFC) |
Writing Remote Function Modules in ABAP |
Steps for Implementing Remote Function Modules |
Programming Tips |
Debugging Remote Function Modules |
SAP XSLT Processor Reference |
Statements |
Creating the Result Tree |
Flow Control |
Defining and Calling Template Rules |
Stylesheets and Structuring |
Top-Level Help Statements |
Output |
Additional SAP Statements |
sap:call-external |
sap:external-function |
sap:function |
Functions |
XPath Functions |
XSLT Functions |
Additional SAP Functions |
Preprocessor Sequences |
General Constraints |
Simple Transformations |
ST Overview |
ST Program Structure |
Root Element |
Type Definitions |
Data Declarations |
Data Roots |
Parameter |
Variables |
Main Template |
Example |
Addressing ABAP Data in Simple Transformations |
Tree Structure of the Data Nodes |
Current Node |
Addressing Data Nodes |
Addressing the Data Roots |
Addressing the Current Node |
Addressing Subnodes |
Serialization and Deserialization |
Literal Template Content |
Literal XML Elements and Attributes |
Controlling the Name Comparison of Literal XML Elements |
Controlling the Extensibility of Literal XML Elements |
Literal Text |
Non-Literal Attributes |
Namespaces |
Transformation of ABAP Values |
Elementary Data Objects |
Mapping Rules |
Mapping List |
Length |
Structures |
Internal Tables |
Data Objects and All Their Components |
Assigning Values |
Assigning a Value |
Downcasting Reference Variables |
Initialization |
Transformation of Variables |
Writing Variables to XML |
Reading an XML Value into a Variable |
Flow Control |
Defining the Transformation Direction |
Skipping XML Elements During Deserialization |
Conditional Transformations |
Preconditions |
Assertions |
Conditions |
Patterns |
Empty Template Content |
Specifying Data Nodes in Conditions |
Case Distinction |
Grouping |
Process Control with Variables |
Conditions for Variables |
Case Distinctions for Variables |
Symmetry of Serialization and Deserialization |
Modularization with Subtemplates |
Defining Subtemplates |
Calling Subtemplates |
Using Other ST Programs |
Calling Transformations |
Including Transformations |
Access to ABAP Objects from ST Programs |
Calling Static Methods |
Calling Instance Methods |
Creating an Object |
ST Appendix |
Representing ABAP Values in ST |
ST Overview of Commands |
XML- Library |
Package DOM |
Interface if_ixml_att_list_decl |
Interface if_ixml_attribute |
Interface if_ixml_attribute_decl |
Interface if_ixml_cdata_section |
Interface if_ixml_character_data |
Interface if_ixml_comment |
Interface if_ixml_cond_dtd_section |
Interface if_ixml_content_particle |
Interface if_ixml_document |
Interface if_ixml_document_fragment |
Interface if_ixml_document_type |
Interface if_ixml_element |
Interface if_ixml_element_decl |
Interface if_ixml_entity_decl |
Interface if_ixml_entity_ref |
Interface if_ixml_named_node_map |
Interface if_ixml_namespace_context |
Interface if_ixml_namespace_decl |
Interface if_ixml_node |
Interface if_ixml_node_collection |
Interface if_ixml_node_filter |
Interface if_ixml_node_filter_combining |
Interface if_ixml_node_iterator |
Interface if_ixml_node_list |
Interface if_ixml_notation_decl |
Interface if_ixml_pi |
Interface if_ixml_pi_parsed |
Interface if_ixml_pi_unparsed |
Interface if_ixml_text |
Package Encoding |
Interface if_ixml_encoding |
Package Event |
Interface if_ixml_event |
Package iXML |
Interface if_ixml |
Package Parser |
Interface if_ixml_parse_error |
Interface if_ixml_parser |
Package Renderer |
Interface if_ixml_renderer |
Package Stream |
Interface if_ixml_istream |
Interface if_ixml_ostream |
Interface if_ixml_stream |
Interface if_ixml_stream_factory |
Package Unknown |
Interface if_ixml_unknown |
iXML ABAP Objects Jumpstart |
Things you should know in advance |
A sample XML document |
What services does iXML provide |
What programming languages does iXML support |
What operating platforms does iXML support |
Enabling the iXML library |
Basic steps in your program |
Parsing an XML document DOM-based |
Parsing an XML document event-based |
Casting up and down the inheritance hierarchy |
Creating a DOM tree from scratch |
Traversing the DOM tree |
Traversing the DOM tree with iterators |
Traversing the DOM tree with filters |
Rendering a DOM tree into an XML document |
ABAP as OLE automation controller |
Introduction |
Registering External Applications in an ABAP System |
Loading OLE Type Information into an ABAP System for Conversion |
Conversion Rules |
Using The OLE Object Browser |
Implementation |
Examples |
Related ABAP keywords |
CREATE OBJECT |
SET PROPERTY |
GET PROPERTY |
CALL METHOD |
FREE OBJECT |
BC - ABAP und JavaScript |
The Class CL_JAVA_SCRIPT |
Using the CL_JAVA_SCRIPT Class |
Static Methods of the CL_JAVA_SCRIPT Class |
CREATE |
Instance Methods of the CL_JAVA_SCRIPT Class |
ABAP_DESTRUCTOR |
BIND |
Link to ABAP Types I and F |
Binding to ABAP-Types DECFLOAT and P |
Binding to ABAP Structures |
Binding to Internal Tables |
Binding to Data References |
Binding to Object References (Instances) |
Binding to Static Class Components |
BIND_INSTANCE |
COMPILE |
DESTROY |
EVALUATE |
EXECUTE |
GET |
SET |
SET_BREAKPOINT |
CLEAR_BREAKPOINT |
CLEAR_BREAKPOINTS |
CLEAR_SCRIPT_BREAKPOINTS |
STEP |
STEP_INTO |
STEP_OUT |
CONTINUE |
GET_CALL_STACK |
EVALUATE_IN_STACK |
Static Attributes of the CL_JAVA_SCRIPT Class |
Constants |
Instance Attributes of the CL_JAVA_SCRIPT Class |
LAST_CONDITION_CODE |
LAST_ERROR_MESSAGE |
BREAKPOINT_SCRIPT_NAME |
BREAKPOINT_LINE_NUMBER |
ABAP Customer Development |
Enhancement Framework |
Enhancement Concept |
Enhancement Spots |
Enhancement Options |
Enhancement Implementations |
Enhancement Technologies |
ABAP Source Code Enhancements |
Implicit Enhancement Options in ABAP Source Code |
Explicit Enhancement Options in ABAP Source Code |
Creating Source Code Plug-Ins |
Function Module Enhancements |
Enhancing Parameter Interfaces |
Enhancements to Classes and Interfaces |
Enhancing the Components of Classes or Interfaces |
Business Add-Ins (BAdIs) |
BAdI Concept |
Architecture |
Definition of BAdIs |
Instance Generation Mode |
The Multiple Use Property |
Function Code and Screen Enhancements |
BAdIs Embedded in the Enhancement Framework |
The Problem with Large BAdI Interfaces |
Enhancement Spots and Enhancement Implementation |
BAdIs a Typical Use Case |
BAdI Use Cases |
Single-Use BAdI |
Multiple-Use BAdI |
Registry Pattern |
Step-By-Step Examples with BAdIs |
Building Your First BAdI |
How to Implement a BAdI |
How to Use Filters |
Migrating Classic BAdIs |
Differences Between Classic and New BAdIs |
Migrating BAdIs |
Additional Information |
Documentation |
Tips and Tricks |
FAQs |
Working with Enhancements |
Enhancement Builder |
Creating, Editing, and Deleting Enhancement Spots |
Creating, Editing, and Deleting Enhancement Implementations |
Enhancement Information System |
Display Options |
Adjusting Enhanced Objects |
Objects Requiring Adjustment |
Cases When ABAP Source Code Needs Adjustment |
Cases When Function Modules Need Adjustment |
Cases When Classes and Interfaces Need Adjustment |
Cases When BadIs Need Adjustment |
Performing Adjustments |
Adjusting BAdI Implementations |
Adjusting Classes, Interfaces, Web Dynpros and Function Groups |
Adjusting Source Code Plug-ins |
Adjustment Status |
Changing the SAP Standard (BC) |
Personalization |
Personalizing an Application |
Hiding Screen Elements |
Hiding Screens |
Moving Screen Elements |
Defining Default Values for Input Fields |
Disabling the Ready-For-Input Status of Elements |
Adjusting Table Controls |
Adjusting Tab Pages |
Simplifying Selection Screens |
Personalizing the Possible Entries Help |
Changing Field Texts |
Including Graphics and Text |
Inserting Pushbuttons for Frequently-Used Functions |
Changing Possible Entries into Radio Buttons |
Simplifying Screens for Specific Users |
Tools for Personalizing the Application |
Transaction Variants and Screen Variants |
Variant Transactions |
Variant Groups |
GuiXT |
Enhancements |
Modification Assistant |
Application-Specific User Exits |
Application-Specific Field Selection |
SET/GET Parameters |
Parameter Transactions |
Creating a Parameter Transaction |
Selection Variants |
Transaction Variants and Screen Variants |
Transaction Variants |
Maintenance |
Prerequisites |
Dialog Box |
Additional Features |
Starting Transaction Variants |
Screen Variants |
Creating Screen Variants |
Additional Features |
Calling Screen Variants |
Creating and Maintaining Variant Groups |
Creating Variant Groups and Assigning Users |
Maintaining Variant Groups and Associated Transaction Variants |
Switching Between Variant Groups |
Order of Precedence for the Variant Values to Be Displayed |
User Authorizations for Variant Groups |
Transport |
Table Control Layout in Variants |
Transaction Variants and Screen Variants: Restrictions |
Transaction Variants and Screen Variants: Special Features |
GuiXT in Transaction Variants and Screen Variants |
Adjusting Transactions Using GuiXT |
Simplifying Navigation |
Enhancements to the Standard |
 Enhancement Framework |
Classic Techniques |
Classic BAdIs |
Architecture of Classic BAdIs |
Comparison of Classic BAdIs with Previous Techniques |
Definition of a Classic BAdI |
Defining a Business Add-In in the Enterprise Core |
Calling a Classic BAdI |
Implementing a Classic BAdI |
Implementing Methods of Classic BAdIs |
Filter-Dependent Classic BAdIs |
Call Sequence for Implementations Using Filter Mechanisms |
Classic Multiple-Use BAdIs |
Menu Enhancements |
Screen Enhancements |
Defining Screen Enhancements |
Implementing Screen Enhancements |
Sorting Classic BAdI Implementations |
Procedure for Importing Classic BAdIs |
Customer Exits |
Enhancements to the SAP Standard with Customer Exits |
Types of Exits |
Locating Applications that Have Exits |
Creating an Add-On Project |
Activating and Deactivating a Project |
Transporting Add-on Projects |
Creating Customer-Specific Menus |
Creating Customer-Specific Subscreens |
Creating Customer-Specific Function Modules |
Creating Customer-specific Documentation |
Enhancing IMGs |
Modifying the Standard |
The Modification Assistant |
General Development Organization |
Recommendations for Modifying the SAP Standard |
Optimizing Performance |
Customer Development |
Upgrade Procedure / Support Packages |
Adjusting ABAP Dictionary Objects |
Prerequisites |
Process Flow |
Preparing to Run Transaction SPDD |
Transaction SPDD |
Adjusting Repository Objects |
Preparing to Run Transaction SPAU |
Selection Screen of Transaction SPAU |
Transaction SPAU: General Functions |
Status of the Repository Objects |
Reset to Original |
Special Features of Complete Objects |
Adjustment Category: With Modification Assistant |
Adjusting Programs |
Adjusting Classes and Interfaces |
Adjustments in the Screen Painter |
Adjustments in the Menu Painter |
Adjusting Text Elements |
Adjusting Function Modules |
Adjusting Documentation |
Adjusting Role Menus |
Adjustment Category: Without Modification Assistant |
Version Management |
Displaying and Using Versions |
Functions in the Version Overview |
Practical Examples of Version Management |
Upgrading from Release 4.5A or Less |
Modifications Made by Several Different People |
Adjusting Other SAP Systems |
Upgrading the Development System |
Upgrading the Production System |
Handling Change Requests During Adjustment |
Choosing a Change Request for Modifications |
Local and Transportable Change Requests |
Releasing Tasks at the End of Modification Adjustment |
Transferring Adjustments to Other SAP Systems |
Notes (Troubleshooting) |
The SAP Software Change Registration Procedure (SSCR) |
What Is Registered? |
When Are Objects Registered? |
How Do You Get a Key in the Service System? |
Registering a Development User |
Registering an Object |
Displaying an Overview |
How Can Registration Take Place Without SAPNet Access? |
Who Can Use Registration? |
Integration Tests for ABAP Applications |
 Test Workbench |
 eCATT: extended Computer Aided Test Tool (BC-TWB-TST-ECA) |
 CATT: Enhanced Mode (BC-CAT-TOL) |
 CATT: Computer Aided Test Tool (BC-CAT-TOL) |
 SAP Virtual Machine Container |