Skip to Content

Authorization for entering/displaying manual condition in Sale order.

Business Requirement:

Sometime client asks for hiding some specific condition value like VPRS etc from condition tab of sale order or invoice. This is not possible in standard. Also sometime a requirement comes that only specific users can enter manual discount condition in Sale order. Most of the people give V_KONH_VKS authorization object as a solution. But this is not for entering condition in sale order. This object works in VK11, VK12 and VK13. For hiding or entering manual condition there is an SAP note 105621. All process has been described step by step in this note. I am just explaining it with screen shots because I have seen many guys who know this note but still don’t able to implement this.

Create Authorization Field

Run TCode SU20 and click on create button


Create two authorization fields with following inputs



Enter your package


Create new transport request


Create Authorization Object

Run Tcode SU21 and Click on this icon and select Authorization Object


Enter object name, text, class and field names. Field ACTVT is not necessary. I have added in screenshot but you can create without this field too. It works fine without this field. Only add two fields ZKALSM and ZSTUNR.


Create message

Run TCode SE91 and Enter message class VH and number 609 and click on Change


Select this option


On message number 609 enter your text which will be shown as error message when user will enter condition which he is not allowed to enter.


Create Includes

Run TCode 38 Enter include name ZZAUTH01, select Source code option and click on create button and enter the following values


Here you can enter coding provided in SAP note 105621.

Reproduced text removed by G. Lakshmipathi & Jyoti Prakash

Now give your package name and save this. Create another include by following the same procedure and give title of this include as “Authorization check for creating condition“. Coding for this 2nd include is

Now you need to add these includes in program LV69AFZZ. Here you have to take help of your ABAPER for implementing this Enhancement. Once its implemented, you can add your coding in it. I am not adding screens of how to implement enhancement but I am attaching screens of implemented enhancement here. Go to T-Code SE38 give program LV69AFZZ and click on display button.





Give authorization and test this. I have given authorization of pricing procedure ZM0001 steps 190-290 to my test user. System will allow to display and enter only those conditions which comes in between these step numbers. For all other steps and conditions system will not show condition value and if any condition is manual user can not enter this condition. Check below authorization and pricing procedure.



A user having full access of these pricing procedure will have following screen.


A user having limited access like I said step numbers 190 to 290 will have following display screen.


If user try to enter condition which he is not allowed system will give error. In below screen I am trying to add ZCOM condition which is manual but system didn’t allowed me. This can be controlled at user level.


If you see the SAP note 105621 there are some other settings too regarding creating authorization profiles. I have not mentioned those settings here because these are not mandatory. If you want to create an authorization profile having full access of all pricing procedures and all steps you can create with SU03 and SU02. Take help of your BASIS guy if required. Assign this profile to users you want to allow full access and for all other users you have to give them relevant pricing procedures and step numbers in pricing pricing procedures. 

Please give your remarks if this is helpful for you 😎

