Ready to get cooking with ABAP? Discover shortcuts and solutions for all of your regular ABAP tasks in this practical guide. Walk step by step through important programming techniques and tools, from table management to extension implementation, following "recipes" for each task along the way. Make the most of new models and frameworks with examples built around ABAP Cloud and the ABAP RESTful application programming model. Get all the solutions you need for the most common problems in ABAP development! Highlights include: System fields and runtime information, Customer data browser, Application log, Change documents, Lock objects, Number range objects, File upload, Background processing, Parallelization, Email, and Documentation.
AI Reading Assistant
Whole-book reading guide from stratified index samples; jump to passages in the text
Tip the Site
Support this siteYour recognition and a small knowledge-service contribution help keep this technical work open source.Scan the WeChat Pay or Alipay code below. Logged-in and guest visitors can both tip.
WeChat Pay
Alipay
Open WeChat or Alipay and scan. No login required.
AI guide
# ABAP® Cookbook: A Practical Guide to Modern ABAP Development
## 【One-Line Pitch】
A hands-on recipe collection for ABAP developers who want to master modern development techniques—from ABAP Cloud fundamentals to practical solutions for everyday tasks like logging, locking, and background processing. Ideal for both on-premise developers modernizing their skills and cloud-focused teams building with the ABAP RESTful application programming model (RAP).
## 【Book Arc】
- **Opening (~0%–10%)**: Introduces the book's scope and the rationale behind ABAP Cloud—why cloud environments require stricter language versions, what problems this solves (upgrade stability, tenant isolation, unavailable SAP GUI features), and how the same rules benefit on-premise deployments through the "clean core" concept.
- **Early (~10%–23%)**: Walks through setting up a development environment with ABAP development tools (Eclipse-based), creating a sample "Recipe" application package, and generating a complete RAP application—covering domains, database tables, CDS view entities, projection entities, and behavior definitions.
- **Early (~23%–32%)**: Extends the sample application with relationships between CDS entities and behavior definitions, then shifts to runtime information—accessing system date/time, timestamps (including precision differences between DEC(21,7) and DEC(15,0)), and technical program execution details like callstacks via the XCO library.
- **Middle (~39%–48%)**: Covers table analysis using the Customer Data Browser—a self-service tool for viewing CDS view data with filtering, column selection, and entry counting—plus the SQL console for direct database access. Then moves into creating Customizing tables with timestamp fields for optimistic locking and deprecation codes.
- **Middle (~48%–60%)**: Continues with Business Configuration Maintenance Objects—generating Fiori-based maintenance interfaces for customizing settings, including service definitions and bindings for OData V4 UI services, positioning this as the modern successor to classic table maintenance dialogs.
- **Late (~60%–100%)**: Covers application logging with new class-based APIs, change document tracking for master and transaction data, lock object APIs, number range objects (including RAP numbering strategies), background processing with application jobs, and email dispatch configuration and APIs.
## 【Key Takeaways】
- **ABAP Cloud is about restrictions that prevent problems** (Early): By flagging unsupported constructs as syntax errors—like CALL SCREEN, OPEN DATASET, or direct UPDATE on standard tables—ABAP Cloud ensures code is cloud-ready and upgrade-stable. Even on-premise teams benefit from voluntarily adopting these rules for smoother upgrades.
- **The ABAP language version is per repository object** (Early): Setting "ABAP for Cloud Development" at the package level enforces compliance across all contained objects. This granular control lets you mix classic and cloud development in the same system.
- **ABAP development tools are mandatory for ABAP Cloud** (Early): The Eclipse-based environment offers refactoring, quick fixes, automatic syntax checking, and object documentation—features unavailable in the SAP GUI-based Workbench. The Joule AI wizard (release 2502) can explain legacy code and suggest improvements.
- **RAP generation creates a layered architecture** (Early): The generator produces base entities, projection entities, and behavior definitions with strict separation—projections add provider contracts like `transactional_query` and can expose only needed fields while delegating behavior to the base entity.
- **Timestamp precision matters more than you think** (Early): `GET TIME STAMP` with inline declarations may use the less precise DEC(15,0) type (second-level precision) instead of DEC(21,7) (100-nanosecond precision). Always verify which timestamp format your application actually needs.
- **The XCO library provides modern runtime introspection** (Early): Instead of legacy system calls, `xco_cp=>current->call_stack` lets you query, filter, and format callstacks—including ADT-format output matching the debugger view—using a clean, chainable API.
- **Customer Data Browser is a self-service data exploration tool** (Middle): Create a customer data browser object to let authorized users view CDS view data with filtering, column selection, and row counting—without writing a single line of UI code.
- **Customizing tables need specific fields for RAP integration** (Middle): Timestamp fields (`LOCAL_LAST_CHANGED_AT`, `LAST_CHANGED_AT`) enable optimistic locking, while the optional `CONFIG_DEPRECATION_CODE` field supports lifecycle management of configuration entries.
## 【Reading Tips】
- **Skim Chapter 1 if you're already cloud-savvy**: The ABAP Cloud rationale and language version explanation are essential for beginners but review-level for experienced developers. Focus on Section 1.7 (clean core) if you're on-premise.
- **Deep-read the sample application chapters (2, 5)**: The Recipe application is the book's backbone—understanding how domains, tables, CDS views, and behavior definitions connect will make every later chapter easier. Follow along in your own system if possible.
- **Pay attention to timestamp and precision discussions**: These details (Chapter 3) are easy to skim but cause real bugs. The distinction between TIMESTAMPL and TIMESTAMP formats, and when inline declarations silently reduce precision, is worth bookmarking.
- **Use the later chapters as reference recipes**: Chapters 6–11 (logging, change documents, locks, number ranges, background processing, email) are structured as independent solutions—read them when you need them rather than sequentially.
- **Watch for ABAP Cloud vs. classic differences**: The book explicitly notes where new class-based APIs replace old function modules (e.g., application logs). If you're maintaining legacy code, these migration patterns are valuable.
## 【Coverage Limits】
The excerpts cover the book's introduction, sample application setup, runtime information access, table analysis, and Customizing table creation in detail. Later chapters (application logs, change documents, locks, number ranges, background processing, email) are listed in the table of contents but their detailed content is not fully covered in the source material.
##
day-to-day development work by explaining legacy code, sug- gesting code snippets, or generating unit tests directly in the ABAP devel- opment tools. These f...
cations that use timestamps usu- differences in timestamps ally work with UTC anyway, so that no conversion logic is usually required. However, you should pa...
shed definition of the database table is shown in Listing 5.4. @EndUserText.label : 'Labels Texts' @AbapCatalog.enhancement.category : #NOT_EXTENSIBLE @AbapC...
he create_from_sy method. You can use the INTO addition to the MESSAGE statement to specify a dummy variable and thus disable the flow control by message typ...
the context differ from the values of a normal lock entry. This is due to the automatic lock implementation in the ABAP RESTful application programming model...
objects or just a status. The caller collects the partial results of all started processes and hopes for a performance gain compared to the sequential execut...
pen the SAP Fiori app again, two icons are displayed below application again the Recipe Picture label (see Figure 13.2). Figure 13.2 SAP Fiori App with Icon...
Support this siteYour recognition and a small knowledge-service contribution help keep this technical work open source.
Scan the WeChat Pay or Alipay code below. Logged-in and guest visitors can both tip.
WeChat PayAlipay
Open WeChat or Alipay and scan. No login required.
Add Tag
Enter tag name (max 50 characters)
Share E-Book
ABAP® Cookbook (Fabian Lupa, Sven Treutler)(Z-Library)
Scan QR code with your phone to access
Copy the link or scan the QR code to access this e-book on your phone
Share E-Book via Email
Please enter email address
Donation Statistics
¥.00
Total Donations
0
Donation Count
ABAP® Cookbook (Fabian Lupa, Sven Treutler)(Z-Library)
Find Your Favorite Books
Only registered users can comment after logging in. Comments need to be reviewed by administrators before being displayed
Loading comments...
Reply to Comment
Edit Comment