Skip to Content
Product Information
Author's profile photo Kusiel Camargo

Use Case for Situation Handling – MRP Material Exceptions


As part of the SAP S/4HANA RIG team, we would like to provide some examples of Use Cases for Situation Handling that could be beneficial for your company. In the SAP Portal you can find the Use Cases available in your SAP S/4HANA version.

There are several activities that require our attention during the daily work. However, if we delay to action in some of them, we can cause subsequent impact in the supply-chain, or waste money by purchasing or producing unnecessary goods.

Situation Handling is a strategic SAP product, which brings a real tool to handle tasks which are difficult to follow-up, are time-consuming and on top of that, risky for business supply-chain when unattended.

In this blog, I will present to you how to monitor MRP Material Exceptions and act proactively when you receive the alerts via the Situation Handling tools.


Business scenario

Imagine that you are the production planner, and you have already a production order planned to supply the demand of a sales order. Now, by any reason, the sales order was cancelled, meaning that you don´t need to produce anymore. If you are not looking the Monitor Material Coverage or the Stock / Requirements List, you won´t cancel the production order on time.

1) How can Situation Handling help us?

The template MRP Material Exceptions is used by Situation Handling to inform specific members of your MRP organization automatically about exception messages that occurred during the MRP run for purchase orders or production orders that are no longer needed. For that, we can consider the conditions of the following exceptions:

  • Cancel Process
  • Excess Stock

2) How is Situation Handling set for this scenario?

You can check an example of this process in the SAP Best Practices Explorer, under the scope item J44 ( Chapters 2.4.2 – Prerequisite for Material Exception and 4.5 – Material Exception). There, you will see an example of exception handling for Purchase Requisitions. In this blog, I will show you an example when a sales order is cancelled.

2.1) Pre-requisites

You need the following SAP roles to set-up and test this scenario:

  • SAP_BR_BUSINESS_PROCESS_SPEC – Business Process Specialist
  • SAP_BR_BPC_EXPERT – Configuration Expert – Business Process Configuration
  • SAP_BR_MATL_PLNR_EXT_PROC – Material Planner – External Procurement
  • SAP_BR_PRODN_PLNR – Production Planner

You must have the users that will receive the notifications created as Employee Business Partners.

2.2) Defining the list of users to receive material exception notifications

Go to the app “Manage Teams and Responsibilities” and click on “Create”.

Then, select the Type “SMRPT” and press “Enter”.

Inform the Name, Global ID and change the status to “Enabled”.

In the Responsibility Definitions, you can assign the MRP Controller(s), Material(s) and Plant(s) allowed.

Next, verify the Team Owner and add the Team Members that will receive the notifications by clicking on “Create” > selecting the Employees > pressing “Go”.


2.3) Defining your Situation type by copying the template MRP Material Exceptions

In the Fiori app “Manage situation types” ,  select the template SAP_PP_MRP_MATERIAL_EXCEPTION and click on “Copy”.

Now you are creating a New Situation Type, based on pre-fulfilled information copied from the template.

In the section “Admin information”, define an ID and a Name.

For the section “Conditions”, you will define the criteria to trigger the notification. The template proposes to send notifications with status “Open” and Material Situation Type = “CAN” (Cancel Process). In our example, I´ll restrict as well by Material.

But what is the situation type “Cancel Process”? It is the Exception Message “20 – Cancel Process” in the MD04 – Stock / Requirements List.

For Batch job scheduling, define when the system will check the documents and send the notification. In this case, it will be every day at 6 am Brazil.

TIP: if you´re-testing your scenario, you can trigger the job immediately after saving your situation type, clicking on “…” and “Trigger Now”.

In the section “Situation Display”, you can adjust the content of the message to be sent. For instance, you can add some variables in the Message Details by using “{ }”, or simply leave the text from the template.

Also, we recommend you flag that the system will aggregate several notifications in only one message.

In the section “Recipients”, review the Responsibility Definition and set the Member Function

In the section “Situation Monitoring”, flag “Monitor Instances” and save the Situation Type.

Click “Yes” to enable your Situation Type


3) How a Notification looks like?

Now, let´s execute the process to receive a notification.

Initially, we have a Sales Order of 10 pieces with a Production Order created to supply this demand.

Then, by any reason, I cancel the Sales Order. For instance, enter in the app “Change Sales Order” > go to the tab “Item Detail” > select a “Reason for Rejection” > save the Sales Order.

You will notice that the Stock/ Requirements List has changed. Now we have a Production Order with the Material Exception “20” – Cancel Process.

Trigger the Job manually in the app “Manage Situation Type” or wait for the automatic daily execution according to the date / time you defined.

Once the Job is triggered, the employees assigned will receive a notification on the top right of their Fiori Launchpad screen.

Click on the icon and check the notification message.

You can click directly in the message and the system will take you to the app “Manage Material Coverage” (For Make-to-order scenarios, we need to go to the app “Monitor Material Coverage – Net and Individual Segments (Version 2)”, select the material and click on “Manage Materials”).

In the “Stock/ Requirements List” section, you will see a “trash can” icon in the column “Rescheduling”, for cancelling the Production Order.

Click on the “trash can” icon.

Click on “Yes” to confirm the Technical Completion of the Order.

There is no Production Order anymore in the Stock/ Requirements List.

You can click on “Close Situation” > select “Resolved” and click on “Confirm” to close this notification.



