Skip to Content

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

15 Comments
You must be Logged on to comment or reply to a post.