Configure Cut-Off Times for Scheduling with Business Process Scheduling (BPS)
Introduction – Business Process Scheduling
Business Process Scheduling (BPS) is a new scheduling solution that helps with supply chain management by providing flexibility and precision. It schedules dates for the Sales, Stock Transport, and Outbound Delivery business areas on a daily or secondly basis.
For more information on how to use and set up BPS, you can refer to Get to Know Business Process Scheduling (BPS) blog post from our colleague, check the SAP Help Portal or watch the provided videos.
Problem Definition – Cut-off Times
Scheduling solutions are a critical aspect of many businesses, ensuring that orders are processed efficiently and accurately. However, new requirements can emerge that require modifications to the existing scheduling configuration. One such requirement could be setting a cut-off time for the material availability date (MBDAT), for example, from 12:00 AM to 12:00 PM.
Fortunately, adapting to this new requirement is simple when using BPS to configure your scheduling business process. Here’s what you can do:
Modify the scheduling schema by adding a new ‘Cut-Off’ activity that specifies the time limit for accepting MBDAT (Material Availability Date). This modification allows the solution to differentiate between orders created before and after the cut-off time and serves to adjust the MBDAT accordingly.
Solution – Technical Set Up and Implementation
Now let’s look at a concrete example to see how it is configured and how it will affect scheduling.
The implementation of this example consists of four different parts:
- Create a new schema with Cut-Off activity.
- Activate BPS for Sales documents.
- Configure activity attributes for Cut-Off activity.
- Create a Sales Order and analyze the result.
In the first 3 parts, configurations will be shown step-by-step to implement the solution. The last chapter will cover the sales order creation with the new solution and analysis of the scheduling results. Each step will include screenshots to make it easier to follow.
Create a new schema with the Cut-Off activity.
Execute transaction ‘BPS_ACTIVITY_CONFIG’ and add ZCUTOFF as a new activity.
Create a scheduling schema.
Execute transaction BPS_SCHEMA_CONFIG, copy one of the standard SAP delivered schemas, for example, ‘SALES_SECS’ and name it as ‘ZCUTOFF’.
Add Cut-Off activity to the new schema.
Select the ‘ZCUTOFF’ schema and navigate to Scheduling Schema > Activities. Add the previously created ZCUTOFF activity to the activity list.
Configure Cut-Off activity ‘Attribute Determination’.
Select the ZCUTOFF activity and navigate to Attribute Determination. Define determinations for calendars and time zones, however since durations are not relevant, they can be skipped.
Configure activity sequences.
Next, to make sure the activities are scheduled in the right order, the activity sequence configuration needs to be updated with the new activity ‘ZCUTOFF’ as the predecessor of the activity ‘PICK’.
The new schema is successfully configured with the new activity Cut-Off to be able to run the scheduling framework.
Activate BPS for Sales documents.
Make sure to activate BPS for the related sales document type which is going to be used during the sales order creation. The BPS_SALES_CONFIG transaction can be used to activate BPS for sales documents. Order type BPOR, item category TAN and shipping point BPS1 will be used in this example to activate the ZCUTOFF schema during scheduling.
Configure Activity Attributes for Cut-Off Activity
Make sure to define a new usage type for the activity in the back-end system. This will enable the new activity to be selectable and configurable in the relevant front-end app. Switch to the front-end system and use the Configure Activity Attributes app to configure working times for the activity ZCUTOFF.
Define usage type for cut-off activity.
Execute transaction code ATP_IMG, navigate to Object and Value Determination->Define Usage Types.
Now add the usage type ZCUTOFF for both of BPS_DURATIONS and BPS_WORKING_TIMES usages.
Define a working time to be assigned to cut-off activity during scheduling.
There are 2 ways to define the working time. Either using the transaction /SAPAPO/CALENDAR or navigating to SD working times maintenance via SAP Customizing Implementation Guide -> Sales and Distribution -> Basic Functions -> Delivery Scheduling and Transportation Scheduling -> Maintain Working Hours.
In this example, the /SAPAPO/CALENDAR transaction will be used.
Now the back-end configurations are completed. The next steps will be implemented in the related front-end system.
A new characteristic combination will be created and later a new working times access sequence for the Sales catalog type and Cut-Off activity will be defined based on this new characteristic combination. In a nutshell, during a scheduling run, if the defined combination is used in a sales order, the working times of the Cut-Off activity will be filled from the value of this access sequence.
Create a characteristic combination for cut-off activity.
Navigate to the Business Process Scheduling apps.
If Business Process Scheduling space is not accessible, the ‘SAP_BR_ORD_FLFMT_MNGR_SCHDG’ role needs to be assigned to the business role assignments of the current user.
Navigate to Manage Characteristic Combinations app and create a new combination for usage type Working Times for Scheduling. In this example, a simple combination of sales document type and material number will be used as characteristics.
Create access sequence for cut-off activity.
Open the Configure Activity Attributes app , select Sales as catalog type and Cut-Off as the scheduling activity, switch to the working times tab and create a new sequence.
Don’t forget to select the characteristic combination created in the previous step. Here is the screenshot of the values are going to be used in this example:
Create a Sales Order and analyze the result.
To be able to have meaningful data, a combination for durations with the same characteristics is created and 24 hours is assigned as the duration to all activities except of the activity Cut-Off. Working times are configured for the Cut-Off activity to change the start time of the successor activity Pick, it is not necessary to assign any durations to Cut-Off activity itself.
Create a sales order first.
Trigger ATP Review Availability Check and navigate to BPS Review Availability Check Results
Click More=>Document (Ctrl+Shift+F8) to trigger ATP Check .
Follow the highlighted navigations to open the BPS Fiori app Review Scheduling Result to analyze scheduling results.
Display the Review Scheduling Results screen.
Click on the Cut-Off activity or its shape to open the activity details dialog to analyze scheduling details for the activity.
It can be observed that the working time CUTOFF_12 is successfully determined for the activity. Navigate to see the details of this determination.
CUTOFF_12 working time is determined from Advanced Attribute Determination (OVD – Configure Activity Attributes) and BPS_CUT_OFF_DEMO access combination created earlier.
Review the messages in the activity details dialog box.
The first highlighted message indicates that the start time of the Pick activity is initially set to 27.09.2023, 01:45:00 PM.
Later, because of the predecessor-successor relationship of the Cut-Off and Pick activities, start of activity Pick is shifted to 28.09.2023, 12:00:00 AM.
And finally, since the Pick activity has working times defined from 08:00:00 AM to 05:00:00 PM, the start time is shifted to the start of the working shift, 08:00:00 AM.
For activity Cut-Off, the first highlighted message indicates that the end time of the activity is shifted to 27.09.2023, 12:00:00 PM.
Since this date was in the past, it is rescheduled with the current date/time 27.09.2023, 12:12:44 PM.
And finally, in the last message it can be observed that the current time pass the Cut-Off time restriction, and because of this reason it is shifted to the start of the next working day 28.09.2023, 12:00:00 AM.
- To ensure the process runs smoothly, no parallel activities should be used.
- Therefore, no duration is assigned to activity Plan to make sure the process runs correctly.