Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Preface
15
1 Introduction to Modern ABAP Development
21
1.1 The Role of ABAP in SAP Development
22
1.2 The New Development Model for ABAP
23
1.3 The ABAP Language Version
25
1.4 APIs Released via Release Contracts
30
1.5 Development Environment
32
1.6 Programming Model
32
1.7 Usage Scenarios for ABAP Cloud
34
1.8 ABAP Releases On-Premise and in the Cloud
37
1.9 Restrictions Depending on the Release and Runtime Environment
38
1.10 Summary
39
2 The Application Scenario
41
2.1 Concept of the Sample Application
41
2.2 Creating Dictionary Objects
45
2.3 Generating an ABAP RESTful Application Programming Model Application
52
2.3.1 Generating an OData Service and a Virtual Data Model
53
2.3.2 Generated CDS Entities of the ABAP RESTful Application Programming Model Application
56
2.3.3 Publishing the OData Service
64
2.3.4 Testing the Application
65
2.4 Creating Associations
66
2.5 Application Scenario from a User’s Perspective
73
2.6 Summary
76
3 Handling System Fields and Runtime Information
79
3.1 System Fields in ABAP Cloud
80
3.2 Overview of the Available APIs
82
3.3 Access to Time Information
83
3.4 Accessing User Data
90
3.5 Access to Technical Information on the Current Program Execution
92
3.6 Accessing Messages
94
3.7 Accessing System Data
95
3.8 Summary
97
4 Table Analysis
99
4.1 Table Analysis Using the Customer Data Browser
100
4.2 Table Analysis Using ABAP Development Tools
106
4.3 Summary
110
5 Table Maintenance Using Business Configuration Maintenance Objects
111
5.1 Overview of the New Table Maintenance Concept
112
5.2 Creating Customizing Tables
114
5.3 Generating the Business Configuration App
124
5.4 Assigning Authorizations
132
5.5 Configuration from a User’s Perspective
136
5.6 Settings in the Business Configuration Maintenance Object
143
5.7 Lifecycle Management with Deprecation
145
5.8 Documenting Business Configuration Maintenance Objects
148
5.9 Summary
150
6 Application Logs
151
6.1 Application Log for the Sample Application
152
6.2 Maintaining Application Log Objects and Subobjects
155
6.3 The BALI API
159
6.4 Creating a Log
161
6.4.1 Adding Free Text Messages
163
6.4.2 Adding Messages from Message Classes
165
6.4.3 Adding Messages from Exception Classes
169
6.5 Saving a Log
172
6.6 Displaying Logs
174
6.7 Summary
175
7 Change Documents
177
7.1 Maintaining Change Document Objects in the ABAP Development Tools
178
7.2 Calling the Logging Function via the Generated Class
182
7.3 Change Document Update Using the ABAP RESTful Application Programming Model
189
7.4 Displaying Change Documents
195
7.5 Summary
197
8 Lock Objects
199
8.1 Lock Mechanisms in the Database Environment
199
8.2 Locks on the ABAP Platform
203
8.3 Using Lock Objects
204
8.4 API for Lock Objects
206
8.5 Integration into the Sample Application
212
8.6 Summary
215
9 Number Range Objects
217
9.1 Number Ranges in SAP Systems
218
9.2 Maintaining a Number Range
218
9.3 API for Number Range Objects
223
9.4 Numbering in the ABAP RESTful Application Programming Model
226
9.4.1 Unmanaged Early Numbering
227
9.4.2 External Early Numbering
231
9.4.3 Managed Early Numbering
233
9.5 Summary
235
10 Background Processing
237
10.1 Developing an Execution Logic
238
10.2 Creating Application Jobs
242
10.2.1 Creating an Application Job Catalog Entry
243
10.2.2 Creating an Application Job Template
245
10.2.3 Creating an Application Job
246
10.3 Checks
252
10.4 Logging
257
10.5 Summary
259
11 Email Dispatch
261
11.1 Configuring and Monitoring the Email Dispatch
262
11.2 ABAP Cloud API for the Email Dispatch
265
11.3 Integrating the Newsletter Dispatch into the Recipe Portal
271
11.3.1 Creating an Application Job
272
11.3.2 Email with Error Message
274
11.4 Summary
278
12 Parallelizing Application Logic
279
12.1 Parallelization on the ABAP Platform
280
12.2 The CL_ABAP_PARALLEL Class
281
12.3 Refactoring the Sample Application
285
12.3.1 Implementing the IF_ABAP_PARALLEL Interface
288
12.3.2 Sequence and Debugging of Parallel Processes
294
12.4 Summary
297
13 File Upload
299
13.1 Extending the Sample Application to Include a File Upload Option
299
13.2 Summary
308
14 Using Excel Files
309
14.1 Creating an Excel File
313
14.1.1 Creating the Action
313
14.1.2 Creating the Excel Document
314
14.1.3 Creating the Workbook
315
14.1.4 Writing the Recipe Data to the Worksheet
315
14.1.5 Addition to the Header
317
14.1.6 Adding Another Worksheet
318
14.1.7 Saving the Excel File
320
14.1.8 Testing the Application
321
14.2 Reading an Excel File
324
14.2.1 Creating the Action
324
14.2.2 Creating the Document Object
324
14.2.3 Reading a Worksheet
325
14.2.4 Reading the Header
326
14.2.5 Reading Data into an Internal Table
328
14.2.6 Executing the Mass Change
330
14.2.7 Testing the Application
332
14.3 Summary
333
15 Documenting Development Objects
335
15.1 ABAP Doc
336
15.2 Knowledge Transfer Document
343
15.2.1 Creating a Knowledge Transfer Document
343
15.2.2 Linking a Knowledge Transfer Document to a Development Object
347
15.3 Summary
350
16 Authorizations
351
16.1 Authorization Checks for Read Operations
352
16.2 Authorization Checks for Change Operations
357
16.2.1 Global Authorizations
358
16.2.2 Instance-Dependent Authorizations
361
16.2.3 Authorization Precheck
363
16.3 Summary
365
17 Using APIs
367
17.1 Finding the Right APIs
368
17.1.1 Successor Objects
368
17.1.2 Searching via CDS Entity I_APIsForCloudDevelopment
370
17.1.3 Searching via the Open ABAP Development Object Dialog Box
371
17.1.4 Searching via ABAP Object Search
373
17.1.5 Grouping and Filtering in Project Explorer
374
17.1.6 External Search Options
378
17.2 Calling APIs Based on the ABAP RESTful Application Programming Model via EML
381
17.3 Summary
385
18 Extensions in ABAP Cloud
387
18.1 Key User Extensibility
388
18.1.1 Setting Up the Adaptation Transport Organizer
388
18.1.2 Custom Fields
391
18.1.3 Custom Logic
396
18.1.4 Transporting Key User Extensions
400
18.1.5 Custom CDS Views
403
18.2 Developer Extensibility
408
18.2.1 Extending Database Tables
409
18.2.2 Extending CDS Entities
411
18.2.3 Implementing Custom Logic
414
18.3 Summary
417
19 Outlook
419
A Installing the Sample Application
427
B Naming Conventions for the Sample Application
429
C Installing the ABAP Development Tools for Eclipse
433
D The Authors
435
Index
437