Skip to Content

Status Profiles in SAP

Status Profiles in SAP

You can create Status profiles for documents or transactions and then set up authorizations for certain activities. The result is we can enable select personnel as authorized to carry out the activities blocked by status profiles.


Create Status Profile

  1. Create status profile in general status management as shown below (BS02) or  via IMG –> Sales & Distribution à  Sales à Sales documents à Define & Assign Status Profile:

2. Go to Define Status Profiles. Choose New Entries and enter code & description for your status profile:

3. Choose object types for status profile. Eg: Sales order header or sales order item for which the status profile is to be applied to.

4. Enter your status say for price check, specify lowest status number (which will render any statuses lower than the lowest number specified, inactive) and highest status number (which will decide the upper limit of status numbers which may be activated if this status is active).

Set initial indicator for your required status, generally system sets initial automatically for the first status.

Specify authorization key in authorization code field. (See below for creation of authorization key).



Authorization Key

Enter authorization key & description in BS52 and save. Authorization key is assigned to status profile and is used to create authorization for user role.

Users and Authorizations

Authorizations to perform a particular action in the R/3 system can be created (and included in required user roles) via authorizationobjects.  Create authorization for authorization object B_USERSTAT

1. Go to IMG à Cross-Application components àDocument Management à Control Data àMaintain Role or use transaction PFCG and add authorization for status profile to required user role.

2. Choose change user role and go to menu tab. Add transaction (say VA02) for which you want to give authorization to change user status for sales order header or item

3. Go to Authorization tab and choose ‘change authorization data’.  Maintain status management for authorization object B_USERSTAT, specify object category as chosen (VBK or VBP), authorization key, and status profile. Generate authorization.

4. Go to user tab and enter user ids which are to have role with authorization for status profile and save.

Save User Role.

Test Status Profile

  1. Create sales order and check status (sales document header à status tab). Status is blocked and user status is PRC (from status profile).

2. Try to deliver the blocked sales order to get below error:



Now, delivery and subsequent documents can be created for released sales order.

***

Karuna Ravuri


29 Comments
You must be Logged on to comment or reply to a post.
  • I have became a fan of your documents since I have viewed your Information Structure document. Very Generous explanation…. Keep posting….. 🙂

  • Dear Karuna,

    Thanks for sharing the document 🙂 , I have a small doubt regarding status profile how can we control the changes in the document when it is sent for approval from one level to another level.

    For Example:

    I have created a sales order with qty 10 and sent for approval to next level. The person at next level is having authorization to change the document qty from 10 to 15 and approve. As soon as he changes the document qty or any other field then system should default the status to Initial. As this facility is there in MM release strategy and we can control it through characteristics functionality. I am looking for the standard way by which we can achieve the above mentioned requirement.

    Thanks and Regards,

      • Hi Karuna,

        Thanks for the quick reply, I was thinking of  Z-development initially but awaiting for the  confirmation from Experts before proceeding. Its appreciated 🙂 .

        Regards,

  • Dear Karuna

    nice document but i have one doubt plz tell me this process will be applicable only some users only may i know ?

    once again thanks a lot ,, keep it up it will help a lot for learners like me .. 😘 🙂

    • Hi Venu,

      Thank you 🙂 . Use of status profiles is to give certain personnel authorization for certain activities in the document as per business requirement.

  • Mr Karuna Ravuri,

    Good Document.

    My requirement is to create Contract and the contract is to be approved by Senior Manager,then only further processing to be done.

    BS02-Here if i create one status say APPR,under transaction control ,i have to maintain Create Sales document as Forbidden,by doing so contract will not be released?

    Under business transaction create inquiry,create quotation is there.But we dont have option of contract creation,what is the option to choose.

    Explanation on Lowest & Highest level would be helpful for beginners.

    BS52-Authorization code

    What is use of this,here you have assigned one authorization code to 2 status.Why dont you create 2 authorization code,assign each to each status.

    Thanks,

    Pradeep

  • Hello Karuna thanks for the time and effort

    I have a query if I require approval from multiple departments how can that be mapped.

    Regards

    Madan

    • Hi Madan,

      Create two or more statuses as required and as many authorization keys to allow for multiple authorizations. One status & key per approval level can be created.

      Authorization key for status profile & auth object B_USERSTAT has to be assigned to user role. Assign this user role to specific user id.

  • Hello Karuna,

    Very Nice presenation..

    But need some information from ABAP side. We have added new status. And for some specfic scenario , i would like to check that new status as default , right now the default status is comign as ‘OK’. How can we do that.

    Thanks in advance..

  • Thanks for the documentations, it really helps from the scratch. 🙂

    However, I have one query regarding the same topic.

    Say, if I have 3 statuses in one status profile where requirement is : if status no 3 is selected, all other statuses would be grayed out (others can’t be selected) ..

    Is there any way to do so ?

    Thanks,

    Krishanu.