In this blog I want to cater user exits in detail. I will try to answer Wh questions like what, How & Where? There are several instances where client have requirement which cannot be fulfilled through standard SAP functionality means it cannot be achieved through standard configuration. Then in order to cater client requirement, SAP have given provision of user exits.
User exits are blank forms/space provided within standard SAP code in which we can write our own code with the help of ABAP consultant to achieve functionality required by client which cannot be catered by standard SAP. With the help of this code we can bring deviation in standard SAP behavior. User exits allow developers to access and modify program components and data objects in the standard SAP System.
User Exits for SD are found in IMG under
Sales & Distribution –> System Modifications –> User Exits
To see user exit, use T-Code SE38 then enter program name MV45AFZZ & click on radio button –> source code & click on display button. In that code only purpose of that user exit is given. If you read that description only, we will come to know utility of that user exit.
For each module, SAP has given list of user exits. Here I would like to give few examples of SAP SD user exits& its application through a simple example:
Client was having STO process. Process is very commonly used & consists of steps –
ME21N – Create purchase order
ME29N – Release purchase order
VL10B – Outbound Delivery w.r. to purchase order
VL02n – PGI
VF01 – Proforma Invoice (Billing Document Type – JEX)
J1IIN – Excise Invoice
Standard SAP behavior is that you can generate multiple number of proforma invoices with reference to single outbound delivery Here client came up with the requirement that system should allow only one proforma invoice from outbound delivery. If you try to create another one system should give error message. This was one of the requirements that could not be catered through standard SAP. At that time we used user exit RV60AFZC & prevented proforma invoice creation.
Few of the very popular SD user exits are –
Invoice – RV60AFZZ, RV60AFZC, RV61AFZB, RV60AFZD
Delivery –MV50AFZ1, MV50AFZZ
Sales Orders – MV45AFZZ