Introduction to Enhancements & Modifications

Enhancements: We will enhance the SAP functionality in Customer nmaespace(Z or Y).
Modifications: We will enhance the SAP functionality in SAP namespace(Name should not start with Z or Y).

Types of Enhancements & Modifications:
1.Implicit & Explicit Enhancements   - Enhancement
2.Customer Exit(Function Module Exit, Menu Exit, Screen Exit) - Enhancement
3.BADI (Business Addin's) - Enhancements
4.User Exit - Modification

1.Implicit & Explicit Enhancements

Implicit Enhancement : Implicit point is available at the starting or at the last of the program,  Sub routines, Function Modules etc.We will create the Implicit Implementation using those points.

Explicit Enhancement : Explicit point & Section  are available at any line.We will create the Explicit implementations using those points and sections.

Enhancement Point : It will not give default implementation.You can only add additional codes, you can not replace the existing code.

Enhancement Section  : It will give the default implementation.You can change or replace the existing SAP code.

Enhancement Spot : It is the container for Explicit Enhancements(Enhancement point & Enhancement section).

2.Customer Exit: Customer exit is an enhancement.We enhance the SAP functionalities in customer namespace(Z or Y).
There are 3 types of Customer Exits.                                                                                               a)Function Module exit/Function exit                                                                                               b)Menu exit                                                                                                                                      c)Screen exit

a)Function Module exit/Function Exit : 

  • The function module exit allows us to add our code to the SAP programs with the help of function modules.Syntax:CALL CUSTOMER-FUNCTION 'Three digit number'.
  •  The three digit number in the above syntax varies from 000 to 999.
  •  Example: CALL CUSTOMER-FUNCTION '001'.

b)Menu Exit:

  • Menu exit allows us to add menu items to the menu of SAP programs.
  • These menu items have function code that begins with "+"(a plus sign)
  • We can perform customer specific functionalities on these menu items.

c)Screen Exit:

  • Screen exit allows us to add fields to the screen of SAP programs with the help of customer subscreen.
  •  The customer subscreen is called within the standard screen flow logic.
  •  Syntax to call customer subscreen into standard screen
  •  CALL CUSTOMER-SUBSCREEN 'Subscreen area' INCLUDING 'Program name' 'Customer subscreen number'.
  •  Example- CALL CUSTOMER-SUBSCREEN 'custscr2' INCLUDING 'SAPLXT' '2000'.

 3.BADI (Business Addin's)

  • BADI is an enhancement.We enhance the SAP functionalities in customer namespace.
    The fullform of BADI is 'Business ADD In's.
  • It is based upon the oops concepts(interfaces and classes).
  • SE18 is the transaction code for BADI definition.
  • SE19 is the transaction code for BADI implementation.
  • Types of BADI:
    1.Classic BADI.
    2.New BADI(Kernel BADI). 
Comparisons b/w Classic BADI and New BADI:
  • We find classic BADI by using 'CL_EXITHANDLER(Method: GET_INSTANCE) whereas we find the new BADI by using the statements CALL BADI or GET BADI.
  •  In classic BADI,there is no enhancement spot whereas in new BADI,there is an enhancement spot.Enhancement spot is the container for the new BADI definitions.
  •  In classic BADI,there is no enhancement implementation whereas in new BADI, there is an enhancement implementation.Enhancement implementation is the container for the new BADI implementation.

4.User Exit: 

  • User exits are modifications. We enhance the SAP functionalities in SAP namespace.
  •  They are only available in SAP AD(Sales& Distribution) module.
  •  They are available in the form of subroutines.
  •  The most important user exits related to sales order are available in program 'MV45AFZZ'.

Comments

Popular posts from this blog

CDS Views: Table Functions with Example

Passing Dynamic Variables to SO10 TEXT

Adobe Form/PDF Form Introduction