DJ Adams

DJ Adams

DJ Adams

Hello, my name is DJ and this is my website. I'm a Developer Advocate at SAP.

Latest Posts

馃憠 Jump to the latest video. In the run up to SAP TechEd 2025, the Developer Advocates put together a series of short videos on tech topics, in a "Did You Know" series. A bit like our collection of YouTube Shorts "Good To Know" series (on...
The result of modifying existing queries can be a little unexpected at first. For example, you might have a query object where you want to replace the WHERE clause before you execute it. Here's how not to do it, and then how to do it....
In Part 2 of our current Hands-on SAP Dev live stream series on CXL with Patrice Bender, Patrice took some time to give us a glimpse of the power that CQL and CXL offers. It was in the context of answering a question from one of the live...
OData is a topic close to my heart. History I was around when RSS was growing up, and even contributed to the wider RSS community activities at the time. I was also around during the creation of Atom and the Atom Publishing Protocol...
(Get to all the parts in this series via the series post.) At the end of the previous part in this series we added @capire/common to the host project use-capire, and without doing anything else -- no referencing of this reuse package's...
In part 2 of the current Hands-on SAP Dev live stream mini-series on CXL, the core expression language in CDS, Patrice demonstrated how declarative constraints are actually realised, and it made me sit back and wonder. I thought I'd...
(Get to all the parts in this series via the series post.) In the previous part we published @qmacro/common. Let's start out here by creating a new simple CAP Node.js project and bringing in that @qmacro/common package; not only will...
(Get to all the parts in this series via the series post.) What we have from part 2 is a simple project myproj/ which relies upon a simple reuse package @qmacro/common. That reuse package currently exists only within a workspace within...
(Get to all the parts in this series via the series post.) In wrapping up the end of part 1 we looked forward to creating the simplest kind of reuse module, not only as an important fundamental building block but as a base for further...
I'm writing this short post so I can refer to it when I want to explain my use of services.cds when creating sample CDS models. I've found myself explaining multiple times across various blog posts1 so I thought it was time to fix that...
You know the drill: instead of inventing your own versions of core model building blocks over and over again, use common types and aspects for reuse, like this: using { managed, cuid, Currency } from '@sap/cds/common'; namespace qmacro;...
01 Jan 2026 Part 1 An introduction 07 Jan 2026 Part 2 Creating a simple reuse package 14 Jan 2026 Part 3 Publishing the simple reuse package 21 Jan 2026 Part 4 ...
After Devtoberfest comes TechEd and the long tail of conferences that lead into the holiday season. Then comes the new year, and a restart of our long running live stream show "Hands-on SAP Dev" on the SAP Developers YouTube channel....
The November 2025 release of CAP heralded a beta version of Status-Transition Flows, moving us up yet another gear in the journey towards declarative nirvana. Background I wanted to try out this new significant feature, one which...
I'm taking some time to peruse the Conceptual Definition Language (CDL) topic of the CAP documentation, and stopped at the first example in the Keywords & Identifiers section, which piqued my interest. Let's put this in a file called...
Search Random