The present invention relates to configurable process scheduling, and in particular to a method of configuring a business process for scheduling, and a method of scheduling a business process which is configured preferably by that method.
Furthermore, the invention relates to computer systems for performing the inventive methods, and to a computer-readable storage medium comprising program code for performing the inventive methods.
IT solutions of today for Supply Chain Execution have to be able to cope with business processes for the logistic fulfillment of orders, like purchase orders or sales orders. The fulfillment of orders is connected with the control and monitor of dates of specific activities within a business process. Some or all of these dates can either be given manually by data input of IT users, given via electronic data exchange by other business partners or have to be automatically determined by the IT system which is responsible for the fulfillment coordination of orders. In the latter case, a scheduling of the configurable business process has to be performed by the system by means of a program.
This scheduling has to cope with free configuration of business processes, the configuration of dates that are connected with a business process and the configuration on how the dates can be scheduled. These scheduling procedures have to be configurable in order to be able to schedule business processes that integrate several business applications, which take part in the business process, with one standard tool. Due to the fact that the date scheduling may not depend exclusively on pure time parameters like time zone, working hours and net lead times of activities, an open framework is needed for the determination of dates which allows for integration of complex date determination algorithms that may incorporate in-depth logic and master data of specific applications that are responsible for the business process part to which the date belongs to.
The scheduling has to comprise the ability of scheduling at different precision levels, for example a second, a minute or an hour. This scheduling precision has to be configurable per individual date of a business process in order to allow for a scheduling which can be adapted to the specific needs of an individual business process.
The scheduling has to handle time zones property, especially in case of rounding dates to certain time units like a day, in order to allow for scheduling business processes which incorporate business activities that are spread all across the globe.
These and other objects are achieved by methods and systems according to the independent claims. Further embodiments are defined in the dependant claims.
In general, in one aspect, the invention provides a method of configuring a business process for scheduling,
Advantageous implementations of the invention can include one or more of the following features.
A technical ID may be associated with an activity or with a date type.
A text may be associated with an activity or with a date type, the text being descriptive for the activity or for the date type.
Time units may be assigned to specific date types, the time units being freely configurable for each date type.
An activity can be modeled as a plurality of sub-processes.
A sub-process may comprise a plurality of activities.
A decision whether or not a delegation may be invoked is during run-time of the scheduling.
The service functions may be usable for determination of time zone, calendar and duration of an activity.
At least one service function may be assigned to at least one activity, the service function being usable, during scheduling, for determining start date and/or finish date of the at least one activity.
At least one delegation scheme is assigned to at least one activity, the delegation the service function being usable for invoking, during scheduling, an external application for determining start date and/or finish date of the at least one activity.
The activities and their time relationship may be representable as a network of nodes and edges, each node representing one of the pluralities of activities, and each edge connecting a pair of nodes and representing a predecessor-successor relationship of the activities represented by the respective pair of nodes.
A scheduling scheme may be produced based on the configured business process, whereby the scheduling scheme is a set of meta data descriptive of how the individual activities are to be processed within scheduling.
A scheduling scheme may be associated to the business process, the scheduling scheme comprising configuration data to at least one of duration, calendar, and time zone.
A scheduling scheme may be associated to the business process, the scheduling scheme comprising configuration data to at least one of service function, and delegation process model.
The invention also provides a business process configured with the method preferably according to the above method.
The invention further comprises a method of configuring a production process for simulating,
Also provided by the invention is a computer system for performing the inventive methods, and furthermore, a computer-readable storage medium comprising program code for performing the inventive methods when loaded into a computer system.
A schedule tool, in the following referred to as “Configurable Process Scheduling” (CPS) is developed based on Advanced Business Application Programming Object-Oriented (ABAP-OO) technique. ABAP is provided by SAP AG. CPS comprises the ability to
CPS provides a generic framework for scheduling pre-defined business processes in an environment of several business software components. CPS makes use of a process definition created by a business process modeler (BPM) and a set of meta data, the scheduling scheme, which is used to define the determination of several procedures that are performed within the scheduling. For example, the meta data of the scheme may define an access sequence to several services which may be used to provide master data needed for scheduling (duration, calendar, time zone).
The framework of CPS technically makes use of dynamic calls to ABAP-OO classes that implement certain interfaces defined by CPS. This technique is the same as the SAP Business Add-In (BADI) technique. The core framework of CPS does not contain those ABAP-OO classes that may be used within the definition of the scheduling scheme. The standard case will be that implementation of those classes and definition/shipping of schemes which make use of them has to be done by applications that make use of CPS (such as Fulfillment Coordination). Nevertheless, extensions of the core framework of CPS can be done in order to create ABAP-OO classes that are shipped by the package of CPS and can be used as elements of the definition of application-specific schemes. This may include classes that access a master data manager (MDM) or that access master data which is defined by means of CPS itself.
Given the fact that the development presented here is a generic framework, it may be used by several other applications in addition to Fulfillment Coordination. SAP development is able to deliver content within the scheduling framework (by delivering customizing data of CPS), which allows for scheduling application scenarios or business processes that are predefined by SAP Aktiengesellschaft, Walldorf, Germany. In addition, the CPS framework allows for custom specific changes of the framework content delivered by SAP and even allows for new custom specific definitions.
Configurable Process Scheduling is able to schedule a network of activities. The definition of this network consists of a description of a single activity and a description of the network.
A single activity consists of the following:
An activity network consists of:
Free configuration of the business processes, of the dates within a business process and of the date determination procedures are not possible with Transportation and Shipment Scheduling of SAP's Advanced Planer and Optimizer (APO). Transportation and Shipment Scheduling of SAP APO performs a scheduling based on a precision of a second only. It does not comprise the possibility to configure the usage of certain time units, like minute or hour.
The invention can be used for the scheduling of dates according to a given configuration of a business process, the dates of the business process and the scheduling procedures of these dates. The invention can be used for scheduling dates of applications that are technically installed on the same R/3 system as the scheduling configuration is situated. In addition, the invention can also be used as a remote scheduling tool by applications that run on different systems. The invention can also be used independently of any business application as a stand alone tool for scheduling dates. The latter one is made possible by a user interface (UI) of the invention which allows for scheduling dates according to data given via this UI, like the lead times of activities. This UI can be accessed by a WEB browser and thus may serve as an entry point for a WEB service that schedules dates of a business process.
CPS can describe a network of activities in time by means of two different timetable formats. The complete timetable format consists of two dates for each activity (start and end-date of the activity). The derived timetable format consists of a list of dates that can be derived from the complete timetable.
The scheduling comprises a data model to define the scheduling scheme, which is a set of meta data that describes a framework used for the technical processing of the scheduling. In addition to the scheme definition managed by CPS an activity network definition has to be maintained using SAP WEBFLOW builder as a business process modeler (BPM). Thus, the activity network definition is managed by the SAP WEBFLOW data model.
CPS comprises a data model of a Process Scheduling Calendar, which is the definition of working hours with a precision of a second. In addition, public holiday and factory calendars of SAP Basis, which describe the working periods with a precision of a day, can be used within CPS. CPS comprises also the possibility to make use of time zones and time units, like minute or hour, which can be defined and maintained by means of SAP Basis. CPS includes a data model of the so-called ‘time unit assignment set’, which assigns an individual time unit to each date of a list of dates. Thus the same business process may be scheduled with different precisions by means of using different time unit assignment sets.
CPS comprises a data model for assigning calendar, time duration and time zone to the activities of a scheduling scheme. This enables for usage of the CPS without any other source of scheduling master data. Thus, CPS may be used as a self-contained scheduling tool. In addition to this CPS master data assignment, classes that are set up in the dynamic part of the scheme (and that implement the interfaces specified by CPS) may use any additional master data available to the business software components to which these implementation classes belong.
In addition to the customizing data of the scheduling framework and the scheduling master data, CPS has to manage transactional data. This includes the data that is needed for the explanation service of CPS. This explanation data consists of a data buffer (an object in the memory) and persistent data (by means of database tables). An explanation of previously processed scheduling calls is thus made possible within a transactional context and also offline (without the transactional context in which the scheduling call was processed).
CPS comprises services for the following:
These services are implemented as methods of a global ABAP-OO class, which may be used by any application that is situated on the same system as the scheduling framework. In addition, the services are implemented as remote enabled function modules (in accordance to the SAP BAPI standards), which might be used by any remote SAP application.
Note that the block diagrams in the following sections are in accordance with the graphic and syntax standards as described in SAPNet. The wording used in the text is also agrees with this syntax. Do not misunderstand the word ‘agent’. An ‘agent’ in this context is a piece of a functional program, such as an ABAP-OO class method or a function module, in contrast to other types of building blocks such as data storage places.
An external application calls the scheduling service via its application interface (API). The CPS (‘SCM scheduling’) first routes all methods of the API through an entry agent which then carries out a functional dispatch. This entry agent provides a single point of entry to the CPS framework internally, although the framework provides several API methods.
If scheduling is requested, the entry agent will dispatch to the scheduling controller. The controller first performs a pre-step that makes use of the scheduling toolkit in order to derive the static scheme and the dynamic scheme. This results in a description of the complete graph of activities that includes information from the scheduling scheme, the activity network and the master data. This graph of activities description holds all information necessary for a subsequent scheduling engine. The controller then invokes the scheduling engine.
The scheduling engine performs the pure scheduling algorithm for a network of activities.
Scheduling of individual activities is done by the activity objects that are instances of an ABAP-OO class. Activity objects are contained in the description of the graph of activities built by the controller. They make use of an interface of a time stream agent that is able to carry out basic scheduling functions by means of SAP Basis package SZTI. Package SZTI provides the functions needed to calculate with different time units taking time zones, factory calendars and time streams into consideration. Activity objects also make use of an interface for external processing, the so-called delegation, which might have to be called for certain activities in order to set start- or end-date of the activity, or in order to schedule the complete activity using an external method.
After the scheduling engine has completed its work, the controller stores the result and additional explanation data in the explanation data buffer.
An external application calls the scheduling service via its API. CPS (‘SCM scheduling’) first routes all methods of the API through an entry agent which then carries out a functional dispatch. If an explanation is requested, the entry agent dispatcher will call the explanation agent.
The explanation agent first retrieves data of a preceding scheduling service call (which may still be stored in the transient explanation data buffer or which is available via persistent database storage) and then provides several views. The explanation agent contains a view controller in order to manage the different views. Views to explain the results of delegation (‘external processing’) can also be provided.
If a post is requested, the entry agent dispatcher will call the post agent. The post agent may retrieve the transient explanation data buffer and post this data to the database.
The post agent will raise a public event ‘POST’ of ABAP-OO class /SCMB/CL_SC_CONT. This enables all instances of classes that were previously used for delegation (‘external processing’) to execute their specific postings (data saving). These classes will not be destroyed when the scheduling method is carried out if they subscribe to this event. Thus CPS comprises a transactional concept, which ensures consistent data postings across several business applications which might take part in the scheduling (via the delegation principle).
A scheduling scheme is a set of meta-data that describes a framework that is used for the technical processing of the scheduling. It is a definition on how to handle individual activities of business processes within the scheduling and it is a definition on how to determine the master data needed for scheduling, such as duration and calendar of an activity.
The data model of the scheduling scheme consists of the definition of ‘atomic’ objects (which are the components of a scheme) and the definition of the scheme itself. ‘Atomic objects’ may be reused in several different schemes. ‘Atomic objects’ are:
Each of the ‘atomic objects’ has a technical name and a language-dependent text that can be used for a UI presentation.
A scheduling scheme comprises a list of activity types for which the framework definition has been set up. Only activity types that belong to the same scheme can be used in the definition of a business process (one process definition of the BPM can refer to a single scheme only). A scheme definition can be reused in several different business process definitions, with the restriction, that the business processes use only those activity types that belong to the scheme.
Scheduling schemes have to be pre-defined during a setup phase when the business processes, that is, activity network, are defined. Applications that make use of the scheduling service in order to schedule individual business processes pass the key of the activity network definition (that is, workflow-ID or a process alias name that is connected to the workflow-ID via a mapping available in the CPS customizing) to the scheduling. This activity network defines which activities are present in the business process and how they are related in time. In addition, the activity network definition contains a reference to the scheme that will be used in the scheduling.
The ‘atomic objects’ and the scheme will have a protected SAP namespace by using table TRESC. This allows the delivery of standard business scenarios by delivering table datasets that describe standard atomic objects and standard schemes. Note that the namespace definition of table TRESC is the major reason for the existence of the symbolic names for ABAP-OO classes that will be used in the CPS framework.
A scheduling scheme consists of a static part of the scheme and a dynamic part of a scheme.
Definition of the static part of scheme (see
For each activity of a scheme a control parameter that enables for delegation (‘external processing’) can be maintained (field CLASS_USAGE of table /SCMB/TSCSCHE). This parameter can have the values: No external method class use, always take default from activity definition, always take default from definition of static scheme, always take dynamic determination depending on application data, evaluation by priority: Dynamic determination, static scheme definition, activity definition
The dynamic part of a scheme (see
With the definition of the activity network a business process is defined from point of view of the scheduling. The activity network defines the set of activities present in a business process as well as their relation in time. The network definition has to include a cross-reference to a scheduling scheme that will be used during the scheduling of the activity net.
The network definition is carried out by means of the SAP WEBFLOW (SAP workflow). Configurable Process Scheduling reads the data stored within SAP WEBFLOW. In the SAP WEBFLOW business process modeler (BPM) in the basic data section, which is the data at header level of a workflow, a property that denotes the key of a scheme has to be defined. The name of the property will be a fixed name ‘SAP.SCM.BAS.SCH.SCHEME’. With this property the scheme that will be used in the scheduling of the process is denoted.
In the step maintenance of the BPM, you can define that a property that denotes the technical name of the business process step is a scheduling activity. The name of the property will be a fixed name ‘SAP.SCM.BAS.SCH.ACTITYPE’. If this property is present for a workflow step, this step is relevant for scheduling. If this property is not present for a workflow step the step is not relevant for scheduling. The value of the property denotes the activity type of the workflow step.
A network of scheduling activities can be derived from the workflow network of steps. This network of scheduling activities may not contain all workflow steps due to neglecting steps that are irrelevant to scheduling. The set of links between scheduling activities of the network of scheduling activities is derived from the links of the workflow network of steps. Workflow lines that end at a step irrelevant to scheduling are concatenated. These concatenated lines are the lines of the activity network that have a step relevant to scheduling at both ends of the line.
The BPM of SAP workflow allows for top-down modelling of a business process those results in steps that contain a sub-network (sub flow). The header property ‘ . . . SCHEME’ of sub-networks has to be identical to the scheme used for the overall network definition (parent workflow). Configurable Process Scheduling will be able to expand these sub-networks in order to obtain the complete activity network. Steps that contain sub-networks do not need to have the property ‘ . . . ACTITYPE’. In the latter case, these steps themselves will never be part of the scheduling network (but their sub-network will be part of the scheduling network).
If the activity network definition contains process steps that are sub-networks, two different types of process steps have to be handled differently in the scheduling:
During the scheduling of a network, a decision has to be made for steps of type 1) whether the sub-network should be expanded or not. This will be done according to the settings of table /SCMB/TSCEXPN in the same way as the other tables of the dynamic part of the scheme (like table /SCMB/TSCMETG or /SCMB/TSCTSTR). Thus the expansion of individual activities can be controlled by several different procedures (via interface data and via different ABAP-OO class implementations of an interface) with different priorities. For example, you may set up a dataset in table /SCMB/TSCEXPN for each activity with DATA_NAME=‘ACTITYPE_EXPAND’ where ACTITYPE is the name of the activity as given in the BPM step which holds the sub-network. Using interface data (table of properties) of the scheduling, the calling application may then control the expansion of certain sub-networks by submitting the relevant property ‘ACTITYPE_EXPAND’ with value ‘TRUE’.
Zooming into the details of a business process and thus scheduling it by taking into account more details may be used to have different views of a business process. This could be depending on the current process step where the business process is. You might have different levels of zoom for a preview of a business process, and during the different stages when the process is partially evolved.
Delegation (‘external processing’) is possible not only for single activities but for a sub-network that comprises several activities contained in the overall network. This will be possible for activities that are directly linked together, that perform 2nd grade external processing (that is, the complete activity is determined by delegation) and all activities make use of the same ABAP-OO implementation class for delegation.
Because these ABAP-OO classes may be determined dynamically during runtime, a static definition of the sub-networks that can be processed coherently (together) is not possible. The determination of sub-networks for coherent external processing is done during runtime according to the criteria given above.
The determination of sub-networks for coherent external processing is done in the pre-step of the controller. Thus the schedule algorithm makes use of the network definition and does not perform any network determinations itself. The overall architecture thus remains open for other input sources of the network definition.
The following features are accounted for in the algorithm:
External processing may be used to:
a) Determine both start and end dates of the activity (2nd grade processing), or
b) Determine the start date of the activity (1st grade processing), or
c) Determine the end date of activity (1st grade processing).
During the pre-step of the CPS, each ABAP-OO class to be used for external processing (according to the evaluation of the dynamic scheme) is asked to determine the details for external processing. This allows the external class to specify at most one out of the three possibilities a), b) and c). This information is stored in the graph objects of configurable process scheduling (ABAP Class /SCMB/CL_SC_GRAPH) and is thus transferred to the scheduling calculator. Therefore the calculator has the information as to whether 1st grade or 2nd grade external processing will be applied.
The total runtime of CPS per individual scheduling request was measured to be in the order of 10 Milliseconds with an SAP APO4.0 system. Naturally, the runtime depends on the methods used within the scheduling framework, namely the methods used for example for master data determination in order to determine activity durations, time zones and calendars.
In the use case example of SAP distribution replenishment planning (DRP), which will use CPS with a simple business process of three sequential activities goods issue, transport and goods receipt, a runtime of 5-8 Milliseconds was measured per scheduling request within a mass planning transaction. The DRP application submits the calendar, time zone and time duration of each activity of the process via the scheduling interface. Thus within the CPS framework no complex methods for master data determination are needed.
The configurable process scheduling comprises a test tool (see last point in the customizing view above), which enables to perform a stand-alone scheduling outside of other applications and which results in an explanation UI that provides several views. The views according to
SCM scheduling is able to schedule a network of activities. The definition of this network consists of a description of a single activity and a description of the network.
A single activity consists of the following:
An activity network consists of:
SCM scheduling can describe a network of activities in time by means of two different timetable formats. The extended timetable format consists of two dates for each activity (start and end-date of the activity). The condensed timetable format consists of a list of dates that can be derived from the extended timetable.
SCM scheduling comprises services for the following:
An external application calls the scheduling service via its API. The SCM scheduling first routes all methods of the API through an entry agent which then carries out a functional dispatch. This entry agent provides a single point of entry to the SCM scheduling framework internally although the framework provides several API methods.
If scheduling is requested, the entry agent will dispatch to the scheduling controller. The controller first performs a pre-step that makes use of the scheduling toolkit in order to derive the static scheme and the dynamic scheme. This results in a description of the complete graph of activities that includes information from the scheme, the activity network and the master data. This graph of activities description holds all information necessary for a subsequent scheduling engine. The controller then invokes the scheduling engine.
The scheduling engine performs the pure scheduling algorithm for a network of activities.
Scheduling of individual activities is done by the activity objects that are instances of an ABAP-OO class. Activity objects are contained in the description of the graph of activities built by the controller. They make use of an interface of a time stream agent that is able to carry out basic scheduling functions by means of SAP Basis package SZTI. Package SZTI provides the function needed to calculate with different time units taking time zones, factory calendars and time streams into consideration. Activity objects also make use of an interface for external processing, which might have to be called for certain activities in order to set start- or end-date of the activity, or in order to schedule the complete activity using an external method.
After the scheduling engine has completed its work, the controller stores the result and additional explanation data in the explanation data buffer.
SCM scheduling uses a DFS algorithm because it is important to at first perform backward scheduling to the very first date present in the network. This arises from the possibility to constrain the earliest allowed date and from the possibility that in backward scheduling, an activity can be shifted towards the future due to the results of external processing. For example, an ATP check on the start of picking might postpone the activity to a later date during backward scheduling also. If one of these actions takes place, the complete result of the backward scheduling performed so far becomes invalid and the scheduling has to be restarted with a new entry point. If a backward scheduling (starting from the entry date) is performed using the DFS algorithm, the number of restarts of the scheduling is minimized.
The BPM data denotes the time relation of the activities by defining a line by a pair of (predecessor node, successor node, (n, n′)). SCM scheduling will perform a DFS by first carrying out a backward depth first search with a subsequent forward depth first search. In the backward depth first search, all nodes (activities) that can be accessed by starting with a backward (in time) arrow from the entry node will be visited. Backward depth first search scheduling may also comprise paths that include propagation forward in time, see DFS tree path number 3 in
SCM scheduling does not support all kinds of graphs.
The following is a sketch of the basic algorithm:
For a depth first search: ‘Select node out of R’ has to be implemented as last in first out (LIFO). For breadth first search: ‘Select node out of R’ has to be implemented as first in first out (FIFO). The LIFO implementation can be carried out using an internal table for R. Adding an element to R can be carried out by an insert table index 1, the “Select node out of R’ can then be carried out by a read index 1.
In order to separate into backward and forward DFS scheduling, the procedure ‘propagate’ has to be processed twice. For backward DFS the list of unprocessed adjacent arrows of the entry point node (activity) will only comprise the backward links. For forward DFS the list will only comprise the forward links. A backward link of node N is a line with node N as successor node.
In addition to the general split into backward/forward DFS propagation, all lists of adjacent arrows PN(n) will be sorted in such a way that the backward links are first. The above algorithm that selects the next node by looking at the first item of the list of unprocessed arrows with code N′=PN (first element).end will first execute the DFS paths directing into the past. This is shown in the above figure of propagation via a complex graph where path 2 is propagated before path 3.
The scheduling of individual activities will be done when the node (activity) is marked as visited in the above-described DFS algorithm.
The DFS algorithm is only a part of the complete scheduling algorithm, because in addition to propagating via a graph the scheduling has to fulfil several features.
Here is the rough flow control of the complete algorithm.
While (no valid results and convergence strategy not yet done)
In the following, some definitions are given.
Part of a business process that can be considered independently in the description of a business process. A business process can be described by a set of steps and the relations of these steps.
Step of a business process that should be taken into account by scheduling because this process step needs a period of time (duration) for processing. This processing duration can either be of technical type (for example period of time needed for certain IT actions) or of business type (for example period of time needed for picking of goods in a warehouse). Note that in this document the word ‘activity’ always implies relevance for scheduling, otherwise the word ‘step’ is used.
Description of the relative arrangement of business process activities with regard to time. This also defines the scheduling activities that are present in the business process.
Technical name with a (multilingual) text that describes the business content of a date, for example technical name ‘LDDAT’ with description ‘start of loading at shipping plant’. Each activity has two date types that describe the start date and the finish date of the activity.
Consists of a date type and a value. The value can be either a time stamp or a time slice, depending on the precision of the date. The technical name of the date type identifies the date technically.
Set of dates that describes the business process with regard to time. The result of a scheduling service call is a scheduling timetable. Configurable Process Scheduling (CPS) may work with two different formats of timetable, the complete and the derived timetable (see below).
Contains a start date and a finish date for each activity of a scheduling activity network. Each date type can only be used once in the complete timetable.
A list of dates that can be derived from the complete timetable. For example, the derived timetable may be a subset of the dates of the complete timetable. A date from the derived timetable can be transferred to a date of the complete timetable. Dates that can be transferred from the complete timetable to the derived timetable and vice versa do not necessarily need to have the same date type. In this way the description of the business process dates can be different in the complete and derived timetable.
A set of meta data that describes a framework used for the technical processing of scheduling. It defines how individual activities of business processes are to be handled within scheduling. A scheduling schema contains a list of those activities for which the framework is defined. A scheduling schema can be used by several different business processes (described by a scheduling activity network). The schema has to contain all scheduling activities of the process. The schema may contain more scheduling activities than the scheduling activity network. The scheduling schema consists of a static part and a dynamic part.
Technical name with a (multilingual) text that describes the business content of an activity (from the point of view of scheduling). Each activity of a process has such an activity type. An activity type has to be unique within a single process. Thus the activity type identifies one step of a business process. For example an activity type may be ‘LOADATPLANT’ with the description text ‘load at shipping plant’.
Technical name with a (multilingual) text that describes the business content of an activity. Each activity of a process has an activity type category. The difference between activity type category and activity type is that an activity type category within a business process does not need to be unique. The activity type category describes the business content of an activity less precisely than the activity type. Thus, several activities that can have a very similar content (such as ‘load at shipping plant’ and ‘load at transshipment point’) can be treated in a similar way by scheduling. For example, the time needed to process the activity can be determined solely using the activity type category. (In the above example, this would mean that the duration of loading is independent of the location shipping plant/transshipment point).
Delegation denotes that an activity is (partially) scheduled by means of an ABAP-OO class that does not belong to the core framework of Configurable Process Scheduling. These classes may belong to any software package that includes any other component/application.
Only one date (start or finish date) of the activity is determined.
Start and finish date of the activity are scheduled.
A set of directly linked activities (a scheduling activity network) is scheduled together by a single call to a method of an ABAP-OO class. A complete scheduling result is thus obtained for all activities. The network of activities that is coherently processed can be a sub-network of the scheduling activity network or the complete scheduling activity network.
is needed to define dates and durations. Each duration needs a number and a time unit. A time unit is optional to describe a date with a certain precision. For example a date with the unit ‘day’ will not be precise at ‘seconds’ level, it will be rounded to a precision of a day. A date without a time unit is a simple time stamp with a precision of a second. This is also called time unit ‘exact’. A date with a time unit is a time slice with a start and end time stamp.
Defines for a set of date types a time unit that will be used in the scheduling algorithm. Time unit assignment can be re-used in several different business processes. Date types that are used in the business process but that have no time unit assigned are treated as dates with time unit ‘exact’. This means that they are simple time stamps only.
An SAP factory calendar or an SAP time stream.
The date that is passed to CPS as the starting point for the scheduling algorithm. The date has to exist in the timetable (complete or derived) of the activity network. CPS may change this date; it is not fixed in the scheduling algorithm.
Refers to an existing workflow definition via a mapping table. The scheduling can thus be called using an alias of a business process instead of a workflow ID.
Number | Date | Country | Kind |
---|---|---|---|
03014839.9 | Jun 2003 | EP | regional |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/EP04/51318 | 6/30/2004 | WO | 00 | 12/6/2007 |