Skip to Content
Author's profile photo Vinay Kumar Dalapathirao

Why changing domains is a bad idea

Problems with changing Domain values: Table Level

This is a special case and very important in our daily coding activity in ABAP, wherein I need to change the domain which has character to Decimals data type of one field. I had done the changes to domain and adjusted all the tables. Immediately in a popup by pressing the continue button. When I changed the table it is giving the message that table was not found.

I checked the table in ABAP Dictionary and came to know that table is there. I tried to see on Menu: Utilities->Database object->Database utilities to adjust the database, but I didn’t found the ‘Activate and adjust database’ button and I got the new button called ‘Unlock Table’ button which was shock to me. I push the ‘Unlock Table’ button then I got the message in a popup which I haven’t read because of too long and confirmed with ‘Yes’ button. Then I got the table back in a change mode and I see the table data and it is empty.

Then I realized that data has gone. In my observation what happened means by seeing the table logs I understand that conversion of character value to decimals data in the field not happening so system struck at the place by giving the errors in processing the data. I goggled this problem online but I didn’t get solution to this problem.

Solution:

Next time I tried by deleting that field in all tables. Then I changed the domain to decimals and added back that field to all tables provided no data on that field or on that table. I didn’t get any problem.

Screen field decimal value in Dynamic Programming: Screen level

I have another situation which I want to share if the screen elements or screen text fields are having the data type of decimals. They behave not usual like others which I observed recently.  Just like in the below screen shot the decimal values are displaying like below as ‘*’. I got this for two fields when I restrict these with one condition with SCREEN-INVISIBLE = 1.

Capture.PNG

I realized that it’s not working and added SCREEN-INPUT = 0 and SCREEN-ACTIVE = 0. Then it’s not accepting the value because of SCREEN-INPUT is 0. So finally I wrote

        SCREENINVISIBLE = 1.
   
SCREENINPUT = 1.
   
SCREENACTIVE = 0.

Then it’s worked.

This is a very critical and important situation and sometimes we lost data also. That is the reason i am sharing this information to help all SCN members.

Regards,

Vinay

Assigned Tags

      15 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Siva kumar Devana
      Siva kumar Devana

      Hi Vinay,

      Nice document.Very good point.

      Usually we come across this situation.

      Keep sharing.

      Regards,

      Siva kumar.

      Author's profile photo Matthew Billingham
      Matthew Billingham

      Once again proving that changing domains is a really really BAD thing to do.

      Author's profile photo Vinay Kumar Dalapathirao
      Vinay Kumar Dalapathirao
      Blog Post Author

      Yes Matthew. Its a really bad thing. Now I am preparing to fill data from backup through a program......

      Author's profile photo Matthew Billingham
      Matthew Billingham

      I've modified the title accordingly.

      Author's profile photo Vinay Kumar Dalapathirao
      Vinay Kumar Dalapathirao
      Blog Post Author

      Thanks matthew.

      Author's profile photo Former Member
      Former Member
      Author's profile photo Vinay Kumar Dalapathirao
      Vinay Kumar Dalapathirao
      Blog Post Author

      Ya I got this message. I do not want to practically see again with changing domain that is why I did not keep the screen shot of this. Thanks Patel

      Author's profile photo Former Member
      Former Member

      "I got the message in a popup which I haven’t read because of too long" is a nice description of the actual problem.

      Author's profile photo Vinay Kumar Dalapathirao
      Vinay Kumar Dalapathirao
      Blog Post Author

      Thanks Volker Wegert. We do not see such a messages sometimes when we need to complete requirement in time. After deletion of all data I realized and next time and realized should not do the same mistake again.

      Author's profile photo Kiran K
      Kiran K

      Vinay,

      While dealing with SE14 we need to exercise extreme caution and not blindly proceed clicking on the buttons.One should be aware of the repercussions before clicking on a button.

      K.Kiran.

      Author's profile photo Vinay Kumar Dalapathirao
      Vinay Kumar Dalapathirao
      Blog Post Author

      Ya kiran. That is what I did. I haven't read that message. I will be bit more alert from next time.

      Author's profile photo Former Member
      Former Member

      In data base utilities--

      we have following options:

      1 Delete database table : if this is clicked total data will be removed  from table. Once done we have to activate the table  in se11 other wise DDIC will not recognize the table

      2 activate and adjust can be used if there is any changes to the fields/domain.

      This is most dangerous activity, once we delete the sensible data you can't retrieve it back.

      Author's profile photo Vinay Kumar Dalapathirao
      Vinay Kumar Dalapathirao
      Blog Post Author

      But this is not that in my case raveendra.

      I didn't find these buttons after changing domain values and Continue to change all tables with this domain.

      I cant open the table in change mode.

      I didn't see these two buttons Delete database table and activate adjust table.

      In the place of these buttons I saw unlock table. I pressed it and  lost the data.

      If I got activate and adjust button that would have been very helpful at that time.

      Author's profile photo Former Member
      Former Member

      I realized that data has gone.. 😆

      thanks your info.

      Archer.

      Author's profile photo Athreya Ramakrishna Hegde
      Athreya Ramakrishna Hegde

      A nice document.. Keep sharing the knowledge.

      Regards,

      ~Athreya