Table of Contents
... Preface ... 17... Audience ... 17... Your ABAP Learning Path ... 181 ... Introduction to SAP’s ERP Systems ... 231.1 ... What Are SAP and ABAP? ... 231.2 ... Current State of SAP’s ERP Systems ... 241.3 ... “Old” versus “New” ABAP ... 261.4 ... Navigating SAP ERP Systems ... 281.5 ... Summary ... 342 ... Creating Your First Program ... 352.1 ... “Hello, World!” ... 352.2 ... Summary ... 493 ... ABAP 101 ... 513.1 ... Variables and Constants in ABAP ... 513.2 ... Arithmetic and Basic Math Functions ... 653.3 ... Flow Control ... 723.4 ... Selection Screen Programming ... 803.5 ... Event Blocks ... 923.6 ... Formatting Code ... 953.7 ... Comments ... 973.8 ... Debugging Basics ... 1003.9 ... Tying It All Together ... 1173.10 ... Summary ... 1204 ... Data Dictionary Objects ... 1214.1 ... What Is a Database? ... 1214.2 ... What Is a Data Dictionary? ... 1224.3 ... Database Design ... 1234.4 ... Navigation to ABAP Dictionary Objects ... 1274.5 ... Table, Data Element, and Domain ... 1294.6 ... Training Data Model and Example Definition ... 1324.7 ... Creating a New Domain ... 1354.8 ... Creating a New Data Element ... 1394.9 ... Creating and Editing Tables ... 1444.10 ... Documentation ... 1614.11 ... Viewing Data in the Database Tables ... 1624.12 ... Table Maintenance Dialogs ... 1704.13 ... Structures and Table Types ... 1744.14 ... Search Help ... 1774.15 ... Views ... 1814.16 ... Summary ... 1845 ... Accessing the Database ... 1855.1 ... SQL Console in Eclipse ... 1865.2 ... Reading Data ... 1875.3 ... Changing Data ... 2105.4 ... Table Locks ... 2145.5 ... Performance Topics ... 2245.6 ... Obsolete Database Access Keywords ... 2265.7 ... Summary ... 2276 ... Storing Data in Working Memory ... 2296.1 ... Using ABAP Dictionary Data Types ... 2296.2 ... Creating Data Types with the TYPE Keyword ... 2316.3 ... Field Symbols ... 2336.4 ... Defining Internal Tables ... 2346.5 ... Reading Data from Internal Tables ... 2416.6 ... Modifying Internal Tables ... 2506.7 ... Other Internal Table Operations ... 2576.8 ... Which Table Should Be Used? ... 2616.9 ... Updating ABAP Dictionary Table Type ... 2636.10 ... Obsolete Working Memory Syntax ... 2656.11 ... Summary ... 2687 ... Making Programs Modular ... 2697.1 ... Separation of Concerns ... 2697.2 ... Subroutines ... 2727.3 ... Introduction to Object-Oriented Programming ... 2747.4 ... Structuring Classes ... 2777.5 ... Global Classes ... 3087.6 ... Design Patterns ... 3177.7 ... Function Modules ... 3177.8 ... Summary ... 3278 ... Error Handling ... 3298.1 ... SY-SUBRC ... 3298.2 ... Message Classes ... 3318.3 ... Exception Classes ... 3418.4 ... Non-Class-Based Exceptions ... 3558.5 ... Summary ... 3589 ... Presenting Data Using the ABAP List Viewer ... 3619.1 ... What Is ALV? ... 3619.2 ... Report Example Using an SALV Table ... 3669.3 ... Report Example Using SALV Tree ... 3719.4 ... ALV with Integrated Data Access ... 3809.5 ... Outdated ALV Frameworks ... 3839.6 ... Summary ... 38610 ... Creating a Shopping Cart Example ... 38710.1 ... The Design ... 38810.2 ... Database Solution ... 39210.3 ... Accessing the Database Solution ... 40510.4 ... Creating a Message Class for the Solution ... 41510.5 ... Creating Classic Screens for the Solution ... 41610.6 ... Summary ... 42911 ... Working with Strings and Texts ... 43111.1 ... String Manipulation ... 43111.2 ... Text Symbols ... 43711.3 ... Translating Data in Tables ... 44511.4 ... Translating Messages ... 45111.5 ... Obsolete String and Text Commands ... 45311.6 ... Updating the Shopping Cart Example ... 45411.7 ... Summary ... 46312 ... Working with Dates, Times, Quantities, and Currencies ... 46512.1 ... Dates ... 46512.2 ... Times ... 47712.3 ... Quantities ... 48212.4 ... Currencies ... 48612.5 ... Updating the Shopping Cart Example ... 49012.6 ... Summary ... 50413 ... User Interface Technologies ... 50513.1 ... Working with Classic Dynpro Screens ... 50513.2 ... Modern UI Technologies ... 52813.3 ... Summary ... 53414 ... Working with ABAP Professionally ... 53514.1 ... ABAP System Architecture Basics ... 53514.2 ... Transport Management ... 53914.3 ... Authorization Concept ... 55014.4 ... Working with Files ... 56614.5 ... ABAP Development Guidelines ... 58214.6 ... Maintaining Documentation ... 58614.7 ... ABAP Unit Tests ... 59314.8 ... Background Jobs ... 60214.9 ... Tools of the Trade ... 61114.10 ... Backward Compatibility and Dealing with Legacy Code ... 62114.11 ... Summary ... 623A ... Preparing Your Development Environment ... 627A.1 ... ABAP Developer Edition Overview ... 627A.2 ... ABAP Trial System Using SAP CAL ... 630A.3 ... ABAP Trial System Using the Download Option ... 632A.4 ... Getting Started with ABAP in Eclipse ... 633A.5 ... ABAP-Based IDEs ... 639B ... Interfaces, Forms, Enhancements ... 645B.1 ... Interfaces ... 645B.2 ... Output Implementation in SAP ERP ... 649B.3 ... Enhancements ... 654C ... Differences Between ABAP Versions ... 661C.1 ... Release 7.0 ... 661C.2 ... Release 7.02 (7.0 EHP 2) ... 662C.3 ... Release 7.4 ... 663C.4 ... Release 7.4 SP 5 ... 663C.5 ... Release 7.4 SP 8 ... 663C.6 ... Release 7.50 ... 664C.7 ... Release 7.51 ... 664C.8 ... Release 7.52 ... 664C.9 ... Release 7.53 ... 665D ... Other Resources ... 667D.1 ... SAP PRESS Books ... 667D.2 ... SAP Community ... 668D.3 ... openSAP ... 669D.4 ... SAP Certifications ... 669D.5 ... SAP TechEd Conferences ... 669D.6 ... SAP Community Events ... 670E ... The Authors ... 671... Index ... 673