You must be Logged on to comment or reply to a post.
  • Wonderful work and the way you have presented is well appreciated.  Also, as you know reproducing the text from service market place is not allowed, I have removed the coding part.  Let others who want to make a try, can go through the said note and try with the coding. 

    G. Lakshmipathi

    • Dear Lakshami Sir

      Thank you very much for appreciating. If some most senior member like you is appreciating this then it means it is really a useful document. I am always very careful about rules but I pasted that coding because I thought without coding document will be incomplete and users will ask for coding. But you are right! If someone need to implement this he can get the coding from SAP note.

      • Hi Moazza,

        Quick question, we implemented this note and are hiding a couple of condition types but if you click on the Analysis button, these 2 condition types are still showing the pricing on it. Are you able to see the pricing on the analysis screen even though you are not seeing it on the conditions tab screen. Please do update here.

        • Hi

          I did this in my previous role and I left that company 2 years ago. Now I have to implement this here and check the same. I'll try to implement this note here and update.


          • Thanks,

            Just a little weird that the condition records are visible on the analysis screen, it is perfectly hidden on the pricing conditions tab screen, trying to figure out whether we missed something or this is a loophole. I'll await an update on your end.


          • Hi


            For this there is one authorization check. May be you have implemented that note which hides condition types for some users. Check this as well.



          • Hi,

            I just came across this, just to close out on my side, we ended up implementing a custom role to disable the analysis tab and controlled it based on certain sales org through a control table since we have a footprint in multiple countries. We just wanted it deactivated only for the North America countries.

      • Hi Moazza,

        Thank you for such a wonderful blog.

        We have requirement like, standard condition PR00 should be editable for specific user and non-editable for other users. however, other user can only see price but can't do any changes in PR00 at VA01, VA02.

        As the same condition type PR00 is been used in other Pricing Procedure for other countries so it Β can't control at condition type(Manual entries - B, D).

        We have alternate solution of creating new pricing procedure and tried routine as well. But we are trying if it can be controlled Β the way you explained.

        Can you please guide us whether, is it possible to control PR00 condition type editable and non-editable for specific users?






  • As Lakshmipathi sir said, you did a fabulous job. Your way of presentation is Cristal clear. We would like to see more presentations like this in future.

    Keep up the god work



    • Dear Konnipati

      Thanks for your compliments. I used to share my knowledge on SCN and you can see my previous documents too and I will post in future too.

    • Dear Siva

      I believe if client don't ask for this solution even though we should implement this because this is very important part of order processing.

      • Dear ,

        One small doubt about is , Can we control as this same function with the help of Screen Variant SHD0  without help of Authorization ?

        Note : Why because ,It seems huge process to do this but Nice one .when you comes to Screen Variant ,not huge and easy process .



        • Dear Narendra

          It seems huge but its simple. This is not very technical. I am not ABAPER neither BASIS guy but I just followed SAP note 105621 steps and did this. Only thing which I have done through my ABAPER is implementing enhancement.

          For your question I don't think so this is possible with variants. I tried once and it was like not working for me because it hides whole condition tab πŸ™ but following this note we can hide specific condition value or even we can restrict manual conditions user wise.


  • Dear MoazzaM,

       Even though i could not go through every document, for future reference purpose i can keep it, very nicely explained ofcourse no need any other comments as you got allready good appreciation by experts.i usually keep on observing your postings very well explanations . Keep on posting this kind of very well apreciated documents.



  • Hi MoazzaM,

    Thank you so much for sharing such an informative document. It will really help to have good insight for the functional consultants regarding authorization for  Sale order functioning.

    Very informative, systematic & easy to understand. 

    Appreciate your effort on this document.



  • Dear Moazzam,

    Thanks for sharing this document as I was looking for the same. Great efforts made by you to explain this process in a easy way. Thanks a lot once again.



  • Dear Moazzam,

    Thanks for sharing this important document πŸ™‚ . This document has helped me a lot in solving authorization issues in sales order at item level.

    I would like to ask you how could I hide VPRS condition in SALES order Header under Tab Conditions.

    Thanking you once again for sharing this document.

    • Hi

      You can follow the document and add your VPRS condition step number in authorization object. It is simple if you follow this document step wise.


  • The BAdI PRICING_AUTHORITY_CHECK_UI which is called from


    has sample class CL_VF_PRC_AUTH_EXAMPLE

    which provides a simpler method of implementing the Authorisation check.

    You are still required to create a suitable Authorisation object.

      • Hi Moazza,

        If the Auth check fails then the conditions are hidden.

        I have not tested extensively but it appears that it is also possible to code for "Condition Insert" separately from the "Display condition" auths. ie. you could allow a user to display a manual condition but prevent the same user from inserting the condition.


        • Hi Tyrone

          We can use 105621 note for two purposes. Its core purpose is to hide condition value for some secific users. Like you can see in this document as well that I have hidden some values. For restricting or allowing entering a mannual condition is another control that we can have with this note or with function module you have shared. You know there are always more than one way to skin a cat πŸ™‚


  • Hi

    This method is good for organisations with a few pricing procedures or with pricing procedures that are consistent. As soon as you start with many pricing procedures and the step numbers between procedures differ for the conditions that you want to hide, then the maintenance behind this method is a nightmare - as we found to our cost.

    We implemented this and then changed to a process where we use the same auth objects, but instead of defining price procedure steps to include / exclude, we appended a new field to table T863S as a check box (i.e. if the box is ticked, then that line int he pricing procedure is valid for auth check) and included this field in the auth object and auth check.

    Same principle of auth checks and objects as above, but a lot less maintenance in the auth checks.

    • Hi Chris

      Yes you are right and your approach is absolutely correct. We can modify the process according to our own requirement and scenario. This is beauty of SAP that it is flexible and user friendly. Thank you for sharing your thoughts and this is really a value addition comment for this document.