Description
* Explore comprehensive explanations of all ABAP statements* Expand your knowledge with new information on extended expression handling, pragmas, introduction to internal tables, and database streaming
* The latest edition of the best-selling, one-stop official ABAP reference, authorized by SAP
* Updated for Release 7.2/7.02
* Includes a trial version of SAP NetWeaver 7.02 SP6 on DVD!
Get to know ABAP in all its intricacy and detail with this, your comprehensive reference for all ABAP statements. Each chapter discusses the relevant keywords for the topic at hand, and begins with an introduction that explains the essential concepts, such as character string processing, dynpro development, and more. For each statement, the book offers an explanation of the function, the syntax listing, a description, notes on special usage, and an example. The clear organization of content, a full index, and the comprehensive glossary will help you navigate through the complexities of ABAP with ease.
CONTENTS:
... Preface ... 19
1 ... Introduction ... 23
1.1 ... Releases Used ... 23
1.2 ... New Features in Releases 7.02 and 7.2 ... 25
1.2.1 ... New Features in ABAP ... 25
1.2.2 ... New Features in Tools ... 28
1.3 ... Syntax Conventions in The Official ABAP Reference ... 30
PART 1 ... ABAP Overview ... 33
2 ... ABAP Programming Language ... 35
2.1 ... SAP NetWeaver ... 35
2.2 ... Scope and Usage Areas ... 36
2.3 ... Programming Models ... 37
2.4 ... Unicode ... 37
PART 2 ... ABAP Syntax ... 39
3 ... Statements ... 41
3.1 ... ABAP Words ... 42
3.2 ... Operands ... 42
3.2.1 ... Names for Single Operands ... 43
3.2.2 ... Specifying Single Operands ... 49
3.2.3 ... Operand Position and Type ... 50
3.2.4 ... Data Objects in Operand Positions ... 52
3.2.5 ... Functions and Expressions in Operand Positions ... 55
3.3 ... Operators and Expressions ... 59
3.3.1 ... Operators ... 59
3.3.2 ... Expressions ... 60
4 ... Names ... 61
4.1 ... Naming Conventions ... 61
4.2 ... Name Spaces ... 62
5 ... Chained Statements ... 63
6 ... Comments ... 65
7 ... Program Directives ... 67
7.1 ... Pragmas ... 67
7.1.1 ... Pragma Parameters ... 68
7.1.2 ... Positioning Pragmas ... 68
7.2 ... Pseudo Comments ... 69
PART 3 ... Program Structure ... 71
8 ... Program Structure ... 73
9 ... Programs ... 75
9.1 ... Standalone Programs ... 75
9.1.1 ... Program Types ... 75
9.1.2 ... Introductory Program Statement ... 76
9.2 ... Executable Programs ... 77
9.2.1 ... Additions for the Basic List of the Program ... 78
9.2.2 ... Addition for the Message Class ... 80
9.2.3 ... Addition for Subroutine Pools ... 80
9.3 ... Module Pools and Subroutine Pools ... 80
9.4 ... Function Groups ... 82
9.5 ... Class Pools ... 84
9.6 ... Interface Pools ... 85
9.7 ... Type Groups ... 86
10 ... Modularization ... 89
10.1 ... Procedures ... 89
10.1.1 ... Parameter Interface of Procedures ... 90
10.1.2 ... Method Implementation ... 92
10.1.3 ... Function Modules ... 93
10.2 ... Dialog Modules ... 99
10.3 ... Event Blocks ... 100
10.3.1 ... Program Constructor ... 101
10.3.2 ... Reporting Events ... 102
10.3.3 ... Selection Screen Events and List Events ... 106
10.4 ... Source Code Modules ... 107
10.4.1 ... Include Programs ... 107
10.4.2 ... Macros ... 109
11 ... Built-in Elements ... 113
11.1 ... Built-in Data Types ... 113
11.1.1 ... Built-in ABAP Types ... 113
11.1.2 ... Generic ABAP Types ... 118
11.1.3 ... Built-in Types in the ABAP Dictionary ... 120
11.2 ... Built-in Data Objects ... 131
11.2.1 ... ABAP System Fields ... 131
11.2.2 ... space, me, and screen ... 138
11.3 ... Built-in Functions ... 140
11.3.1 ... Syntax of Built-in Functions ... 140
11.3.2 ... Overview of Built-in Functions ... 141
PART 4 ... Declarative Statements ... 145
12 ... Types and Objects ... 147
12.1 ... Validity and Visibility ... 148
12.2 ... Absolute Type Names ... 149
12.3 ... Shared Objects ... 152
13 ... Data Types and Data Objects ... 153
13.1 ... Declaring Data Types ... 153
13.1.1 ... Defining Types with Predefined ABAP Types ... 154
13.1.2 ... Defining Types by Referring to Existing Types ... 155
13.1.3 ... Defining Reference Types ... 156
13.1.4 ... Defining Structured Types ... 158
13.1.5 ... Defining Table Types ... 164
13.1.6 ... Defining Ranges Table Types ... 174
13.1.7 ... Defining LOB Handle Structures ... 175
13.2 ... Declaring Data Objects ... 179
13.2.1 ... Literals ... 179
13.2.2 ... Declaring Variables ... 182
13.2.3 ... Declaring Constants ... 194
13.2.4 ... Declaring Static Data Objects in Procedures ... 195
13.2.5 ... Declaring Table Work Areas ... 196
13.2.6 ... Declaring Data Objects for HR Infotypes ... 200
14 ... Classes and Interfaces ... 203
14.1 ... Defining Classes ... 203
14.1.1 ... Declaration ... 204
14.1.2 ... Specifying Class Properties ... 205
14.1.3 ... Visibility Sections of Classes ... 213
14.1.4 ... Class Components ... 217
14.1.5 ... Implementation Section ... 218
14.1.6 ... Declaring Classes ... 220
14.1.7 ... Local Friends of Global Classes ... 221
14.2 ... Defining Interfaces ... 221
14.2.1 ... Definition ... 222
14.2.2 ... Interface Components ... 223
14.2.3 ... Declaring Interfaces ... 224
14.3 ... Declaring Components ... 224
14.3.1 ... Attributes and Data Types ... 224
14.3.2 ... Methods ... 226
14.3.3 ... Events ... 249
14.3.4 ... Interface Components ... 252
15 ... Field Symbols ... 259
16 ... Typing ... 261
16.1 ... Syntax of Typing ... 261
16.1.1 ... Generic Typing ... 262
16.1.2 ... Complete Typing ... 264
16.2 ... Checking the Typing ... 265
16.2.1 ... General Rules ... 265
16.2.2 ... Return Values of Functional Methods ... 267
16.2.3 ... Literals as Actual Parameters ... 268
16.2.4 ... Functions and Expressions as Actual Parameters ... 270
PART 5 ... Generating Objects ... 273
17 ... Creating Objects ... 275
17.1 ... Creating Data Objects ... 275
17.1.1 ... Defining the Data Type Implicitly ... 276
17.1.2 ... Defining the Data Type Through Built-in ABAP Types ... 277
17.1.3 ... Defining Data Through an Existing Type ... 278
17.1.4 ... Creating Data with Reference to a Type Object ... 280
17.1.5 ... Creating Reference Variables ... 281
17.1.6 ... Creating Internal Tables ... 282
17.1.7 ... Creating Shared Objects ... 284
17.1.8 ... Treatable Exceptions ... 287
17.2 ... Creating Instances of Classes ... 287
17.2.1 ... Specifying the Class Implicitly ... 288
17.2.2 ... Specifying the Class Explicitly ... 289
17.2.3 ... Creating Shared Objects ... 290
17.2.4 ... Static Parameter Passing ... 291
17.2.5 ... Dynamic Parameter Passing ... 292
17.2.6 ... Treatable Exceptions ... 294
PART 6 ... Executing Program Units ... 295
18 ... Calling Programs ... 297
18.1 ... Calling Executable Programs ... 297
18.1.1 ... Processing an Executable Program ... 297
18.1.2 ... Calling of an Executable Program ... 299
18.2 ... Calling Transactions ... 315
18.2.1 ... Calling a Transaction with Returning to the Calling Program ... 315
18.2.2 ... Calling a Transaction without Returning to the Calling Program ... 321
19 ... Calling Processing Blocks ... 323
19.1 ... Calling Procedures ... 323
19.1.1 ... Internal and External Procedure Call ... 323
19.1.2 ... Calling Methods ... 327
19.1.3 ... Calling Function Modules ... 341
19.1.4 ... Calling Subroutines ... 349
19.2 ... Calling Event Handlers ... 354
19.2.1 ... Triggering Events ... 354
19.2.2 ... Registering Event Handlers ... 355
19.3 ... Calling Event Blocks ... 359
20 ... Exiting Program Units ... 361
20.1 ... Leaving Programs ... 361
20.2 ... Exiting Processing Blocks ... 362
20.2.1 ... Terminating Processing Blocks Normally ... 362
20.2.2 ... Exiting Processing Blocks Unconditionally ... 363
20.2.3 ... Exiting Processing Blocks Conditionally ... 366
20.3 ... Exiting Loops ... 368
20.3.1 ... Exiting Loops Unconditionally ... 368
20.3.2 ... Exiting Loop Passes Unconditionally ... 369
20.3.3 ... Exiting Loop Passes Conditionally ... 370
PART 7 ... Program Flow Control ... 371
21 ... Logical Conditions ... 373
21.1 ... Logical Expressions ... 373
21.1.1 ... Comparisons ... 374
21.1.2 ... Predicates ... 388
21.1.3 ... Evaluating Selection Tables ... 393
21.1.4 ... Boolean Operators and Brackets ... 395
21.2 ... Logical Functions ... 400
21.2.1 ... Boolean Functions ... 400
21.2.2 ... Predicate Functions ... 401
22 ... Control Structures ... 405
22.1 ... Branches ... 405
22.1.1 ... Conditional Branches ... 406
22.1.2 ... Case Distinction ... 407
22.2 ... Loops ... 408
22.2.1 ... Unconditional Loops ... 408
22.2.2 ... Conditional Loops ... 409
22.2.3 ... Interrupting the Program ... 410
22.3 ... Exception Handling ... 411
22.3.1 ... Class-Based Exceptions ... 411
22.3.2 ... Exceptions Before the Introduction of Class-Based Exceptions ... 428
22.3.3 ... Exceptions in ABAP Statements ... 432
22.3.4 ... Runtime Errors ... 433
PART 8 ... Assignments ... 435
23 ... Assignment Rules ... 437
23.1 ... Compatibility of Data Types ... 438
23.1.1 ... Compatibility of Non-Generic Data Types ... 438
23.1.2 ... Compatibility of Generic Data Types ... 439
23.1.3 ... Reference Types ... 439
23.2 ... Conversion Rules for Elementary Data Objects ... 440
23.2.1 ... Source Field Type c ... 441
23.2.2 ... Source Field Type d ... 444
23.2.3 ... Source Field Type decfloat16 or decfloat34 ... 446
23.2.4 ... Source Field Type f ... 448
23.2.5 ... Source Field Type i, b, or s ... 449
23.2.6 ... Source Field Type n ... 452
23.2.7 ... Source Field Type p ... 453
23.2.8 ... Source Field Type string ... 454
23.2.9 ... Source Field Type t ... 455
23.2.10 ... Source Field Type x ... 457
23.2.11 ... Source Field Type xstring ... 458
23.2.12 ... Numeric Values in Character-Type Fields ... 459
23.3 ... Conversion Rules for Structures ... 461
23.3.1 ... Unicode Fragment View ... 462
23.3.2 ... Conversion between Flat Structures ... 463
23.3.3 ... Conversion between Flat Structures and Single Fields ... 466
23.4 ... Conversion Rules for Internal Tables ... 467
23.5 ... Assignment Rules for Reference Variables ... 467
23.5.1 ... Static and Dynamic Type ... 468
23.5.2 ... Assignments between Data Reference Variables ... 469
23.5.3 ... Assignments between Object Reference Variables ... 470
23.6 ... System Class for Character Set Conversion and Number Format Conversion ... 472
24 ... Assigning Values ... 473
24.1 ... General Assignment ... 474
24.2 ... Lossless Assignment ... 476
24.2.1 ... Lossless Assignment of Elementary Data Objects ... 477
24.2.2 ... Lossless Assignment of Structures ... 484
24.2.3 ... Lossless Assignment of Internal Tables ... 484
24.2.4 ... Lossless Assignment of Reference Variables ... 485
24.2.5 ... Treatable Exceptions ... 485
24.3 ... Multiple Assignments ... 486
24.4 ... Assigning Structure Components ... 486
24.5 ... Special Assignment of a Packed Number ... 489
25 ... Setting References ... 491
25.1 ... Assigning Data Objects to Field Symbols ... 491
25.1.1 ... Specifying the Memory Area ... 492
25.1.2 ... Specifying the Data Type ... 503
25.1.3 ... Specifying Area Limits ... 506
25.1.4 ... Treatable Exceptions ... 509
25.2 ... Retrieving Data References ... 510
26 ... Initializations ... 513
26.1 ... Initializing Data Objects ... 513
26.2 ... Releasing Memory ... 514
26.3 ... Initializing Field Symbols ... 515
PART 9 ... Processing Internal Data ... 517
27 ... Numerical Calculations ... 519
27.1 ... Statements for Numerical Calculations ... 519
27.1.1 ... Statement for Calculation Expressions ... 519
27.1.2 ... Addition ... 522
27.1.3 ... Subtraction ... 523
27.1.4 ... Multiplication ... 524
27.1.5 ... Division ... 524
27.2 ... Arithmetic Expressions ... 525
27.2.1 ... Arithmetic Operators ... 527
27.2.2 ... Bracketing ... 528
27.2.3 ... Calculation Type ... 528
27.2.4 ... Treatable Exceptions ... 532
27.3 ... Numerical Functions ... 533
27.3.1 ... General Numerical Functions ... 533
27.3.2 ... Numerical Extreme Value Functions ... 534
27.3.3 ... Floating Point Functions ... 536
27.3.4 ... Rounding Functions ... 538
27.3.5 ... Treatable Exceptions ... 544
27.4 ... System Classes for Mathematical Operations ... 544
27.4.1 ... Operations with Floating Point Numbers ... 544
27.4.2 ... Random Numbers ... 545
28 ... Character String and Byte String Processing ... 547
28.1 ... Properties of Character String and Byte String Processing ... 547
28.1.1 ... Character Strings and Byte Strings ... 547
28.1.2 ... Operands in Character String and Byte String Processing ... 547
28.1.3 ... Trailing Blanks in Character String Processing ... 549
28.2 ... Statements for Character String and Byte String Processing ... 550
28.2.1 ... Concatenate ... 551
28.2.2 ... Find ... 553
28.2.3 ... Replace ... 561
28.2.4 ... Shift ... 567
28.2.5 ... Split ... 571
28.2.6 ... Condense ... 574
28.2.7 ... Conversion into a Sortable Format ... 575
28.2.8 ... Overlay ... 576
28.2.9 ... Translate ... 577
28.2.10 ... Format ... 579
28.2.11 ... Setting Single Bits ... 601
28.2.12 ... Reading Single Bits ... 602
28.3 ... Character String Expressions ... 603
28.3.1 ... Character String Templates ... 604
28.3.2 ... Chaining Operator ... 624
28.3.3 ... Treatable Exceptions ... 625
28.4 ... Character String Functions ... 625
28.4.1 ... Description Functions ... 625
28.4.2 ... Processing Functions ... 630
28.4.3 ... Common Parameters ... 645
28.4.4 ... Treatable Exceptions ... 648
28.5 ... Regular Expressions ... 649
28.5.1 ... Syntax of Regular Expressions ... 649
28.5.2 ... Single Character Patterns ... 653
28.5.3 ... Character String Patterns ... 660
28.5.4 ... Search Patterns ... 664
28.5.5 ... Replacement Patterns ... 669
28.5.6 ... Simplified Regular Expressions ... 671
28.5.7 ... Testing Regular Expressions ... 673
28.5.8 ... Exceptions in Regular Expressions ... 674
28.6 ... Expressions and Functions for Byte String Processing ... 675
28.6.1 ... Bit Expressions ... 675
28.6.2 ... Byte String Functions ... 678
28.7 ... System Classes for Character String and Byte String Processing ... 679
28.7.1 ... String Processing ... 679
28.7.2 ... Compression ... 679
29 ... Internal Tables ... 681
29.1 ... Properties of Internal Tables ... 681
29.1.1 ... Table Type ... 681
29.1.2 ... Table Category ... 683
29.1.3 ... Table Key ... 684
29.1.4 ... Access to Internal Tables ... 693
29.1.5 ... Administration Costs of Internal Tables ... 694
29.2 ... Statements for Internal Tables ... 696
29.2.1 ... Reading Single Lines ... 696
29.2.2 ... Loop Processing ... 712
29.2.3 ... Control Level Processing ... 722
29.2.4 ... Inserting Lines ... 726
29.2.5 ... Inserting Compressed Lines ... 733
29.2.6 ... Appending Lines ... 736
29.2.7 ... Modifying Lines ... 742
29.2.8 ... Deleting Lines ... 749
29.2.9 ... Sorting ... 757
29.2.10 ... Syntax for Component Specifications ... 764
29.2.11 ... Syntax for Key Specifications ... 766
29.2.12 ... Character and Byte String Processing in Internal Tables ... 766
29.3 ... Table Function ... 772
29.4 ... Special Statement for Internal Tables ... 772
30 ... Extracts ... 779
30.1 ... Declaring Field Groups ... 779
30.2 ... Defining the Line Structure ... 780
30.3 ... Filling the Extract Dataset ... 781
30.4 ... Sorting the Extract Dataset ... 782
30.5 ... Reading the Extract Dataset ... 785
30.6 ... Control-Level Processing ... 785
30.6.1 ... Counter ... 788
30.6.2 ... Sums ... 789
31 ... Properties of Data ... 791
31.1 ... Specifying Elementary Properties ... 791
31.1.1 ... Elementary Properties of Any Data Objects ... 791
31.1.2 ... Elementary Properties of Internal Tables ... 798
31.1.3 ... Distance between Data Objects ... 799
31.2 ... Run Time Type Services ... 801
32 ... Streaming ... 803
32.1 ... Classes and Interfaces for Streams ... 803
32.1.1 ... Classes for Data Streams and Filter Streams ... 804
32.1.2 ... Interfaces and Superclasses ... 804
32.1.3 ... Important Methods ... 805
32.2 ... Streaming for Data Objects ... 806
32.2.1 ... Streaming for Strings ... 806
32.2.2 ... Streaming for Internal Tables ... 807
PART 10 ... User Dialogs ... 809
33 ... Classic Dynpros ... 811
33.1 ... SAP GUI ... 812
33.2 ... Dynpro Fields ... 813
33.3 ... Dynpro Flow and Dynpro Sequences ... 814
33.4 ... Statements in the Dynpro Flow Logic ... 815
33.4.1 ... Event Blocks of the Dynpro Flow Logic ... 816
33.4.2 ... Calling Dialog Modules ... 818
33.4.3 ... Controlling Data Transfer and Flow Logic ... 822
33.4.4 ... Processing Chains ... 828
33.4.5 ... Table Controls ... 829
33.4.6 ... Subscreens, Tabstrip, and Splitter Controls ... 833
33.5 ... ABAP Statements for Dynpros ... 839
33.5.1 ... Calling a Dynpro Sequence ... 839
33.5.2 ... Setting the GUI Status ... 840
33.5.3 ... Determining the GUI Status ... 842
33.5.4 ... Setting the GUI Title ... 843
33.5.5 ... Suppressing the Display ... 845
33.5.6 ... Reading Attributes of Screen Elements ... 846
33.5.7 ... Modifying Attributes of Screen Elements ... 848
33.5.8 ... Setting the Cursor ... 850
33.5.9 ... Evaluating the Cursor Position ... 852
33.5.10 ... Declaring Controls ... 853
33.5.11 ... Initializing Table Control ... 859
33.5.12 ... Exiting Step-Loop Processing ... 859
33.5.13 ... Holding Input Data ... 860
33.5.14 ... Setting the Next Dynpro ... 861
33.5.15 ... Leaving a Dynpro ... 861
34 ... Selection Screens ... 863
34.1 ... Creating Selection Screens ... 864
34.1.1 ... Creating Selection Screens ... 864
34.1.2 ... Laying Out Selection Screens ... 868
34.1.3 ... Adopting Elements of Other Selection Screens ... 885
34.2 ... Defining Parameters ... 889
34.2.1 ... Data Type of the Parameter ... 891
34.2.2 ... Attributes of Screen Elements ... 894
34.2.3 ... Attributes of the Value and Passing of Values ... 898
34.3 ... Defining Selection Criteria ... 902
34.3.1 ... Data Type of the low and high Columns ... 906
34.3.2 ... Attributes of Screen Elements ... 908
34.3.3 ... Attributes of the Value and Passing of Values ... 910
34.3.4 ... Addition for Selection Screens of Logical Databases ... 912
34.4 ... Calling Selection Screens ... 913
34.4.1 ... Call via SUBMIT ... 913
34.4.2 ... Call via Report Transaction ... 913
34.4.3 ... Call via Dialog Transaction ... 914
34.4.4 ... Call in the Program ... 914
34.5 ... Selection-Screen Processing ... 915
34.6 ... Selection Screen Events ... 916
34.6.1 ... PBO ... 917
34.6.2 ... Passing Individual Data ... 918
34.6.3 ... Passing a Multiple Selection ... 918
34.6.4 ... Block Transfer ... 918
34.6.5 ... Passing the Data of a Radio Button Group ... 919
34.6.6 ... Overall Transfer ... 919
34.6.7 ... POH and POV ... 919
34.6.8 ... Exit Command ... 920
34.7 ... Free Selections ... 921
34.7.1 ... Free Selections in Logical Databases ... 921
34.7.2 ... Free Selections in Any Programs ... 922
35 ... Classic Lists ... 925
35.1 ... Properties of Classic Lists ... 925
35.1.1 ... Lists in ABAP Programs ... 925
35.1.2 ... Basic List ... 925
35.1.3 ... Details Lists ... 926
35.1.4 ... Structure of a List ... 926
35.1.5 ... Print Lists ... 927
35.1.6 ... Lists and ABAP Objects ... 927
35.2 ... Creating Lists ... 928
35.2.1 ... Writing Lists ... 928
35.2.2 ... Output Length in Lists ... 934
35.2.3 ... Processing the Output ... 938
35.2.4 ... Formatting the Output ... 939
35.2.5 ... Automatic Line Elements ... 940
35.2.6 ... List Elements ... 940
35.2.7 ... Creating Blank Lines ... 945
35.2.8 ... Creating Horizontal Lines ... 945
35.2.9 ... Formatting List Sections ... 946
35.2.10 ... Controlling Blank Lines ... 953
35.2.11 ... Positioning the List Cursor Vertically ... 954
35.2.12 ... Positioning the List Cursor Horizontally ... 958
35.2.13 ... Fixed Area When Scrolling Horizontally ... 959
35.2.14 ... Page Breaks and Print Lists ... 960
35.2.15 ... Conditional Page Break ... 968
35.2.16 ... Storing Variables in the List Level ... 969
35.3 ... Processing Lists in the List Buffer ... 970
35.3.1 ... Reading List Lines ... 970
35.3.2 ... Modifying List Lines ... 973
35.3.3 ... Scrolling Lists ... 975
35.3.4 ... Reading List Attributes ... 978
35.4 ... Displaying Lists ... 981
35.4.1 ... Calling Basic Lists ... 982
35.4.2 ... Leaving the List Display ... 983
35.4.3 ... Displaying a List in the Dialog Window ... 984
35.4.4 ... GUI Status of a Screen List ... 985
35.4.5 ... Title of a Screen List ... 987
35.4.6 ... Positioning the Cursor on the List ... 987
35.4.7 ... Evaluating the List at the Cursor Position ... 990
35.5 ... Printing Lists ... 992
35.5.1 ... Switching Printing On and Off ... 992
35.5.2 ... Print List Levels and Spool Requests ... 993
35.5.3 ... Print Parameters ... 995
35.5.4 ... Print Control ... 1001
35.5.5 ... Printing Screen Lists ... 1005
35.6 ... Event Blocks for List Events ... 1006
35.6.1 ... Events during List Creation ... 1006
35.6.2 ... Events after User Actions in Displayed Lists ... 1008
35.6.3 ... Triggering List Events from the Program ... 1011
36 ... Messages ... 1013
36.1 ... Storing Messages ... 1013
36.2 ... Behavior of Messages ... 1014
36.2.1 ... Messages in List Processing ... 1014
36.2.2 ... Messages in Dialog Processing ... 1015
36.2.3 ... Messages in Control Processing ... 1019
36.2.4 ... Messages in Batch Input ... 1019
36.2.5 ... Messages in Background Processing ... 1020
36.2.6 ... Messages during Updates ... 1020
36.2.7 ... Messages in Conversion Routines ... 1021
36.2.8 ... Messages in Procedures ... 1021
36.2.9 ... Messages in RFC Processing ... 1022
36.2.10 ... Messages in HTTP Servers ... 1022
36.3 ... Sending Messages ... 1022
36.3.1 ... Specifying a Message ... 1023
36.3.2 ... Specifying a Character String ... 1028
36.3.3 ... Message Options ... 1029
PART 11 ... Processing External Data ... 1033
37 ... Database Accesses ... 1035
37.1 ... Database Tables ... 1035
37.1.1 ... Relational Databases ... 1035
37.1.2 ... Indexes of Database Tables ... 1036
37.2 ... Open SQL ... 1036
37.2.1 ... Environment of Open SQL ... 1036
37.2.2 ... Read Accesses ... 1043
37.2.3 ... Write Accesses ... 1098
37.2.4 ... Work Areas for Open SQL ... 1119
37.2.5 ... Streaming and Locators for Open SQL ... 1121
37.2.6 ... Treatable Exceptions ... 1125
37.3 ... Object Services ... 1125
37.3.1 ... Persistence Service ... 1125
37.3.2 ... Transaction Service ... 1128
37.3.3 ... Query Service ... 1129
37.4 ... Native SQL ... 1131
37.4.1 ... Integrating Native SQL ... 1131
37.4.2 ... Host Variables ... 1133
37.4.3 ... Cursor Processing ... 1134
37.4.4 ... Calling Stored Procedures ... 1136
37.4.5 ... Defining a Database Connection ... 1138
37.4.6 ... Treatable Exceptions ... 1142
37.5 ... ADBC ... 1142
37.5.1 ... Executing SQL Statements ... 1142
37.5.2 ... Preparing SQL Statements ... 1147
37.5.3 ... Database Connections ... 1148
37.5.4 ... Exception Class for ADBC ... 1150
38 ... Data Clusters ... 1151
38.1 ... Creating Data Clusters ... 1151
38.1.1 ... Defining Data Clusters ... 1152
38.1.2 ... Specifying the Memory Medium ... 1153
38.1.3 ... Treatable Exceptions ... 1158
38.1.4 ... INDX-Like Database Tables ... 1158
38.1.5 ... SQL Access to Data Clusters ... 1160
38.2 ... Reading Data Clusters ... 1161
38.2.1 ... Specifying the Source ... 1161
38.2.2 ... Specifying the Memory Medium ... 1163
38.2.3 ... Conversion Additions ... 1166
38.2.4 ... Text Language Rule ... 1173
38.2.5 ... Treatable Exceptions ... 1174
38.3 ... Importing the Directory ... 1174
38.4 ... Deleting Data Clusters ... 1176
38.5 ... Deleting Data Clusters in the ABAP Memory ... 1178
38.6 ... System Classes for Data Clusters ... 1178
39 ... File Interface ... 1179
39.1 ... Properties of the File Interface ... 1179
39.1.1 ... Addressing Files ... 1179
39.1.2 ... Authorizations for Accessing Files ... 1180
39.1.3 ... Locks ... 1182
39.1.4 ... File Interface and Unicode ... 1182
39.2 ... Opening a File ... 1183
39.2.1 ... Specifying the Access Type ... 1184
39.2.2 ... Specifying the Storage Type ... 1185
39.2.3 ... Specifying the Position ... 1193
39.2.4 ... Operating System-Dependent Additions ... 1194
39.2.5 ... Error Handling ... 1196
39.2.6 ... Treatable Exceptions ... 1198
39.3 ... Writing a File ... 1199
39.3.1 ... Specifying Lengths ... 1200
39.3.2 ... Defining the Line End Marker ... 1201
39.3.3 ... Treatable Exceptions ... 1202
39.4 ... Reading a File ... 1202
39.4.1 ... Specifying the Maximum Length ... 1205
39.4.2 ... Determining the Length Read ... 1206
39.4.3 ... Treatable Exceptions ... 1206
39.5 ... Determining File Attributes ... 1207
39.5.1 ... Determining the Position ... 1207
39.5.2 ... Determining Attributes ... 1208
39.5.3 ... Treatable Exceptions ... 1210
39.6 ... Changing File Attributes ... 1211
39.6.1 ... Specifying the Position ... 1211
39.6.2 ... Changing Attributes ... 1213
39.6.3 ... Treatable Exceptions ... 1215
39.7 ... Changing the File Size ... 1215
39.8 ... Closing a File ... 1217
39.9 ... Deleting a File ... 1218
40 ... Data Consistency ... 1219
40.1 ... Database LUW ... 1219
40.1.1 ... Database Commit ... 1220
40.1.2 ... Database Rollback ... 1221
40.1.3 ... Database Commits/Rollbacks for a Database Connection ... 1222
40.2 ... SAP LUW ... 1223
40.2.1 ... Registering Update Function Modules ... 1224
40.2.2 ... Registering Subroutines ... 1226
40.2.3 ... Executing an SAP Commit ... 1227
40.2.4 ... Executing an SAP Rollback ... 1230
40.2.5 ... Activating a Local Update ... 1231
40.3 ... Database Locks ... 1232
40.3.1 ... Setting Database Locks ... 1232
40.3.2 ... Types of Database Locks ... 1232
40.3.3 ... Isolation Level ... 1233
40.3.4 ... Deadlock ... 1233
40.3.5 ... Releasing Database Locks ... 1234
40.4 ... SAP Locks ... 1234
40.4.1 ... Setting and Checking SAP Locks ... 1234
40.4.2 ... Releasing SAP Locks ... 1235
40.5 ... Authorizations ... 1236
PART 12 ... Program Parameters ... 1239
41 ... Parameters in the SAP Memory ... 1241
41.1 ... SPA/GPA Parameters ... 1241
41.1.1 ... SPA/GPA Parameters and ABAP Programs ... 1241
41.1.2 ... Administrating SPA/GPA Parameters ... 1242
41.1.3 ... SPA/GPA Parameters and Dynpro Fields ... 1243
41.2 ... Setting SPA/GPA Parameters ... 1243
41.3 ... Reading SPA/GPA Parameters ... 1245
42 ... Language Environment ... 1247
42.1 ... Text Pools ... 1247
42.2 ... Text Environment ... 1249
42.2.1 ... Text Environment in Unicode Systems ... 1250
42.2.2 ... Text Environment in non-Unicode Systems ... 1250
42.2.3 ... Setting the Text Environment ... 1251
42.2.4 ... Determining the Text Environment ... 1255
42.3 ... Formatting Settings ... 1255
42.3.1 ... Country-Specific Formats ... 1256
42.3.2 ... Setting Formatting Settings ... 1259
43 ... Date and Time Information ... 1261
43.1 ... System Fields for Date and Time ... 1261
43.2 ... Time Stamps ... 1263
43.2.1 ... Properties of Time Stamps ... 1263
43.2.2 ... Creating Current Time Stamp ... 1266
43.2.3 ... Converting Time Stamp Into Local Time ... 1267
43.2.4 ... Converting Local Time Into a Time Stamp ... 1269
PART 13 ... Program Processing ... 1273
44 ... Testing and Checking Programs ... 1275
44.1 ... Checkpoints ... 1275
44.1.1 ... Assertions ... 1275
44.1.2 ... Breakpoints ... 1279
44.1.3 ... Logpoints ... 1282
44.2 ... Runtime Measurement ... 1282
44.2.1 ... Relative Program Runtime ... 1282
44.2.2 ... Setting the Time Resolution ... 1284
44.2.3 ... Class for Runtime Measurements ... 1285
44.3 ... Runtime Analysis ... 1285
45 ... Program Editing ... 1287
45.1 ... Source Code ... 1287
45.1.1 ... Dynamic Subroutine Pool ... 1287
45.1.2 ... Reading a Program ... 1293
45.1.3 ... Syntax Check ... 1295
45.1.4 ... Creating or Overwriting a Program ... 1299
45.1.5 ... Calling the ABAP Editor ... 1303
45.2 ... Text Elements ... 1304
45.2.1 ... Reading a Text Pool ... 1304
45.2.2 ... Creating or Overwriting a Text Pool ... 1306
PART 14 ... Data and Communication Interfaces ... 1309
46 ... Remote Function Call ... 1311
46.1 ... Properties of an RFC ... 1311
46.1.1 ... RFC Interface ... 1312
46.1.2 ... RFC Language Elements ... 1312
46.1.3 ... RFC Destination ... 1313
46.1.4 ... RFC Context ... 1314
46.1.5 ... RFC Protocol ... 1314
46.1.6 ... RFC Exceptions ... 1315
46.1.7 ... RFC System Fields ... 1317
46.1.8 ... RFC Authorizations ... 1317
46.1.9 ... RFC Trust Relationships ... 1317
46.1.10 ... RFC Dialog Interactions ... 1318
46.1.11 ... RFC Restrictions ... 1319
46.2 ... Remote Function Call ... 1320
46.2.1 ... Synchronous Remote Function Call ... 1320
46.2.2 ... Asynchronous Remote Function Call ... 1326
46.2.3 ... Background RFC ... 1333
46.2.4 ... Transactional Remote Function Call ... 1335
47 ... XML Interface ... 1337
47.1 ... XSL Transformations ... 1337
47.2 ... Simple Transformations ... 1338
47.3 ... Canonical XML Representation ... 1339
47.3.1 ... General Format ... 1339
47.3.2 ... Mapping ABAP Data Types ... 1341
47.4 ... Calling a Transformation ... 1360
47.4.1 ... Transformation Source ... 1361
47.4.2 ... Transformation Result ... 1362
47.4.3 ... Transformation Parameters ... 1364
47.4.4 ... Transformation Options ... 1366
47.4.5 ... Treatable Exceptions ... 1370
48 ... OLE Interface ... 1373
48.1 ... Creating an Automation Object ... 1373
48.2 ... Calling an Automation Method ... 1375
48.3 ... Determining the Attributes of an Automation Object ... 1378
48.4 ... Changing the Attributes of an Automation Object ... 1379
48.5 ... Releasing an Automation Object ... 1380
PART 15 ... Enhancements ... 1381
49 ... Source Code Enhancement ... 1383
49.1 ... Implicit Enhancement Options ... 1383
49.2 ... Explicit Enhancement Options ... 1384
49.2.1 ... Enhancement Option for Point ... 1384
49.2.2 ... Enhancement Option for Section ... 1386
49.2.3 ... Enhancement Implementation ... 1389
50 ... BAdIs ... 1391
50.1 ... Creating a BAdI Object ... 1392
50.1.1 ... Specifying Filter Values ... 1394
50.1.2 ... Specifying the Context ... 1395
50.1.3 ... Treatable Exceptions ... 1396
50.2 ... Calling BAdI Methods ... 1396
PART 16 ... Obsolete Statements ... 1399
51 ... Obsolete Syntax ... 1401
51.1 ... Obsolete Statement Structures ... 1401
51.2 ... Obsolete Pseudo Comments ... 1401
51.2.1 ... Pseudo Comments for the Extended Program Check ... 1401
51.2.2 ... Pseudo Comments for Test Classes ... 1402
51.3 ... Obsolete Deactivation of the Program Check ... 1403
52 ... Obsolete Modularization ... 1405
52.1 ... Obsolete Subroutines ... 1405
52.1.1 ... Creating a Subroutine ... 1405
52.1.2 ... Defining a Subroutine in Parts ... 1411
52.2 ... Obsolete Function Module Parameters ... 1412
52.2.1 ... Declaring Table Parameters ... 1412
52.2.2 ... Obsolete Typing ... 1413
52.2.3 ... Global Parameters ... 1414
52.3 ... Obsolete Temporary Storage ... 1415
53 ... Obsolete Declarations ... 1417
53.1 ... Obsolete Type Definitions ... 1417
53.1.1 ... Implicit Type Specifications ... 1417
53.1.2 ... Unnecessary Length Specifications ... 1417
53.1.3 ... Anonymous Components ... 1418
53.2 ... Obsolete Declaration and Loading ... 1418
53.2.1 ... Loading a Type Group ... 1418
53.2.2 ... Loading a Class or Interface ... 1419
53.2.3 ... Declaring a Data Object ... 1420
53.3 ... Obsolete Interface Work Areas ... 1420
53.3.1 ... Common Data Area ... 1421
53.3.2 ... Additional Table Work Area ... 1423
53.4 ... Obsolete Internal Tables ... 1423
53.4.1 ... Internal Tables with Header Line ... 1423
53.4.2 ... Obsolete Declaration of Any Line Types ... 1426
53.4.3 ... Explicit Declaration of a Header Line ... 1427
53.4.4 ... Obsolete Declaration of Structured Line Types ... 1427
53.4.5 ... Obsolete Declaration of Ranges Tables ... 1428
53.5 ... Obsolete Field Symbols ... 1429
53.5.1 ... Obsolete Typing ... 1429
53.5.2 ... Obsolete Casting ... 1429
53.6 ... Obsolete Type Reference ... 1431
54 ... Obsolete Object Creation ... 1433
55 ... Obsolete Calls ... 1437
55.1 ... Obsolete Dialog Modules ... 1437
55.1.1 ... Suppressing the Initial Screen ... 1438
55.1.2 ... Batch Input Session ... 1438
55.1.3 ... Parameter Passing ... 1439
55.2 ... Obsolete Function Module Exit ... 1439
55.3 ... Obsolete Function Module Exception ... 1441
55.4 ... Obsolete External Subroutine Call ... 1442
55.5 ... Obsolete Exiting ... 1442
55.5.1 ... Obsolete Exiting of Called Programs ... 1442
55.5.2 ... Obsolete Exiting of Any Processing Blocks ... 1443
56 ... Obsolete Program Flow Control ... 1445
56.1 ... Obsolete Logical Expressions ... 1445
56.1.1 ... Obsolete Relational Operators ... 1445
56.1.2 ... Obsolete Short Form for Selection Table ... 1445
56.1.3 ... Obsolete Check of Output Parameters ... 1446
56.2 ... Obsolete Control Structures ... 1447
56.2.1 ... Obsolete Statements in Case Distinctions ... 1447
56.2.2 ... Obsolete Branching ... 1447
56.2.3 ... Obsolete Unconditional Loop Processing ... 1449
56.2.4 ... Obsolete Conditional Loop Processing ... 1452
56.3 ... Obsolete Exception Handling ... 1452
57 ... Obsolete Assignments ... 1455
57.1 ... Obsolete Percentaged Subfield ... 1455
57.2 ... Obsolete Conversion ... 1455
57.3 ... Obsolete Casting ... 1456
57.4 ... Obsolete Dynamic Memory Area ... 1457
57.5 ... Obsolete Initialization ... 1458
58 ... Obsolete Calculation Statements ... 1459
58.1 ... Obsolete Addition of Field Sequences ... 1459
58.2 ... Calculating Component by Component ... 1461
59 ... Obsolete Character String and Byte String Processing ... 1463
59.1 ... Obsolete Search ... 1463
59.2 ... Obsolete Replacement ... 1466
59.3 ... Obsolete Translation ... 1467
59.3.1 ... Code Page and Number Format ... 1467
59.3.2 ... Forming Complement on Nine of a Date ... 1469
60 ... Obsolete Processing of Internal Tables ... 1471
60.1 ... Obsolete Short Forms ... 1471
60.2 ... Obsolete Key Specifications ... 1471
60.2.1 ... No Specification ... 1472
60.2.2 ... Specifying a Subfield of a Line ... 1473
60.2.3 ... Specifying the Entire Line ... 1474
60.3 ... Obsolete Search ... 1475
60.4 ... Obsolete Assignment of Formatted Character Strings ... 1476
60.5 ... Obsolete Short Form of a Special Statement ... 1478
60.6 ... Obsolete Deletion ... 1480
61 ... Obsolete User Dialogs ... 1481
61.1 ... Obsolete Dynpro Flow Logic ... 1481
61.1.1 ... Database Access ... 1481
61.1.2 ... Checking Values in the Flow Logic ... 1481
61.1.3 ... Obsolete Subscreen Enhancement ... 1484
61.1.4 ... Obsolete Step Loop Processing ... 1484
61.2 ... Obsolete List Processing ... 1490
61.2.1 ... Obsolete Formatting ... 1490
61.2.2 ... Obsolete Calculations ... 1491
61.2.3 ... Obsolete List Event ... 1494
61.2.4 ... Obsolete Printing ... 1494
61.3 ... Obsolete Text Editor ... 1495
62 ... Obsolete Processing of External Data ... 1497
62.1 ... Obsolete Database Accesses ... 1497
62.1.1 ... Obsolete Short Forms in Open SQL ... 1497
62.1.2 ... Obsolete Cursor Processing in Native SQL ... 1498
62.1.3 ... Obsolete Access Statements ... 1499
62.2 ... Obsolete Data Cluster Accesses ... 1504
62.2.1 ... Obsolete Short Forms ... 1504
62.2.2 ... Obsolete Implicit ID ... 1505
62.2.3 ... Obsolete Implicit Work Area ... 1506
62.2.4 ... Obsolete ID ... 1507
62.3 ... Obsolete Contexts ... 1507
62.3.1 ... Buffering of Contexts ... 1508
62.3.2 ... Creating Instances of Contexts ... 1509
62.3.3 ... Providing Contexts with Key Values ... 1510
62.3.4 ... Querying Contexts ... 1510
62.4 ... Obsolete Logical Databases ... 1512
62.4.1 ... Interface Work Areas for Logical Databases ... 1513
62.4.2 ... Statements in Logical Databases ... 1513
62.4.3 ... Statements for Logical Databases ... 1522
62.4.4 ... Function Module for Logical Databases ... 1523
63 ... Obsolete Data and Communication Interfaces ... 1525
63.1 ... Obsolete XML Handling ... 1525
63.2 ... Obsolete CPI-C Interface ... 1525
63.3 ... Obsolete JavaScript Processing ... 1526
... Appendices ... 1527
A ... ABAP Memory Organization ... 1527
A.1 ... General Memory Organization ... 1527
A.2 ... Programs in the Internal Session ... 1529
B ... Memory Management of Deep Data Objects ... 1533
B.1 ... Memory Requirement of Deep Data Objects ... 1534
B.2 ... Maximum Size of Dynamic Data Objects ... 1535
B.3 ... Sharing between Dynamic Data Objects ... 1536
C ... ABAP Glossary ... 1539
... Index ... 1623
Published
30 Aug 2011
Publisher
SAP PRESS/GALILEO PRESS
ISBN
9781592293766
Pages
1677




Static Book Details Index Page - Click Here to go to Computer Manuals Website