ABAP Programming (BC-ABA)
Example
Example
Example
Example
Example
Linking ABAP Strings to Screen Fields
Example
Overview Graphics for Interfaces
Example
Top-Level Binding
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
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
ABAP User Interfaces
Appendix
Screens and Processing Blocks
ABAP System Fields