Status Profile in SAP SD
Status Profile
Concept
Different user defined statuses can be assigned to a sales order at the header or at the line item level. These statuses are assigned using a status profile. This concept is present in SAP CRM as well. What is more important to understand is the different business scenarios that demand statuses for the sales document.

For example, in typical office situations, quotations beyond a certain sum need to be approved by the sales manager. Let’s take a simple IDES example of a ZQT status profile. This status profile has 3 statuses – Quotation Approved, Quotation Declined, Quotation Not Approved. If the quotation is not approved, we should configure the system in such a way that an order cannot be created from the quotation. Which means, each status can influence the way the sales order’s subsequent steps are performed. We will also look at a more complicated example that has 6 statuses and the sequence in which the user changes the statuses is also controlled via configuration.
Configuration
The configuration menu path for Status Profile is as shown in the picture below [ SPRO -> IMG -> Sales & Distribution -> Sales -> Sales Documents -> Define and Assign Status Profile ]

As already mentioned, status profile can be created for both header and line item level. The procedure is very similar for both of them. So the steps required for creating a status profile at the header level are
- Define Status Profile [BS02]
- Assign Order Types to Status Profile [VOV8]

Let’s go through the process of creating the status profile first. Based on the example that we have discussed, select the status profile ZQT which contains the statuses that we have discussed above for the quotation scenario. As you can see from the picture below, there are 3 statuses assigned to status profile ZQT. They are
- NAPP – Not Approved
- APP – Approved
- REJE – Rejected
Each of these statuses have a long description and a short description. Just in case you need to maintain a long description, you can select the button highlighted below to create a long description for the status. Also there is a check box called “Init. St.” . Each document which has a status profile assigned to it, starts with an initial status. The one check marked here will be the initial status. Meaning, if you create a quotation of type QT ( that is assigned to a status profile ZQT ), the user status initially during the creation will be NAPP .

The next thing would be to identify all the allowed business transactions possible for a particular status. You can double click on the status or select the magnifying glass to view the allowed business transactions.

As you can see from the picture above, if the quotation is in status NAPP, then the transactions “Create Billing Document” , “Create Delivery”, Create Goods Issue” etc are not possible. The only transaction that is possible is “Complete” which means you can just save the quotation. It makes sense right..? What is the point in doing anything with a quotation that is not approved.
This time let’s take a more complicated example ( Based on the first picture shown in the concept section ). The business scenario is the installation of a complex equipment ( Say an MRI Scanner ) that the customer has brought from us. After placing the order, there are 6 steps that are involved before invoicing the customer.
- The customer has Placed the oder, but the installation procedure was not Instantiated yet.
- The customer needs to register with us over the web with the order number and that start the installation process.
- Our Service Representative will visit the Customer location and validate if the site is suitable for the installation of the product.
- After the site is found suitable physically, the technician will visit the site and make sure that there is proper ventilation, power and cooling available.
- Only after this final validation will the product be shipped to the customer location.
In order to accomplish this, let’s create a new status profile ZORD_INS and assign this to the order type OR.

Maintain different statuses ( as discussed above ) for the status profile ZORD_INS. Each of these statuses will have a number ( to the far left below ). And as discussed above, the first status ZNOT will be the initial status. The highest and lowest numbers are a little bit complicated and will be easy to understand in the demo. Nevertheless, the reason why the exist is that not all statuses can be attained before certain statuses are passed. Meaning, you cannot go to status ZINS ( Installation Confirmation ) directly from ZNOT ( Not Initiated ) without going through the other statuses like Initial registration, Site Verification etc. So when the lowest and highest numbers are 10 and 20 against status ZNOT, that means that from status ZNOT, the user cannot place the order in another status beyond 20 – Meaning the only way for changing the status of an order in ZNOT status is to first go through status ZREG. This is just a complicated way of saying the statuses need to go lock and step in a particular sequence. This depends on the business scenario and is not always the case.

The next step would be to define all the object types that are effected because of the status. For a standard sales order you can just select “Sales Order Header” and be done with it. For more complicated scenarios like service orders, equipment masters etc, you would have to select the appropriate object type.

Each of these transaction types are associated with a number of business transactions. You would have to select the new button to import all the business transactions associated with the object type.

