SAP CAP Blog Posts
cancel
Showing results for 
Search instead for 
Did you mean: 
qmacro
Developer Advocate
Developer Advocate
882

Greetings earthlings!

We're part way through this month's SAP Developer Challenge on CAP knowledge, and you folks seem to be having a good time and doing well! Here are some stats - updated Thu 18 Jun at 0600 BST (GMT+0200).

We've had a great number of responses from lots of SAP Community members, some of whom (listed here) have worked very hard to submit responses to every single question so far - good work!

What's more - some members of this elite bunch have even got every single one of these question correct - they are highlighted with a 🚀 - well done!


Here's a breakdown of each question so far, with the number of responses, how many were correct and incorrect, and the percentage of correct answers:

 

QuestionResponsesNr PASSNr FAIL% PASSTitle
158372163.79Common types and aspects
251282354.90Content for common reuse types
346311567.39Declarative field control with @mandatory
444321272.73Namespaces, contexts and name prefixes
539300976.92Portable functions across all supported databases
635241168.57Project specific configuration
735320391.43Authorization annotations
831250680.65CXL case-when-then operator
931270487.10Injecting conditions via filters
1029250486.21Redirection targets
1124170770.83Metaphysics of languages
1221180385.71Query mode in cds REPL
1317160194.12Optional CDL keyword

We'll update these stats daily from now on, too, so keep checking back! If you want more info, we have a little OData V4 service with all the stats so far (and which will also be updated daily) - see what sort of cool analyses you can come up with yourselves - use the comments to this post to share any interesting query URLs that you come up with!


Good luck for the rest of the questions in this month's challenge!

16 Comments
YLN
Explorer

Thanks for sharing the stats and especially for the OData V4 service! 🙌

I played around with a few queries against the service, and it helped me review my incorrect answer and gain a better understanding of the topics I need to improve on.

Looks like I missed the 🚀 club by just one question — so close! 😅

Screenshot 2026-06-15 at 08.38.36.png

Note: I may be mistaken, but I noticed that the answer(entity Questions) field doesn't seem to be exposed anymore. This intentionally left out for now, or is it something that might be added later? It would be quite helpful for participants who want to analyze their own answers in more detail.

qmacro
Developer Advocate
Developer Advocate

Ha, excellent work @YLN , you get a special emoji 🤓 for being super curious and proactive ... and also very observant! I did have an answer property exposed originally when I first made the service public yesterday evening, but then I woke up in the middle of the night thinking about this, and decided to exclude it for now, at least, so went to my desk and made the change.

That way I think it's fairer on everyone - those that have answered already and those who are on catch-up and working through the earlier questions.

Hope you understand! I'll include the answer property towards the end of the month, along with a "definitive" Capire URL where one can learn more about the question and the answer. 

SachinArtani
Active Participant

How did I miss to answer question 7 😭

qmacro
Developer Advocate
Developer Advocate

By the way, if anyone would like a "starter" OData query URL to see their responses, here's one which I'm sure @YLN has come up with already - a way to find your own results for the questions to which you've responded. Here is an example, using @YLN as an example:

https://developer-challenge-june-2026.cfapps.eu10.hana.ondemand.com/odata/v4/main/Questions?$expand=...

This uses a $filter query option both at the primary resource level but also within an expanded navigation property context.

SachinArtani
Active Participant

@qmacro , the community ID's value is case sensitive in the API. I feel that username must be allowed everywhere with any case it's given. I tried the API with sachinartani, it failed. Do you think this is the right design?

Joery
Participant

😮Missed only one.
Checked in detail and now understand what I missed there, no spoilers though 😄

qmacro
Developer Advocate
Developer Advocate

@SachinArtani it is not case sensitive. I even point out that any case can be used, in the detailed instructions (see screenshot below). Here's the relevant line in the implementation:

const communityid = req.headers.communityid?.toLowerCase()

I tried with your community ID in all lower case, and it worked fine, returning the same hash value to what's returned when "SachinArtani" is used.

When you say "I tried ... it failed" - can you be more specific? "it failed" isn't much to go on 😉 

qmacro_0-1781506445180.png

 

HarshPatelV
Participant
0 Likes

Amazing participation and consistency from the community 👏 Congratulations to everyone making it through every challenge, and special applause to the 🚀 achievers for maintaining a perfect streak. Excited to see the final results!

aelghannam
Participant

Thanks @qmacro  for this amazing trip down the CAP lane 😍, though i have been working very closely with CAP for a long time, but i never thought of going that deep in the docs.

 

What does it mean not being on that list, but answered every single question so far 😁 ?

qmacro
Developer Advocate
Developer Advocate

Hi @aelghannam - you're welcome! It just means that you are not quite in sync with the mechanism that gathers the responses and produces the analysis (e.g. you only posted a response to last Friday's question yesterday). You're on the list now, as the mechanism has just been rerun (as I mentioned in this post - updated daily). Cheers and good work!

SachinArtani
Active Participant
0 Likes

@qmacro , I mean about the stats API. Check the difference here -

SachinArtani_0-1781592555682.png

SachinArtani_1-1781592611788.png

Am I doing something wrong?

qmacro
Developer Advocate
Developer Advocate

@SachinArtani if you had provided some more detail than "it failed" in the first place, I would have perhaps known you meant the OData service rather than the hashing API 😉 

Generally OData service system query option $filter, especially when used with the eq operator, is case-sensitive, by design. See https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part2-url-conventions.html#sec_Equals for some details, for example. 

The OData $search system query option is case-insensitive, but the use cases for this are slightly different of course. That said, you could retrieve the data you seem to be after like this:

https://developer-challenge-june-2026.cfapps.eu10.hana.ondemand.com/odata/v4/main/Responses?$search=... 

HTH

SachinArtani
Active Participant

@qmacro  Thank you for reminding me about OData filter's design.

BTW, In my local language (Sindhi), HTH means Hal Ta Halau, which translates to - "Let's Go!".

qmacro
Developer Advocate
Developer Advocate
0 Likes

Excellent @SachinArtani ! I like that, thanks for sharing. I will use HTH even more now 🚀

SergioG_TX
SAP Champion
SAP Champion

are we allowed to resubmit and check whether or not the new answer is correct w that odata service to check our own responses?

qmacro
Developer Advocate
Developer Advocate
0 Likes

@SergioG_TX thanks for asking. Others are doing that, and I don't see any harm in it. There's no prize, except the glory of learning 🙂