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.
1. Comprehensive Discussion of Keywords
Learn about every language construct that you may encounter in dealing with ABAP programs, whether it is brand new or obsolete.
2. Syntax Diagrams
Explore syntax diagrams for each statement that show you all your options at a glance.
3. Practical Examples
Expand your knowledge with the various example programs that give you a feel for the surrounding structure of a program statement.
4. Icons for New Concepts
Easily identify new content and statements via icons throughout the text.
5. ABAP Glossary
Browse a unique glossary of almost 1,000 entries, which explains all programming concepts from A to Z.
Highlights:
Extended expression handling
Pragmas
Internal tables
Unicode extension
Obsolete language elements
Conversion rules
Allocations
ABAP and XML
Exceptions
Glossary
Reihe
Sprache
Verlagsort
Zielgruppe
Editions-Typ
Maße
Höhe: 22.9 cm
Breite: 17.5 cm
Dicke: 96 mm
ISBN-13
978-1-59229-376-6 (9781592293766)
Schweitzer Klassifikation
Autor*in
Dr. Horst Keller works in the NetWeaver Developer Tools ABAP group at SAP. As Knowledge Architect he is responsible for documentation and roll-out relating to ABAP and ABAP Objects. He also oversees the programs for preparing and presenting the ABAP documentation including the relating search algorithms.
... Preface ... 19
1 ... Introduction ... 23
... 1.1 ... Releases Used ... 23
... 1.2 ... New Features in Releases 7.02 and 7.2 ... 25
... 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.3 ... Operators and Expressions ... 59
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.2 ... Pseudo Comments ... 69
PART 3 ... Program Structure ... 71
8 ... Program Structure ... 73
9 ... Programs ... 75
... 9.1 ... Standalone Programs ... 75
... 9.2 ... Executable Programs ... 77
... 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.2 ... Dialog Modules ... 99
... 10.3 ... Event Blocks ... 100
... 10.4 ... Source Code Modules ... 107
11 ... Built-in Elements ... 113
... 11.1 ... Built-in Data Types ... 113
... 11.2 ... Built-in Data Objects ... 131
... 11.3 ... Built-in Functions ... 140
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.2 ... Declaring Data Objects ... 179
14 ... Classes and Interfaces ... 203
... 14.1 ... Defining Classes ... 203
... 14.2 ... Defining Interfaces ... 221
... 14.3 ... Declaring Components ... 224
15 ... Field Symbols ... 259
16 ... Typing ... 261
... 16.1 ... Syntax of Typing ... 261
... 16.2 ... Checking the Typing ... 265
PART 5 ... Generating Objects ... 273
17 ... Creating Objects ... 275
... 17.1 ... Creating Data Objects ... 275
... 17.2 ... Creating Instances of Classes ... 287
PART 6 ... Executing Program Units ... 295
18 ... Calling Programs ... 297
... 18.1 ... Calling Executable Programs ... 297
... 18.2 ... Calling Transactions ... 315
19 ... Calling Processing Blocks ... 323
... 19.1 ... Calling Procedures ... 323
... 19.2 ... Calling Event Handlers ... 354
... 19.3 ... Calling Event Blocks ... 359
20 ... Exiting Program Units ... 361
... 20.1 ... Leaving Programs ... 361
... 20.2 ... Exiting Processing Blocks ... 362
... 20.3 ... Exiting Loops ... 368
PART 7 ... Program Flow Control ... 371
21 ... Logical Conditions ... 373
... 21.1 ... Logical Expressions ... 373
... 21.2 ... Logical Functions ... 400
22 ... Control Structures ... 405
... 22.1 ... Branches ... 405
... 22.2 ... Loops ... 408
... 22.3 ... Exception Handling ... 411
PART 8 ... Assignments ... 435
23 ... Assignment Rules ... 437
... 23.1 ... Compatibility of Data Types ... 438
... 23.2 ... Conversion Rules for Elementary Data Objects ... 440
... 23.3 ... Conversion Rules for Structures ... 461
... 23.4 ... Conversion Rules for Internal Tables ... 467
... 23.5 ... Assignment Rules for Reference Variables ... 467
... 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.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.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.2 ... Arithmetic Expressions ... 525
... 27.3 ... Numerical Functions ... 533
... 27.4 ... System Classes for Mathematical Operations ... 544
28 ... Character String and Byte String Processing ... 547
... 28.1 ... Properties of Character String and Byte String Processing ... 547
... 28.2 ... Statements for Character String and Byte String Processing ... 550
... 28.3 ... Character String Expressions ... 603
... 28.4 ... Character String Functions ... 625
... 28.5 ... Regular Expressions ... 649
... 28.6 ... Expressions and Functions for Byte String Processing ... 675
... 28.7 ... System Classes for Character String and Byte String Processing ... 679
29 ... Internal Tables ... 681
... 29.1 ... Properties of Internal Tables ... 681
... 29.2 ... Statements for Internal Tables ... 696
... 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
31 ... Properties of Data ... 791
... 31.1 ... Specifying Elementary Properties ... 791
... 31.2 ... Run Time Type Services ... 801
32 ... Streaming ... 803
... 32.1 ... Classes and Interfaces for Streams ... 803
... 32.2 ... Streaming for Data Objects ... 806
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.5 ... ABAP Statements for Dynpros ... 839
34 ... Selection Screens ... 863
... 34.1 ... Creating Selection Screens ... 864
... 34.2 ... Defining Parameters ... 889
... 34.3 ... Defining Selection Criteria ... 902
... 34.4 ... Calling Selection Screens ... 913
... 34.5 ... Selection-Screen Processing ... 915
... 34.6 ... Selection Screen Events ... 916
... 34.7 ... Free Selections ... 921
35 ... Classic Lists ... 925
... 35.1 ... Properties of Classic Lists ... 925
... 35.2 ... Creating Lists ... 928
... 35.3 ... Processing Lists in the List Buffer ... 970
... 35.4 ... Displaying Lists ... 981
... 35.5 ... Printing Lists ... 992
... 35.6 ... Event Blocks for List Events ... 1006
36 ... Messages ... 1013
... 36.1 ... Storing Messages ... 1013
... 36.2 ... Behavior of Messages ... 1014
... 36.3 ... Sending Messages ... 1022
PART 11 ... Processing External Data ... 1033
37 ... Database Accesses ... 1035
... 37.1 ... Database Tables ... 1035
... 37.2 ... Open SQL ... 1036
... 37.3 ... Object Services ... 1125
... 37.4 ... Native SQL ... 1131
... 37.5 ... ADBC ... 1142
38 ... Data Clusters ... 1151
... 38.1 ... Creating Data Clusters ... 1151
... 38.2 ... Reading Data Clusters ... 1161
... 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.2 ... Opening a File ... 1183
... 39.3 ... Writing a File ... 1199
... 39.4 ... Reading a File ... 1202
... 39.5 ... Determining File Attributes ... 1207
... 39.6 ... Changing File Attributes ... 1211
... 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.2 ... SAP LUW ... 1223
... 40.3 ... Database Locks ... 1232
... 40.4 ... SAP Locks ... 1234
... 40.5 ... Authorizations ... 1236
PART 12 ... Program Parameters ... 1239
41 ... Parameters in the SAP Memory ... 1241
... 41.1 ... SPA/GPA Parameters ... 1241
... 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.3 ... Formatting Settings ... 1255
43 ... Date and Time Information ... 1261
... 43.1 ... System Fields for Date and Time ... 1261
... 43.2 ... Time Stamps ... 1263
PART 13 ... Program Processing ... 1273
44 ... Testing and Checking Programs ... 1275
... 44.1 ... Checkpoints ... 1275
... 44.2 ... Runtime Measurement ... 1282
... 44.3 ... Runtime Analysis ... 1285
45 ... Program Editing ... 1287
... 45.1 ... Source Code ... 1287
... 45.2 ... Text Elements ... 1304
PART 14 ... Data and Communication Interfaces ... 1309
46 ... Remote Function Call ... 1311
... 46.1 ... Properties of an RFC ... 1311
... 46.2 ... Remote Function Call ... 1320
47 ... XML Interface ... 1337
... 47.1 ... XSL Transformations ... 1337
... 47.2 ... Simple Transformations ... 1338
... 47.3 ... Canonical XML Representation ... 1339
... 47.4 ... Calling a Transformation ... 1360
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
50 ... BAdIs ... 1391
... 50.1 ... Creating a BAdI Object ... 1392
... 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.3 ... Obsolete Deactivation of the Program Check ... 1403
52 ... Obsolete Modularization ... 1405
... 52.1 ... Obsolete Subroutines ... 1405
... 52.2 ... Obsolete Function Module Parameters ... 1412
... 52.3 ... Obsolete Temporary Storage ... 1415
53 ... Obsolete Declarations ... 1417
... 53.1 ... Obsolete Type Definitions ... 1417
... 53.2 ... Obsolete Declaration and Loading ... 1418
... 53.3 ... Obsolete Interface Work Areas ... 1420
... 53.4 ... Obsolete Internal Tables ... 1423
... 53.5 ... Obsolete Field Symbols ... 1429
... 53.6 ... Obsolete Type Reference ... 1431
54 ... Obsolete Object Creation ... 1433
55 ... Obsolete Calls ... 1437
... 55.1 ... Obsolete Dialog Modules ... 1437
... 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
56 ... Obsolete Program Flow Control ... 1445
... 56.1 ... Obsolete Logical Expressions ... 1445
... 56.2 ... Obsolete Control Structures ... 1447
... 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
60 ... Obsolete Processing of Internal Tables ... 1471
... 60.1 ... Obsolete Short Forms ... 1471
... 60.2 ... Obsolete Key Specifications ... 1471
... 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.2 ... Obsolete List Processing ... 1490
... 61.3 ... Obsolete Text Editor ... 1495
62 ... Obsolete Processing of External Data ... 1497
... 62.1 ... Obsolete Database Accesses ... 1497
... 62.2 ... Obsolete Data Cluster Accesses ... 1504
... 62.3 ... Obsolete Contexts ... 1507
... 62.4 ... Obsolete Logical Databases ... 1512
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
... B ... Memory Management of Deep Data Objects ... 1533
... C ... ABAP Glossary ... 1539
... Index ... 1623