In the unmanaged RAP exercise, we explored how EML can be used to call a RAP Business Object for the Bank example. But here is the real question: how well do you really understand EML?
Reading about EML and writing EML are two very different experiences.
This article helps bridge that gap. We will walk through what EML is, why you must learn it, where to study it, and most importantly, how to practice it in real RAP applications.
What is EML?
Entity Manipulation Language (EML) is the RAP-specific language used to perform CRUD operations on RAP Business Objects. It lets you interact with both managed and unmanaged BOs while ensuring consistency, validation, and transactional integrity.
In many ways, EML is the modern successor to function modules and BAPIs - built specifically for the RAP environment.
With EML, you can:
-
Create headers, items, and child entities
-
Read and retrieve BO data
-
Update fields and trigger recalculations
-
Delete entities
-
Execute actions such as approve, reject, or calculate totals
-
Perform deep operations (for example, header + items in one request)
-
Work with draft instances and autosave flows
EML is type-safe, transactional, and governed by RAP’s strict mode - meaning direct SQL is no longer the right tool for interacting with Business Objects.
Why Should You Learn EML?
If you are developing or extending RAP applications, EML becomes essential. You will use it in:
-
Behavior implementations (actions, determinations, validations)
-
Classic ABAP programs calling RAP BOs
-
Unit testing and console-based debugging
-
External integrations consuming RAP APIs
In short, EML sits at the core of RAP development.
The Official SAP Resource
Before diving into hands-on work, it's important to understand the fundamentals. SAP provides a thorough reference:
SAP Help Portal – EML Documentation
The primary source for syntax, keywords, and structured examples.
The Gap Between Theory and Real Work
Most developers experience the same pattern:
-
You read the documentation.
-
You watch videos.
-
You understand the syntax.
And then, when it’s time to write EML in an actual project, you hesitate.
That hesitation comes from a simple truth: EML requires practical exposure.
You need real BOs, real behavior definitions, and real business scenarios to understand how everything fits together.
The Solution: Practicing on Real RAP Apps
This is why structured, hands-on practice is the fastest path to mastery.
I designed the SAP RAP EML Practice Labs specifically for this purpose: to help developers build confidence through 25 real-world EML tasks inside actual RAP applications.
How it works
1. Set Up Your SAP BTP ABAP Trial
You receive a step-by-step guide to set up your trial system correctly.
2. Import Two Complete RAP Applications
Using abapGit, you pull two fully functional apps into your system:
-
A managed RAP app with drafts, determinations, and validations
-
An unmanaged RAP app with custom persistence logic
These apps become your playground for EML.
3. Build Your Foundation with Curated Learning
You get focused reference material so you understand the concepts before writing code.
4. Solve 25 Hands-On EML Tasks
Each task is a real scenario.
You write, test, break, fix, and refine your EML code - exactly how real project work feels.
5. Develop Practical, Confident Skills
By the end, you will not just know EML.
You will be able to use it naturally in production development.
This is not a passive course. It is a coding-first program built for developers who learn by doing.
Ready to Build Real Confidence in EML?
Reading documentation gives you concepts.
Watching videos gives you understanding.
But writing EML builds expertise.
Start with the SAP documentation to get your foundation right.
When you're ready to develop depth through hands-on work, explore the practice labs:
Enroll to SAP RAP EML Practice Labs
Final Thoughts
EML is the backbone of modern RAP development. Whether you’re building new applications, extending standard BOs, or integrating systems, EML will be central to your work.
The best RAP developers I’ve met didn’t just read about EML - they practiced it repeatedly. They wrote code, studied the outcomes, made mistakes, corrected them, and grew from the process.
That is how you move from “I understand EML” to “I can build anything with EML.”
Start learning. Start practicing. And keep building.
