Application Development and Automation Blog Posts
Learn and share on deeper, cross technology development topics such as integration and connectivity, automation, cloud extensibility, developing at scale, and security.
cancel
Showing results for 
Search instead for 
Did you mean: 
sheenamk
Developer Advocate
Developer Advocate
13,082

Welcome to the Developer Challenge for the Month of May!!!! The 👉 SAP Community Escape House has a new addition!!

Hope you all escaped alive from the SAP Build Escape House last month 😀 . So now let us relax by extending our living room this month.

SAP Community Escape HouseSAP Community Escape House

We will be focusing on ABAP with an emphasis on Extensibility. Like previous challenges, we will explore a crucial topic that allows customers and partners to tailor SAP standard software to their business needs. Extensibility covers various aspects, including:

  • Adjusting software behaviour beyond standard configurations.
  • Extending the data model.
  • Exposing additional data.
  • Modifying UI layouts, forms, and reports.
  • Creating new UI elements and applications.

You can get more details on Extensibility and the various options available by watching this video: https://www.youtube.com/watch?v=IPEotH-6ekI&t=786s

 

Task 0 – Preparation

We hope all of you might remember the 2024 ABAP Developer Challenge which was focused on ABAP CDS where we had created an end to end Fiori List Report from a database table. This year will take a further step and explore developer extensibility on the same Travel demo data.

  1. Refer Task0 of the 2024 ABAP Developer Challenge to complete the prerequisites.
  2. Create the objects mentioned in the readme.md file in SAP GitHub Repository for the base data model which will be extended.
  3. Now you will have a table, a structure, a view and a data generator class.

For this year, all SAP Developer Challenges created by the Developer Advocates will happen in the SAP Community Escape House (shout out to @nicoschoenteich for his amazing creativity). Each month we will unlock a new room in the house with a specific focus. Completing a challenge means successfully escaping the room by solving a series of coding – or no-code – tasks/questions. This month let us explore ABAP Extensibility.

Here are the links to our previous challenges:

How to participate

Visit the SAP Community Escape House and enter your numeric SAP Community user ID.

EscapeHouseLogin.png

If you don't know your user ID, click Need Help? This will display a link to your community settings page.

NeedHelp.png

Then you will see your ID here:

My Settings.png

Once you see the SAP Community Escape House, select the ABAP Living Room.

SAP Community Escape House - Available roomsSAP Community Escape House - Available rooms

The user interface of an escape room includes the room itself as well as a terminal. You can click the objects in the room to receive tips. Like in a real (physical) escape room, you will have to try out a few things and explore the room until you receive helpful tips and, eventually, instructions. These tips and instructions are printed in the terminal next to the room. The terminal is also used to submit solutions to tasks. Read the instructions you receive carefully to understand how.

SAP Community Escape House - ABAP roomSAP Community Escape House - ABAP room

If you successfully escape the room (you will know when that happens), you will receive a badge in the SAP Community. We will assign the badges once the challenge closes.

 

The schedule

The ABAP room will be unlocked on May 5th and will stay unlocked until the end of the year. However, the challenge closes on May 31st, so you will have to escape the room until then to qualify for a badge. Unlike the previous year, this SAP Developer Challenge does not consist of weekly sub-challenges. The next room (next challenge) will be unlocked in June.

 

Useful links for the challenge

  1. https://learning.sap.com/learning-journeys/acquire-core-abap-skills/extending-dictionary-objects_b0c...
  2. https://learning.sap.com/learning-journeys/acquire-core-abap-skills/extending-cds-views_fab548c5-643...
  3. https://www.youtube.com/shorts/dnAALtV0FCE
  4. https://help.sap.com/docs/abap-cloud/abap-rap/developing-unit-tests-for-cds-view?locale=en-US

Good luck and happy escaping!

38 Comments
RAHUL1221
Participant

Finally Escaped! It was an interesting challenge on ABAP Cloud!

RAHUL1221_0-1748715231727.png

Following topics got covered with this challenge-

