many developers (me included) thought abut and/or even tried to do it.
My experience: Although SM 30 has not been made better for decades, it is still more powerful than any 'nice' ALV grid solution. The complex concept of locking and checking, transactional saving, integration of transport management, authority checks, custom events and whatever does not come to my mind is something you will never accomplish in the time an capabilities you got.
Just use SM30, change the generated screen size to full available width and height and live with it.
For each and every view maintenance use a unique function group to make sure you don't loose the overview.
This will help everybody regarding later changes or repairs (Do not think you will do it yourself!).
Regards Clemens
If you want to integrate view maintenance in any kind of program, usse function VIEW_MAINTENANCE_CALL (well documented)