Skip to Content
Technical Articles
Author's profile photo Matthew Billingham

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 6Sign 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.

Assigned Tags

      7 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Michelle Crapo
      Michelle Crapo

      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

      Author's profile photo Sandra Rossi
      Sandra Rossi

      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):

      SELECT DISTINCT TVDIR.* FROM TVDIR, DD03L WHERE TVDIR.TABNAME = DD03L.TABNAME AND DD03L.ROLLNAME = 'INT2'
      Author's profile photo Matthew Billingham
      Matthew Billingham
      Blog Post Author

      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.

       

      Author's profile photo Sandra Rossi
      Sandra Rossi

      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.

      Author's profile photo Matthew Billingham
      Matthew Billingham
      Blog Post Author

      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.

      Author's profile photo Jelena Perfiljeva
      Jelena Perfiljeva

      SAP: "Gotta keep ABAPers on their toes!" 🙂

      Thanks for sharing!

      Author's profile photo Joachim Rees
      Joachim Rees

      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