Authorization for entering/displaying manual condition in Sale order.
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.
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.
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 😎