The Official ABAP Reference Book/DVD, 3rd Edition (H3203) by Keller, Horst

Price: £119.99

Discount: 0%
RRP: 120.35

More Details

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