I wrote this article for this post : http://scn.sap.com/docs/DOC-48185
Maintenance screen is generated screen and changing source code or screen elements of SM30 screen can be harmfull.
There is Maintenance View ( TAW course explain view type ), you can change screen elements attribute with this view.
Thanks to chandrashekar.agarwal remind me help link : Maintenance Views - ABAP Dictionary - SAP Library
Here I gave a example for hiding or making field read only etc.
First we create ZVIEW type Maintenance View

Now we choose table, ( if we deal with more than 1 table we can add with key relations )

Adding fields and changing its attribute

And F1 for Field "P":

Last words:
Yes we can change generated objects ( Z objects ). But if there is a way without changing it, please use this way.
Regards