1. ABAP Dictionary & Table Design

  • Creating a transparent table using ADT (define table)

  • Using a structure with INCLUDE in table definition

  • Applying annotations like @EndUserText.label, @Semantics.amount.currencyCode

  • Defining keys, currency fields, and client fields

2. Table Extension (Extensibility)

  • Extending SAP-delivered/custom tables using the extensibility model

  • Adding a custom field like TravelType using proper naming conventions

  • Understanding fieldSuffix, enhancement categories, and quotas

3. ABAP Class & Data Generator

  • Creating an ABAP class with interface IF_OO_ADT_CLASSRUN

  • Populating data using INSERT ... FROM SELECT

  • Implementing conditional logic in ABAP (e.g., travel type based on total_price)

4. CDS View Entity

  • Creating a CDS View Entity (define view entity)

  • Using annotations like:

    • @AbapCatalog.viewEnhancementCategory

    • @AccessControl.authorizationCheck

    • @Metadata.ignorePropagatedAnnotations

  • Projecting fields and using aliases

5. CDS View Extensions

  • Extending an existing CDS View Entity

  • Adding:

    • New fields (TravelType)

    • Calculated fields (DiscPrice with 10% discount logic)

  • Understanding datasources and source type

  • Using path expressions and ensuring correct extensibility settings

6. CDS Associations

  • Associating one CDS View Entity (Z_I_TRAVEL_004) to another (/DMO/I_BOOKING_U)

  • Using association to and expose syntax

  • Accessing fields from associated views

  • Creating calculated fields based on associated data (e.g., days until FlightDate)

7. Unit Testing in ABAP

  • Creating ABAP Unit Test classes (FOR TESTING)

  • Writing test methods for different logical scenarios

  • Running Unit Tests in Eclipse (ADT) and analyzing results via the ABAP Unit View

8. ABAP in Eclipse (ADT) Tool Usage

GauravPhadnis
Advisor
Advisor

Escaped ABAP house as well

GauravPhadnis_0-1746442194610.png

 

 

@sheenamk  : It was nice challenge for ABAP house.

gphadnis2000
Participant

Escaped ABAP house as well

 

 

image001.png

 

@sheenamk  : It was nice challenge for ABAP house

Sabarinathan_m
Product and Topic Expert
Product and Topic Expert

Sabarim_07_0-1746468500095.png

Escaped the room

Greltel
Explorer

Greltel_0-1746476392702.png

I just escaped. It was a great challenge.

 

M-K
Active Participant

Escaped aswell, this was a good challenge.

MK_0-1746483337815.png

 

Sanket_Kadhi
Explorer

🎉 Successfully Escaped from the ABAP Room! 🧩🚪

A big thank you to @sheenamk for designing such an engaging UI platform and providing  valuable guidance and resources that inspire us to dive deeper into upcoming SAP technologies. 👏

Sanket_12_0-1746522574125.png

 

Fahri_Donmez84
Explorer

I escaped. It was another good challenge.

escape_Sap_com_may.jpg

foessleitner
SAP Champion
SAP Champion

Successfully escaped the ABAP Escape Room — a good example that problem-solving is at the heart of what we do in ABAP.

F_0-1746570553088.png

ABAP Extensibility

Ruthiel
Product and Topic Expert
Product and Topic Expert

Thanks @sheenamk for this challenge!

Basant_Joshi
Participant
0 Kudos

Hi @sheenamk @Ruthiel 

Basant_Joshi_0-1746690253668.png

I Have Completed the first task of table creation and extending travel type field But it is giving this error when i am trying to escape the room.

@EndUserText.label : 'Indirect Append to table ztravel_bas'

@AbapCatalog.enhancement.category : #NOT_EXTENSIBLE

extend type ztravel_struc_bas with ztravel_type_bas {

 

zztravel_type_zbj : abap.char(50);

 

}

This is my append structure and  i am writing below command to escape it.
escape room zbj

Ruthiel
Product and Topic Expert
Product and Topic Expert

Hello @Basant_Joshi !

The escape room service isn’t connected to your system, so it doesn’t know what field suffix you’ve chosen.

I hope this helps you get through!

