Technology Blog Posts by SAP
cancel
Showing results for 
Search instead for 
Did you mean: 
danreg
Product and Topic Expert
Product and Topic Expert
170,075

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 🤔?

ABAP Cheat Sheets are there to support you!

 

🔗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".

What are ABAP Cheat Sheets?


They …

  • provide a collection of information on selected ABAP topics in a nutshell for your reference.
  • focus on ABAP syntax, keywords and additions to ABAP statements.
  • include code snippets.
  • are supported by easy-to-consume demonstration examples that you can import into your SAP BTP ABAP environment or on-premise ABAP system using abapGit for you to run and check out ABAP syntax in action in simple contexts.
  • do not claim to be fully comprehensive as far as the concepts and syntax options are concerned. Since they are enriched by links to glossary entries and chapters of the ABAP Keyword Documentation (the F1 help), and others, they invite you to explore them further.

Currently available cheat sheets

 

Cheat SheetTopics Covered
ABAP for Cloud DevelopmentBriefly 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 BytesCovers the technical background of data types and data objects
ABAP SQL: Working with HierarchiesSummarizes the functions ABAP SQL offers together with ABAP CDS for working with hierarchical data that is stored in database tables
Internal Tables: GroupingCovers 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 LUWProvides 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.
Note: The content of this cheat sheet is only relevant to classic ABAP. 
Selection Screens and Classic ListsProvides 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 ABAPCovers processing XML using class libraries, XML transformations, serializations (ABAP to XML) and deserializations (XML to ABAP), and dealing with JSON data
Released ABAP ClassesContains a selection of ABAP classes, serving as a quick introduction, along with code snippets to explore the functionality in action
Date, Time, and Time StampsCovers how to handle and process dates, times, and time stamps in ABAP
Built-In FunctionsCovers a variety of built-in functions in ABAP
Authorization ChecksProvides 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 ErrorsProvides 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

 

Branches of the ABAP Cheat Sheet GitHub Repository

 

BranchEnvironmentNotes
mainSAP BTP ABAP EnvironmentContains the main examples of the ABAP cheat sheet repository
rapSAP BTP ABAP EnvironmentFeatures 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.
v755v756v757v758v816System 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_patternsSAP BTP ABAP EnvironmentContains 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.

41 Comments