Kiran Bandari
Complete ABAP
Ein Angebot für € 59,84 €
Kiran Bandari
Complete ABAP
- Gebundenes Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
Whether you're new to ABAP, or you've been developing for years, this is the resource for you. Build your foundation with basic programming concepts and tools, then take it to the next level with modifications and enhancements for your ABAP code. Design reports and screens, develop applications using dialog programming, create interfaces, and more. Your ultimate reference guide to the world of ABAP is here!
a. Everything ABAP Learn everything there is to know about ABAP. Start with keywords, syntax, tools, data types, and events. Then level up and master user interaction, exception…mehr
Whether you're new to ABAP, or you've been developing for years, this is the resource for you. Build your foundation with basic programming concepts and tools, then take it to the next level with modifications and enhancements for your ABAP code. Design reports and screens, develop applications using dialog programming, create interfaces, and more. Your ultimate reference guide to the world of ABAP is here!
a. Everything ABAP
Learn everything there is to know about ABAP. Start with keywords, syntax, tools, data types, and events. Then level up and master user interaction, exception handling, dialog and dynamic programming, and more.
b. Programming Techniques
Get to know techniques like object-oriented and procedural programming and how they relate to ABAP. Master modularization, inheritance, data encapsulation, and leverage existing features and functionality without having to reinvent the wheel!
c. Debugging and Testing
Writing code is one thing, making it work is another! Learn how to debug code using the classic and new debuggers, and put your programs to the test using tools like ABAP Unit and the code inspector.
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
a. Everything ABAP
Learn everything there is to know about ABAP. Start with keywords, syntax, tools, data types, and events. Then level up and master user interaction, exception handling, dialog and dynamic programming, and more.
b. Programming Techniques
Get to know techniques like object-oriented and procedural programming and how they relate to ABAP. Master modularization, inheritance, data encapsulation, and leverage existing features and functionality without having to reinvent the wheel!
c. Debugging and Testing
Writing code is one thing, making it work is another! Learn how to debug code using the classic and new debuggers, and put your programs to the test using tools like ABAP Unit and the code inspector.
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
- Verlag: Rheinwerk Verlag / SAP PRESS
- Artikelnr. des Verlages: 459/21866
- 2. Aufl.
- Seitenzahl: 1027
- Erscheinungstermin: 29. Januar 2020
- Englisch
- Abmessung: 232mm x 185mm x 59mm
- Gewicht: 1672g
- ISBN-13: 9781493218660
- Artikelnr.: 57679883
- SAP PRESS
- Verlag: Rheinwerk Verlag / SAP PRESS
- Artikelnr. des Verlages: 459/21866
- 2. Aufl.
- Seitenzahl: 1027
- Erscheinungstermin: 29. Januar 2020
- Englisch
- Abmessung: 232mm x 185mm x 59mm
- Gewicht: 1672g
- ISBN-13: 9781493218660
- Artikelnr.: 57679883
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 ... 23
... Preface ... 25
... The Objective of this Book ... 25
... Target Audience ... 25
... Structure of this Book ... 26
1 ... Introduction to ERP and SAP ... 31
1.1 ... Historical Overview ... 31
1.2 ... Understanding an ERP System ... 34
1.3 ... Introduction to SAP ... 38
1.4 ... ABAP Overview ... 44
1.5 ... System Requirements ... 49
1.6 ... Summary ... 50
2 ... Architecture of an SAP System ... 51
2.1 ... Introduction to the Three-Tier Architecture ... 51
2.2 ... SAP Implementation Overview ... 53
2.3 ... Data Structures ... 69
2.4 ... Summary ... 80
3 ... Introduction to the ABAP Environment ... 83
3.1 ... SAP Environment ... 84
3.2 ... ABAP Workbench Overview ... 93
3.3 ... Eclipse IDE Overview ... 105
3.4 ... Summary ... 110
4 ... ABAP Programming Concepts ... 113
4.1 ... General Program Structure ... 114
4.2 ... ABAP Syntax ... 116
4.3 ... ABAP Keywords ... 119
4.4 ... Introduction to the TYPE Concept ... 120
4.5 ... ABAP Statements ... 146
4.6 ... Creating Your First ABAP Program ... 148
4.7 ... Summary ... 153
5 ... Structures and Internal Tables ... 155
5.1 ... Defining Structures ... 156
5.2 ... Internal Tables ... 168
5.3 ... Introduction to Open SQL Statements ... 192
5.4 ... Processing Data from Databases via Internal Tables and Structures ... 208
5.5 ... Introduction to the Debugger ... 210
5.6 ... Practice ... 215
5.7 ... Summary ... 215
6 ... User Interaction ... 217
6.1 ... Selection Screen Overview ... 218
6.2 ... Messages ... 236
6.3 ... Summary ... 244
7 ... Modularization Techniques ... 245
7.1 ... Modularization Overview ... 246
7.2 ... Program Structure ... 249
7.3 ... Events ... 266
7.4 ... Procedures ... 276
7.5 ... Inline Declarations ... 304
7.6 ... Summary ... 307
8 ... Object-Oriented ABAP ... 309
8.1 ... Procedural Programming versus Object-Oriented Programming ... 309
8.2 ... Principles of Object-Oriented Programming ... 313
8.3 ... Encapsulation ... 322
8.4 ... Inheritance ... 329
8.5 ... Polymorphism ... 341
8.6 ... Working with the Extensible Markup Language ... 360
8.7 ... Summary ... 365
9 ... Exception Handling ... 367
9.1 ... Exceptions Overview ... 367
9.2 ... Procedural Exception Handling ... 368
9.3 ... Class-Based Exception Handling ... 372
9.4 ... Messages in Exception Classes ... 383
9.5 ... Summary ... 390
10 ... ABAP Data Dictionary ... 391
10.1 ... Database Tables ... 392
10.2 ... Views ... 421
10.3 ... Data Types ... 433
10.4 ... Type Groups ... 444
10.5 ... Domains ... 445
10.6 ... Search Helps ... 448
10.7 ... Lock Objects ... 458
10.8 ... Summary ... 462
11 ... Persistent Data ... 463
11.1 ... Working with Data in Databases ... 464
11.2 ... ABAP Object Services ... 483
11.3 ... File Interfaces ... 489
11.4 ... Data Clusters ... 494
11.5 ... Security Concepts ... 496
11.6 ... Summary ... 498
12 ... Dialog Programming ... 501
12.1 ... Screen Events ... 502
12.2 ... Screen Elements and Flow Logic ... 505
12.3 ... Basic Screen Elements ... 520
12.4 ... Input/Output Fields ... 525
12.5 ... List Box ... 527
12.6 ... Table Controls ... 528
12.7 ... Tabstrip Controls ... 535
12.8 ... Subscreens ... 537
12.9 ... Working with Screens ... 538
12.10 ... Control Framework ... 551
12.11 ... Practice ... 555
12.12 ... Summary ... 560
13 ... List Screens ... 561
13.1 ... Program Types ... 562
13.2 ... Program Execution ... 566
13.3 ... Memory Organization ... 569
13.4 ... List Events ... 574
13.5 ... Basic Lists and Detail Lists ... 579
13.6 ... Classical Reports ... 584
13.7 ... Interactive Reports ... 584
13.8 ... Practice ... 590
13.9 ... Summary ... 592
14 ... Selection Screens ... 593
14.1 ... Defining Selection Screens ... 594
14.2 ... Selection Screen Events ... 596
14.3 ... Input Validations ... 598
14.4 ... Selection Screen Variants ... 600
14.5 ... Executing Programs in the Background ... 610
14.6 ... Displaying and Hiding Screen Elements Dynamically ... 612
14.7 ... Calling Programs via Selection Screens ... 615
14.8 ... Summary ... 615
15 ... SAP List Viewer Reports ... 617
15.1 ... Standard ALV Reports Using the Reuse Library ... 618
15.2 ... Interactive Reports ... 637
15.3 ... ALV Reports Using the Control Framework ... 644
15.4 ... ALV Object Model ... 647
15.5 ... Summary ... 656
16 ... Dynamic Programming ... 657
16.1 ... Field Symbols ... 659
16.2 ... Data References ... 674
16.3 ... Runtime Type Services ... 680
16.4 ... Dynamic Token Specification ... 685
16.5 ... Dynamic Procedure Calls ... 687
16.6 ... Dynamic Program Generation ... 690
16.7 ... Summary ... 692
17 ... Debugging ... 693
17.1 ... Classic Debugger ... 694
17.2 ... New Debugger ... 707
17.3 ... ABAP Managed Database Procedures Debugger ... 712
17.4 ... Using the Debugger to Troubleshoot ... 712
17.5 ... Using the Debugger as a Learning Tool ... 714
17.6 ... Summary ... 715
18 ... Forms ... 717
18.1 ... SAP Scripts ... 719
18.2 ... Smart Forms ... 742
18.3 ... SAP Interactive Forms by Adobe ... 767
18.4 ... Summary ... 789
19 ... Interfaces ... 791
19.1 ... Batch Data Communication ... 792
19.2 ... Business Application Programming Interfaces ... 806
19.3 ... EDI/ALE/IDocs ... 822
19.4 ... Legacy System Migration Workbench ... 852
19.5 ... Web Services ... 864
19.6 ... Open Data Protocol Services ... 878
19.7 ... Extensible Stylesheet Language Transformations ... 891
19.8 ... XML and JSON Data Representation ... 894
19.9 ... WebSockets (ABAP Channels and Messages) ... 896
19.10 ... Summary ... 903
20 ... Modifications and Enhancements ... 905
20.1 ... Customization Overview ... 905
20.2 ... Modification Overview ... 907
20.3 ... Using the Modification Assistant ... 908
20.4 ... Using the Modification Browser ... 915
20.5 ... Enhancements Overview ... 916
20.6 ... User Exits ... 918
20.7 ... Customer Exits ... 919
20.8 ... Business Add-Ins ... 928
20.9 ... Enhancement Points ... 941
20.10 ... Business Transaction Events ... 947
20.11 ... Summary ... 952
21 ... Test and Analysis Tools ... 955
21.1 ... Overview of Tools ... 956
21.2 ... ABAP Unit ... 958
21.3 ... Code Inspector ... 969
21.4 ... Selectivity Analysis ... 972
21.5 ... Process Analysis ... 974
21.6 ... Memory Inspector ... 976
21.7 ... Table Call Statistics ... 979
21.8 ... Performance Trace ... 981
21.9 ... ABAP Trace/Runtime Analysis ... 989
21.10 ... Single-Transaction Analysis ... 994
21.11 ... Dump Analysis ... 997
21.12 ... Summary ... 999
... The Author ... 1001
... Index ... 1003
... Preface ... 25
... The Objective of this Book ... 25
... Target Audience ... 25
... Structure of this Book ... 26
1 ... Introduction to ERP and SAP ... 31
1.1 ... Historical Overview ... 31
1.2 ... Understanding an ERP System ... 34
1.3 ... Introduction to SAP ... 38
1.4 ... ABAP Overview ... 44
1.5 ... System Requirements ... 49
1.6 ... Summary ... 50
2 ... Architecture of an SAP System ... 51
2.1 ... Introduction to the Three-Tier Architecture ... 51
2.2 ... SAP Implementation Overview ... 53
2.3 ... Data Structures ... 69
2.4 ... Summary ... 80
3 ... Introduction to the ABAP Environment ... 83
3.1 ... SAP Environment ... 84
3.2 ... ABAP Workbench Overview ... 93
3.3 ... Eclipse IDE Overview ... 105
3.4 ... Summary ... 110
4 ... ABAP Programming Concepts ... 113
4.1 ... General Program Structure ... 114
4.2 ... ABAP Syntax ... 116
4.3 ... ABAP Keywords ... 119
4.4 ... Introduction to the TYPE Concept ... 120
4.5 ... ABAP Statements ... 146
4.6 ... Creating Your First ABAP Program ... 148
4.7 ... Summary ... 153
5 ... Structures and Internal Tables ... 155
5.1 ... Defining Structures ... 156
5.2 ... Internal Tables ... 168
5.3 ... Introduction to Open SQL Statements ... 192
5.4 ... Processing Data from Databases via Internal Tables and Structures ... 208
5.5 ... Introduction to the Debugger ... 210
5.6 ... Practice ... 215
5.7 ... Summary ... 215
6 ... User Interaction ... 217
6.1 ... Selection Screen Overview ... 218
6.2 ... Messages ... 236
6.3 ... Summary ... 244
7 ... Modularization Techniques ... 245
7.1 ... Modularization Overview ... 246
7.2 ... Program Structure ... 249
7.3 ... Events ... 266
7.4 ... Procedures ... 276
7.5 ... Inline Declarations ... 304
7.6 ... Summary ... 307
8 ... Object-Oriented ABAP ... 309
8.1 ... Procedural Programming versus Object-Oriented Programming ... 309
8.2 ... Principles of Object-Oriented Programming ... 313
8.3 ... Encapsulation ... 322
8.4 ... Inheritance ... 329
8.5 ... Polymorphism ... 341
8.6 ... Working with the Extensible Markup Language ... 360
8.7 ... Summary ... 365
9 ... Exception Handling ... 367
9.1 ... Exceptions Overview ... 367
9.2 ... Procedural Exception Handling ... 368
9.3 ... Class-Based Exception Handling ... 372
9.4 ... Messages in Exception Classes ... 383
9.5 ... Summary ... 390
10 ... ABAP Data Dictionary ... 391
10.1 ... Database Tables ... 392
10.2 ... Views ... 421
10.3 ... Data Types ... 433
10.4 ... Type Groups ... 444
10.5 ... Domains ... 445
10.6 ... Search Helps ... 448
10.7 ... Lock Objects ... 458
10.8 ... Summary ... 462
11 ... Persistent Data ... 463
11.1 ... Working with Data in Databases ... 464
11.2 ... ABAP Object Services ... 483
11.3 ... File Interfaces ... 489
11.4 ... Data Clusters ... 494
11.5 ... Security Concepts ... 496
11.6 ... Summary ... 498
12 ... Dialog Programming ... 501
12.1 ... Screen Events ... 502
12.2 ... Screen Elements and Flow Logic ... 505
12.3 ... Basic Screen Elements ... 520
12.4 ... Input/Output Fields ... 525
12.5 ... List Box ... 527
12.6 ... Table Controls ... 528
12.7 ... Tabstrip Controls ... 535
12.8 ... Subscreens ... 537
12.9 ... Working with Screens ... 538
12.10 ... Control Framework ... 551
12.11 ... Practice ... 555
12.12 ... Summary ... 560
13 ... List Screens ... 561
13.1 ... Program Types ... 562
13.2 ... Program Execution ... 566
13.3 ... Memory Organization ... 569
13.4 ... List Events ... 574
13.5 ... Basic Lists and Detail Lists ... 579
13.6 ... Classical Reports ... 584
13.7 ... Interactive Reports ... 584
13.8 ... Practice ... 590
13.9 ... Summary ... 592
14 ... Selection Screens ... 593
14.1 ... Defining Selection Screens ... 594
14.2 ... Selection Screen Events ... 596
14.3 ... Input Validations ... 598
14.4 ... Selection Screen Variants ... 600
14.5 ... Executing Programs in the Background ... 610
14.6 ... Displaying and Hiding Screen Elements Dynamically ... 612
14.7 ... Calling Programs via Selection Screens ... 615
14.8 ... Summary ... 615
15 ... SAP List Viewer Reports ... 617
15.1 ... Standard ALV Reports Using the Reuse Library ... 618
15.2 ... Interactive Reports ... 637
15.3 ... ALV Reports Using the Control Framework ... 644
15.4 ... ALV Object Model ... 647
15.5 ... Summary ... 656
16 ... Dynamic Programming ... 657
16.1 ... Field Symbols ... 659
16.2 ... Data References ... 674
16.3 ... Runtime Type Services ... 680
16.4 ... Dynamic Token Specification ... 685
16.5 ... Dynamic Procedure Calls ... 687
16.6 ... Dynamic Program Generation ... 690
16.7 ... Summary ... 692
17 ... Debugging ... 693
17.1 ... Classic Debugger ... 694
17.2 ... New Debugger ... 707
17.3 ... ABAP Managed Database Procedures Debugger ... 712
17.4 ... Using the Debugger to Troubleshoot ... 712
17.5 ... Using the Debugger as a Learning Tool ... 714
17.6 ... Summary ... 715
18 ... Forms ... 717
18.1 ... SAP Scripts ... 719
18.2 ... Smart Forms ... 742
18.3 ... SAP Interactive Forms by Adobe ... 767
18.4 ... Summary ... 789
19 ... Interfaces ... 791
19.1 ... Batch Data Communication ... 792
19.2 ... Business Application Programming Interfaces ... 806
19.3 ... EDI/ALE/IDocs ... 822
19.4 ... Legacy System Migration Workbench ... 852
19.5 ... Web Services ... 864
19.6 ... Open Data Protocol Services ... 878
19.7 ... Extensible Stylesheet Language Transformations ... 891
19.8 ... XML and JSON Data Representation ... 894
19.9 ... WebSockets (ABAP Channels and Messages) ... 896
19.10 ... Summary ... 903
20 ... Modifications and Enhancements ... 905
20.1 ... Customization Overview ... 905
20.2 ... Modification Overview ... 907
20.3 ... Using the Modification Assistant ... 908
20.4 ... Using the Modification Browser ... 915
20.5 ... Enhancements Overview ... 916
20.6 ... User Exits ... 918
20.7 ... Customer Exits ... 919
20.8 ... Business Add-Ins ... 928
20.9 ... Enhancement Points ... 941
20.10 ... Business Transaction Events ... 947
20.11 ... Summary ... 952
21 ... Test and Analysis Tools ... 955
21.1 ... Overview of Tools ... 956
21.2 ... ABAP Unit ... 958
21.3 ... Code Inspector ... 969
21.4 ... Selectivity Analysis ... 972
21.5 ... Process Analysis ... 974
21.6 ... Memory Inspector ... 976
21.7 ... Table Call Statistics ... 979
21.8 ... Performance Trace ... 981
21.9 ... ABAP Trace/Runtime Analysis ... 989
21.10 ... Single-Transaction Analysis ... 994
21.11 ... Dump Analysis ... 997
21.12 ... Summary ... 999
... The Author ... 1001
... Index ... 1003
... Acknowledgments ... 23
... Preface ... 25
... The Objective of this Book ... 25
... Target Audience ... 25
... Structure of this Book ... 26
1 ... Introduction to ERP and SAP ... 31
1.1 ... Historical Overview ... 31
1.2 ... Understanding an ERP System ... 34
1.3 ... Introduction to SAP ... 38
1.4 ... ABAP Overview ... 44
1.5 ... System Requirements ... 49
1.6 ... Summary ... 50
2 ... Architecture of an SAP System ... 51
2.1 ... Introduction to the Three-Tier Architecture ... 51
2.2 ... SAP Implementation Overview ... 53
2.3 ... Data Structures ... 69
2.4 ... Summary ... 80
3 ... Introduction to the ABAP Environment ... 83
3.1 ... SAP Environment ... 84
3.2 ... ABAP Workbench Overview ... 93
3.3 ... Eclipse IDE Overview ... 105
3.4 ... Summary ... 110
4 ... ABAP Programming Concepts ... 113
4.1 ... General Program Structure ... 114
4.2 ... ABAP Syntax ... 116
4.3 ... ABAP Keywords ... 119
4.4 ... Introduction to the TYPE Concept ... 120
4.5 ... ABAP Statements ... 146
4.6 ... Creating Your First ABAP Program ... 148
4.7 ... Summary ... 153
5 ... Structures and Internal Tables ... 155
5.1 ... Defining Structures ... 156
5.2 ... Internal Tables ... 168
5.3 ... Introduction to Open SQL Statements ... 192
5.4 ... Processing Data from Databases via Internal Tables and Structures ... 208
5.5 ... Introduction to the Debugger ... 210
5.6 ... Practice ... 215
5.7 ... Summary ... 215
6 ... User Interaction ... 217
6.1 ... Selection Screen Overview ... 218
6.2 ... Messages ... 236
6.3 ... Summary ... 244
7 ... Modularization Techniques ... 245
7.1 ... Modularization Overview ... 246
7.2 ... Program Structure ... 249
7.3 ... Events ... 266
7.4 ... Procedures ... 276
7.5 ... Inline Declarations ... 304
7.6 ... Summary ... 307
8 ... Object-Oriented ABAP ... 309
8.1 ... Procedural Programming versus Object-Oriented Programming ... 309
8.2 ... Principles of Object-Oriented Programming ... 313
8.3 ... Encapsulation ... 322
8.4 ... Inheritance ... 329
8.5 ... Polymorphism ... 341
8.6 ... Working with the Extensible Markup Language ... 360
8.7 ... Summary ... 365
9 ... Exception Handling ... 367
9.1 ... Exceptions Overview ... 367
9.2 ... Procedural Exception Handling ... 368
9.3 ... Class-Based Exception Handling ... 372
9.4 ... Messages in Exception Classes ... 383
9.5 ... Summary ... 390
10 ... ABAP Data Dictionary ... 391
10.1 ... Database Tables ... 392
10.2 ... Views ... 421
10.3 ... Data Types ... 433
10.4 ... Type Groups ... 444
10.5 ... Domains ... 445
10.6 ... Search Helps ... 448
10.7 ... Lock Objects ... 458
10.8 ... Summary ... 462
11 ... Persistent Data ... 463
11.1 ... Working with Data in Databases ... 464
11.2 ... ABAP Object Services ... 483
11.3 ... File Interfaces ... 489
11.4 ... Data Clusters ... 494
11.5 ... Security Concepts ... 496
11.6 ... Summary ... 498
12 ... Dialog Programming ... 501
12.1 ... Screen Events ... 502
12.2 ... Screen Elements and Flow Logic ... 505
12.3 ... Basic Screen Elements ... 520
12.4 ... Input/Output Fields ... 525
12.5 ... List Box ... 527
12.6 ... Table Controls ... 528
12.7 ... Tabstrip Controls ... 535
12.8 ... Subscreens ... 537
12.9 ... Working with Screens ... 538
12.10 ... Control Framework ... 551
12.11 ... Practice ... 555
12.12 ... Summary ... 560
13 ... List Screens ... 561
13.1 ... Program Types ... 562
13.2 ... Program Execution ... 566
13.3 ... Memory Organization ... 569
13.4 ... List Events ... 574
13.5 ... Basic Lists and Detail Lists ... 579
13.6 ... Classical Reports ... 584
13.7 ... Interactive Reports ... 584
13.8 ... Practice ... 590
13.9 ... Summary ... 592
14 ... Selection Screens ... 593
14.1 ... Defining Selection Screens ... 594
14.2 ... Selection Screen Events ... 596
14.3 ... Input Validations ... 598
14.4 ... Selection Screen Variants ... 600
14.5 ... Executing Programs in the Background ... 610
14.6 ... Displaying and Hiding Screen Elements Dynamically ... 612
14.7 ... Calling Programs via Selection Screens ... 615
14.8 ... Summary ... 615
15 ... SAP List Viewer Reports ... 617
15.1 ... Standard ALV Reports Using the Reuse Library ... 618
15.2 ... Interactive Reports ... 637
15.3 ... ALV Reports Using the Control Framework ... 644
15.4 ... ALV Object Model ... 647
15.5 ... Summary ... 656
16 ... Dynamic Programming ... 657
16.1 ... Field Symbols ... 659
16.2 ... Data References ... 674
16.3 ... Runtime Type Services ... 680
16.4 ... Dynamic Token Specification ... 685
16.5 ... Dynamic Procedure Calls ... 687
16.6 ... Dynamic Program Generation ... 690
16.7 ... Summary ... 692
17 ... Debugging ... 693
17.1 ... Classic Debugger ... 694
17.2 ... New Debugger ... 707
17.3 ... ABAP Managed Database Procedures Debugger ... 712
17.4 ... Using the Debugger to Troubleshoot ... 712
17.5 ... Using the Debugger as a Learning Tool ... 714
17.6 ... Summary ... 715
18 ... Forms ... 717
18.1 ... SAP Scripts ... 719
18.2 ... Smart Forms ... 742
18.3 ... SAP Interactive Forms by Adobe ... 767
18.4 ... Summary ... 789
19 ... Interfaces ... 791
19.1 ... Batch Data Communication ... 792
19.2 ... Business Application Programming Interfaces ... 806
19.3 ... EDI/ALE/IDocs ... 822
19.4 ... Legacy System Migration Workbench ... 852
19.5 ... Web Services ... 864
19.6 ... Open Data Protocol Services ... 878
19.7 ... Extensible Stylesheet Language Transformations ... 891
19.8 ... XML and JSON Data Representation ... 894
19.9 ... WebSockets (ABAP Channels and Messages) ... 896
19.10 ... Summary ... 903
20 ... Modifications and Enhancements ... 905
20.1 ... Customization Overview ... 905
20.2 ... Modification Overview ... 907
20.3 ... Using the Modification Assistant ... 908
20.4 ... Using the Modification Browser ... 915
20.5 ... Enhancements Overview ... 916
20.6 ... User Exits ... 918
20.7 ... Customer Exits ... 919
20.8 ... Business Add-Ins ... 928
20.9 ... Enhancement Points ... 941
20.10 ... Business Transaction Events ... 947
20.11 ... Summary ... 952
21 ... Test and Analysis Tools ... 955
21.1 ... Overview of Tools ... 956
21.2 ... ABAP Unit ... 958
21.3 ... Code Inspector ... 969
21.4 ... Selectivity Analysis ... 972
21.5 ... Process Analysis ... 974
21.6 ... Memory Inspector ... 976
21.7 ... Table Call Statistics ... 979
21.8 ... Performance Trace ... 981
21.9 ... ABAP Trace/Runtime Analysis ... 989
21.10 ... Single-Transaction Analysis ... 994
21.11 ... Dump Analysis ... 997
21.12 ... Summary ... 999
... The Author ... 1001
... Index ... 1003
... Preface ... 25
... The Objective of this Book ... 25
... Target Audience ... 25
... Structure of this Book ... 26
1 ... Introduction to ERP and SAP ... 31
1.1 ... Historical Overview ... 31
1.2 ... Understanding an ERP System ... 34
1.3 ... Introduction to SAP ... 38
1.4 ... ABAP Overview ... 44
1.5 ... System Requirements ... 49
1.6 ... Summary ... 50
2 ... Architecture of an SAP System ... 51
2.1 ... Introduction to the Three-Tier Architecture ... 51
2.2 ... SAP Implementation Overview ... 53
2.3 ... Data Structures ... 69
2.4 ... Summary ... 80
3 ... Introduction to the ABAP Environment ... 83
3.1 ... SAP Environment ... 84
3.2 ... ABAP Workbench Overview ... 93
3.3 ... Eclipse IDE Overview ... 105
3.4 ... Summary ... 110
4 ... ABAP Programming Concepts ... 113
4.1 ... General Program Structure ... 114
4.2 ... ABAP Syntax ... 116
4.3 ... ABAP Keywords ... 119
4.4 ... Introduction to the TYPE Concept ... 120
4.5 ... ABAP Statements ... 146
4.6 ... Creating Your First ABAP Program ... 148
4.7 ... Summary ... 153
5 ... Structures and Internal Tables ... 155
5.1 ... Defining Structures ... 156
5.2 ... Internal Tables ... 168
5.3 ... Introduction to Open SQL Statements ... 192
5.4 ... Processing Data from Databases via Internal Tables and Structures ... 208
5.5 ... Introduction to the Debugger ... 210
5.6 ... Practice ... 215
5.7 ... Summary ... 215
6 ... User Interaction ... 217
6.1 ... Selection Screen Overview ... 218
6.2 ... Messages ... 236
6.3 ... Summary ... 244
7 ... Modularization Techniques ... 245
7.1 ... Modularization Overview ... 246
7.2 ... Program Structure ... 249
7.3 ... Events ... 266
7.4 ... Procedures ... 276
7.5 ... Inline Declarations ... 304
7.6 ... Summary ... 307
8 ... Object-Oriented ABAP ... 309
8.1 ... Procedural Programming versus Object-Oriented Programming ... 309
8.2 ... Principles of Object-Oriented Programming ... 313
8.3 ... Encapsulation ... 322
8.4 ... Inheritance ... 329
8.5 ... Polymorphism ... 341
8.6 ... Working with the Extensible Markup Language ... 360
8.7 ... Summary ... 365
9 ... Exception Handling ... 367
9.1 ... Exceptions Overview ... 367
9.2 ... Procedural Exception Handling ... 368
9.3 ... Class-Based Exception Handling ... 372
9.4 ... Messages in Exception Classes ... 383
9.5 ... Summary ... 390
10 ... ABAP Data Dictionary ... 391
10.1 ... Database Tables ... 392
10.2 ... Views ... 421
10.3 ... Data Types ... 433
10.4 ... Type Groups ... 444
10.5 ... Domains ... 445
10.6 ... Search Helps ... 448
10.7 ... Lock Objects ... 458
10.8 ... Summary ... 462
11 ... Persistent Data ... 463
11.1 ... Working with Data in Databases ... 464
11.2 ... ABAP Object Services ... 483
11.3 ... File Interfaces ... 489
11.4 ... Data Clusters ... 494
11.5 ... Security Concepts ... 496
11.6 ... Summary ... 498
12 ... Dialog Programming ... 501
12.1 ... Screen Events ... 502
12.2 ... Screen Elements and Flow Logic ... 505
12.3 ... Basic Screen Elements ... 520
12.4 ... Input/Output Fields ... 525
12.5 ... List Box ... 527
12.6 ... Table Controls ... 528
12.7 ... Tabstrip Controls ... 535
12.8 ... Subscreens ... 537
12.9 ... Working with Screens ... 538
12.10 ... Control Framework ... 551
12.11 ... Practice ... 555
12.12 ... Summary ... 560
13 ... List Screens ... 561
13.1 ... Program Types ... 562
13.2 ... Program Execution ... 566
13.3 ... Memory Organization ... 569
13.4 ... List Events ... 574
13.5 ... Basic Lists and Detail Lists ... 579
13.6 ... Classical Reports ... 584
13.7 ... Interactive Reports ... 584
13.8 ... Practice ... 590
13.9 ... Summary ... 592
14 ... Selection Screens ... 593
14.1 ... Defining Selection Screens ... 594
14.2 ... Selection Screen Events ... 596
14.3 ... Input Validations ... 598
14.4 ... Selection Screen Variants ... 600
14.5 ... Executing Programs in the Background ... 610
14.6 ... Displaying and Hiding Screen Elements Dynamically ... 612
14.7 ... Calling Programs via Selection Screens ... 615
14.8 ... Summary ... 615
15 ... SAP List Viewer Reports ... 617
15.1 ... Standard ALV Reports Using the Reuse Library ... 618
15.2 ... Interactive Reports ... 637
15.3 ... ALV Reports Using the Control Framework ... 644
15.4 ... ALV Object Model ... 647
15.5 ... Summary ... 656
16 ... Dynamic Programming ... 657
16.1 ... Field Symbols ... 659
16.2 ... Data References ... 674
16.3 ... Runtime Type Services ... 680
16.4 ... Dynamic Token Specification ... 685
16.5 ... Dynamic Procedure Calls ... 687
16.6 ... Dynamic Program Generation ... 690
16.7 ... Summary ... 692
17 ... Debugging ... 693
17.1 ... Classic Debugger ... 694
17.2 ... New Debugger ... 707
17.3 ... ABAP Managed Database Procedures Debugger ... 712
17.4 ... Using the Debugger to Troubleshoot ... 712
17.5 ... Using the Debugger as a Learning Tool ... 714
17.6 ... Summary ... 715
18 ... Forms ... 717
18.1 ... SAP Scripts ... 719
18.2 ... Smart Forms ... 742
18.3 ... SAP Interactive Forms by Adobe ... 767
18.4 ... Summary ... 789
19 ... Interfaces ... 791
19.1 ... Batch Data Communication ... 792
19.2 ... Business Application Programming Interfaces ... 806
19.3 ... EDI/ALE/IDocs ... 822
19.4 ... Legacy System Migration Workbench ... 852
19.5 ... Web Services ... 864
19.6 ... Open Data Protocol Services ... 878
19.7 ... Extensible Stylesheet Language Transformations ... 891
19.8 ... XML and JSON Data Representation ... 894
19.9 ... WebSockets (ABAP Channels and Messages) ... 896
19.10 ... Summary ... 903
20 ... Modifications and Enhancements ... 905
20.1 ... Customization Overview ... 905
20.2 ... Modification Overview ... 907
20.3 ... Using the Modification Assistant ... 908
20.4 ... Using the Modification Browser ... 915
20.5 ... Enhancements Overview ... 916
20.6 ... User Exits ... 918
20.7 ... Customer Exits ... 919
20.8 ... Business Add-Ins ... 928
20.9 ... Enhancement Points ... 941
20.10 ... Business Transaction Events ... 947
20.11 ... Summary ... 952
21 ... Test and Analysis Tools ... 955
21.1 ... Overview of Tools ... 956
21.2 ... ABAP Unit ... 958
21.3 ... Code Inspector ... 969
21.4 ... Selectivity Analysis ... 972
21.5 ... Process Analysis ... 974
21.6 ... Memory Inspector ... 976
21.7 ... Table Call Statistics ... 979
21.8 ... Performance Trace ... 981
21.9 ... ABAP Trace/Runtime Analysis ... 989
21.10 ... Single-Transaction Analysis ... 994
21.11 ... Dump Analysis ... 997
21.12 ... Summary ... 999
... The Author ... 1001
... Index ... 1003