I hope you have learned about how SAP Situation Handling – MRP Material Exception can help you to monitor the supply-chain changes and react proactively. If you are interested to learn more about Situation Handling in the SAP S/4HANA, I suggest you the following blogs created by the SAP S/4HANA RIG team:

Additionally, there are some very nice demos in the openSAP portal:

You’ll find much more on our SAP Fiori for SAP S/4HANA wiki

Other helpful links:


Please, let us know your comments. If you have any questions, we encourage you to post into the Q&A are using the Tags SAP S/4HANA, SAP Situation Handling and S/4HANA RIG and we will try to answer them as soon as possible.


Thank you!

Brought to you by the SAP S/4HANA RIG team.

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Dominik Tylczynski
      Dominik Tylczynski

      That is a great, instructive article.

      The Situation Handling for MRP exception is a really nice functionality. However it must not be an excuse for not managing MRP exceptions with the Monitor Material Coverage or the Stock / Requirements List. These apps are still the primary tools of an MRP controller only supplemented by the Situation Handling.

      It's worth pointing this out constantly as I see over and over again MRP exceptions not being monitored or even not being understood.

      Best regards

      Dominik Tylczynski

      Author's profile photo Kusiel Camargo
      Kusiel Camargo
      Blog Post Author

      Thanks, Dominik.

      You are absolutely right. Managing MRP exceptions is a must, and Situation Handling is one of the tools that improves this activity.

      Best regards,


      Author's profile photo Pravin Mandgaonkar
      Pravin Mandgaonkar

      Excellent info on situation handling use case..Thanks for sharing..

      Author's profile photo Lingaiah Vanam
      Lingaiah Vanam

      It is very nice feature and will solve many issues in material planning process.

      Best Regards,


      Author's profile photo Zev Yang
      Zev Yang

      hi, Kusiel :


      Trigger the Job manually in the app “Manage Situation Type” or wait for the automatic daily execution according to the date / time you defined.

      I followed the steps to create it, but i didn't see the option to trigger the job. and the job wasn't triggered these days.  My version is s4 1909.  thanks.

      Author's profile photo SatheeshKumar Dhandapani
      SatheeshKumar Dhandapani


      Very Informative, trust we replicate this for the GUI also in MD04>collective access

      Author's profile photo Matteo Dalla Rosa
      Matteo Dalla Rosa

      Thank you for the article, very interesting and useful.

      In our environment every material has its own MRP controller, and each MRP controller is a different user.
      Which is the best way to filter the MRP exception notification in order that each user receives only the notification of the materials related to one MRP controller?

      We thought about creating a new team for each MRP controller and filter by MRP controller in the team, but as we have many MRP controller this activity is not efficient.
      Would it be possible to manage with Authorization Fields or Responsibility Definitions? How?

      Thank you!


      Author's profile photo Abinash Routray
      Abinash Routray

      Hello Matteo,

      As rightly informed by you, it is not efficient that the you create 1 team for each material controller with 1 team member (user) corresponding to the material controller as there are many material controllers.

      Although Responsibility by Teams is generally a good solution, but for your use case, it is not a good fit.

      So we suggest you (as a good will gesture and not as consulting) to consider going for the following steps at your own risk.

      • Creating custom responsibility rule with parameter(s) like material / material controller to determine the responsible user(s) (by referring Manage Responsibility Rules)
      • Extending the standard Responsibility context SAP_PP_MRP_MATERIAL_EXCEPTION with Responsibility Context type SITU to add a custom agent rule based on the above custom responsibility rule (by referring Manage Responsibility Contexts).
      • Testing the custom responsibility rule and custom agent rule in the situation type to ensure that the extensions are working correctly in development system/client by using "Responsibility Rules" instead of "Responsibility by Teams" in the section “Recipients” in the situation type and choosing the newly created custom agent rule in the extension explained in the above step and activating the situation type in the development system/client(s).
      • Transporting the extensions from Development to Quality to Production by referring Transport Responsibility Rules, Contexts, and Team Categories (please ensure that in, you are choosing the right OP release and version) if the above tests are satisfactory. Please note that if you are in OP 2021 FPS01 or earlier, the transport will happen via Change Transport System (CTS) and not via Adaptation Transport Organizer (ATO).
      • Using "Responsibility Rules" instead of "Responsibility by Teams" in the section “Recipients” and choosing the newly created custom agent rule in the extension explained in the above step.

      Note: Other customers might find it easy to go with "Responsibility by Teams" if they don't have similar restrictions as yours.

      Cloud customers can consider Manage Responsibility Rules, Manage Responsibility Contexts and Transport Responsibility Contexts, Rules, and Team Categories if they want to use custom agent rules instead of "Responsibility by Teams" in Recipient section.


      Best Regards,

      Abinash Routray

      Author's profile photo Matteo Dalla Rosa
      Matteo Dalla Rosa

      Thank you Abinash.

      I got stuck at the first point, "Creating custom responsibility rule", because when selecting the package to create the custom responsibility rule, only 3 standard packages are available and I cannot select a custom package.

      I created a specific post for that.

      Any idea on how to proceed?




      Author's profile photo Suresh Eswaran
      Suresh Eswaran

      Hello Kusiel  ,

      Thanks for sharing such wonderful detail. Could you please advice, is it possible to get notification only for particular exception message.


      Because my client requirement is, they need notification when the stock quantity falls below safety stock (the exception message number 96 for the same). Am I able to enable enable notification only for that???

      thanks in advance.