Skip to Content
Personal Insights

Task: Find DDIC-Objects that miss an enhancement-category – part 1

…this might be a little sloppy, I hope it is still worth reading and beneficial.

If you created DDIC-objects (tables, structures, appends…) in the past, there’s a chance you might have forgotten to set the enhancement category (You get a warning at activation, but that is easily ignored!).

So, at one point you want to correct that. How to find this objects?

It’s easy: dd02L-exclass = ‘0’ .

You might start with SE16n, I started with a report. (As you know, I like reports, and since I am using a template, I can create them very fast and nice/clean/solid at the same time. ).

So this is my get_data:

select * from dd02l
into CORRESPONDING FIELDS OF table ct_data
where tabname in so_tabna
and exclass = 0

This worked, by I realized that I don’t care for all objects missing the enhancement category, only for mine/ours!

If that could be identified by name (say all begin with : ZZ_team1* ), I’d be done already.

However, in my case the identifying part is the component of the package (tdevc-component).

That means I have to join TADIR (to get the package) and TDEVC into my select.

In the old days, I would have started changing my select, adding joins and so on.
But i reconsidered, thinking about CDS-views and stuff, and chose a different path!

…to be continued!

[Edit: here: ]


You must be Logged on to comment or reply to a post.
  • MMmmmm....   And so at the risk of showing my lack of knowledge.   Why do we care about the enhancement category?  I've been guilty of just ignoring the message.  I couldn't see a reason to care if it was checked or not.

    This is what the documentation has:

    "In programs where there is an active Unicode check, statements, operand checks, and accesses with an offset and length are problematic - for example, if numeric or deep components are inserted into a purely character-type structure and the structure thus loses its character- type nature.."

    I've always been on systems with a unicode check. I've never had an issue - but that could be pure luck on my side.

    • I’ve always wondered why this can’t just have a default value (“cannot be enhanced”) instead of the useless warning. I don’t remember a single time when this setting was actually important or when I used those “enhancements”.

      Edit: and if I could dig up login info for Jelena The First I'd also reply the same from both accounts. 🙂

      • I found also very user unfriendly, when you want to maintain it very first time, it also shows a message that it's not maintained.

        It's very annoying. I do know that it's not maintained, that's why I want to maintain it, but still the message comes.

      • Oh yeah, there are a lot of things in DDIC where I think I just shouldn't have to care about any more.
        SAP could have taken a chance for simplification with S/4HANA here, but I think in this regard (SE11) nothing(!) changed!


    • In a case when you develop your own custom DDIC objects it doesn't really makes any difference, because you don't have to enhance them, you just add a new field and that's all. Normally I set in this case "cannot be enhanced"

      However when you want to add your own field to a SAP standard object it matters, because with move-corresponding you could have problems.

      Same story with add-on development, when it's developed in our namespace (and system), but could be enhanced (adding new fields) in the customer system.

      I had already a case in my previous company where we delivered several add-ons and in one customer system the lack of this setting caused problems. Not sure anymore if it dumped, or was "only" import error due to the missing category, but I clearly remember that from that day we took it serious and built our own code inspector check to avoid such situation in the future.

    • Haha, I thought my blog might provoke such a question!
      Glad you’re asking! I give you the reason (there might be others!) why it bothers me .

      I never had a problem directly from a missing enhancement category, but from time to time, I have to transport (STMS) a lot of objects (say thousands…) into another system.

      Of course, I look at the import-protocols to see if things are fine.
      …and those are full of “missing enhancement category”-warnings which:

      1. Doesn’t look nice / might shed a bad light on me (if justified or not) -> “Joachim’s transport had 765 warnings?! Thats bad!!?”
      2. They might “hide” (make them hard to spot) other warning, which I really should look at and take care of.



  • /