Hi ABAP folks,
There‘s a popular internet meme out there: "One does not simply ...".
It comes from the statement "One does not simply walk into Mordor" made by Boromir, a member of the fellowship in the first Lord of the Rings movie, who is doubtful about the mission‘s prospects of success regarding the destruction of the one ring in Mount Doom - a volcano 🌋 in the realm of Mordor.
Maybe you were or are faced with a similarly tough mission when dealing with or learning ABAP. You could well argue that one does not simply understand ABAP 😅.
How about some info and code snippets on dedicated ABAP topics, concepts and syntax in a nutshell to get some basic equipment on the mission when advancing (certainly less belligerently than the fellowship mentioned above) into the realm of ABAP 🤔?
🔗https://github.com/SAP-samples/abap-cheat-sheets
No, it's not about foul tricks and cheating. And no teacher will disapprove.
According to Merriam-Webster Dictionary 📚, a cheat sheet is a "written [...] aid (such as a sheet of notes) that can be referred to for help in understanding or remembering something complex".
They …
| Cheat Sheet | Topics Covered |
| ABAP for Cloud Development | Briefly covers the terms ABAP Cloud and classic ABAP to set the context for ABAP for Cloud Development |
| Data Types and Data Objects | Contains basic information about data types and data objects in ABAP: declaring data types and data objects, local and global data types, generic types, assigning values to data objects, inline declaration, constants and immutable variables, enumerated types |
| Internal Tables | Properties of internal tables, creating internal tables and table types, specifying table keys, line and table type options, populating internal tables, constructor expressions, reading single lines, table expressions, processing multiple internal lines sequentially, modifying, deleting, sorting, and grouping internal table content, getting information about internal tables, table lines and table types, operations with internal tables using ABAP SQL SELECT statements |
| Structures | Some basics when working with structures such as local and global structure and structured types, creating structures and types, inline declaration, constant and immutable structures, enumerated structures, variants of structures, accessing structures and their components, populating structures, clearing structures, examples of processing structures in the context of ABAP SQL statements and internal tables, including structures |
| ABAP SQL | Read operations using SELECT and related syntax options, combining data of multiple data sources, common table expressions, SQL conditions, SQL operands, SQL expressions such as arithmetic, cast, string, case, aggregate, window and null expressions, built-in SQL functions such as numeric, string, coalesce, conversion, date and time functions, changing data in data sources using create, update, and delete operations |
| ABAP Object Orientation | Working with objects and components, creating global and local classes, visibility of components, defining components, class attributes, methods, parameter interface, formal and actual parameters, typing of formal parameters, constructors, declaring object reference variables, creating objects, working with reference variables, accessing attributes, calling methods, method chaining and chained attribute access, inheritance and related syntax, polymorphism and casting (upcast/downcast), defining and implementing interfaces, declaring friendship between classes, events, ABAP Doc comments |
| Constructor Expressions | Covers constructor expressions with operators such as VALUE, CORRESPONDING, NEW, CONV, EXACT, REF, CAST, COND, SWITCH, FILTER, REDUCE, iteration expressions with FOR, LET expressions, grouping lines in internal tables with VALUE and REDUCE |
| Dynamic Programming | Covers field symbols and data references as supporting elements for dynamic programming, dynamic ABAP statements, dynamic ASSIGN, creating anonymous data objects dynamically, creating instances of classes dynamically, accessing structure components dynamically, dynamic specifications in statements for processing internal tables, dynamic ABAP SQL statements, dynamic method calls, security considerations in dynamic programming using external input, runtime type services (RTTS), i. e. runtime type identification (RTTI) and runtime type creation (RTTC), creating elementary, structured, table and reference types dynamically using type description objects, excursion into dynamic program development techniques in Standard ABAP |
| String Processing | Creating strings and assigning values, string templates, determining the length of strings, concatenating strings, splitting strings, transforming string to lowercase and uppercase, shifting strings, condensing strings, reversing strings, accessing and inserting substrings, search and replace operations, pattern-based searching, comparison operators |
| ABAP for RAP: Entity Manipulation Language (ABAP EML) | RAP behavior definitions (BDEF), ABAP behavior pools (ABP), RAP handler and saver classes and methods, RAP auxiliary classes, BDEF derived types, components and constants of BDEF derived types, type mapping for RAP, ABAP EML syntax including ABAP EML syntax for modifying operations (create, update and delete operations, executing actions) and reading operations (including read-by-association operations), dynamic ABAP EML statements, committing to the database and rolling back, raising RAP business events, RAP excursions such as ensuring data consistency in a RAP transaction |
| RAP Behavior Definition Language | Highlights key features and syntax options of the RAP Behavior Definition Language (BDL) for designing RAP behavior definitions (BDEF) |
| Excursion Down to Bits and Bytes | Covers the technical background of data types and data objects |
| ABAP SQL: Working with Hierarchies | Summarizes the functions ABAP SQL offers together with ABAP CDS for working with hierarchical data that is stored in database tables |
| Internal Tables: Grouping | Covers the GROUP BY clause in statements for internal tables. |
| ABAP Managed Database Procedures (AMDP) | Covers ABAP Managed Database Procedures (AMDP): AMDP classes, methods, procedures, functions (AMDP table functions, CDS table functions, AMDP scalar functions), information about using AMDP in ABAP for Cloud Development |
| Program Flow Logic | Expressions and functions for conditions, control structures (IF, CASE), loops (DO, WHILE), calling procedures (including calling function modules), interrupting the program execution |
| ABAP Unit Tests | Contains basic information about unit testing in ABAP including creating test classes and methods, implementing test methods, evaluating the test result, special methods for the test fixture, handling dependencies, creating and implementing test doubles, injecting test doubles, test seams, creating test doubles using ABAP frameworks |
| CDS View Entities | The cheat sheet provides references to information on ABAP CDS. The focus is on examples contained in the repository. They cover topics such as input parameters, specifying fields of the data source, typed and untyped literals, session variables, multiple expressions such as cast expressions, reuse expressions, arithmetic expressions, case expressions, logical expressions, built-in functions, numeric functions, string functions, coalesce function, date and time functions, aggregate expressions, inner joins, left outer joins, right outer joins, cross joins, associations. |
| SAP LUW | Provides a high-level overview of the SAP LUW concept with a focus on SAP LUW-related statements. Note: Several statements covered in the cheat sheet and the executable example are only relevant to classic ABAP. |
| Dynpro | Provides a high-level overview of dynpro topics with a focus on dynpro-related statements: dynpro flow logic, dialog modules, transporting data between dynpros and ABAP programs, dynpro fields, OK field, function codes, input checks, field and input help, dynpro sequence, calling and leaving dynpros, modifying static attributes of screen elements, GUI status and title, table, tabstrip and GUI controls. |
| Selection Screens and Classic Lists | Provides a high-level overview of selection screens and classic lists with a focus on related statements. It includes an excursion into the SAP List Viewer (ALV). Note: The content of this cheat sheet is only relevant to classic ABAP. |
| Working with XML and JSON in ABAP | Covers processing XML using class libraries, XML transformations, serializations (ABAP to XML) and deserializations (XML to ABAP), and dealing with JSON data |
| Released ABAP Classes | Contains a selection of ABAP classes, serving as a quick introduction, along with code snippets to explore the functionality in action |
| Date, Time, and Time Stamps | Covers how to handle and process dates, times, and time stamps in ABAP |
| Built-In Functions | Covers a variety of built-in functions in ABAP |
| Authorization Checks | Provides a high-level overview of explicit and implicit authorization checks in ABAP |
| ABAP Dictionary (DDIC) | Covers a selection of repository objects in the ABAP Dictionary (DDIC) that represent global types |
| Exceptions and Runtime Errors | Provides an overview on exceptions and runtime errors |
| Regular Expressions in ABAP | Includes an overview of common regular expressions and their use in ABAP through statements, built-in functions, and system classes |
| Numeric Operations in ABAP | Explores various aspects of numeric operations and calculations in ABAP |
| Generative AI | Provides references to detailed information on Generative AI in ABAP Cloud and explores released ABAP classes available in the ABAP AI SDK powered by Intelligent Scenario Lifecycle Management. |
Explores syntax options in ABAP statements that include WHERE for data filtering | |
Explores a selection of performance-related examples, aimed to illustrate potentially inefficient techniques and use of statements | |
Summarizes a selection of release news from the ABAP Keyword Documentation for both versions of the ABAP language, ABAP for Cloud Development and Standard ABAP | |
| Does not cover ABAP-specific topics, but rather focuses on ABAP code experiments that explore design patterns in object-oriented programming | |
| Provides a high-level overview of enhancements using BAdIs (Business Add-Ins), focusing on related ABAP syntax |
| Branch | Environment | Notes |
| main | SAP BTP ABAP Environment | Contains the main examples of the ABAP cheat sheet repository |
| rap | SAP BTP ABAP Environment | Features simplified, non-semantic demo RAP BOs designed to illustrate a selection of RAP-related features, syntax, and concepts. Find more information here. The examples are related to the RAP BDL and ABAP EML cheat sheets. |
| v755, v756, v757, v758, v816 | System that supports classic ABAP (the branch names indicate the ABAP release version) | Contains many of the main examples and includes examples for classic ABAP only topics such as dynpro |
| oo_patterns | SAP BTP ABAP Environment | Contains ABAP code explorations and experiments trying to illustrate various object-oriented design patterns. The examples are related to the ABAP Examples Using Object-Oriented Design Patterns cheat sheet. |
If you spot any errors, please create an issue in the GitHub repository.
Cheers.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
| User | Count |
|---|---|
| 46 | |
| 40 | |
| 38 | |
| 35 | |
| 30 | |
| 28 | |
| 27 | |
| 24 | |
| 24 | |
| 23 |