Technical Articles
INT2 domain changed in 7.50
You know how when you learned ABAP and data dictionary, you were told to never ever ever ever ever change the definition of a domain. Unless you really know what you’re doing. And even then – don’t do it.
Well, in 750 (possibly earlier, but I’ve checked on 740 and that has the original), the domain INT2 has been changed.
Domain INT2 formally had output length 5, Sign unchecked. Now it’s output length 6, Sign checked.
We found this because on one system, a user had entered a value of 30000 in a table maintenance dialog. After upgrade, they found they couldn’t edit it as they get the error 00 089 Entry too long (enter in the format _.~V) on the screen. We think this is due to the output length defined on the screen being the original output length of 5.
This will affect any data dictionary object that uses a data element that’s defined on INT2.
The fix is to regenerate the screen. Or, if your developments are done in lower releases, create your own domains/data elements and use those.
Nice catch. Something for me to be aware of. We didn't pull along very many old programs, but enough that this could make issues without me checking it.
Thank you,
Michelle
Thanks for the info! Below is the native SQL query (via ST04 or program RSDU_EXEC_SQL in HANA/Sybase ASE) to help analyze before it happens (it lists the tables which have a column which refers to domain INT2 and have a table maintenance dialog; it doesn't say whether the dialog displays the column or not, though):
You need to check DATATYPE, since the issue really arises because the built-in datatype has changed. So any domain (or data element) defined on INT2 could potentially cause an issue.
Are you sure? (I’m personally not sure of my query) I think only the domain defines the “sign” and the “output length”. Without the domain, I think that there’s no sign and output length = type length.
You are correct. I just checked on a 740 system, and INT2 domain is as in 7.31, but the built-in data type description is as on 7.53.
So really, it's anything based on the INT2 domain.
SAP: "Gotta keep ABAPers on their toes!" 🙂
Thanks for sharing!
Interesting observation!
I checkd, and I see this change happening, but it doesn't seem to have happen at 7.50 yet?!
At least on my 750 SP11 it's still output length 5, Sign unchecked:
Some similar news: when going from S/4HANA 1709 to 1809 you will lose some dictionary types, e.g.:
TAB_RANGE_C10
or
BAPIPARNR_TAB
Source: https://mastodon.technology/@Joachim_Rees/101737928140488210
Yeah, allways keep an eye open! 😉
best
Joachim