Skip to Content

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

Regards,

Balaji

To report this post you need to login first.

10 Comments

You must be Logged on to comment or reply to a post.

  1. TW Typewriter

    Balaji,

    Could you please comment on

    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.

    For this requirement why did you go for coding in the user exit.

    To block the creation of multiple proformas (for a delivery), in copy control VTFL, routine 311 could be used.

    http://scn.sap.com/thread/1334641

    Any specific reason why userexit was used?

    (Probably for populating the error message)

    (0) 
    1. Balaji Parsewar Post author

      Hi T W,

      When requirement came to us, I was not aware of routine 311. Hence I have not tried with 311.

      More over customer needs very specific message if somebody tries to create second proforma from the delivery. By keeping the requirement in mind, we have proposed above mentioned solution. Proposed solution worked efficiently. With that solution within 48 hours we have closed the ticket also. 🙂 🙂 🙂

      BTW any comment (praise/criticism) on the blog.

      Your feedback is eagerly awaited.

      Regards,

      Balaji

      (0) 
      1. TW Typewriter

        Balaji,

        I have enjoyed and learnt from some of your blogs.

        This blog is not at that level of some of your other blogs.

        This is good information! But this could be made better by giving many business examples and the relevant program name and userexit.

        I would suggest you to search SCN / Google and give different examples in this blog, with your comments (why a particular userexit is better than another; in a specific requirement? etc.)

        This would add so much more value to this blog.

        Thank you!

        (0) 
  2. Balaji Parsewar Post author

    Thanks T W & MoazzaM,

    Thanks for your valuable feedback. I do appreaciate  & respect the same.

    First thing I will try to come out with next part of the blog with required details mentioned by both of you.

    More over I will try to incorporate your suggestions in my upcoming blogs also.

    Keep contributing.

    Regards,

    Balaji

    (0) 
  3. Szabolcs Dombo

    This include user-exits are still available for compatibility reasons. If you are about to apply a change to such user-exit includes you still have to register the object at SSCR. However,  as of SAP Netweaver 7.0 the most up-to-date way of implementing customer logic in standard codes is using the Enhancement framework.

    With this you can apply your own coding without changing the standard and without registration at the SSCR site. Since it is possible to use the so called implicit enhancements you can place your own data definition and coding in ALL form routines, even in the standard ones.

    For more details you can refer to the on-line help:

    http://help.sap.com/SAPHELP_NW04s/helpdata/EN/94/9cdc40132a8531e10000000a1550b0/content.htm

    Regards,

    Szabolcs

    (0) 
    1. Balaji Parsewar Post author

      Yes Szabolcs,

      You are right. But todays in most of the existing SAP system you will find wide use of user exits. If you are in support functions, you will come acdross user exits very frequently. I addressed those SAP consultants through my blog.

      Regards,

      Balaji

      (0) 
      1. Szabolcs Dombo

        Yes, absolutely agree, in older implementations support personnel might find extensive use of these includes. What I meant to point out, that in new customer function implementation the recommended way is to use the Enhancements.

        Thanks for your blog, Balaji!

        Szabolcs

        (0) 

Leave a Reply