S4D400
Basic ABAP Programming
.
.
COURSE OUTLINE
.
Course Version: 24
Course Duration:
SAP Copyrights, Trademarks and
Disclaimers
© 2025 SAP SE or an SAP affiliate company. All rights reserved.
No part of this publication may be reproduced or transmitted in any form or for any purpose without the
express permission of SAP SE or an SAP affiliate company.
SAP and other SAP products and services mentioned herein as well as their respective logos are
trademarks or registered trademarks of SAP SE (or an SAP affiliate company) in Germany and other
countries. Please see https://www.sap.com/corporate/en/legal/copyright.html for additional
trademark information and notices.
Some software products marketed by SAP SE and its distributors contain proprietary software
components of other software vendors.
National product specifications may vary.
These materials may have been machine translated and may contain grammatical errors or
inaccuracies.
These materials are provided by SAP SE or an SAP affiliate company for informational purposes only,
without representation or warranty of any kind, and SAP SE or its affiliated companies shall not be liable
for errors or omissions with respect to the materials. The only warranties for SAP SE or SAP affiliate
company products and services are those that are set forth in the express warranty statements
accompanying such products and services, if any. Nothing herein should be construed as constituting an
additional warranty.
In particular, SAP SE or its affiliated companies have no obligation to pursue any course of business
outlined in this document or any related presentation, or to develop or release any functionality
mentioned therein. This document, or any related presentation, and SAP SE’s or its affiliated companies’
strategy and possible future developments, products, and/or platform directions and functionality are
all subject to change and may be changed by SAP SE or its affiliated companies at any time for any
reason without notice. The information in this document is not a commitment, promise, or legal
obligation to deliver any material, code, or functionality. All forward-looking statements are subject to
various risks and uncertainties that could cause actual results to differ materially from expectations.
Readers are cautioned not to place undue reliance on these forward-looking statements, which speak
only as of their dates, and they should not be relied upon in making purchasing decisions.
© Copyright. All rights reserved. iii
Typographic Conventions
American English is the standard used in this handbook.
The following typographic conventions are also used.
This information is displayed in the instructor’s presentation
Demonstration
Procedure
Warning or Caution
Hint
Related or Additional Information
Facilitated Discussion
User interface control Example text
Window title Example text
iv © Copyright. All rights reserved.
Contents
vii Course Overview
1 Unit 1: Getting Started
1 Lesson: Preparing the Development Environment
1 Lesson: Taking a First Look at ABAP
1 Lesson: Understanding Software Structure and Logistics
1 Lesson: Developing Your First ABAP Application
3 Unit 2: Applying Basic Techniques and Concepts
3 Lesson: Understanding the Basics of ABAP
3 Lesson: Working With Basic Data Objects and Data Types
3 Lesson: Processing Data
3 Lesson: Using Control Structures in ABAP
3 Lesson: Working with Simple Internal Tables
4 Lesson: Debugging an ABAP Program
5 Unit 3: Working with Local Classes
5 Lesson: Defining a Local Class
5 Lesson: Creating Instances of a Class
5 Lesson: Defining and Calling Methods
5 Lesson: Using Encapsulation to Ensure Consistency
7 Unit 4: Reading Data from the Database
7 Lesson: Investigating a Table Definition
7 Lesson: Implementing Basic SELECT Statements
7 Lesson: Working with CDS View
9 Unit 5: Working with Structured Data Objects
9 Lesson: Declaring a Structured Data Object
9 Lesson: Working with Structured Data Objects
11 Unit 6: Working with Complex Internal Tables
11 Lesson: Declaring a Complex Internal Table
11 Lesson: Working with Complex Internal Tables
13 Unit 7: Implementing Database Updates Using Business Objects
13 Lesson: Analyzing a Business Object
13 Lesson: Using the Entity Manipulation Language
© Copyright. All rights reserved. v
15 Unit 8: Describing the ABAP RESTful Application Programming Model
15 Lesson: Introducing the Programming Model
15 Lesson: Exploring the Architecture
15 Lesson: Adding ABAP logic
15 Lesson: Improving the User Experience
vi © Copyright. All rights reserved.
Course Overview
TARGET AUDIENCE
This course is intended for the following audiences:
● Development Consultant
● Developer
© Copyright. All rights reserved. vii
viii © Copyright. All rights reserved.
UNIT 1 Getting Started
Lesson 1: Preparing the Development Environment
Lesson Objectives
After completing this lesson, you will be able to:
● Create an ABAP Cloud project
Lesson 2: Taking a First Look at ABAP
Lesson Objectives
After completing this lesson, you will be able to:
● Work with a development object
Lesson 3: Understanding Software Structure and Logistics
Lesson Objectives
After completing this lesson, you will be able to:
● Create an ABAP package
Lesson 4: Developing Your First ABAP Application
Lesson Objectives
After completing this lesson, you will be able to:
● Create a 'Hello World' application
© Copyright. All rights reserved. 1
Unit 1: Getting Started
2 © Copyright. All rights reserved.
UNIT 2 Applying Basic Techniques and
Concepts
Lesson 1: Understanding the Basics of ABAP
Lesson Objectives
After completing this lesson, you will be able to:
● Describe the evolution of ABAP
● Describe the basics of ABAP syntax
Lesson 2: Working With Basic Data Objects and Data Types
Lesson Objectives
After completing this lesson, you will be able to:
● Declare data objects
● Assign values
Lesson 3: Processing Data
Lesson Objectives
After completing this lesson, you will be able to:
● Perform arithmetic calculations
● Apply string processing
Lesson 4: Using Control Structures in ABAP
Lesson Objectives
After completing this lesson, you will be able to:
● Implement conditional branching
● Handle Exceptions
● Implement Iterations
Lesson 5: Working with Simple Internal Tables
Lesson Objectives
© Copyright. All rights reserved. 3
Unit 2: Applying Basic Techniques and Concepts
After completing this lesson, you will be able to:
● Define simple internal tables
● Process data using simple internal tables
Lesson 6: Debugging an ABAP Program
Lesson Objectives
After completing this lesson, you will be able to:
● Enter debugging mode
● Control the execution of code
● Analyze the content of data objects
4 © Copyright. All rights reserved.
UNIT 3 Working with Local Classes
Lesson 1: Defining a Local Class
Lesson Objectives
After completing this lesson, you will be able to:
● Define a local class inside a global class
Lesson 2: Creating Instances of a Class
Lesson Objectives
After completing this lesson, you will be able to:
● Create Instances of an ABAP Class
Lesson 3: Defining and Calling Methods
Lesson Objectives
After completing this lesson, you will be able to:
● Define and call methods
Lesson 4: Using Encapsulation to Ensure Consistency
Lesson Objectives
After completing this lesson, you will be able to:
● Explain encapsulation
● Define and use constructors
© Copyright. All rights reserved. 5
Unit 3: Working with Local Classes
6 © Copyright. All rights reserved.
UNIT 4 Reading Data from the
Database
Lesson 1: Investigating a Table Definition
Lesson Objectives
After completing this lesson, you will be able to:
● Investigate a table definition
Lesson 2: Implementing Basic SELECT Statements
Lesson Objectives
After completing this lesson, you will be able to:
● Describe basic features of ABAP SQL
● Read single values from the database
Lesson 3: Working with CDS View
Lesson Objectives
After completing this lesson, you will be able to:
● Analyze a CDS view definition
● Read data using a CDS view
© Copyright. All rights reserved. 7
Unit 4: Reading Data from the Database
8 © Copyright. All rights reserved.
UNIT 5 Working with Structured Data
Objects
Lesson 1: Declaring a Structured Data Object
Lesson Objectives
After completing this lesson, you will be able to:
● Declare a structured data object
Lesson 2: Working with Structured Data Objects
Lesson Objectives
After completing this lesson, you will be able to:
● Work with structured data objects
● Use structured data objects in ABAP SQL
© Copyright. All rights reserved. 9
Unit 5: Working with Structured Data Objects
10 © Copyright. All rights reserved.
UNIT 6 Working with Complex Internal
Tables
Lesson 1: Declaring a Complex Internal Table
Lesson Objectives
After completing this lesson, you will be able to:
● Declare a complex internal table
Lesson 2: Working with Complex Internal Tables
Lesson Objectives
After completing this lesson, you will be able to:
● Fill complex internal tables with data
● Access the content of complex internal tables
● Use complex internal tables in ABAP SQL
© Copyright. All rights reserved. 11
Unit 6: Working with Complex Internal Tables
12 © Copyright. All rights reserved.
UNIT 7 Implementing Database
Updates Using Business
Objects
Lesson 1: Analyzing a Business Object
Lesson Objectives
After completing this lesson, you will be able to:
● Analyze a business object
Lesson 2: Using the Entity Manipulation Language
Lesson Objectives
After completing this lesson, you will be able to:
● Implement an EML statement
© Copyright. All rights reserved. 13
Unit 7: Implementing Database Updates Using Business Objects
14 © Copyright. All rights reserved.
UNIT 8 Describing the ABAP RESTful
Application Programming
Model
Lesson 1: Introducing the Programming Model
Lesson Objectives
After completing this lesson, you will be able to:
● Describe the process to develop an OData service with the ABAP RESTful application programming
model
Lesson 2: Exploring the Architecture
Lesson Objectives
After completing this lesson, you will be able to:
● Create a database table
● Generate the development objects for an OData UI service
Lesson 3: Adding ABAP logic
Lesson Objectives
After completing this lesson, you will be able to:
● Implement the behavior of a Business Object
Lesson 4: Improving the User Experience
Lesson Objectives
After completing this lesson, you will be able to:
● Arrange fields in the app
● Provide input help
© Copyright. All rights reserved. 15