You have joined me in finding those objects - if not you can read up here:
https://blogs.sap.com/2020/08/31/task-find-ddic-objects-that-miss-an-enhancement-category-part-1/
https://blogs.sap.com/2020/08/31/ddic-objects-that-miss-an-enhancement-category-part-2-use-cds-views...
Now let's fix it!
There are 2 aspects to that:
What categories should I set
and
How should I do it.
On what to set it to:
I want my tables to
1.
Have an enhancement category
2.
Not break stuff because of that new enhancement category .
The lazy way would be to set it to "allow everything":
- " Can be enhanced (Deep)"
...but I would feel
very bad using this as a default (I think most of the time, I would not expect those structures to be extended with a "deep component (string, reference, or table type)" (Taken from F1-help, which is pretty good/detailed! )
The other extrem would be to set it to "Cannot Be Enhanced" which most certainly would
break stuff.
So I think I go for what I (and others) should have done before me (this is debatable (-> comments!
😉 ) but that's what guided me in my ABAP-career).
1. By default, set it to "Can be enhanced (character-like or numeric)"
2. If this is not possible or doesn't make sense, choose something else -> the option that makes sense.
This is very generic, but I can give at least on example: There are BAPI-Structures, that should only contain characters. If you create (or append) one of those -> set the enhancement category to "character only".
I'll leave the "how" to the next part.
(Hint: I will not do it all manual by SE11 for every singel object.
Maybe I do get a hint an my question:
https://answers.sap.com/questions/13129838/mass-maintenance-for-se11-setchange-enhancement-ca.html
If not (and probably even if), I have already looked into some (semi-)automation via SHDB.
Stay tuned!
😉