Register Login

How the SAP authorization concept can be used in pricing.

Updated May 18, 2018

Procedure described in detail

    1. Maintaining authorization fields:

    Use transaction SU20 to create the two new authorization fields 'ZKALSM' and 'ZSTUNR'. To do this, use the data elements 'KALSM' (or 'KALSM_D') and 'STUNR'.

    2. Create the authorization object 'Z_KONH_KLS' (transaction SU21):

        a) Select 'SD' (Sales and Distribution)

        b) Choose "Change".

        c) Create the following values:
 

  • Object: 'Z_KONH_KLS'
     
  • Text: 'Condition: Authorization pricing procedure and level number.
     
  • Class: 'SD' (Sales and Distribution)
     
  • Include the following authorization fields in the authorization object:

    '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:

  • Type = 'I' (INCLUDE program)
     
  • Status ='K' (Customer Production Program)
     
  • Application = 'V' (Sales)
     
  • Development Class: Select a suitable development class in the customer namespace.

    As the title, select the following
     
  • for 'ZZAUTH01': "Authorization check for the condition screen",
     
  • for 'ZZAUTH02': "Authorization check for creating conditions"

 

  5. Change the user exits

  • 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):

  • 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 the  value '*' (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.
  • Choose 'Create' and enter in the dialog box:
          
    Profile:      'ZCOND_ALL'

    Text:        "Authorization for all conditions"

    Profile type:   "Single profiles"

    Select the authorization object Z_KONH_KLS created in the above steps (Condition: Authorization pricing procedure and level no.).

    After this, enter the previously created authorization COND_ALL.

    Save and activate your changes.

     

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).

 


×