Pricing Authorization
Pricing Authorization
Language English
Header Data
Released On 07.11.2012 19:05:34
Release Status Released for Customer
Component
SD-BF-PR Pricing
Priority
Recommendations / Additional Info
Category
Consulting
Symptom
Up to now you could not exclude certain condition types and subtotal lines from being processed or
displayed in the condition screen by restricting the authorizations.
Other Terms
VH609
Solution
A solution is only possible if you use a modification. For information about the maintenance
responsibility, refer to Notes 170183 and 381348. The following text describes a solution option
based on a modification. Inquiries and problem messages concerning this subject are not
covered by Support but are processed only by Consulting, which is subject to a separate
fee.
By creating two additional authorization fields and a new authorization object and by using the user
exits
l
USEREXIT_FIELD_MODIFICATION
USEREXIT_FIELD_MODIFIC_LEER
USEREXIT_FIELD_MODIFIC_KZWI and
USEREXIT_FIELD_MODIFIC_KOPF
USEREXIT_PRICING_CHECK
to create new conditions, a solution is available which allows you only to create, manually change
and display the condition lines of a pricing procedure for which the user has an authorization. For
conditions and subtotal lines for which the user has no authorization, only the condition key and
the description are displayed. All other fields are hidden.
Restrictions
1. This consulting note contains an example of how the SAP authorization concept can be used in
pricing and which important points you must consider. In particular, everything that differs
from this example belongs to the consulting area.
2. You then must assign access authorizations for every user for all of the pricing procedures
used and the level numbers used in these pricing procedures. If you do not do this, the system
no longer displays the condition lines or no longer displays them in the same scope as you
require for your work.
3. In the change mode (for example, VA02), you cannot prevent that conditions are created or
that a new pricing is started within this solution (the user exits required for this are
missing).
4. If, due to a missing authorization, you cannot create a condition, the system displays an
error message which prevents further processing. This line can only be eliminated by deletion.
5. On the empty condition lines, only the field for the condition key is ready for input. You
can enter the condition rate only after you press ENTER and after a successful authorization
check.
Object: 'Z_KONH_KLS'
'ZKALSM'
'ZSTUNR'
'ACTVT'.
3. In transaction SE91, create message 609 in message class VH with the following text: "No
authorization to create the condition".
4. As described below, create the includes 'ZZAUTH01' and 'ZZAUTH02' in the customer namespace
(transaction SE38). Select the following attributes:
l
USEREXIT_FIELD_MODIFICATION
USEREXIT_PRICING_CHECK
USEREXIT_FIELD_MODIFIC_LEER
USEREXIT_FIELD_MODIFIC_KZWI
USEREXIT_FIELD_MODIFIC_KOPF
as described below (transaction SE38). Check, save and generate the data.
6. Create (in accordance with the previous standard) at least one authorization that enables
access to all of the pricing procedures and condition lines (transaction SU03):
l
Double-click "Sales and Distribution" Among other things, the system displays the authorization
object 'Condition: Authorization pricing procedure and level number' which was created in the
above steps.
Double-click this authorization object: The system displays a list of the authorizations that
have already been created for this authorization object.
Choose "Create": Authorization COND_ALL, text 'Authorization for all conditions'
One after the other, position the cursor on 'Action', 'Procedure' and 'Level number' and, by
choosing 'Maintain values', enter thevalue '*' (that is, authorization for all actions,
pricing procedures and level numbers).
Finally choose 'Activate'.
7. Use transaction SU02 to create at least one single profile:
Choose 'Generate work area':The system displays a list of all existing profiles.
Profile:'ZCOND_ALL'
Select the authorization object Z_KONH_KLS created in the above steps (Condition:
Authorization pricing procedure and level no.).
8. Assign the profile ZCOND_ALL to the users that should have unrestricted authorization to work
in the condition screen. This ensures that these users can continue working as before despite
the implementation of an authorization check (however, the changed authorizations do not become
effective until the next logon of the user).
Application example
User 0815 should only be allowed to work with the standard pricing procedure RVAA01.The user
should be allowed to see and edit only all price and discount conditions, but not the costs and
profit margin information.
In the pricing procedure RVAA01
l
prices with surcharges and discounts are on level number 11 (PR00) to 908 (net value 3) (a),
prices for intercompany billing are on level number 909 and 910 (na),
cash discount, tax and other various information are on level number 914 to 935 (a),
costs and profit margin are on level number 940 to 950 (na),
expected customer prices (EDI1 and EDI2) are entered on level number 970 and 971 (a).
(a) means 'User is authorized' and (na) means 'User is not authorized' to display and change the
relevant information.
1. Use transaction SU03 to create an authorization with the following values:Double-click
'Sales & Distribution'. Double-click to
select the authorization object 'Condition:Authorization pricing procedure and level
no.'.Create the new authorization COND_STD with the text 'Standard authorization for
conditions'.Maintain the following values:
a) Activity = '*'
b) Procedure = 'RVAA01'
c) Level numbers:
'011' to '908'
'914' to '935'
'970' to '971'.
Note that you must enter three-digit level numbers because three-digit strings
are transferred during the parameter transfer to the authorization object (if you do not enter a
three-digit level number, the authorization check always fails).
d) Save and activate this new authorization.
2. Use transaction SU02 to create at least one single profile:
a) Generate work area
b) Create profile: 'ZCOND_STD', text: 'Standard authorization for conditions', single
profile
c) As described above, select the authorization object Z_KONH_KLS and assign the
authorization COND_STD to it. Save and activate your changes.
3. In transaction SU01, assign the single profile ZCOND_STD to your user 0815 and save this. The
new authorization becomes effective when the user 0815 next logs on.
Other Attributes
Transaction codes
CLEAR
PR00
SE11
SE38
SE91
SU01
SU02
SU03
SU20
SU21
VA02
Validity
Software Component From Rel.
SAP_APPL
46C
470
500
600
602
603
604
605
606
616
617
470
500
600
602
603
604
605
606
616
617
Correction Instructions
Correction Instructions
References
This document refers to:
SAP Notes
1575773 Authorization check for conditions (KWERT_K, and so on)
1513276 Authorization for condition detail screen
1165078 Authorization check for conditions or subtotals
717670 Authorization check for change/display of conditions II
381348 Using user exit, customer exit, VOFM in SD
313569 User exits in the condition screen no longer function
209913 Program technical changes in pricing subscreens