Enterprise Resource Planning Blogs by SAP
Get insights and updates about cloud ERP and RISE with SAP, SAP S/4HANA and SAP S/4HANA Cloud, and more enterprise management capabilities with SAP blog posts.
cancel
Showing results for 
Search instead for 
Did you mean: 
ilgar
Advisor
Advisor

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 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 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 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 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 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 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 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 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 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 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 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 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 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 Review Availability Check


 

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


Review Availability Check Result (RACR)


 

Display the Review Scheduling Results screen.



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

8 Comments
chenyh1
Discoverer
0 Kudos
Hi Iigar,

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

thanks,

Miranda
ilgar
Advisor
Advisor
0 Kudos

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

chenyh1
Discoverer
0 Kudos
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
dz0126
Explorer
0 Kudos
Hi nuruzade

I wonder if the BPS cutoff time function is meant to replace route schedule in traditional ATP, i.e., control the specific GI date.

Let's say certain customer comes to pick up the products every Tuesday and Thursday. Thus, the requirement is to determine the PGI date only on these two days. I could configure a cutoff activity after LOAD & before TRANSPORT. Then, in this new cutoff activity, should I configure the working time only on Tuesday & Thursday (00:00:00 - 23:59:59), so that if the loading ends on a Wednesday, system finds no working time for this cutoff activity and moves to Thursday?

Another case is that the customer only picks up on the 2nd and 4th Tuesday in a month. The traditional route schedule cannot fulfill this since it is weekly based. But with BPS, could I configure the working time interval as monthly?

Thanks in advance!

Dawn
ilgar
Advisor
Advisor
0 Kudos

Hi Miranda,

 

Sorry for a late reply. I am not sure if your question is related to the topic of the blog. I was going to offer you to create a customer ticket, but I saw you did create already. I am happy to see that it is resolved.

 

Best regards,

ilgar

ilgar
Advisor
Advisor
0 Kudos

Hi Dawn,

 

According to your first question, yes it is meant to replace traditional route scheduling in ATP, but I cant give more details, since I dont have deep knowledge in route scheduling.

 

For your second question, I can say that BPS is created as a flexible and dynamic scheduling framework. Based on your input, yes it should be possible via BPS. I would suggest to give it a try, and feel free to message me in case you have any other question.

 

And finally about your last question, /SAPAPO/CALENDAR gives you a lot of different options to calculate periods. You can use weekly, monthly periods, you can define rules for 1st and 3rd day of the week or 2nd and 4th Tuesday of the month. Based on your personal desired rules, the timestreams will be created for a year, or even for a longer period and you can use these timestreams as working times in your scheduling solution.

 

Kind regards,

ilgar

0 Kudos

Hi Ilgar,

Do we need an aATP licence to use BPS or can we use this function without aATP licence? We do not need the other aATP functions such as BOP etc.

Kind regards,

Alex 

ilgar
Advisor
Advisor

Hi Alex,

Fiori app Configure Activity Attributes is under aATP license. For more information about BPS, please refer to this detailed blog post written by our colleague.

https://blogs.sap.com/2023/07/27/get-to-know-business-process-scheduling-bps/

Kind regards,

ilgar