Kiran Bandari
Complete ABAP
Kiran Bandari
Complete ABAP
- Gebundenes Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
Get everything you need to code with ABAP, all in one place! Are you a beginner looking for a refresher on the basics? You'll get an overview of SAP architecture and learn syntax. Already an experienced programmer and looking to improve your ABAP skills? Dive right into modifications and code enhancements. Understand the programming environment and build reports, interfaces, and applications with this complete reference to coding with ABAP!
Highlights include: 1) Architecture and environment 2) Syntax, keywords, structures, and tables 3) User interaction 4) Modularization 5) Persistent data…mehr
Andere Kunden interessierten sich auch für
- Paul HardyABAP to the Future86,90 €
- Lutz BaumbuschABAP RESTful Application Programming Model67,99 €
- Winfried SchwarzmannTest-Driven Development with ABAP Objects74,99 €
- Gairik AcharyaABAP in the Cloud65,99 €
- Leon HassanVisual Studio Code for SAP65,99 €
- Stefan HaasABAP Programming Model for SAP Fiori66,99 €
- Renzo ColleCore Data Services for ABAP67,99 €
-
-
-
Get everything you need to code with ABAP, all in one place! Are you a beginner looking for a refresher on the basics? You'll get an overview of SAP architecture and learn syntax. Already an experienced programmer and looking to improve your ABAP skills? Dive right into modifications and code enhancements. Understand the programming environment and build reports, interfaces, and applications with this complete reference to coding with ABAP!
Highlights include:
1) Architecture and environment
2) Syntax, keywords, structures, and tables
3) User interaction
4) Modularization
5) Persistent data
6) Dialog and dynamic programming
7) Reports and forms
8) Interface development
9) Modifications and enhancements
10) Debugging and testing
Highlights include:
1) Architecture and environment
2) Syntax, keywords, structures, and tables
3) User interaction
4) Modularization
5) Persistent data
6) Dialog and dynamic programming
7) Reports and forms
8) Interface development
9) Modifications and enhancements
10) Debugging and testing
Produktdetails
- Produktdetails
- SAP PRESS Englisch
- Verlag: Rheinwerk Verlag
- Artikelnr. des Verlages: 459/22305
- 3. Aufl.
- Seitenzahl: 912
- Erscheinungstermin: 3. Februar 2023
- Englisch
- Abmessung: 265mm x 189mm x 52mm
- Gewicht: 1757g
- ISBN-13: 9781493223053
- ISBN-10: 1493223054
- Artikelnr.: 64220973
- Herstellerkennzeichnung
- Rheinwerk Publishing Inc.
- 2 Heritage Drive
- 11201 Quincy, MA, US
- Info@rheinwerk-verlag.de
- www.rheinwerk-verlag.de
- SAP PRESS Englisch
- Verlag: Rheinwerk Verlag
- Artikelnr. des Verlages: 459/22305
- 3. Aufl.
- Seitenzahl: 912
- Erscheinungstermin: 3. Februar 2023
- Englisch
- Abmessung: 265mm x 189mm x 52mm
- Gewicht: 1757g
- ISBN-13: 9781493223053
- ISBN-10: 1493223054
- Artikelnr.: 64220973
- Herstellerkennzeichnung
- Rheinwerk Publishing Inc.
- 2 Heritage Drive
- 11201 Quincy, MA, US
- Info@rheinwerk-verlag.de
- www.rheinwerk-verlag.de
Kiran Bandari is a solution architect for one of world's leading confection companies, and has been working with ABAP for more than 10 years. He has worked as a lead ABAP consultant on multiple SAP implementations, roll outs, and upgrade projects with a specific focus on custom development using ABAP Objects and Web Dynpro ABAP. He is also an industry trainer and has conducted ABAP training workshops for major clients like Wrigley's, IBM, Accenture, CapGemini, and more.
... Acknowledgments ... 21
... Preface ... 23
... Objective of This Book ... 23
... Target Audience ... 23
... Structure of This Book ... 24
1 ... Introduction to ERP and SAP ... 27
1.1 ... Historical Overview ... 27
1.2 ... Understanding an ERP System ... 30
1.3 ... Introduction to SAP ... 33
1.4 ... ABAP Overview ... 38
1.5 ... System Requirements ... 42
1.6 ... Summary ... 43
2 ... Architecture of an SAP System ... 45
2.1 ... Introduction to the Three-Tier Architecture ... 45
2.2 ... SAP Implementation Overview ... 47
2.3 ... Data Structures ... 60
2.4 ... Summary ... 70
3 ... Introduction to the ABAP Environment ... 71
3.1 ... SAP Environment ... 71
3.2 ... ABAP Workbench Overview ... 80
3.3 ... Eclipse IDE Overview ... 89
3.4 ... SAP Business Technology Platform, ABAP Environment ... 94
3.5 ... Summary ... 95
4 ... ABAP Programming Concepts ... 97
4.1 ... General Program Structure ... 98
4.2 ... ABAP Syntax ... 99
4.3 ... ABAP Keywords ... 102
4.4 ... Introduction to the TYPE Concept ... 103
4.5 ... ABAP Statements ... 126
4.6 ... Creating Your First ABAP Program ... 128
4.7 ... Summary ... 133
5 ... Structures and Internal Tables ... 135
5.1 ... Defining Structures ... 136
5.2 ... Internal Tables ... 146
5.3 ... Introduction to Open SQL Statements ... 167
5.4 ... Processing Data from Databases via Internal Tables and Structures ... 181
5.5 ... Introduction to the Debugger ... 183
5.6 ... Practice ... 186
5.7 ... Summary ... 186
6 ... User Interaction ... 187
6.1 ... Selection Screen Overview ... 187
6.2 ... Messages ... 204
6.3 ... Summary ... 211
7 ... Modularization Techniques ... 213
7.1 ... Modularization Overview ... 213
7.2 ... Program Structure ... 217
7.3 ... Events ... 231
7.4 ... Procedures ... 240
7.5 ... Inline Declarations ... 264
7.6 ... Summary ... 266
8 ... Object-Oriented ABAP ... 267
8.1 ... Procedural Programming versus Object-Oriented Programming ... 267
8.2 ... Principles of Object-Oriented Programming ... 271
8.3 ... Encapsulation ... 279
8.4 ... Inheritance ... 286
8.5 ... Polymorphism ... 296
8.6 ... Working with the Extensible Markup Language ... 313
8.7 ... Summary ... 317
9 ... Exception Handling ... 319
9.1 ... Exceptions Overview ... 319
9.2 ... Procedural Exception Handling ... 320
9.3 ... Class-Based Exception Handling ... 324
9.4 ... Messages in Exception Classes ... 333
9.5 ... Summary ... 339
10 ... ABAP Data Dictionary ... 341
10.1 ... Database Tables ... 342
10.2 ... Views ... 367
10.3 ... Data Types ... 378
10.4 ... Type Groups ... 388
10.5 ... Domains ... 389
10.6 ... Search Helps ... 392
10.7 ... Lock Objects ... 400
10.8 ... Summary ... 404
11 ... Persistent Data ... 405
11.1 ... Working with Data in Databases ... 406
11.2 ... ABAP Object Services ... 423
11.3 ... File Interfaces ... 428
11.4 ... Data Clusters ... 432
11.5 ... Security Concepts ... 434
11.6 ... Summary ... 436
12 ... Dialog Programming ... 439
12.1 ... Screen Events ... 440
12.2 ... Screen Elements and Flow Logic ... 443
12.3 ... Basic Screen Elements ... 455
12.4 ... Input/Output Fields ... 460
12.5 ... List Box ... 461
12.6 ... Table Controls ... 462
12.7 ... Tabstrip Controls ... 468
12.8 ... Subscreens ... 470
12.9 ... Working with Screens ... 471
12.10 ... Control Framework ... 483
12.11 ... Practice ... 486
12.12 ... Summary ... 489
13 ... List Screens ... 491
13.1 ... Program Types ... 491
13.2 ... Program Execution ... 495
13.3 ... Memory Organization ... 498
13.4 ... List Events ... 502
13.5 ... Basic Lists and Detail Lists ... 507
13.6 ... Classical Reports ... 511
13.7 ... Interactive Reports ... 511
13.8 ... Practice ... 516
13.9 ... Summary ... 517
14 ... Selection Screens ... 519
14.1 ... Defining Selection Screens ... 520
14.2 ... Selection Screen Events ... 521
14.3 ... Input Validations ... 523
14.4 ... Selection Screen Variants ... 525
14.5 ... Executing Programs in the Background ... 534
14.6 ... Displaying and Hiding Screen Elements Dynamically ... 536
14.7 ... Calling Programs via Selection Screens ... 538
14.8 ... Summary ... 538
15 ... SAP List Viewer Reports ... 541
15.1 ... Standard ALV Reports Using the Reuse Library ... 542
15.2 ... Interactive Reports ... 559
15.3 ... ALV Reports Using the Control Framework ... 566
15.4 ... ALV Object Model ... 568
15.5 ... SAP List Viewer with Integrated Data Access ... 576
15.6 ... Summary ... 578
16 ... Dynamic Programming ... 579
16.1 ... Field Symbols ... 580
16.2 ... Data References ... 594
16.3 ... Runtime Type Services ... 599
16.4 ... Dynamic Token Specification ... 604
16.5 ... Dynamic Procedure Calls ... 606
16.6 ... Dynamic Program Generation ... 608
16.7 ... Summary ... 610
17 ... Debugging ... 611
17.1 ... Classic Debugger ... 612
17.2 ... New Debugger ... 623
17.3 ... ABAP Managed Database Procedures Debugger ... 627
17.4 ... Using the Debugger to Troubleshoot ... 627
17.5 ... Using the Debugger as a Learning Tool ... 629
17.6 ... Summary ... 630
18 ... Forms ... 631
18.1 ... SAP Scripts ... 633
18.2 ... Smart Forms ... 654
18.3 ... SAP Interactive Forms by Adobe ... 677
18.4 ... Summary ... 697
19 ... Interfaces ... 699
19.1 ... Batch Data Communication ... 700
19.2 ... Business Application Programming Interfaces ... 713
19.3 ... EDI/ALE/IDocs ... 727
19.4 ... Legacy System Migration Workbench ... 754
19.5 ... Web Services ... 765
19.6 ... OData Services ... 777
19.7 ... Extensible Stylesheet Language Transformations ... 788
19.8 ... XML and JSON Data Representation ... 790
19.9 ... WebSockets (ABAP Channels and Messages) ... 792
19.10 ... Summary ... 799
20 ... Modifications and Enhancements ... 801
20.1 ... Customization Overview ... 801
20.2 ... Modification Overview ... 803
20.3 ... Using the Modification Assistant ... 803
20.4 ... Using the Modification Browser ... 810
20.5 ... Enhancements Overview ... 811
20.6 ... User Exits ... 812
20.7 ... Customer Exits ... 813
20.8 ... Business Add-Ins ... 822
20.9 ... Enhancement Points ... 834
20.10 ... Business Transaction Events ... 840
20.11 ... Summary ... 845
21 ... Test and Analysis Tools ... 847
21.1 ... Overview of Tools ... 847
21.2 ... ABAP Unit ... 849
21.3 ... Code Inspector ... 860
21.4 ... Selectivity Analysis ... 862
21.5 ... Process Analysis ... 864
21.6 ... Memory Inspector ... 866
21.7 ... Table Call Statistics ... 869
21.8 ... Performance Trace ... 871
21.9 ... ABAP Trace/Runtime Analysis ... 879
21.10 ... Single-Transaction Analysis ... 883
21.11 ... Dump Analysis ... 886
21.12 ... Summary ... 887
... The Author ... 889
... Index ... 891
... Preface ... 23
... Objective of This Book ... 23
... Target Audience ... 23
... Structure of This Book ... 24
1 ... Introduction to ERP and SAP ... 27
1.1 ... Historical Overview ... 27
1.2 ... Understanding an ERP System ... 30
1.3 ... Introduction to SAP ... 33
1.4 ... ABAP Overview ... 38
1.5 ... System Requirements ... 42
1.6 ... Summary ... 43
2 ... Architecture of an SAP System ... 45
2.1 ... Introduction to the Three-Tier Architecture ... 45
2.2 ... SAP Implementation Overview ... 47
2.3 ... Data Structures ... 60
2.4 ... Summary ... 70
3 ... Introduction to the ABAP Environment ... 71
3.1 ... SAP Environment ... 71
3.2 ... ABAP Workbench Overview ... 80
3.3 ... Eclipse IDE Overview ... 89
3.4 ... SAP Business Technology Platform, ABAP Environment ... 94
3.5 ... Summary ... 95
4 ... ABAP Programming Concepts ... 97
4.1 ... General Program Structure ... 98
4.2 ... ABAP Syntax ... 99
4.3 ... ABAP Keywords ... 102
4.4 ... Introduction to the TYPE Concept ... 103
4.5 ... ABAP Statements ... 126
4.6 ... Creating Your First ABAP Program ... 128
4.7 ... Summary ... 133
5 ... Structures and Internal Tables ... 135
5.1 ... Defining Structures ... 136
5.2 ... Internal Tables ... 146
5.3 ... Introduction to Open SQL Statements ... 167
5.4 ... Processing Data from Databases via Internal Tables and Structures ... 181
5.5 ... Introduction to the Debugger ... 183
5.6 ... Practice ... 186
5.7 ... Summary ... 186
6 ... User Interaction ... 187
6.1 ... Selection Screen Overview ... 187
6.2 ... Messages ... 204
6.3 ... Summary ... 211
7 ... Modularization Techniques ... 213
7.1 ... Modularization Overview ... 213
7.2 ... Program Structure ... 217
7.3 ... Events ... 231
7.4 ... Procedures ... 240
7.5 ... Inline Declarations ... 264
7.6 ... Summary ... 266
8 ... Object-Oriented ABAP ... 267
8.1 ... Procedural Programming versus Object-Oriented Programming ... 267
8.2 ... Principles of Object-Oriented Programming ... 271
8.3 ... Encapsulation ... 279
8.4 ... Inheritance ... 286
8.5 ... Polymorphism ... 296
8.6 ... Working with the Extensible Markup Language ... 313
8.7 ... Summary ... 317
9 ... Exception Handling ... 319
9.1 ... Exceptions Overview ... 319
9.2 ... Procedural Exception Handling ... 320
9.3 ... Class-Based Exception Handling ... 324
9.4 ... Messages in Exception Classes ... 333
9.5 ... Summary ... 339
10 ... ABAP Data Dictionary ... 341
10.1 ... Database Tables ... 342
10.2 ... Views ... 367
10.3 ... Data Types ... 378
10.4 ... Type Groups ... 388
10.5 ... Domains ... 389
10.6 ... Search Helps ... 392
10.7 ... Lock Objects ... 400
10.8 ... Summary ... 404
11 ... Persistent Data ... 405
11.1 ... Working with Data in Databases ... 406
11.2 ... ABAP Object Services ... 423
11.3 ... File Interfaces ... 428
11.4 ... Data Clusters ... 432
11.5 ... Security Concepts ... 434
11.6 ... Summary ... 436
12 ... Dialog Programming ... 439
12.1 ... Screen Events ... 440
12.2 ... Screen Elements and Flow Logic ... 443
12.3 ... Basic Screen Elements ... 455
12.4 ... Input/Output Fields ... 460
12.5 ... List Box ... 461
12.6 ... Table Controls ... 462
12.7 ... Tabstrip Controls ... 468
12.8 ... Subscreens ... 470
12.9 ... Working with Screens ... 471
12.10 ... Control Framework ... 483
12.11 ... Practice ... 486
12.12 ... Summary ... 489
13 ... List Screens ... 491
13.1 ... Program Types ... 491
13.2 ... Program Execution ... 495
13.3 ... Memory Organization ... 498
13.4 ... List Events ... 502
13.5 ... Basic Lists and Detail Lists ... 507
13.6 ... Classical Reports ... 511
13.7 ... Interactive Reports ... 511
13.8 ... Practice ... 516
13.9 ... Summary ... 517
14 ... Selection Screens ... 519
14.1 ... Defining Selection Screens ... 520
14.2 ... Selection Screen Events ... 521
14.3 ... Input Validations ... 523
14.4 ... Selection Screen Variants ... 525
14.5 ... Executing Programs in the Background ... 534
14.6 ... Displaying and Hiding Screen Elements Dynamically ... 536
14.7 ... Calling Programs via Selection Screens ... 538
14.8 ... Summary ... 538
15 ... SAP List Viewer Reports ... 541
15.1 ... Standard ALV Reports Using the Reuse Library ... 542
15.2 ... Interactive Reports ... 559
15.3 ... ALV Reports Using the Control Framework ... 566
15.4 ... ALV Object Model ... 568
15.5 ... SAP List Viewer with Integrated Data Access ... 576
15.6 ... Summary ... 578
16 ... Dynamic Programming ... 579
16.1 ... Field Symbols ... 580
16.2 ... Data References ... 594
16.3 ... Runtime Type Services ... 599
16.4 ... Dynamic Token Specification ... 604
16.5 ... Dynamic Procedure Calls ... 606
16.6 ... Dynamic Program Generation ... 608
16.7 ... Summary ... 610
17 ... Debugging ... 611
17.1 ... Classic Debugger ... 612
17.2 ... New Debugger ... 623
17.3 ... ABAP Managed Database Procedures Debugger ... 627
17.4 ... Using the Debugger to Troubleshoot ... 627
17.5 ... Using the Debugger as a Learning Tool ... 629
17.6 ... Summary ... 630
18 ... Forms ... 631
18.1 ... SAP Scripts ... 633
18.2 ... Smart Forms ... 654
18.3 ... SAP Interactive Forms by Adobe ... 677
18.4 ... Summary ... 697
19 ... Interfaces ... 699
19.1 ... Batch Data Communication ... 700
19.2 ... Business Application Programming Interfaces ... 713
19.3 ... EDI/ALE/IDocs ... 727
19.4 ... Legacy System Migration Workbench ... 754
19.5 ... Web Services ... 765
19.6 ... OData Services ... 777
19.7 ... Extensible Stylesheet Language Transformations ... 788
19.8 ... XML and JSON Data Representation ... 790
19.9 ... WebSockets (ABAP Channels and Messages) ... 792
19.10 ... Summary ... 799
20 ... Modifications and Enhancements ... 801
20.1 ... Customization Overview ... 801
20.2 ... Modification Overview ... 803
20.3 ... Using the Modification Assistant ... 803
20.4 ... Using the Modification Browser ... 810
20.5 ... Enhancements Overview ... 811
20.6 ... User Exits ... 812
20.7 ... Customer Exits ... 813
20.8 ... Business Add-Ins ... 822
20.9 ... Enhancement Points ... 834
20.10 ... Business Transaction Events ... 840
20.11 ... Summary ... 845
21 ... Test and Analysis Tools ... 847
21.1 ... Overview of Tools ... 847
21.2 ... ABAP Unit ... 849
21.3 ... Code Inspector ... 860
21.4 ... Selectivity Analysis ... 862
21.5 ... Process Analysis ... 864
21.6 ... Memory Inspector ... 866
21.7 ... Table Call Statistics ... 869
21.8 ... Performance Trace ... 871
21.9 ... ABAP Trace/Runtime Analysis ... 879
21.10 ... Single-Transaction Analysis ... 883
21.11 ... Dump Analysis ... 886
21.12 ... Summary ... 887
... The Author ... 889
... Index ... 891
... Acknowledgments ... 21
... Preface ... 23
... Objective of This Book ... 23
... Target Audience ... 23
... Structure of This Book ... 24
1 ... Introduction to ERP and SAP ... 27
1.1 ... Historical Overview ... 27
1.2 ... Understanding an ERP System ... 30
1.3 ... Introduction to SAP ... 33
1.4 ... ABAP Overview ... 38
1.5 ... System Requirements ... 42
1.6 ... Summary ... 43
2 ... Architecture of an SAP System ... 45
2.1 ... Introduction to the Three-Tier Architecture ... 45
2.2 ... SAP Implementation Overview ... 47
2.3 ... Data Structures ... 60
2.4 ... Summary ... 70
3 ... Introduction to the ABAP Environment ... 71
3.1 ... SAP Environment ... 71
3.2 ... ABAP Workbench Overview ... 80
3.3 ... Eclipse IDE Overview ... 89
3.4 ... SAP Business Technology Platform, ABAP Environment ... 94
3.5 ... Summary ... 95
4 ... ABAP Programming Concepts ... 97
4.1 ... General Program Structure ... 98
4.2 ... ABAP Syntax ... 99
4.3 ... ABAP Keywords ... 102
4.4 ... Introduction to the TYPE Concept ... 103
4.5 ... ABAP Statements ... 126
4.6 ... Creating Your First ABAP Program ... 128
4.7 ... Summary ... 133
5 ... Structures and Internal Tables ... 135
5.1 ... Defining Structures ... 136
5.2 ... Internal Tables ... 146
5.3 ... Introduction to Open SQL Statements ... 167
5.4 ... Processing Data from Databases via Internal Tables and Structures ... 181
5.5 ... Introduction to the Debugger ... 183
5.6 ... Practice ... 186
5.7 ... Summary ... 186
6 ... User Interaction ... 187
6.1 ... Selection Screen Overview ... 187
6.2 ... Messages ... 204
6.3 ... Summary ... 211
7 ... Modularization Techniques ... 213
7.1 ... Modularization Overview ... 213
7.2 ... Program Structure ... 217
7.3 ... Events ... 231
7.4 ... Procedures ... 240
7.5 ... Inline Declarations ... 264
7.6 ... Summary ... 266
8 ... Object-Oriented ABAP ... 267
8.1 ... Procedural Programming versus Object-Oriented Programming ... 267
8.2 ... Principles of Object-Oriented Programming ... 271
8.3 ... Encapsulation ... 279
8.4 ... Inheritance ... 286
8.5 ... Polymorphism ... 296
8.6 ... Working with the Extensible Markup Language ... 313
8.7 ... Summary ... 317
9 ... Exception Handling ... 319
9.1 ... Exceptions Overview ... 319
9.2 ... Procedural Exception Handling ... 320
9.3 ... Class-Based Exception Handling ... 324
9.4 ... Messages in Exception Classes ... 333
9.5 ... Summary ... 339
10 ... ABAP Data Dictionary ... 341
10.1 ... Database Tables ... 342
10.2 ... Views ... 367
10.3 ... Data Types ... 378
10.4 ... Type Groups ... 388
10.5 ... Domains ... 389
10.6 ... Search Helps ... 392
10.7 ... Lock Objects ... 400
10.8 ... Summary ... 404
11 ... Persistent Data ... 405
11.1 ... Working with Data in Databases ... 406
11.2 ... ABAP Object Services ... 423
11.3 ... File Interfaces ... 428
11.4 ... Data Clusters ... 432
11.5 ... Security Concepts ... 434
11.6 ... Summary ... 436
12 ... Dialog Programming ... 439
12.1 ... Screen Events ... 440
12.2 ... Screen Elements and Flow Logic ... 443
12.3 ... Basic Screen Elements ... 455
12.4 ... Input/Output Fields ... 460
12.5 ... List Box ... 461
12.6 ... Table Controls ... 462
12.7 ... Tabstrip Controls ... 468
12.8 ... Subscreens ... 470
12.9 ... Working with Screens ... 471
12.10 ... Control Framework ... 483
12.11 ... Practice ... 486
12.12 ... Summary ... 489
13 ... List Screens ... 491
13.1 ... Program Types ... 491
13.2 ... Program Execution ... 495
13.3 ... Memory Organization ... 498
13.4 ... List Events ... 502
13.5 ... Basic Lists and Detail Lists ... 507
13.6 ... Classical Reports ... 511
13.7 ... Interactive Reports ... 511
13.8 ... Practice ... 516
13.9 ... Summary ... 517
14 ... Selection Screens ... 519
14.1 ... Defining Selection Screens ... 520
14.2 ... Selection Screen Events ... 521
14.3 ... Input Validations ... 523
14.4 ... Selection Screen Variants ... 525
14.5 ... Executing Programs in the Background ... 534
14.6 ... Displaying and Hiding Screen Elements Dynamically ... 536
14.7 ... Calling Programs via Selection Screens ... 538
14.8 ... Summary ... 538
15 ... SAP List Viewer Reports ... 541
15.1 ... Standard ALV Reports Using the Reuse Library ... 542
15.2 ... Interactive Reports ... 559
15.3 ... ALV Reports Using the Control Framework ... 566
15.4 ... ALV Object Model ... 568
15.5 ... SAP List Viewer with Integrated Data Access ... 576
15.6 ... Summary ... 578
16 ... Dynamic Programming ... 579
16.1 ... Field Symbols ... 580
16.2 ... Data References ... 594
16.3 ... Runtime Type Services ... 599
16.4 ... Dynamic Token Specification ... 604
16.5 ... Dynamic Procedure Calls ... 606
16.6 ... Dynamic Program Generation ... 608
16.7 ... Summary ... 610
17 ... Debugging ... 611
17.1 ... Classic Debugger ... 612
17.2 ... New Debugger ... 623
17.3 ... ABAP Managed Database Procedures Debugger ... 627
17.4 ... Using the Debugger to Troubleshoot ... 627
17.5 ... Using the Debugger as a Learning Tool ... 629
17.6 ... Summary ... 630
18 ... Forms ... 631
18.1 ... SAP Scripts ... 633
18.2 ... Smart Forms ... 654
18.3 ... SAP Interactive Forms by Adobe ... 677
18.4 ... Summary ... 697
19 ... Interfaces ... 699
19.1 ... Batch Data Communication ... 700
19.2 ... Business Application Programming Interfaces ... 713
19.3 ... EDI/ALE/IDocs ... 727
19.4 ... Legacy System Migration Workbench ... 754
19.5 ... Web Services ... 765
19.6 ... OData Services ... 777
19.7 ... Extensible Stylesheet Language Transformations ... 788
19.8 ... XML and JSON Data Representation ... 790
19.9 ... WebSockets (ABAP Channels and Messages) ... 792
19.10 ... Summary ... 799
20 ... Modifications and Enhancements ... 801
20.1 ... Customization Overview ... 801
20.2 ... Modification Overview ... 803
20.3 ... Using the Modification Assistant ... 803
20.4 ... Using the Modification Browser ... 810
20.5 ... Enhancements Overview ... 811
20.6 ... User Exits ... 812
20.7 ... Customer Exits ... 813
20.8 ... Business Add-Ins ... 822
20.9 ... Enhancement Points ... 834
20.10 ... Business Transaction Events ... 840
20.11 ... Summary ... 845
21 ... Test and Analysis Tools ... 847
21.1 ... Overview of Tools ... 847
21.2 ... ABAP Unit ... 849
21.3 ... Code Inspector ... 860
21.4 ... Selectivity Analysis ... 862
21.5 ... Process Analysis ... 864
21.6 ... Memory Inspector ... 866
21.7 ... Table Call Statistics ... 869
21.8 ... Performance Trace ... 871
21.9 ... ABAP Trace/Runtime Analysis ... 879
21.10 ... Single-Transaction Analysis ... 883
21.11 ... Dump Analysis ... 886
21.12 ... Summary ... 887
... The Author ... 889
... Index ... 891
... Preface ... 23
... Objective of This Book ... 23
... Target Audience ... 23
... Structure of This Book ... 24
1 ... Introduction to ERP and SAP ... 27
1.1 ... Historical Overview ... 27
1.2 ... Understanding an ERP System ... 30
1.3 ... Introduction to SAP ... 33
1.4 ... ABAP Overview ... 38
1.5 ... System Requirements ... 42
1.6 ... Summary ... 43
2 ... Architecture of an SAP System ... 45
2.1 ... Introduction to the Three-Tier Architecture ... 45
2.2 ... SAP Implementation Overview ... 47
2.3 ... Data Structures ... 60
2.4 ... Summary ... 70
3 ... Introduction to the ABAP Environment ... 71
3.1 ... SAP Environment ... 71
3.2 ... ABAP Workbench Overview ... 80
3.3 ... Eclipse IDE Overview ... 89
3.4 ... SAP Business Technology Platform, ABAP Environment ... 94
3.5 ... Summary ... 95
4 ... ABAP Programming Concepts ... 97
4.1 ... General Program Structure ... 98
4.2 ... ABAP Syntax ... 99
4.3 ... ABAP Keywords ... 102
4.4 ... Introduction to the TYPE Concept ... 103
4.5 ... ABAP Statements ... 126
4.6 ... Creating Your First ABAP Program ... 128
4.7 ... Summary ... 133
5 ... Structures and Internal Tables ... 135
5.1 ... Defining Structures ... 136
5.2 ... Internal Tables ... 146
5.3 ... Introduction to Open SQL Statements ... 167
5.4 ... Processing Data from Databases via Internal Tables and Structures ... 181
5.5 ... Introduction to the Debugger ... 183
5.6 ... Practice ... 186
5.7 ... Summary ... 186
6 ... User Interaction ... 187
6.1 ... Selection Screen Overview ... 187
6.2 ... Messages ... 204
6.3 ... Summary ... 211
7 ... Modularization Techniques ... 213
7.1 ... Modularization Overview ... 213
7.2 ... Program Structure ... 217
7.3 ... Events ... 231
7.4 ... Procedures ... 240
7.5 ... Inline Declarations ... 264
7.6 ... Summary ... 266
8 ... Object-Oriented ABAP ... 267
8.1 ... Procedural Programming versus Object-Oriented Programming ... 267
8.2 ... Principles of Object-Oriented Programming ... 271
8.3 ... Encapsulation ... 279
8.4 ... Inheritance ... 286
8.5 ... Polymorphism ... 296
8.6 ... Working with the Extensible Markup Language ... 313
8.7 ... Summary ... 317
9 ... Exception Handling ... 319
9.1 ... Exceptions Overview ... 319
9.2 ... Procedural Exception Handling ... 320
9.3 ... Class-Based Exception Handling ... 324
9.4 ... Messages in Exception Classes ... 333
9.5 ... Summary ... 339
10 ... ABAP Data Dictionary ... 341
10.1 ... Database Tables ... 342
10.2 ... Views ... 367
10.3 ... Data Types ... 378
10.4 ... Type Groups ... 388
10.5 ... Domains ... 389
10.6 ... Search Helps ... 392
10.7 ... Lock Objects ... 400
10.8 ... Summary ... 404
11 ... Persistent Data ... 405
11.1 ... Working with Data in Databases ... 406
11.2 ... ABAP Object Services ... 423
11.3 ... File Interfaces ... 428
11.4 ... Data Clusters ... 432
11.5 ... Security Concepts ... 434
11.6 ... Summary ... 436
12 ... Dialog Programming ... 439
12.1 ... Screen Events ... 440
12.2 ... Screen Elements and Flow Logic ... 443
12.3 ... Basic Screen Elements ... 455
12.4 ... Input/Output Fields ... 460
12.5 ... List Box ... 461
12.6 ... Table Controls ... 462
12.7 ... Tabstrip Controls ... 468
12.8 ... Subscreens ... 470
12.9 ... Working with Screens ... 471
12.10 ... Control Framework ... 483
12.11 ... Practice ... 486
12.12 ... Summary ... 489
13 ... List Screens ... 491
13.1 ... Program Types ... 491
13.2 ... Program Execution ... 495
13.3 ... Memory Organization ... 498
13.4 ... List Events ... 502
13.5 ... Basic Lists and Detail Lists ... 507
13.6 ... Classical Reports ... 511
13.7 ... Interactive Reports ... 511
13.8 ... Practice ... 516
13.9 ... Summary ... 517
14 ... Selection Screens ... 519
14.1 ... Defining Selection Screens ... 520
14.2 ... Selection Screen Events ... 521
14.3 ... Input Validations ... 523
14.4 ... Selection Screen Variants ... 525
14.5 ... Executing Programs in the Background ... 534
14.6 ... Displaying and Hiding Screen Elements Dynamically ... 536
14.7 ... Calling Programs via Selection Screens ... 538
14.8 ... Summary ... 538
15 ... SAP List Viewer Reports ... 541
15.1 ... Standard ALV Reports Using the Reuse Library ... 542
15.2 ... Interactive Reports ... 559
15.3 ... ALV Reports Using the Control Framework ... 566
15.4 ... ALV Object Model ... 568
15.5 ... SAP List Viewer with Integrated Data Access ... 576
15.6 ... Summary ... 578
16 ... Dynamic Programming ... 579
16.1 ... Field Symbols ... 580
16.2 ... Data References ... 594
16.3 ... Runtime Type Services ... 599
16.4 ... Dynamic Token Specification ... 604
16.5 ... Dynamic Procedure Calls ... 606
16.6 ... Dynamic Program Generation ... 608
16.7 ... Summary ... 610
17 ... Debugging ... 611
17.1 ... Classic Debugger ... 612
17.2 ... New Debugger ... 623
17.3 ... ABAP Managed Database Procedures Debugger ... 627
17.4 ... Using the Debugger to Troubleshoot ... 627
17.5 ... Using the Debugger as a Learning Tool ... 629
17.6 ... Summary ... 630
18 ... Forms ... 631
18.1 ... SAP Scripts ... 633
18.2 ... Smart Forms ... 654
18.3 ... SAP Interactive Forms by Adobe ... 677
18.4 ... Summary ... 697
19 ... Interfaces ... 699
19.1 ... Batch Data Communication ... 700
19.2 ... Business Application Programming Interfaces ... 713
19.3 ... EDI/ALE/IDocs ... 727
19.4 ... Legacy System Migration Workbench ... 754
19.5 ... Web Services ... 765
19.6 ... OData Services ... 777
19.7 ... Extensible Stylesheet Language Transformations ... 788
19.8 ... XML and JSON Data Representation ... 790
19.9 ... WebSockets (ABAP Channels and Messages) ... 792
19.10 ... Summary ... 799
20 ... Modifications and Enhancements ... 801
20.1 ... Customization Overview ... 801
20.2 ... Modification Overview ... 803
20.3 ... Using the Modification Assistant ... 803
20.4 ... Using the Modification Browser ... 810
20.5 ... Enhancements Overview ... 811
20.6 ... User Exits ... 812
20.7 ... Customer Exits ... 813
20.8 ... Business Add-Ins ... 822
20.9 ... Enhancement Points ... 834
20.10 ... Business Transaction Events ... 840
20.11 ... Summary ... 845
21 ... Test and Analysis Tools ... 847
21.1 ... Overview of Tools ... 847
21.2 ... ABAP Unit ... 849
21.3 ... Code Inspector ... 860
21.4 ... Selectivity Analysis ... 862
21.5 ... Process Analysis ... 864
21.6 ... Memory Inspector ... 866
21.7 ... Table Call Statistics ... 869
21.8 ... Performance Trace ... 871
21.9 ... ABAP Trace/Runtime Analysis ... 879
21.10 ... Single-Transaction Analysis ... 883
21.11 ... Dump Analysis ... 886
21.12 ... Summary ... 887
... The Author ... 889
... Index ... 891