SAP ABAP – What is Table Maintenance Generator (TMG) and its Events?

What is Table Maintenance Generator?

Table Maintenance Generator is a tool used to customize the tables created by end users and can be changed as required, such as making an entry to that table, deleting an entry etc.

In other words, table maintenance generator is a user interface tool which is used to change the entry of the table or delete an entry from the table or create an entry for the table.


To make this feature work care should be taken while creating the database table that in the ‘Delivery and Maintenance’ tab, the ‘Table View Maint.’ should have the “Maintenance allowed” property defined.

Transaction Codes

SE54: Generate Table Maintenance Dialog
SE55: Table view maintenance DDIC call
SE56: Table view display DDIC call
SE57: Deletion of Table Maintenance
SM30: Maintenance Table Views:

Implementation of table maintenance generator for a custom table

Go to SE11 and create a table with the fields as per the requirement.
In table change mode, click on Utilities and then click on Table maintenance generator. 

Following screen will be displayed for setting up the Maintenance generator

Following are the available options, choose them accordingly

Authorization Group: If the table needs to be maintained by only particular group of people, then the Authorization group needs to be filled otherwise fill it as NC. To maintain the authorization group refer to SU21.

Function group is the name to which the generated maintenance modules will belong to.
Generally Function Group name can be same as table name.

Maintenance screens:  Maintenance can be done in 2 ways.
1. Maintenance and Overview both on one screen
2. Maintenance on one screen and Overview on another screen.
Provide the desired screen numbers.
After saving the changes, go to SM30 for maintaining the table. 

Modifications Available in Table Maintenance

The Function Group created will be having the code and screens used in maintenance.
We can alter the way Maintenance data and screens are viewed by making the appropriate changes in the Function Group and its screens.

Screen Alterations

Maintenance screen can be altered in a way that, if a field needs to be non-editable or default name appearing on the maintenance screen for any field needs to be changed then following steps can be used to do the same
Go To Environment > Modification >  Maintenance Screens 

A field can be made non editable by simply unchecking that input checkbox for that field. 

So the maintenance screen will appear like the one below 

Similarly, the screen name of any of the fields appearing on the maintenance window can also be changed by changing the Name on the layout window of that field.

Table Maintenance Events

The value to be displayed on the maintenance screen for any field can also be altered as per the requirement like for every new entry in the table one of the field should have the constant value appearing automatically. For this purpose, the event needs to be chosen which performs the action. In this case event  “05 creating a new entry”.

List of Events available in Table maintenance

01         Before saving the data in the database
02         After saving the data in the database
03         Before deleting the data displayed
04         After deleting the data displayed
05         Creating a new entry
06         After completely performing the function ‘Get original’
07         Before correcting the contents of a selected field
08         After correcting the contents of a selected field
09         After getting the original of an entry
10         After creating the header entries for the change task (E071)
11         After changing a key entry for the change task (E071K)
12         After changing the key entries for the change task (E071K)
13         Exit editing (exit main function module)
14         After lock/unlock in the main function module
15         Before retrieving deleted entries
16         After retrieving deleted entries
17         Do not use. Before print: Event 26
18         After checking whether the data has changed
19         After initializing global variables, field symbols, etc.
20         after input in date sub screen (time-dep. tab. /views)
21         Fill hidden fields
22         Go to long text maintenance for other languages
23         Before calling address maintenance screen
24         After restricting an entry (time-dep. tab./views)
25         Individual authorization checks
26         Before creating a list
27         After creation or copying a GUID (not a key field)
28         After entering a date restriction for time-dep. views
AA        Instead of the standard data read routine
AB        Instead of the standard database change routine
AC        Instead of the standard ‘Get original’ routine
AD       Instead of the standard RO field read routine
AE        Instead of standard positioning coding
AF        Instead of reading texts in other languages
AG       Instead of ‘Get original’ for texts in other languages
AH        Instead of DB change for texts in other languages
ST        GUI menu main program name
AI         Internal use only

For selecting the events follow the path as
Environment >  Modification > Events 

Click on New Entries tab and Choose 05. 

In form routine enter “FETCH_VALUE” and click on EDITOR. 

Go to the events and in the form routine: FETCH_VALUE, write the desired code:
Like :  ZCHC_ORD_REL-SYUNAME = sy-uname.

Check the same by adding some entries through SM30: 

Leave a Comment