As a developer, I cringe every time I have to develop things twice, thrice or more.
CIs in HEAT appears to be one of those developments.
I cannot manage to develop my form of CI object (base group object), and use it as a part of CI.Workstation object (extension object).
I've been trying a few things already, but only one workaround may work with HEAT and I'm concerned it might break my environment sooner or later:
When creating a child panel, we can select the relation "Itself", but can't change the business object returned by that relationship (in yellow below)
Given the way HEAT works, I assume that creating another "Itself" relationship might do the trick: linking CI RecId to CI.Workstation RecId.
In an object point of view it makes sense (more or less), but when we look at the Db, these two objects are in the same table, and it will mean reference the exact same field on both ends of the relationship.
Is it going to blow up my environment or not?
Is there a better practice other than this ugly relationship and other than developing more than 20 times the same screen for all my extension objects?