Skip to Content
Technical Articles
Author's profile photo Ilgar Nuruzade

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.

Cut-Off%20Time

Cut-Off time

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:

  1. Create a new schema with Cut-Off activity.
  2. Activate BPS for Sales documents.
  3. Configure activity attributes for Cut-Off activity.
  4. 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.

BPS%20Activity%20Config

BPS activity config

 

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

BPS%20schema%20config

BPS schema config

 

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.

BPS%20schema%20activities

BPS schema activities

 

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.

BPS%20schema%20activity%20attribute%20determination

BPS schema activity attribute determination

 

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

BPS%20schema%20activity%20sequence

BPS schema activity sequence

 

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.

BPS%20sales%20config

BPS sales config

 

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.

Usage%20types%20config

Usage types config

 

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.

Cut-Off%20working%20time%20config

Cut-Off working time config

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.

Characteristic%20combination

Characteristic combination

 

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.

Access%20sequence

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

Characteristic%20value%20combinations

Characteristic value combinations

 

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.

Sales%20order

Sales order

 

Trigger ATP Review Availability Check and navigate to BPS Review Availability Check Results

Click More=>Document (Ctrl+Shift+F8) to trigger ATP Check .

ATP%20Review%20Availability%20Check

ATP Review Availability Check

 

Follow the highlighted navigations to open the BPS Fiori app Review Scheduling Result to analyze scheduling results.

Review%20Availability%20Check%20Result%28RACR%29

Review Availability Check Result (RACR)

 

Display the Review Scheduling Results screen.

Review%20Scheduling%20Results%20%28RSR%29

Review Scheduling Results (RSR)

 

Click on the Cut-Off activity or its shape to open the activity details dialog to analyze scheduling details for the activity.

Cut-Off%20determined%20attributes

Cut-Off determined attributes

 

It can be observed that the working time CUTOFF_12 is successfully determined for the activity. Navigate to see the details of this determination.

Cut-Off%20working%20time%20determination

Cut-Off working time 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.

Pick%20activity%20messages

Pick activity messages

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.

 

Cut-Off%20activity%20messages

Cut-Off activity messages

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.

Assigned Tags

      3 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Miranda Chen
      Miranda Chen

      Hi Iigar,

      where can I find the "Determined Attributes"? Are they stored in a table?

      thanks,

      Miranda

      Author's profile photo Ilgar Nuruzade
      Ilgar Nuruzade
      Blog Post Author

      Hi Miranda,

      It is only persisted in draft table BPS_RESULT_D. However the issue is, the data is persisted by UUIDs. It would be easier if you can find your run_uuid from BPS_RUN_D draft table and filter by that and activity_id.

      Hope it will be helpful. If you need any further help, feel free to comment or message me.

      best regards,

      ilgar

      Author's profile photo Miranda Chen
      Miranda Chen

      Thank you Ilgar!

       

      [5:23 p.m.] Ali Al Shwely Abdul Jabar

      I cannot find the tables in the 2022 release. Are there different tables for release 2022?

      But maybe you could help me on the following:
      What we tried to do is in outbound delivery, copy the changed shipping condition back to the proceeding doc so we get a new scheduling, but by calling the BAPI to change the proceeding Sales Order Shipping Condition, when the Shipping Condition is changed in the Outbound Delivery.

       

      After carrying out the BAPI Commit Work, the BPS Scheduling is still getting the duration/calendar based on the old Shipping Condition.

       

      Why BAPI commit work cannot get a new attribute while we are in the Outbound Delivery calling BAPI?

       

      cheers,

      Miranda