!--a11y-->
Function Code and Screen
Enhancements 
The
main use of BAdIs is to enhance ABAP programs using object plug-ins. For
reasons of compatibility, and to be able to use the classic means for
designing a user interface for an ABAP-based SAP system (GUI status and
screens,)
menu enhancements and
screen
enhancements were adopted almost unchanged
from the classic BAdIs into the BAdIs of the new enhancement
concept. These
enhancements represent a concept that is independent of enhancements through
object plug-ins and they are not supported using special ABAP
statements.
Menu enhancements have been adopted under the new name “Function Code Enhancements“, whereby the classic concept has been kept in its entirety. The use of the ABAP statements GET BADI und CALL BADI is not necessary. The runtime environment inserts the implementation of a function code enhancement automatically during program regeneration.
In the case of screen enhancements, the class concept has been adopted – with the following exceptions:
· The previous call to the method CL_EXITHANDLER=>GET_PROG_AND_DYNP_FOR_SUBSCR, has been replaced by the call CL_ENH_BADI_RUNTIME_FUNCTIONS=>GET_PROG_AND_DYNP_FOR_SUBSCR with the same interface.
· The methods PUT_DATA_TO_SCREEN and GET_DATA_FROM_SCREEN will no longer be generated. You can create your own BAdI methods for data transport and call them using CALL BADI.
· You no longer need to call the CL_EXITHANDLER=>SET_INSTANCE_FOR_SUBSCREENS and CL_EXITHANDLER=>GET_INSTANCE_FOR_SUBSCREENS methods. These methods are now unnecessary as they only place the BAdI reference in a temporary storage.
SET_INSTANCE_FOR_SUBSCREENS is no longer necessary.
GET_INSTANCE_FOR_SUBSCREENS can, if necessary, be replaced by GET BADI.