- Gebundenes Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
Step into ABAP with this beginner's guide. First understand ABAP syntax and find out how to add data and logic to your applications. Then delve into backend programming: learn to work with the ABAP data dictionary, create database objects, and process and store data. Round out your skill set by practicing error handling, modularization, string manipulation, and more. With guided examples, step-by-step instructions, and detailed code you'll become an ABAP developer in no time!
a. ABAP Language Basics Learn the ABAP language, from formatting code to using variables and constants. Understand…mehr
Andere Kunden interessierten sich auch für
- Winfried SchwarzmannTest-Driven Development with ABAP Objects74,99 €
- Klaus HaeuptleClean ABAP69,99 €
- Mohd Mohsin AhmedABAP Development for SAP Hana67,99 €
- Paul HardyABAP to the Future85,90 €
- David HaslamABAP 7.5 Certification Guide62,99 €
- Gairik AcharyaABAP in the Cloud65,99 €
- Leon HassanVisual Studio Code for SAP65,99 €
-
-
-
Step into ABAP with this beginner's guide. First understand ABAP syntax and find out how to add data and logic to your applications. Then delve into backend programming: learn to work with the ABAP data dictionary, create database objects, and process and store data. Round out your skill set by practicing error handling, modularization, string manipulation, and more. With guided examples, step-by-step instructions, and detailed code you'll become an ABAP developer in no time!
a. ABAP Language Basics
Learn the ABAP language, from formatting code to using variables and constants. Understand how to add binary logic to applications, create simple user interfaces, and more.
b. Working with Data
Create data dictionary objects and program ABAP applications to process and read data from a database. Use working memory to store retrieved data and display it to users.
c. Manipulating Programs
Modularize ABAP programs, handle errors, and work with strings, texts, dates, times, and currencies.
d. Preparing for an ABAP Career
Understand the SAP system landscape, prepare your development environment, and explore the official ABAP development guidelines.
Highlights:
Procedural programming Object-oriented programmingFlow controlArithmetic operationsData dictionaryDefining variables and constantsCreating tablesDatabase read/writeModularizationDebuggingSAP List Viewer (ALV)
Hinweis: Dieser Artikel kann nur an eine deutsche Lieferadresse ausgeliefert werden.
a. ABAP Language Basics
Learn the ABAP language, from formatting code to using variables and constants. Understand how to add binary logic to applications, create simple user interfaces, and more.
b. Working with Data
Create data dictionary objects and program ABAP applications to process and read data from a database. Use working memory to store retrieved data and display it to users.
c. Manipulating Programs
Modularize ABAP programs, handle errors, and work with strings, texts, dates, times, and currencies.
d. Preparing for an ABAP Career
Understand the SAP system landscape, prepare your development environment, and explore the official ABAP development guidelines.
Highlights:
Procedural programming Object-oriented programmingFlow controlArithmetic operationsData dictionaryDefining variables and constantsCreating tablesDatabase read/writeModularizationDebuggingSAP List Viewer (ALV)
Hinweis: Dieser Artikel kann nur an eine deutsche Lieferadresse ausgeliefert werden.
Produktdetails
- Produktdetails
- SAP PRESS Englisch
- Verlag: Rheinwerk Verlag / SAP PRESS
- Artikelnr. des Verlages: 459/21880
- 2. Aufl.
- Seitenzahl: 684
- Erscheinungstermin: 19. Dezember 2019
- Englisch
- Abmessung: 236mm x 182mm x 48mm
- Gewicht: 1377g
- ISBN-13: 9781493218806
- ISBN-10: 1493218808
- Artikelnr.: 57646314
- SAP PRESS Englisch
- Verlag: Rheinwerk Verlag / SAP PRESS
- Artikelnr. des Verlages: 459/21880
- 2. Aufl.
- Seitenzahl: 684
- Erscheinungstermin: 19. Dezember 2019
- Englisch
- Abmessung: 236mm x 182mm x 48mm
- Gewicht: 1377g
- ISBN-13: 9781493218806
- ISBN-10: 1493218808
- Artikelnr.: 57646314
Brian O'Neill is an ABAP developer with experience working across different SAP ERP modules and custom applications. He has worked in a variety of IT positions, from business analyst to ABAP developer. He is currently writing applications that can connect to an SAP backend using SAP Gateway. He holds a bachelor's degree in Computer Information Systems from California State University.
... Preface ... 17
... Audience ... 17
... Your ABAP Learning Path ... 18
1 ... Introduction to SAP's ERP Systems ... 23
1.1 ... What Are SAP and ABAP? ... 23
1.2 ... Current State of SAP's ERP Systems ... 24
1.3 ... "Old" versus "New" ABAP ... 26
1.4 ... Navigating SAP ERP Systems ... 28
1.5 ... Summary ... 34
2 ... Creating Your First Program ... 35
2.1 ... "Hello, World!" ... 35
2.2 ... Summary ... 49
3 ... ABAP 101 ... 51
3.1 ... Variables and Constants in ABAP ... 51
3.2 ... Arithmetic and Basic Math Functions ... 65
3.3 ... Flow Control ... 72
3.4 ... Selection Screen Programming ... 80
3.5 ... Event Blocks ... 92
3.6 ... Formatting Code ... 95
3.7 ... Comments ... 97
3.8 ... Debugging Basics ... 100
3.9 ... Tying It All Together ... 117
3.10 ... Summary ... 120
4 ... Data Dictionary Objects ... 121
4.1 ... What Is a Database? ... 121
4.2 ... What Is a Data Dictionary? ... 122
4.3 ... Database Design ... 123
4.4 ... Navigation to ABAP Dictionary Objects ... 127
4.5 ... Table, Data Element, and Domain ... 129
4.6 ... Training Data Model and Example Definition ... 132
4.7 ... Creating a New Domain ... 135
4.8 ... Creating a New Data Element ... 139
4.9 ... Creating and Editing Tables ... 144
4.10 ... Documentation ... 161
4.11 ... Viewing Data in the Database Tables ... 162
4.12 ... Table Maintenance Dialogs ... 170
4.13 ... Structures and Table Types ... 174
4.14 ... Search Help ... 177
4.15 ... Views ... 181
4.16 ... Summary ... 184
5 ... Accessing the Database ... 185
5.1 ... SQL Console in Eclipse ... 186
5.2 ... Reading Data ... 187
5.3 ... Changing Data ... 210
5.4 ... Table Locks ... 214
5.5 ... Performance Topics ... 224
5.6 ... Obsolete Database Access Keywords ... 226
5.7 ... Summary ... 227
6 ... Storing Data in Working Memory ... 229
6.1 ... Using ABAP Dictionary Data Types ... 229
6.2 ... Creating Data Types with the TYPE Keyword ... 231
6.3 ... Field Symbols ... 233
6.4 ... Defining Internal Tables ... 234
6.5 ... Reading Data from Internal Tables ... 241
6.6 ... Modifying Internal Tables ... 250
6.7 ... Other Internal Table Operations ... 257
6.8 ... Which Table Should Be Used? ... 261
6.9 ... Updating ABAP Dictionary Table Type ... 263
6.10 ... Obsolete Working Memory Syntax ... 265
6.11 ... Summary ... 268
7 ... Making Programs Modular ... 269
7.1 ... Separation of Concerns ... 269
7.2 ... Subroutines ... 272
7.3 ... Introduction to Object-Oriented Programming ... 274
7.4 ... Structuring Classes ... 277
7.5 ... Global Classes ... 308
7.6 ... Design Patterns ... 317
7.7 ... Function Modules ... 317
7.8 ... Summary ... 327
8 ... Error Handling ... 329
8.1 ... SY-SUBRC ... 329
8.2 ... Message Classes ... 331
8.3 ... Exception Classes ... 341
8.4 ... Non-Class-Based Exceptions ... 355
8.5 ... Summary ... 358
9 ... Presenting Data Using the ABAP List Viewer ... 361
9.1 ... What Is ALV? ... 361
9.2 ... Report Example Using an SALV Table ... 366
9.3 ... Report Example Using SALV Tree ... 371
9.4 ... ALV with Integrated Data Access ... 380
9.5 ... Outdated ALV Frameworks ... 383
9.6 ... Summary ... 386
10 ... Creating a Shopping Cart Example ... 387
10.1 ... The Design ... 388
10.2 ... Database Solution ... 392
10.3 ... Accessing the Database Solution ... 405
10.4 ... Creating a Message Class for the Solution ... 415
10.5 ... Creating Classic Screens for the Solution ... 416
10.6 ... Summary ... 429
11 ... Working with Strings and Texts ... 431
11.1 ... String Manipulation ... 431
11.2 ... Text Symbols ... 437
11.3 ... Translating Data in Tables ... 445
11.4 ... Translating Messages ... 451
11.5 ... Obsolete String and Text Commands ... 453
11.6 ... Updating the Shopping Cart Example ... 454
11.7 ... Summary ... 463
12 ... Working with Dates, Times, Quantities, and Currencies ... 465
12.1 ... Dates ... 465
12.2 ... Times ... 477
12.3 ... Quantities ... 482
12.4 ... Currencies ... 486
12.5 ... Updating the Shopping Cart Example ... 490
12.6 ... Summary ... 504
13 ... User Interface Technologies ... 505
13.1 ... Working with Classic Dynpro Screens ... 505
13.2 ... Modern UI Technologies ... 528
13.3 ... Summary ... 534
14 ... Working with ABAP Professionally ... 535
14.1 ... ABAP System Architecture Basics ... 535
14.2 ... Transport Management ... 539
14.3 ... Authorization Concept ... 550
14.4 ... Working with Files ... 566
14.5 ... ABAP Development Guidelines ... 582
14.6 ... Maintaining Documentation ... 586
14.7 ... ABAP Unit Tests ... 593
14.8 ... Background Jobs ... 602
14.9 ... Tools of the Trade ... 611
14.10 ... Backward Compatibility and Dealing with Legacy Code ... 621
14.11 ... Summary ... 623
A ... Preparing Your Development Environment ... 627
A.1 ... ABAP Developer Edition Overview ... 627
A.2 ... ABAP Trial System Using SAP CAL ... 630
A.3 ... ABAP Trial System Using the Download Option ... 632
A.4 ... Getting Started with ABAP in Eclipse ... 633
A.5 ... ABAP-Based IDEs ... 639
B ... Interfaces, Forms, Enhancements ... 645
B.1 ... Interfaces ... 645
B.2 ... Output Implementation in SAP ERP ... 649
B.3 ... Enhancements ... 654
C ... Differences Between ABAP Versions ... 661
C.1 ... Release 7.0 ... 661
C.2 ... Release 7.02 (7.0 EHP 2) ... 662
C.3 ... Release 7.4 ... 663
C.4 ... Release 7.4 SP 5 ... 663
C.5 ... Release 7.4 SP 8 ... 663
C.6 ... Release 7.50 ... 664
C.7 ... Release 7.51 ... 664
C.8 ... Release 7.52 ... 664
C.9 ... Release 7.53 ... 665
D ... Other Resources ... 667
D.1 ... SAP PRESS Books ... 667
D.2 ... SAP Community ... 668
D.3 ... openSAP ... 669
D.4 ... SAP Certifications ... 669
D.5 ... SAP TechEd Conferences ... 669
D.6 ... SAP Community Events ... 670
E ... The Authors ... 671
... Index ... 673
... Audience ... 17
... Your ABAP Learning Path ... 18
1 ... Introduction to SAP's ERP Systems ... 23
1.1 ... What Are SAP and ABAP? ... 23
1.2 ... Current State of SAP's ERP Systems ... 24
1.3 ... "Old" versus "New" ABAP ... 26
1.4 ... Navigating SAP ERP Systems ... 28
1.5 ... Summary ... 34
2 ... Creating Your First Program ... 35
2.1 ... "Hello, World!" ... 35
2.2 ... Summary ... 49
3 ... ABAP 101 ... 51
3.1 ... Variables and Constants in ABAP ... 51
3.2 ... Arithmetic and Basic Math Functions ... 65
3.3 ... Flow Control ... 72
3.4 ... Selection Screen Programming ... 80
3.5 ... Event Blocks ... 92
3.6 ... Formatting Code ... 95
3.7 ... Comments ... 97
3.8 ... Debugging Basics ... 100
3.9 ... Tying It All Together ... 117
3.10 ... Summary ... 120
4 ... Data Dictionary Objects ... 121
4.1 ... What Is a Database? ... 121
4.2 ... What Is a Data Dictionary? ... 122
4.3 ... Database Design ... 123
4.4 ... Navigation to ABAP Dictionary Objects ... 127
4.5 ... Table, Data Element, and Domain ... 129
4.6 ... Training Data Model and Example Definition ... 132
4.7 ... Creating a New Domain ... 135
4.8 ... Creating a New Data Element ... 139
4.9 ... Creating and Editing Tables ... 144
4.10 ... Documentation ... 161
4.11 ... Viewing Data in the Database Tables ... 162
4.12 ... Table Maintenance Dialogs ... 170
4.13 ... Structures and Table Types ... 174
4.14 ... Search Help ... 177
4.15 ... Views ... 181
4.16 ... Summary ... 184
5 ... Accessing the Database ... 185
5.1 ... SQL Console in Eclipse ... 186
5.2 ... Reading Data ... 187
5.3 ... Changing Data ... 210
5.4 ... Table Locks ... 214
5.5 ... Performance Topics ... 224
5.6 ... Obsolete Database Access Keywords ... 226
5.7 ... Summary ... 227
6 ... Storing Data in Working Memory ... 229
6.1 ... Using ABAP Dictionary Data Types ... 229
6.2 ... Creating Data Types with the TYPE Keyword ... 231
6.3 ... Field Symbols ... 233
6.4 ... Defining Internal Tables ... 234
6.5 ... Reading Data from Internal Tables ... 241
6.6 ... Modifying Internal Tables ... 250
6.7 ... Other Internal Table Operations ... 257
6.8 ... Which Table Should Be Used? ... 261
6.9 ... Updating ABAP Dictionary Table Type ... 263
6.10 ... Obsolete Working Memory Syntax ... 265
6.11 ... Summary ... 268
7 ... Making Programs Modular ... 269
7.1 ... Separation of Concerns ... 269
7.2 ... Subroutines ... 272
7.3 ... Introduction to Object-Oriented Programming ... 274
7.4 ... Structuring Classes ... 277
7.5 ... Global Classes ... 308
7.6 ... Design Patterns ... 317
7.7 ... Function Modules ... 317
7.8 ... Summary ... 327
8 ... Error Handling ... 329
8.1 ... SY-SUBRC ... 329
8.2 ... Message Classes ... 331
8.3 ... Exception Classes ... 341
8.4 ... Non-Class-Based Exceptions ... 355
8.5 ... Summary ... 358
9 ... Presenting Data Using the ABAP List Viewer ... 361
9.1 ... What Is ALV? ... 361
9.2 ... Report Example Using an SALV Table ... 366
9.3 ... Report Example Using SALV Tree ... 371
9.4 ... ALV with Integrated Data Access ... 380
9.5 ... Outdated ALV Frameworks ... 383
9.6 ... Summary ... 386
10 ... Creating a Shopping Cart Example ... 387
10.1 ... The Design ... 388
10.2 ... Database Solution ... 392
10.3 ... Accessing the Database Solution ... 405
10.4 ... Creating a Message Class for the Solution ... 415
10.5 ... Creating Classic Screens for the Solution ... 416
10.6 ... Summary ... 429
11 ... Working with Strings and Texts ... 431
11.1 ... String Manipulation ... 431
11.2 ... Text Symbols ... 437
11.3 ... Translating Data in Tables ... 445
11.4 ... Translating Messages ... 451
11.5 ... Obsolete String and Text Commands ... 453
11.6 ... Updating the Shopping Cart Example ... 454
11.7 ... Summary ... 463
12 ... Working with Dates, Times, Quantities, and Currencies ... 465
12.1 ... Dates ... 465
12.2 ... Times ... 477
12.3 ... Quantities ... 482
12.4 ... Currencies ... 486
12.5 ... Updating the Shopping Cart Example ... 490
12.6 ... Summary ... 504
13 ... User Interface Technologies ... 505
13.1 ... Working with Classic Dynpro Screens ... 505
13.2 ... Modern UI Technologies ... 528
13.3 ... Summary ... 534
14 ... Working with ABAP Professionally ... 535
14.1 ... ABAP System Architecture Basics ... 535
14.2 ... Transport Management ... 539
14.3 ... Authorization Concept ... 550
14.4 ... Working with Files ... 566
14.5 ... ABAP Development Guidelines ... 582
14.6 ... Maintaining Documentation ... 586
14.7 ... ABAP Unit Tests ... 593
14.8 ... Background Jobs ... 602
14.9 ... Tools of the Trade ... 611
14.10 ... Backward Compatibility and Dealing with Legacy Code ... 621
14.11 ... Summary ... 623
A ... Preparing Your Development Environment ... 627
A.1 ... ABAP Developer Edition Overview ... 627
A.2 ... ABAP Trial System Using SAP CAL ... 630
A.3 ... ABAP Trial System Using the Download Option ... 632
A.4 ... Getting Started with ABAP in Eclipse ... 633
A.5 ... ABAP-Based IDEs ... 639
B ... Interfaces, Forms, Enhancements ... 645
B.1 ... Interfaces ... 645
B.2 ... Output Implementation in SAP ERP ... 649
B.3 ... Enhancements ... 654
C ... Differences Between ABAP Versions ... 661
C.1 ... Release 7.0 ... 661
C.2 ... Release 7.02 (7.0 EHP 2) ... 662
C.3 ... Release 7.4 ... 663
C.4 ... Release 7.4 SP 5 ... 663
C.5 ... Release 7.4 SP 8 ... 663
C.6 ... Release 7.50 ... 664
C.7 ... Release 7.51 ... 664
C.8 ... Release 7.52 ... 664
C.9 ... Release 7.53 ... 665
D ... Other Resources ... 667
D.1 ... SAP PRESS Books ... 667
D.2 ... SAP Community ... 668
D.3 ... openSAP ... 669
D.4 ... SAP Certifications ... 669
D.5 ... SAP TechEd Conferences ... 669
D.6 ... SAP Community Events ... 670
E ... The Authors ... 671
... Index ... 673
... Preface ... 17
... Audience ... 17
... Your ABAP Learning Path ... 18
1 ... Introduction to SAP's ERP Systems ... 23
1.1 ... What Are SAP and ABAP? ... 23
1.2 ... Current State of SAP's ERP Systems ... 24
1.3 ... "Old" versus "New" ABAP ... 26
1.4 ... Navigating SAP ERP Systems ... 28
1.5 ... Summary ... 34
2 ... Creating Your First Program ... 35
2.1 ... "Hello, World!" ... 35
2.2 ... Summary ... 49
3 ... ABAP 101 ... 51
3.1 ... Variables and Constants in ABAP ... 51
3.2 ... Arithmetic and Basic Math Functions ... 65
3.3 ... Flow Control ... 72
3.4 ... Selection Screen Programming ... 80
3.5 ... Event Blocks ... 92
3.6 ... Formatting Code ... 95
3.7 ... Comments ... 97
3.8 ... Debugging Basics ... 100
3.9 ... Tying It All Together ... 117
3.10 ... Summary ... 120
4 ... Data Dictionary Objects ... 121
4.1 ... What Is a Database? ... 121
4.2 ... What Is a Data Dictionary? ... 122
4.3 ... Database Design ... 123
4.4 ... Navigation to ABAP Dictionary Objects ... 127
4.5 ... Table, Data Element, and Domain ... 129
4.6 ... Training Data Model and Example Definition ... 132
4.7 ... Creating a New Domain ... 135
4.8 ... Creating a New Data Element ... 139
4.9 ... Creating and Editing Tables ... 144
4.10 ... Documentation ... 161
4.11 ... Viewing Data in the Database Tables ... 162
4.12 ... Table Maintenance Dialogs ... 170
4.13 ... Structures and Table Types ... 174
4.14 ... Search Help ... 177
4.15 ... Views ... 181
4.16 ... Summary ... 184
5 ... Accessing the Database ... 185
5.1 ... SQL Console in Eclipse ... 186
5.2 ... Reading Data ... 187
5.3 ... Changing Data ... 210
5.4 ... Table Locks ... 214
5.5 ... Performance Topics ... 224
5.6 ... Obsolete Database Access Keywords ... 226
5.7 ... Summary ... 227
6 ... Storing Data in Working Memory ... 229
6.1 ... Using ABAP Dictionary Data Types ... 229
6.2 ... Creating Data Types with the TYPE Keyword ... 231
6.3 ... Field Symbols ... 233
6.4 ... Defining Internal Tables ... 234
6.5 ... Reading Data from Internal Tables ... 241
6.6 ... Modifying Internal Tables ... 250
6.7 ... Other Internal Table Operations ... 257
6.8 ... Which Table Should Be Used? ... 261
6.9 ... Updating ABAP Dictionary Table Type ... 263
6.10 ... Obsolete Working Memory Syntax ... 265
6.11 ... Summary ... 268
7 ... Making Programs Modular ... 269
7.1 ... Separation of Concerns ... 269
7.2 ... Subroutines ... 272
7.3 ... Introduction to Object-Oriented Programming ... 274
7.4 ... Structuring Classes ... 277
7.5 ... Global Classes ... 308
7.6 ... Design Patterns ... 317
7.7 ... Function Modules ... 317
7.8 ... Summary ... 327
8 ... Error Handling ... 329
8.1 ... SY-SUBRC ... 329
8.2 ... Message Classes ... 331
8.3 ... Exception Classes ... 341
8.4 ... Non-Class-Based Exceptions ... 355
8.5 ... Summary ... 358
9 ... Presenting Data Using the ABAP List Viewer ... 361
9.1 ... What Is ALV? ... 361
9.2 ... Report Example Using an SALV Table ... 366
9.3 ... Report Example Using SALV Tree ... 371
9.4 ... ALV with Integrated Data Access ... 380
9.5 ... Outdated ALV Frameworks ... 383
9.6 ... Summary ... 386
10 ... Creating a Shopping Cart Example ... 387
10.1 ... The Design ... 388
10.2 ... Database Solution ... 392
10.3 ... Accessing the Database Solution ... 405
10.4 ... Creating a Message Class for the Solution ... 415
10.5 ... Creating Classic Screens for the Solution ... 416
10.6 ... Summary ... 429
11 ... Working with Strings and Texts ... 431
11.1 ... String Manipulation ... 431
11.2 ... Text Symbols ... 437
11.3 ... Translating Data in Tables ... 445
11.4 ... Translating Messages ... 451
11.5 ... Obsolete String and Text Commands ... 453
11.6 ... Updating the Shopping Cart Example ... 454
11.7 ... Summary ... 463
12 ... Working with Dates, Times, Quantities, and Currencies ... 465
12.1 ... Dates ... 465
12.2 ... Times ... 477
12.3 ... Quantities ... 482
12.4 ... Currencies ... 486
12.5 ... Updating the Shopping Cart Example ... 490
12.6 ... Summary ... 504
13 ... User Interface Technologies ... 505
13.1 ... Working with Classic Dynpro Screens ... 505
13.2 ... Modern UI Technologies ... 528
13.3 ... Summary ... 534
14 ... Working with ABAP Professionally ... 535
14.1 ... ABAP System Architecture Basics ... 535
14.2 ... Transport Management ... 539
14.3 ... Authorization Concept ... 550
14.4 ... Working with Files ... 566
14.5 ... ABAP Development Guidelines ... 582
14.6 ... Maintaining Documentation ... 586
14.7 ... ABAP Unit Tests ... 593
14.8 ... Background Jobs ... 602
14.9 ... Tools of the Trade ... 611
14.10 ... Backward Compatibility and Dealing with Legacy Code ... 621
14.11 ... Summary ... 623
A ... Preparing Your Development Environment ... 627
A.1 ... ABAP Developer Edition Overview ... 627
A.2 ... ABAP Trial System Using SAP CAL ... 630
A.3 ... ABAP Trial System Using the Download Option ... 632
A.4 ... Getting Started with ABAP in Eclipse ... 633
A.5 ... ABAP-Based IDEs ... 639
B ... Interfaces, Forms, Enhancements ... 645
B.1 ... Interfaces ... 645
B.2 ... Output Implementation in SAP ERP ... 649
B.3 ... Enhancements ... 654
C ... Differences Between ABAP Versions ... 661
C.1 ... Release 7.0 ... 661
C.2 ... Release 7.02 (7.0 EHP 2) ... 662
C.3 ... Release 7.4 ... 663
C.4 ... Release 7.4 SP 5 ... 663
C.5 ... Release 7.4 SP 8 ... 663
C.6 ... Release 7.50 ... 664
C.7 ... Release 7.51 ... 664
C.8 ... Release 7.52 ... 664
C.9 ... Release 7.53 ... 665
D ... Other Resources ... 667
D.1 ... SAP PRESS Books ... 667
D.2 ... SAP Community ... 668
D.3 ... openSAP ... 669
D.4 ... SAP Certifications ... 669
D.5 ... SAP TechEd Conferences ... 669
D.6 ... SAP Community Events ... 670
E ... The Authors ... 671
... Index ... 673
... Audience ... 17
... Your ABAP Learning Path ... 18
1 ... Introduction to SAP's ERP Systems ... 23
1.1 ... What Are SAP and ABAP? ... 23
1.2 ... Current State of SAP's ERP Systems ... 24
1.3 ... "Old" versus "New" ABAP ... 26
1.4 ... Navigating SAP ERP Systems ... 28
1.5 ... Summary ... 34
2 ... Creating Your First Program ... 35
2.1 ... "Hello, World!" ... 35
2.2 ... Summary ... 49
3 ... ABAP 101 ... 51
3.1 ... Variables and Constants in ABAP ... 51
3.2 ... Arithmetic and Basic Math Functions ... 65
3.3 ... Flow Control ... 72
3.4 ... Selection Screen Programming ... 80
3.5 ... Event Blocks ... 92
3.6 ... Formatting Code ... 95
3.7 ... Comments ... 97
3.8 ... Debugging Basics ... 100
3.9 ... Tying It All Together ... 117
3.10 ... Summary ... 120
4 ... Data Dictionary Objects ... 121
4.1 ... What Is a Database? ... 121
4.2 ... What Is a Data Dictionary? ... 122
4.3 ... Database Design ... 123
4.4 ... Navigation to ABAP Dictionary Objects ... 127
4.5 ... Table, Data Element, and Domain ... 129
4.6 ... Training Data Model and Example Definition ... 132
4.7 ... Creating a New Domain ... 135
4.8 ... Creating a New Data Element ... 139
4.9 ... Creating and Editing Tables ... 144
4.10 ... Documentation ... 161
4.11 ... Viewing Data in the Database Tables ... 162
4.12 ... Table Maintenance Dialogs ... 170
4.13 ... Structures and Table Types ... 174
4.14 ... Search Help ... 177
4.15 ... Views ... 181
4.16 ... Summary ... 184
5 ... Accessing the Database ... 185
5.1 ... SQL Console in Eclipse ... 186
5.2 ... Reading Data ... 187
5.3 ... Changing Data ... 210
5.4 ... Table Locks ... 214
5.5 ... Performance Topics ... 224
5.6 ... Obsolete Database Access Keywords ... 226
5.7 ... Summary ... 227
6 ... Storing Data in Working Memory ... 229
6.1 ... Using ABAP Dictionary Data Types ... 229
6.2 ... Creating Data Types with the TYPE Keyword ... 231
6.3 ... Field Symbols ... 233
6.4 ... Defining Internal Tables ... 234
6.5 ... Reading Data from Internal Tables ... 241
6.6 ... Modifying Internal Tables ... 250
6.7 ... Other Internal Table Operations ... 257
6.8 ... Which Table Should Be Used? ... 261
6.9 ... Updating ABAP Dictionary Table Type ... 263
6.10 ... Obsolete Working Memory Syntax ... 265
6.11 ... Summary ... 268
7 ... Making Programs Modular ... 269
7.1 ... Separation of Concerns ... 269
7.2 ... Subroutines ... 272
7.3 ... Introduction to Object-Oriented Programming ... 274
7.4 ... Structuring Classes ... 277
7.5 ... Global Classes ... 308
7.6 ... Design Patterns ... 317
7.7 ... Function Modules ... 317
7.8 ... Summary ... 327
8 ... Error Handling ... 329
8.1 ... SY-SUBRC ... 329
8.2 ... Message Classes ... 331
8.3 ... Exception Classes ... 341
8.4 ... Non-Class-Based Exceptions ... 355
8.5 ... Summary ... 358
9 ... Presenting Data Using the ABAP List Viewer ... 361
9.1 ... What Is ALV? ... 361
9.2 ... Report Example Using an SALV Table ... 366
9.3 ... Report Example Using SALV Tree ... 371
9.4 ... ALV with Integrated Data Access ... 380
9.5 ... Outdated ALV Frameworks ... 383
9.6 ... Summary ... 386
10 ... Creating a Shopping Cart Example ... 387
10.1 ... The Design ... 388
10.2 ... Database Solution ... 392
10.3 ... Accessing the Database Solution ... 405
10.4 ... Creating a Message Class for the Solution ... 415
10.5 ... Creating Classic Screens for the Solution ... 416
10.6 ... Summary ... 429
11 ... Working with Strings and Texts ... 431
11.1 ... String Manipulation ... 431
11.2 ... Text Symbols ... 437
11.3 ... Translating Data in Tables ... 445
11.4 ... Translating Messages ... 451
11.5 ... Obsolete String and Text Commands ... 453
11.6 ... Updating the Shopping Cart Example ... 454
11.7 ... Summary ... 463
12 ... Working with Dates, Times, Quantities, and Currencies ... 465
12.1 ... Dates ... 465
12.2 ... Times ... 477
12.3 ... Quantities ... 482
12.4 ... Currencies ... 486
12.5 ... Updating the Shopping Cart Example ... 490
12.6 ... Summary ... 504
13 ... User Interface Technologies ... 505
13.1 ... Working with Classic Dynpro Screens ... 505
13.2 ... Modern UI Technologies ... 528
13.3 ... Summary ... 534
14 ... Working with ABAP Professionally ... 535
14.1 ... ABAP System Architecture Basics ... 535
14.2 ... Transport Management ... 539
14.3 ... Authorization Concept ... 550
14.4 ... Working with Files ... 566
14.5 ... ABAP Development Guidelines ... 582
14.6 ... Maintaining Documentation ... 586
14.7 ... ABAP Unit Tests ... 593
14.8 ... Background Jobs ... 602
14.9 ... Tools of the Trade ... 611
14.10 ... Backward Compatibility and Dealing with Legacy Code ... 621
14.11 ... Summary ... 623
A ... Preparing Your Development Environment ... 627
A.1 ... ABAP Developer Edition Overview ... 627
A.2 ... ABAP Trial System Using SAP CAL ... 630
A.3 ... ABAP Trial System Using the Download Option ... 632
A.4 ... Getting Started with ABAP in Eclipse ... 633
A.5 ... ABAP-Based IDEs ... 639
B ... Interfaces, Forms, Enhancements ... 645
B.1 ... Interfaces ... 645
B.2 ... Output Implementation in SAP ERP ... 649
B.3 ... Enhancements ... 654
C ... Differences Between ABAP Versions ... 661
C.1 ... Release 7.0 ... 661
C.2 ... Release 7.02 (7.0 EHP 2) ... 662
C.3 ... Release 7.4 ... 663
C.4 ... Release 7.4 SP 5 ... 663
C.5 ... Release 7.4 SP 8 ... 663
C.6 ... Release 7.50 ... 664
C.7 ... Release 7.51 ... 664
C.8 ... Release 7.52 ... 664
C.9 ... Release 7.53 ... 665
D ... Other Resources ... 667
D.1 ... SAP PRESS Books ... 667
D.2 ... SAP Community ... 668
D.3 ... openSAP ... 669
D.4 ... SAP Certifications ... 669
D.5 ... SAP TechEd Conferences ... 669
D.6 ... SAP Community Events ... 670
E ... The Authors ... 671
... Index ... 673