sheenamk
Developer Advocate
Developer Advocate
0 Kudos

@Basant_Joshi Please recheck the readme.md file in SAP GitHub Repository 

geek61
Participant

geek_0-1746716354204.png

@sheenamk Interesting set of challenges.

robertomejia2293
Explorer

Ready ! Thanks @sheenamk 

robertomejia2293_2-1746937476233.png

 

 

Successfully escaped the ABAP Room. @sheenamk Thank you for an interesting challenge!

AsilbekKilichbekov_1-1746960215503.png

 

Hemanth2406
Explorer
0 Kudos

Hi All,

How to submit the solution. Please tell me the format to submit. 

I am trying " escape table and my cds extended structure and entire class code i have copied " but still getting error.

Note : i added ZAC as  fieldsuffix based on Readme file in github

Akthar313
Explorer

Escaped!!

Akthar313_0-1747015038947.png

 

sheenamk
Developer Advocate
Developer Advocate
0 Kudos

@Hemanth2406 The answer format is displayed inside the terminal at the end of the question. Please check again.

sharanjee_186716
Product and Topic Expert
Product and Topic Expert

Escaped room. thank you once again 😀

sudantha
Participant

sudantha_0-1747057025252.png

Escaped ! , Thank you for the fun challenge @sheenamk 

AmirulNurIman
Discoverer

AmirulNurIman_0-1747297862379.png

Fun way to learn ABAP. Thanks! @sheenamk 

Ihor_Haranichev
Participant

Escaped! Thanks @sheenamk for the challenge!

Ihor_Haranichev_1-1747307333164.png

 

 

fahadburney
Explorer
0 Kudos

Hi @Sheena

I have followed the GitHub Repository Instructions and connected the REUSE Tool with the Project. But still, I am unable to proceed further. Kindly guide me further.

Regards,
Fahad

fahadburney_0-1747638225178.pngfahadburney_1-1747638231688.png

 

sheenamk
Developer Advocate
Developer Advocate
0 Kudos

@fahadburney Please try not to change any names in the GitHub files. This can lead to incorrect answers.

darseidel
Explorer

Yes, I managed to escape this room as well!

darseidel_0-1748005398172.png

That was a fun challenge!

Barada_Swain
Participant

Another fun challenge. It was a little tricky for sure.

Vadim_o_0
Explorer

Vadim_N_0-1748133652980.png

That's a fun journey. Thanks

VandanaVaswani
Discoverer

Escaped! It was fun. Learned some bits here and there in this journey.

VandanaVaswani_1-1748359752962.png

Thanks for such challenges.

divyajchndrn
Participant

Wooohooo! 🎉 Persistence over speed, and I just cracked the ABAP room! 😁

#ABAP

divyajchndrn_0-1748376244834.png

 

mykhayloArtymyshyn_0-1748378078201.png

my first challenge hier. Thanks for the fun!

NavjotSinghGhotra
Discoverer

NavjotSinghGhotra_0-1748439726582.png

Escaped! Thanks for the challenge @sheenamk 

 

Sandra_Solis
SAP Champion
SAP Champion

Escape done thanks to #ABAPcloud !!!

I really enjoyed this May Challenge, thanks @sheenamk for all your effort to motivate the community to learn with fun activities.

WhatsApp Image 2025-05-28 at 11.19.54.jpeg

satadas30
Explorer

Escaped!

satadas30_0-1748463034313.png

 

ALEJONO
Participant
0 Kudos

Hi, what timezone is to be considered for this challenge regarding on completing tasks before the end of May 31, 2025? 

ALEJONO
Participant

Escaped the ABAP room!

ALEJONO_0-1749028195547.png

 

sudarshan_b
Participant

Little late to the party, but still successfully managed to escape the room 🙂

Brilliantly designed challenge that covers Developer Extensibility option, thanks @sheenamk 

sudarshan_b_0-1749330229037.png

 

RohanShukla
Explorer
0 Kudos

Finally escaped, was very good challenge and was a great learning! Thanks @sheenamk 

RohanShukla_0-1749902614368.png