After importing the business transactions, you can view them here. Now, you would have to choose and set the “influence” that the status has on each of the transactions.

Since the order is in its initial stage, we should configure the status to only allow completion ( save ) and forbid any other transactions on the order ( Like billing the order, delivering the order, PGIng the order etc ). Because, until the site is ready, the service engineer has checked the site, there is no point in delivering the transaction or billing the transaction.

Similar to the ZNOT example, go ahead and configure the rest of the statuses and set the influence on the transactions.
The next job is to assign the status profile ZORD_INS to the order type OR. That is being shown in the following 2 pictures. That will finish the basic configuration. Let’s follow through with a demo and see the effect of our configuration.


Status Profile Demo
Let’s start by creating a sales order and see the effect of the status profile on the different transactions that we perform.
Goto Header -> Status to see the effect of the Status
Status to view Status Profile” src=”http://images.magnatraining.com/sap-tutorials/sap-sd/status-profile/goto-header-status.gif” />
In the status tab, you will see the current status ZNOT ( because this is the initial status after creating the sales order ). If you want to explore the statuses further, click on the Object Status button.

User Statuses are shown here. If there are more than 5 statuses here, you can click on the button highlighted in red below to scroll down and view more.

If you change the status now to 50, you will get an error message as shown below. This is because we have defined the highest step of ZNOT to be 20. That means the only upper status that the status NO. 10 – ZNOT can go to is 20. If the user tries to set the status of the sales document to something higher, the system will give an error message.

Similarly, if you try to deliver this order while the status of the sales order is ZNOT, the delivery transaction VL01N will throw up an error message as shown below. This is a way to control the different business transactions that an order can subsequently perform under a given status.

Excercises
- Create a Status Profile ZDELIVE
- Assign 5

Is there any Business Transaction to forbid changing a quotation if a specific user status has been assigned?
Thanks
Hello Sir
I did everything and it works perfectly, Thank you! But i didnt know how to process the whole process. Since I assigned other statuses (zreg, zsit etc) what makes system to pass from one status to another? In other words how can I achieve status zreg for example?
Thank you
Marz
The process of moving the statuses from one status to another and how auth profiles are assigned to the statuses and corresponding auth profiles are assigned to the user profiles are discussed in the class.
Marz
the process of changing statuses, how to assign status to auth code, how to assign auth code to user profile etc were discussed in the class.
How will the system identify the right person who is authorized to handle/approve the status profile. As far i understood nowhere in the above config. i found the same.
Jagadish
This forum is limited to Magna Training students ONLY. Sorry. We want to dedicate our limited resources to answering our students’ questions.
As an ABAPer need the technical info of User Status.
That means from which table we will get the User Status.
Thanks
How to remove the status set in the sales order which is not allowing to PGI
The answer to that depends on the sequence in which the User Statuses GO. ( Remember the Lower/higher ) . Also, i am assuming you are talking about user statuses , not system statuses.
i have one question by this way we can have the release strategy for a particular sales document type or item category , but if i want to restrict it only for a particular material segment(spare parts ) with in one sales document type ZOR and item ctegory TAN. than i did not not found a suitable way as if these document type and item category is used across the globe in business it will impact all over.
is there any way that can be restrict to distribution channel 10 and material specific.
Very good scenario. I don’t think we can configure it straight away using standard SAP Config. Let me think abt it.
Probably the best thing to do is create an item category specific to the material or group of materials ( using the respective a different item category group and corresponding item category determination ) and assign a status profile to that item category.
brilliant job done sir
Thank you Avadhesh.
Very useful and informative. Well explained.Thank You Magna.
Thanks Rajendra
Status Profile — ZGOR_INS CREATED WITH 6 DIFFERENT STATUS AS IN THE DEMO
ORDER TYPE ZORS CREATED AND Status Profile — ZGOR_INS IS ASSIGNED TO IT
ORDER 13612/ZORS CREATED
WHEN I TRIED TO CHANGE THE STATUS FROM 10 TO 50, GOT AN ERROR..”Status ZDEL is not allowed (SDI 13612/0)”
WHEN i TRIED TO CREATE THE DELIVERY ORDER GOT AN ERROR ‘Order cannot be delivered (see long text)”/ “”Create delivery” not allowed (User Status znot, object )”
This is a very useful and well explained document.
Thanks for sharing.