SAP BC - ABAP Programming
This documentation describes how to write application programs within the three-tier client/server
architecture of the R/3 System.
BC - ABAP Programming ............................................................................17
Introduction to ABAP ............................................................................................................ 19
The R/3 Basis System: Overview......................................................................................... 20
Position of the Basis System Within the R/3 System......................................................... 21
Application Servers............................................................................................................. 27
Work Processes ................................................................................................................. 32
Overview of the Components of Application Programs.................................................... 37
Structure of an Application Program .................................................................................. 38
Screens.............................................................................................................................. 40
Structure of ABAP Programs.............................................................................................. 44
Processing Blocks in ABAP Programs............................................................................... 49
ABAP Statements............................................................................................................... 56
Logical Databases and Contexts........................................................................................ 60
Memory Structures of an ABAP Program........................................................................... 66
Creating and Changing ABAP Programs............................................................................ 68
Opening a Program from the Repository Browser ............................................................. 70
Opening Programs in the ABAP Editor .............................................................................. 73
Opening Programs Using Forward Navigation................................................................... 74
Maintaining Program Attributes .......................................................................................... 75
Editing Programs ................................................................................................................ 79
The ABAP Programming Language..................................................................................... 82
ABAP Syntax......................................................................................................................... 83
Types and Objects................................................................................................................. 87
Basic Statements................................................................................................................... 90
Data Types and Data Objects ............................................................................................ 91
Data Types .................................................................................................................... 92
Defining Data Types................................................................................................. 96
Predefined ABAP Types ..................................................................................... 97
Local Data Types in Programs ......................................................................... 100
Data Types in the ABAP Dictionary.................................................................. 105
The TYPE Addition................................................................................................. 113
The LIKE Addition .................................................................................................. 117
Data Objects................................................................................................................ 119
Literals.................................................................................................................... 120
Text Symbols ......................................................................................................... 122
Variables ................................................................................................................ 124
Constants ............................................................................................................... 130
Interface Work Areas ............................................................................................. 131
Predefined Data Objects........................................................................................ 133
Compatibility................................................................................................................ 134
Determining the Attributes of Data Objects................................................................. 136
Examples of Data Types and Objects......................................................................... 141
Processing Data ............................................................................................................... 144
Assigning Values......................................................................................................... 145
Assigning Values with MOVE ................................................................................ 146
Assigning Values with WRITE TO ......................................................................... 149
Resetting Values to Their Initial Value................................................................... 151
Numerical Operations.................................................................................................. 152
Arithmetic Calculations........................................................................................... 153
Mathematical Functions ......................................................................................... 157
Business Calculations............................................................................................ 159
Date and Time Calculations................................................................................... 160
Processing Character Strings ..................................................................................... 162
Shifting Field Contents ........................................................................................... 163
Replacing Field Contents....................................................................................... 166
Converting to Upper or Lower Case or Replacing Characters .............................. 168
Converting into a Sortable Format ......................................................................... 169
Overlaying Character Fields .................................................................................. 170
Finding Character Strings ...................................................................................... 171
Finding the Length of a Character String ............................................................... 174
Condensing Field Contents.................................................................................... 175
Concatenating Character Strings........................................................................... 176
Splitting Character Strings ..................................................................................... 177
Assigning Parts of Character Strings ..................................................................... 178
Single Bit Processing in Hexadecimal Fields.............................................................. 179
Setting and Reading Bits ....................................................................................... 180
Bit Operations ........................................................................................................ 182
Set Operations Using Bit Sequences..................................................................... 184
Type Conversions ....................................................................................................... 187
Conversion Rules for Elementary Data Types....................................................... 188
Conversion Rules for References .......................................................................... 192
Conversion Rules for Structures ............................................................................ 193
Conversion Rules for Internal Tables..................................................................... 195
Alignment of Data Objects ..................................................................................... 196
Processing Sections of Strings ................................................................................... 197
Field Symbols and Data References................................................................................ 201
Field Symbols.............................................................................................................. 202
Defining Field Symbols .......................................................................................... 204
Assigning Data Objects to Field Symbols.............................................................. 208
Basic Form of the ASSIGN Statement.............................................................. 209
Assigning Components of Structures to a Field Symbol .................................. 214
Defining the Data Type of a Field Symbol ........................................................ 216
Data Areas for Field Symbols ........................................................................... 218
Data References ......................................................................................................... 220
Reference Variables............................................................................................... 221
Creating Data Objects Dynamically ....................................................................... 222
Getting References to Data Objects ...................................................................... 223
Dereferencing Data References ............................................................................ 224
Data References: Example .................................................................................... 225
Logical Expressions.......................................................................................................... 226
Comparisons Between Different Data Types.............................................................. 227
Comparing Strings....................................................................................................... 231
Comparing Bit Sequences .......................................................................................... 234
Checking Whether a Field Belongs to a Range .......................................................... 236
Checking for the Initial Value ...................................................................................... 237
Checking Selection Criteria......................................................................................... 238
Checking Whether a Field Symbol is Assigned .......................................................... 239
Combining Several Logical Expressions..................................................................... 240
Controlling the Program Flow........................................................................................... 241
Branching Conditionally............................................................................................... 243
Loops.......................................................................................................................... 246
Processing Large Volumes of Data ................................................................................... 251
Internal tables ................................................................................................................... 252
Creating Internal Tables.............................................................................................. 255
Internal table types................................................................................................. 256
Internal table objects.............................................................................................. 260
Special Features of Standard Tables..................................................................... 262
Processing Internal Tables.......................................................................................... 264
Operations on Entire Internal Tables ..................................................................... 265
Assigning Internal Tables ................................................................................. 266
Initializing Internal Tables ................................................................................. 268
Comparing Internal Tables ............................................................................... 270
Sorting Internal Tables...................................................................................... 272
Internal Tables as Interface Parameters .......................................................... 277
Determining the Attributes of Internal Tables ................................................... 278
Operations on Individual Lines............................................................................... 279
Operations for all Table Types.......................................................................... 282
Inserting Lines into Tables........................................................................... 283
Appending Summarized Lines..................................................................... 286
Reading Lines of Tables.............................................................................. 288
Changing Lines............................................................................................ 293
Deleting Lines .............................................................................................. 296
Processing Table Entries in Loops.............................................................. 300
Operations for Index Tables ............................................................................. 307
Appending Table Lines................................................................................ 308
Inserting Lines Using the Index ................................................................... 312
Reading Lines Using the Index.................................................................... 315
Binary Search in Standard Tables............................................................... 316
Finding Character Strings in Internal Tables ............................................... 317
Changing Table Lines Using the Index........................................................ 319
Deleting Lines Using the Index.................................................................... 322
Specifying the Index in Loops...................................................................... 325
Access Using Field Symbols.................................................................................. 327
Using Header Lines as Work Areas....................................................................... 329
Extracts............................................................................................................................ 332
Defining an Extract ...................................................................................................... 333
Filling an Extract with Data.......................................................................................... 335
Processing Extracts..................................................................................................... 337
Reading an Extract................................................................................................. 338
Sorting an Extract................................................................................................... 341
Processing Control Levels ..................................................................................... 344
Calculating Numbers and Totals............................................................................ 348
Formatting Data................................................................................................................ 351
Example of Formatted Data ........................................................................................ 352
Formatting Data During Reading ................................................................................ 354
Refining Data Using Internal Tables ........................................................................... 356
Formatting Data Using Extracts .................................................................................. 360
Saving Data Externally........................................................................................................ 362
Saving Data Objects as Clusters...................................................................................... 363
Data Clusters in ABAP Memory .................................................................................. 364
Saving Data Objects in Memory ............................................................................ 365
Reading Data Objects from Memory...................................................................... 366
Deleting Data Clusters from Memory..................................................................... 368
Data Clusters in the Database .................................................................................... 369
Cluster Databases.................................................................................................. 370
Structure of a Cluster Database ....................................................................... 371
Example of a Cluster Database ........................................................................ 373
Saving Data Objects in Cluster Databases............................................................ 375
Creating a Directory of a Data Cluster ................................................................... 377
Reading Data Objects From Cluster Databases.................................................... 379
Deleting Data Clusters from Cluster Databases .................................................... 381
Open SQL Statements and Cluster Databases ..................................................... 383
Working with Files ............................................................................................................ 385
Working with Files on the Application Server.............................................................. 386
File Handling in ABAP............................................................................................ 387
Opening a File................................................................................................... 388
Basic Form of the OPEN DATASET Statement .......................................... 389
Opening a File for Read Access.................................................................. 390
Opening a File for Write Access .................................................................. 391
Opening a File for Appending Data ............................................................. 394
Using Binary Mode ...................................................................................... 396
Using Text Mode.......................................................................................... 398
Opening a File at a Given Position.............................................................. 400
Executing Operating System Commands ................................................... 402
Receiving Operating System Messages ..................................................... 403
Closing a File .................................................................................................... 404
Deleting a File................................................................................................... 405
Writing Data to Files............................................................................................... 406
Reading Data from Files ........................................................................................ 408
Automatic Checks in File Operations..................................................................... 410
Authorization Checks for Programs and Files .................................................. 411
General Checks for File Access ....................................................................... 414
Working with Files on the Presentation Server ........................................................... 417
Writing Data to Presentation Server (Dialog)......................................................... 418
Writing Data to Presentation Server (no Dialog).................................................... 421
Reading Data from Presentation Server (Dialog) .................................................. 424
Reading Data from Presentation Server (no Dialog) ............................................. 427
Checking Files on the Presentation Server............................................................ 430
Using Platform-Independent Filenames...................................................................... 433
Maintaining Syntax Groups.................................................................................... 434
Assigning Operating Systems to Syntax Groups................................................... 435
Creating and Defining Logical Paths...................................................................... 437
Creating and Defining Logical Filenames .............................................................. 439
Using Logical Files in ABAP Programs.................................................................. 440
Modularization Techniques ................................................................................................ 443
Source Code Modules ...................................................................................................... 445
Macros......................................................................................................................... 446
Include Programs ........................................................................................................ 449
Procedures ....................................................................................................................... 451
Subroutines ................................................................................................................. 453
Defining Subroutines.............................................................................................. 454
Global Data from the Main Program................................................................. 455
Local Data in the Subroutine ............................................................................ 457
The Parameter Interface................................................................................... 461
Terminating Subroutines................................................................................... 466
Calling Subroutines................................................................................................ 468
Naming Subroutines ......................................................................................... 469
Passing Parameters to Subroutines ................................................................. 472
Examples of Subroutines.................................................................................. 475
Shared Data Areas ........................................................................................... 480
Function Modules ........................................................................................................ 483
Function Groups..................................................................................................... 484
Calling Function Modules....................................................................................... 486
Creating Function Modules .................................................................................... 492
Organization of External Procedure Calls ................................................................... 498
Special Techniques ............................................................................................................. 500
Catchable Runtime Errors ................................................................................................ 501
Program Checks.......................................................................................................... 502
Catching Runtime Errors............................................................................................. 504
Checking Authorizations................................................................................................... 506
Checking User Authorizations..................................................................................... 508
Defining an Authorization Check................................................................................. 509
Checking the Runtime of Program Segments.................................................................. 512
GET RUN TIME FIELD ............................................................................................... 513
Runtime Measurement of Database Accesses........................................................... 515
Generating and Running Programs Dynamically ............................................................. 517
Creating a New Program Dynamically ........................................................................ 518
Changing Existing Programs Dynamically .................................................................. 520
Running Programs Created Dynamically.................................................................... 521
Creating and Starting Temporary Subroutines ........................................................... 524
ABAP User Dialogs.............................................................................................................. 527
Screens................................................................................................................................ 528
Screen Elements .............................................................................................................. 530
Screen Attributes......................................................................................................... 531
Screen Elements ......................................................................................................... 532
Screen Fields .............................................................................................................. 534
Screen Flow Logic....................................................................................................... 537
Processing Screens.......................................................................................................... 539
User Actions on Screens............................................................................................. 540
Processing Input/Output Fields.............................................................................. 542
Pushbuttons on the Screen.................................................................................... 547
Checkboxes and Radio Buttons with Function Codes........................................... 550
Using GUI Statuses................................................................................................ 553
Reading Function Codes ....................................................................................... 561
Finding Out the Cursor Position............................................................................. 563
Calling ABAP Dialog Modules..................................................................................... 566
Simple Module Calls .............................................................................................. 568
Controlling the Data Transfer................................................................................. 571
Calling Modules Unconditionally ............................................................................ 574
Conditional Module Calls ....................................................................................... 578
Input Checks ............................................................................................................... 583
Automatic Input Checks ......................................................................................... 584
Checking Fields in the Screen Flow Logic ............................................................. 587
Input Checks in Dialog Modules ............................................................................ 590
Field Help, Input Help, and Dropdown Boxes ............................................................. 595
Field Help ............................................................................................................... 596
Input Help............................................................................................................... 601
Input Help from the ABAP Dictionary................................................................ 602
Input Help on the Screen .................................................................................. 607
Input Help in Dialog Modules............................................................................ 609
Dropdown Boxes.................................................................................................... 613
Modifying Screens Dynamically .................................................................................. 617
Setting Attributes Dynamically ............................................................................... 618
The Field Selection Function ................................................................................. 626
Setting the Cursor Position .................................................................................... 637
Switching on Hold Data Dynamically ..................................................................... 639
Complex Screen Elements............................................................................................... 641
Status Icons................................................................................................................. 642
Context Menus ............................................................................................................ 645
Subscreens ................................................................................................................. 653
Tabstrip Controls ......................................................................................................... 660
Custom Controls.......................................................................................................... 668
Table Controls ............................................................................................................. 676
Using the LOOP Statement ................................................................................... 678
Looping Through an Internal Table........................................................................ 679
Example Transaction: Table Controls.................................................................... 680
Looping Directly Through a Screen Table ............................................................. 684
How the System Transfers Data Values ................................................................ 686
Using Step Loops................................................................................................... 688
Selection Screens................................................................................................................ 691
Selection Screens and Logical Databases....................................................................... 693
Defining Selection Screens .............................................................................................. 696
Defining Input Fields for Single Values ....................................................................... 699
Basic Form of Parameters ..................................................................................... 700
Dynamic Dictionary Reference .............................................................................. 702
Default Values for Parameters............................................................................... 704
SPA/GPA Parameters as Default Values .............................................................. 705
Allowing Parameters to Accept Upper and Lower Case........................................ 706
Reducing the Visible Length .................................................................................. 707
Defining Required Fields........................................................................................ 708
Search Helps for Parameters................................................................................. 709
Checking Input Values ........................................................................................... 710
Defining Checkboxes ............................................................................................. 712
Defining Radio Buttons .......................................................................................... 713
Hiding Input Fields ................................................................................................. 715
Modifying Input Fields ............................................................................................ 716
Defining Complex Selections ...................................................................................... 718
Selection Tables..................................................................................................... 719
Basic Form of Selection Criteria ............................................................................ 722
Selection Criteria and Logical Databases.............................................................. 727
Default Values for Selection Criteria ...................................................................... 729
Restricting Entry to One Row................................................................................. 731
Restricting Entry to Single Fields ........................................................................... 732
Additional Options for Selection Criteria ................................................................ 733
Formatting Selection Screens ..................................................................................... 734
Blank Lines, Underlines, and Comments............................................................... 735
Several Elements in a Single Line ......................................................................... 738
Blocks of Elements................................................................................................. 740
Calling Selection Screens................................................................................................. 742
Calling Standard Selection Screens............................................................................ 743
Calling User-Defined Selection Screens..................................................................... 745
User Actions on Selection Screens .................................................................................. 752
Pushbuttons on the Selection Screen ......................................................................... 753
Checkboxes and Radio Buttons with Function Codes ................................................ 755
Pushbuttons in the Application Toolbar....................................................................... 756
Changing the Standard GUI Status............................................................................. 758
Selection Screen Processing............................................................................................ 759
Basic Form .................................................................................................................. 762
PBO of the Selection Screen ...................................................................................... 763
Processing Single Fields............................................................................................. 765
Processing Blocks....................................................................................................... 766
Processing Radio Buttons........................................................................................... 768
Processing Multiple Selections ................................................................................... 770
Defining Field Help ...................................................................................................... 772
Defining Input Help...................................................................................................... 774
Subscreens and Tabstrip Controls on Selection Screens................................................ 777
Selection Screens as Subscreens .............................................................................. 778
Tabstrip Controls on Selection Screens...................................................................... 783
Subscreens on Selection Screens .............................................................................. 787
Using Selection Criteria.................................................................................................... 789
Selection Tables in the WHERE Clause ..................................................................... 790
Selection Tables in Logical Expressions..................................................................... 791
Selection Tables in GET Events ................................................................................. 794
Lists...................................................................................................................................... 797
Creating Lists.................................................................................................................... 799
Creating Simple Lists with the WRITE Statement....................................................... 800
The WRITE Statement........................................................................................... 801
Positioning WRITE Output on the List ................................................................... 804
Formatting Options................................................................................................. 806
Displaying Symbols and Icons on the List ............................................................. 809
Blank Lines and Drawing Lines.............................................................................. 810
Displaying Field Contents as Checkboxes ............................................................ 812
Using WRITE via a Statement Structure................................................................ 813
Creating Complex Lists ............................................................................................... 817
The Standard List................................................................................................... 818
Structure of the Standard List ........................................................................... 819
GUI Status for the Standard List....................................................................... 822
The Self-Defined List.............................................................................................. 825
Individual Page Header .................................................................................... 826
Determining the List Width................................................................................ 828
Creating Blank Lines......................................................................................... 830
Determining the Page Length ........................................................................... 832
Defining a Page Footer..................................................................................... 834
Lists with Several Pages........................................................................................ 836
Programming Page Breaks............................................................................... 837
Standard Page Headers of Individual Pages.................................................... 840
Page length of individual pages........................................................................ 842
Page Width of List Levels ................................................................................. 846
Scrolling in Lists ..................................................................................................... 847
Scrolling Window by Window............................................................................ 848
Scrolling by Pages ............................................................................................ 849
Scrolling to the Margins of the List.................................................................... 851
Scrolling by Columns ........................................................................................ 853
Defining Where the User Can Scroll on a Page ............................................... 855
Laying Out List Pages............................................................................................ 859
Positioning the Output....................................................................................... 860
Absolute Positioning .................................................................................... 861
Relative Positioning ..................................................................................... 863
Formatting Output ............................................................................................. 867
The FORMAT Statement............................................................................. 868
Colors in Lists ......................................................................................... 869
Enabling Fields for Input......................................................................... 875
Outputting Fields as Hotspots ................................................................ 877
Special Output Formats............................................................................... 879
Lines in Lists ................................................................................................ 883
Interactive Lists................................................................................................................. 891
Detail Lists................................................................................................................... 892
Dialog Status for Lists ................................................................................................. 897
Context Menus for Lists............................................................................................... 903
List Events in an ABAP Program ................................................................................ 905
Lists in Dialog Boxes ................................................................................................... 909
Passing Data from Lists to Programs.......................................................................... 911
Passing Data Automatically ................................................................................... 912
Passing Data by Program Statements................................................................... 915
Manipulating Detail Lists ............................................................................................. 924
Scrolling in Detail Lists........................................................................................... 925
Setting the Cursor from within the Program........................................................... 927
Modifying List Lines................................................................................................ 930
Lists and Screens ............................................................................................................. 933
Starting Lists from Screen Processing........................................................................ 934
Calling Screens from List Processing ......................................................................... 938
Printing Lists ..................................................................................................................... 942
Printing a List after Creating it..................................................................................... 943
Printing a List while Creating it.................................................................................... 945
Print Parameters .................................................................................................... 946
Execute and Print................................................................................................... 947
Printing from within the Program............................................................................ 950
Printing Lists from a Called Program ..................................................................... 954
Print Control ................................................................................................................ 957
Determining Left and Upper Margins ..................................................................... 958
Determining the Print Format................................................................................. 960
Indexing Print Lists for Optical Archiving ............................................................... 964
Messages............................................................................................................................. 967
Message Management ..................................................................................................... 968
Messages ......................................................................................................................... 969
Message Processing ........................................................................................................ 971
Messages Without Screens ........................................................................................ 972
Messages on Screens................................................................................................. 973
Messages on Selection Screens................................................................................. 974
Messages in Lists........................................................................................................ 975
Messages in Function Modules and Methods............................................................. 976
Running ABAP Programs................................................................................................... 977
Defining Processing Blocks ............................................................................................... 980
Event blocks ..................................................................................................................... 981
Dialog modules................................................................................................................. 984
Running Programs Directly - Reports ............................................................................... 985
Linking to a Logical Database .......................................................................................... 987
Report Transactions ......................................................................................................... 991
Event Blocks in Executable Programs ............................................................................. 992
Description of Events .................................................................................................. 993
INITIALIZATION..................................................................................................... 994
AT SELECTION-SCREEN..................................................................................... 997
START-OF-SELECTION ....................................................................................... 998
GET........................................................................................................................ 999
GET … LATE ....................................................................................................... 1002
END-OF-SELECTION.......................................................................................... 1004
Leaving Event Blocks................................................................................................ 1007
Leaving Event Blocks Using STOP...................................................................... 1008
Leaving Event Blocks Using EXIT ....................................................................... 1011
Leaving Event Blocks Using CHECK................................................................... 1015
Leaving a GET Event Block Using REJECT........................................................ 1020
Dialog-Driven Programs: Transactions........................................................................... 1023
Dialog Programs: Overview............................................................................................ 1024
Sample Transaction .................................................................................................. 1028
Maintaining Transactions................................................................................................ 1036
Dialog Transactions................................................................................................... 1037
Report Transactions .................................................................................................. 1038
Variant Transactions ................................................................................................. 1039
Parameter Transaction.............................................................................................. 1040
Screen Sequences ......................................................................................................... 1041
Static Next Screen..................................................................................................... 1043
Dynamic Next Screen................................................................................................ 1045
Leaving a Screen from a Program ............................................................................ 1047
Starting a Screen Sequence ..................................................................................... 1048
Calling Modal Dialog Boxes ...................................................................................... 1051
Screen Sequences: Example Transaction ................................................................ 1052
Calling Programs............................................................................................................... 1057
Calling Executable Programs ......................................................................................... 1059
Filling the Selection Screen of a Called Program ..................................................... 1060
Affecting Lists in Called Programs ............................................................................ 1064
Program Statements to Leave a Called Program ..................................................... 1066
Calling Transactions ....................................................................................................... 1068
Calling Screen Sequences as Modules.......................................................................... 1069
Passing Data Between Programs .................................................................................. 1073
Filling an Initial Screen using SPA/GPA Parameters................................................ 1074
ABAP Database Access.................................................................................................... 1078
Accessing the Database in the R/3 System.................................................................... 1079
Open SQL ........................................................................................................................... 1082
Reading Data.................................................................................................................. 1084
Defining Selections.................................................................................................... 1087
Specifying a Target Area........................................................................................... 1094
Specifying Database Tables ..................................................................................... 1101
Selecting Lines .......................................................................................................... 1108
Grouping Lines .......................................................................................................... 1116
Selecting Groups of Lines ......................................................................................... 1119
Specifying a Sort Order ............................................................................................. 1121
Subqueries ................................................................................................................ 1124
Using a Cursor to Read Data .................................................................................... 1128
Locking Conflicts ....................................................................................................... 1134
Changing Data................................................................................................................ 1135
Inserting Lines into Tables ........................................................................................ 1136
Changing Lines ......................................................................................................... 1139
Deleting Lines............................................................................................................ 1142
Inserting or Changing Lines ...................................................................................... 1145
Committing Database Changes ................................................................................ 1147
Performance Notes......................................................................................................... 1148
Keep the Result Set Small ........................................................................................ 1152
Minimize the Amount of Data Transferred ................................................................ 1153
Minimize the Number of Data Transfers ................................................................... 1154
Minimize the Search Overhead................................................................................. 1156
Reduce the Database Load ...................................................................................... 1158
Native SQL.......................................................................................................................... 1161
Native SQL for Oracle .................................................................................................... 1166
Native SQL for Informix .................................................................................................. 1184
Native SQL for DB2 Common Server............................................................................. 1199
Logical Databases ............................................................................................................. 1210
Structure of Logical Databases ...................................................................................... 1213
Selection Views .............................................................................................................. 1220
Example of a Logical Database...................................................................................... 1222
Using Logical Databases................................................................................................ 1227
Linking a Logical DB to an Executable Program....................................................... 1230
Calling a Logical Database Using a Function Module .............................................. 1234
Editing Logical Databases.............................................................................................. 1241
Creating a Logical Database..................................................................................... 1242
Processing the Structure........................................................................................... 1244
Editing a Search Help................................................................................................ 1246
Editing Selections...................................................................................................... 1247
Editing the Database Program.................................................................................. 1251
Dynamic Selections in the Database Program .................................................... 1258
Field Selections in the Database Program .......................................................... 1262
Search Helps in the Database Program .............................................................. 1265
Independent Calls and the Database Program.................................................... 1269
Editing Other Components........................................................................................ 1270
Improving Performance............................................................................................. 1271
Using Contexts .................................................................................................................. 1273
What are Contexts?........................................................................................................ 1274
The Context Builder in the ABAP Workbench................................................................ 1275
Creating and Editing a Context ................................................................................. 1276
Using Tables as Modules..................................................................................... 1278
Using Function Modules as Modules ................................................................... 1281
Using Contexts as Modules ................................................................................. 1285
Testing a Context ...................................................................................................... 1288
Buffering Contexts..................................................................................................... 1290
Fields......................................................................................................................... 1293
Modules ..................................................................................................................... 1295
Interfaces................................................................................................................... 1297
Using Contexts in ABAP Programs ................................................................................ 1298
Finding and Displaying a Context ............................................................................. 1299
Creating an Instance of a Context............................................................................. 1301
Supplying Context Instances with Key Values.......................................................... 1302
Querying Data from Context Instances ..................................................................... 1303
Message Handling in Contexts ................................................................................. 1305
Message Handling in Table Modules................................................................... 1306
Message Handling in Function Module Modules ................................................. 1308
Working With Contexts - Hints ....................................................................................... 1311
Programming Database Updates ..................................................................................... 1312
Transactions and Logical Units of Work......................................................................... 1313
Database Logical Unit of Work (LUW) ...................................................................... 1314
SAP LUW .................................................................................................................. 1317
SAP Transactions...................................................................................................... 1321
The R/3 Lock Concept.................................................................................................... 1322
Example Transaction: SAP Locking.......................................................................... 1326
Update Techniques ........................................................................................................ 1328
Asynchronous Update ............................................................................................... 1329
Updating Asynchronously in Steps ........................................................................... 1332
Synchronous Update................................................................................................. 1333
Local Update ............................................................................................................. 1334
Creating Update Function Modules................................................................................ 1335
Calling Update Functions ............................................................................................... 1336
Calling Update Functions Directly ............................................................................. 1337
Adding Update Task Calls to a Subroutine ............................................................... 1338
Special LUW Considerations.......................................................................................... 1339
Transactions That Call Update Function Modules .................................................... 1340
Dialog Modules that Call Update Function Modules ................................................. 1341
Error Handling for Bundled Updates .............................................................................. 1342
ABAP Objects .................................................................................................................... 1344
What is Object Orientation? ............................................................................................. 1345
What are ABAP Objects?.................................................................................................. 1348
From Function Groups to Objects ................................................................................... 1349
Example......................................................................................................................... 1352
Classes ............................................................................................................................... 1353
Overview Graphic ........................................................................................................... 1358
Classes - Introductory Example ..................................................................................... 1359
Object Handling ................................................................................................................. 1360
Overview Graphic ........................................................................................................... 1363
Objects - Introductory Example ...................................................................................... 1364
Declaring and Calling Methods ........................................................................................ 1365
Methods in ABAP Objects - Example............................................................................. 1368
Inheritance......................................................................................................................... 1380
Inheritance: Overview Graphic ....................................................................................... 1385
Inheritance: Introductory Example.................................................................................. 1388
Interfaces........................................................................................................................... 1390
Overview Graphics ......................................................................................................... 1394
Interfaces - Introductory Example .................................................................................. 1395
Triggering and Handling Events ...................................................................................... 1397
Overview Graphic ........................................................................................................... 1400
Events: Introductory Example ........................................................................................ 1403
Events in ABAP Objects - Example................................................................................ 1405
Class Pools......................................................................................................................... 1411
Appendix............................................................................................................................ 1414
Programs, Screens, and Processing Blocks .................................................................. 1415
Introductory Statements for Programs ........................................................................... 1419
Overview of ABAP Calls.................................................................................................... 1421
Call Contexts .................................................................................................................. 1422
Internal Calls ............................................................................................................. 1423
External Procedure Calls........................................................................................... 1425
External Program Calls ............................................................................................. 1427
Callable Units ................................................................................................................. 1429
ABAP Programs ........................................................................................................ 1430
Procedures ................................................................................................................ 1432
Screens and Screen Sequences............................................................................... 1434
ABAP Statement Overview............................................................................................... 1437
ABAP System Fields ......................................................................................................... 1498
ABAP Glossary .................................................................................................................. 1522
Syntax Conventions .......................................................................................................... 1540
Download attached file: You must be Loged in to download file