Most ABAP programmers, at one time or another, have experienced shortcomings in performance due to inferior ABAP development, or unnecessary delays in development due to seemingly endless test cycles. Based on practical experiences with implementing, optimizing, and maintaining small and large SAP installations, this unique new book teaches developers, IT managers, and project leaders how to significantly improve the efficiency and quality of ABAP development in their own organizations. Take advantage of expert insights on the do's and don'ts of programming with ABAP, using easy-to-follow examples. Plus, learn to accelerate critical development projects using the exclusive tips and detailed techniques provided for correctness, testing, error handling, fault tracing, as well as best practices for documentation, and much more. The entire development cycle is thoroughly covered, providing you with the means to save time and avoid costly errors while improving your core development skills.
Table of contents:
Preface ... 11
1. Introduction ... 13
... 1.1 The Technical Quality of ABAP Software ... 16
... 1.2 ABAP Objects and Unicode-Enabling ... 19
... 1.3 The Structure of This Book ... 32
2. Quality of the Development Organization ... 37
... 2.1 Introduction ... 37
... 2.2 The Impact of Using ERP Functionality ... 39
... 2.3 The Impact of a Multi-System SAP Landscape ... 52
... 2.4 The Impact of a Multi-Application Landscape ... 65
... 2.5 The Impact of Several SAP R/3 Production Systems ... 67
... 2.6 Summary ... 71
3. Correctness ... 73
... 3.1 Typical Correctness Categories ... 73
... 3.2 Selecting Data ... 74
... 3.3 Processing Data ... 91
... 3.4 Managing Data in Memory ... 109
... 3.5 Inconsistencies in Database Updates ... 128
... 3.6 Checking the Unicity of Interface Data ... 140
4. Stability ... 145
... 4.1 Stability Problems ... 145
... 4.2 Programming Errors That Promote Instability ... 147
... 4.3 Risks of Dynamic Programming ... 165
... 4.4 Changes in an ABAP Program’s Environment ... 189
... 4.5 Using an ABAP Program Incorrectly ... 195
5. Exceptions and Error Handling ... 219
... 5.1 The Importance of Exception Handling ... 219
... 5.2 Implementation of Exception Handling ... 221
... 5.3 Class-Based Exception Handling ... 231
... 5.4 Conclusions ... 243
6. User-Friendliness ... 245
... 6.1 The Importance of Standardization ... 245
... 6.2 Guidelines for The Look-and-Feel and Behavior of Your Programs ... 247
... 6.3 Guidelines for Navigation and Support ... 260
... 6.4 Conclusion ... 265
7. Performance ... 267
... 7.1 Introduction ... 267
... 7.2 Optimizing Processing on the Database Server: Using Indexes ... 269
... 7.3 Minimizing Data Traffic Between the Database Server and the Application Server ... 293
... 7.4 Optimizing Processing on the Application Server ... 308
... 7.5 Minimizing Data Traffic Between the Application Server and a Client ... 327
... 7.6 Summary ... 329
8. Maintainability ... 331
... 8.1 Maintainability of Standard SAP Software ... 332
... 8.2 Maintainability of Customized ABAP Software ... 336
... 8.3 Enhancing Maintainability with ABAP Objects ... 365
... 8.4 Summary ... 377
9. Checking Robustness and Troubleshooting ... 379
... 9.1 Changes and New Developments ... 379
... 9.2 Troubleshooting Incidents ... 439
... 9.3 Summary ... 455
Appendix ... 457
... A. A Proposal for Naming Standards ... 457
... B. Example of an Exception Handling Class ... 461
... C. Template for an ALV Report ... 473
... D. Bibliography ... 493
... E. Author Portraits ... 497
Index ... 499
Table of contents:
Preface ... 11
1. Introduction ... 13
... 1.1 The Technical Quality of ABAP Software ... 16
... 1.2 ABAP Objects and Unicode-Enabling ... 19
... 1.3 The Structure of This Book ... 32
2. Quality of the Development Organization ... 37
... 2.1 Introduction ... 37
... 2.2 The Impact of Using ERP Functionality ... 39
... 2.3 The Impact of a Multi-System SAP Landscape ... 52
... 2.4 The Impact of a Multi-Application Landscape ... 65
... 2.5 The Impact of Several SAP R/3 Production Systems ... 67
... 2.6 Summary ... 71
3. Correctness ... 73
... 3.1 Typical Correctness Categories ... 73
... 3.2 Selecting Data ... 74
... 3.3 Processing Data ... 91
... 3.4 Managing Data in Memory ... 109
... 3.5 Inconsistencies in Database Updates ... 128
... 3.6 Checking the Unicity of Interface Data ... 140
4. Stability ... 145
... 4.1 Stability Problems ... 145
... 4.2 Programming Errors That Promote Instability ... 147
... 4.3 Risks of Dynamic Programming ... 165
... 4.4 Changes in an ABAP Program’s Environment ... 189
... 4.5 Using an ABAP Program Incorrectly ... 195
5. Exceptions and Error Handling ... 219
... 5.1 The Importance of Exception Handling ... 219
... 5.2 Implementation of Exception Handling ... 221
... 5.3 Class-Based Exception Handling ... 231
... 5.4 Conclusions ... 243
6. User-Friendliness ... 245
... 6.1 The Importance of Standardization ... 245
... 6.2 Guidelines for The Look-and-Feel and Behavior of Your Programs ... 247
... 6.3 Guidelines for Navigation and Support ... 260
... 6.4 Conclusion ... 265
7. Performance ... 267
... 7.1 Introduction ... 267
... 7.2 Optimizing Processing on the Database Server: Using Indexes ... 269
... 7.3 Minimizing Data Traffic Between the Database Server and the Application Server ... 293
... 7.4 Optimizing Processing on the Application Server ... 308
... 7.5 Minimizing Data Traffic Between the Application Server and a Client ... 327
... 7.6 Summary ... 329
8. Maintainability ... 331
... 8.1 Maintainability of Standard SAP Software ... 332
... 8.2 Maintainability of Customized ABAP Software ... 336
... 8.3 Enhancing Maintainability with ABAP Objects ... 365
... 8.4 Summary ... 377
9. Checking Robustness and Troubleshooting ... 379
... 9.1 Changes and New Developments ... 379
... 9.2 Troubleshooting Incidents ... 439
... 9.3 Summary ... 455
Appendix ... 457
... A. A Proposal for Naming Standards ... 457
... B. Example of an Exception Handling Class ... 461
... C. Template for an ALV Report ... 473
... D. Bibliography ... 493
... E. Author Portraits ... 497
Index ... 499