This article started with my blog post Suggestions for better object oriented design . After I have published it on LinkedIn, @EnnoWulff started a friendly discussion about composition vs inheritance; and sent me a GitHub repo containing his design ...
Today, I would like to demonstrate a very simple but effective programming habit that I use in ABAP development: "TODO based coding".
The idea is to plant TODO comments into the code (typically among multiple programs / classes) before actually star...
ABAP CDS Views are great and all; however, they don't support subqueries at this time. In this post, I would like to share a workaround which functions similar to "NOT EXISTS".
The requirement was to exclude material document items (MSEG) which were...
In this post, I will share a general purpose class covering the multiton design pattern. By implementing a simple interface, you can add multiton functionality to your existing classes.
What is multiton, anyway?
Multiton is a performance oriented d...
As many of you already know, ABAP supports the UNION command now. UNION is an SQL command to combine the results of two separate queries into one dataset.
Here is a sample dataset from the imaginary database table Z1:
ID
TEXT
001
One
00...
On a Hana system, you can inner join the ITAB with the database table directly; without FOR ALL ENTRIES.select
from is_ee_org_ass_repl_req-org_assignment as _oa
inner join hrp1001
on hrp1001~plvar = '01' and
...
In my experience, nesting aggregated CDS views (as in this example) may cause performance bottlenecks on large datasets. When I encounter such a requirement, I steer towards AMDP, which can be masked as a CDS via table functions.
You can rent a fully functional S/4 HANA ERP system on cal.sap.com and pay as you use; but it would be a time limited demo system - so it's not supposed to be used forever.