Screen enhancements were integrated in the new neue BAdI concept as of Release 7.0 with minor changes .
Besides program and menu enhancements, you can also create screen enhancements for Business Add-Ins. Screen enhancements are not supported, however, for Business Add-Ins designed for multiple use.
With the old enhancement technique based on customer exits, X function groups were used for data retention and data processing purposes. These tasks are now performed by a user function group or a module pool if you implement a screen enhancement using BAdIs. The instance of the implementing class is only used for data transport.
The name of the function group lies in the namespace of the implementing person/user. The 'X' that was necessary at the beginning of a function group in case of customer exits is now no longer required and therefore eliminated.
An instance of the BAdI class must be passed to the user of the BAdI to allow that user to get the data to be displayed on the screen. For this purpose, the instance is saved in a public static read-only attribute DYNPRO_INSTANCE of the BAdI class. This attribute is generated.
A public static method SET_INSTANCE_FOR_SUBSCREEN sets the attribute on the application side to the parameter passed. Using the method GET_INSTANCE_FOR_SUBSCREEN, the parameter is then read on the user side.
Different subscreen states can be represented by different instances.
The relationships shown between the calling program, the classes and the user function group or module pool are illustrated below by means of an example.
Flight data is to be displayed in a transaction. First, the user enters the airline carrier, the flight number, and the fight date.
The required data is then displayed.
At the specific request of the customer, you are to enhance this function to allow the user to additionally display the time of departure and arrival as well as the departure and destination airport.
The definition of a Business Add-In containing the functionality required is then delivered to the customer. If the customer creates an implementation, the system displays additional fields.
Also read the following sections: