Blog
Draft Handling in RAP-Managed Business Objects: What Actually Happens Behind %tky
How the RAP draft lifecycle actually works under the hood — %tky, ETags, and why orphaned drafts happen in the first place.
RAP vs CAP for a New BTP Project, and the One Question That Actually Decides It
Every RAP versus CAP discussion gets framed as picking a winner between two frameworks. They're not competing for the same job. The real question is where your data already lives and who maintains this in three years.
Old ABAP Habits That Don't Survive the Move to Clean Core
Years of classic ABAP muscle memory don't transfer cleanly to RAP and ABAP Cloud. The habits that made you fast in the old model are often the exact ones that get caught in review on the new one.
The Currency Field That Looked Fine Until Someone Posted in Kuwaiti Dinar
Two decimal places is a default, not a rule. How a hardcoded assumption about currency precision turned a clean GL mass creation Fiori app into a quietly wrong one.
The BAdI Fired and the Field Was Still Unlocked
A field selection exit that ran exactly when it should have, called the right method, and still produced the wrong result, because the bug wasn't in the logic. It was in one constant.
Status 53 Doesn't Always Mean What You Think It Means
An IDoc marked successfully processed only tells you the function module finished without an unhandled exception. It says nothing about whether the function module decided, on its own, that something was wrong and quietly moved on anyway.