The present invention generally relates to the field of data processing and, more particularly, to computerized systems and methods for automatically selecting a plurality of specific order items from a plurality of order items.
Supply chain management software systems are known, for example, SAP's Supply Chain Management system. Such supply chain management systems include a plurality of applications for implementing the management of the supply chain. These applications include, for example, SAP Advanced Planning and Optimization (SAP APO) and Extended Warehouse Management (EWM). A core interface (CIF) connects SAP SCM with online transaction processing systems (OLTP), such as SAP Customer Relations Management (SAP CRM) and Enterprise Resource Planning (ERP). In particular, the core interface connects the OLTP to the SAP APO.
In supply chain management, when a product is available to be promised to a customer it is “available to promise” (ATP). Supply chain management systems including available to promise (ATP) functionality are known. Supply chain management applications, such as SAP APO, include ATP functionality. Such systems include software for determining whether a product is available to promise. The determination may include performing an availability check when a customer calls to place an order.
Document data from an OLTP system, for example, the sales orders data, may be stored in databases, such as LiveCache and several other database tables in SAP SCM.
A problem with conventional supply chain management systems having available to promise functionality is that when an application requires a selection to be made of specific order items fulfilling specific criteria, conventional selection software obey the selection criteria without automatically considering the item priority. Under these conventional selection criteria, due to the large data volume and its dispersal over several possible database tables, a quick search of the affected items is not possible. Thus, the quality of the application availability check is compromised.
In view of the foregoing, it is desirable to address one or more drawbacks present in conventional systems, such as those identified above. In particular, it is desirable to improve the availability check. It is further desirable to increase the speed with which specific order items can be selected.
In view of the foregoing, systems and methods are disclosed herein for overcoming one or more of the above-mentioned problems. In accordance with embodiments of the invention, systems and methods may be provided for automatically selecting a plurality of specific order items from a plurality of order items.
In accordance with an embodiment of the invention, a system is provided for automatically selecting a plurality of specific order items from a plurality of order items, wherein the plurality of specific order items meet one or more predefined criteria. The system includes an inbound interface for interfacing with a plurality of data storage devices, in at least one of which the plurality of order items are stored as data. The system also includes an execution memory operable to hold a software system and a processor coupled to the inbound interface and the execution memory, the processor being operable to execute the software system such that the software system operates: to generate one or more order due lists having a definition according to the one or more predefined criteria, using the one or more order due lists as an index to select the plurality of specific order items meeting the one or more predefined criteria, to fill the order due lists via the inbound interface with the data corresponding to the plurality of specific order items, and to store the filled order due lists in a database.
By providing order due lists which are used as an index, the selection can take place faster than a search using conventional techniques. Thus, the speed of the system can be increased, i.e., a technical advantage may be achieved.
According to another embodiment of the present invention, there is provided a computer-implemented method for automatically selecting a plurality of specific order items from a plurality of order items, wherein the plurality of specific order items meet one or more predefined criteria. The method includes interfacing an inbound interface with a plurality of inbound data storage devices, in at least one of which the plurality of order items are stored as data. The method further includes generating one or more order due lists having a definition according to the one or more predefined criteria, using the one or more order due lists as an index to select the plurality of specific order items meeting the one or more predefined criteria, filling the order due lists via the inbound interface with the data corresponding to the plurality of specific order items, and storing the filled order due lists in a database.
According to an embodiment of the present invention, a user terminal may be provided that includes means operable with systems and methods consistent with the invention, such as those previously described.
Embodiments of the present invention further relate to a computer readable storage medium that stores a program which, when run on a computer, controls the computer to perform systems and methods consistent with the present invention, such as those previously described.
Additional objects and advantages of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The objects and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate various embodiments and aspects of the present invention. In the drawings:
The following detailed description refers to the accompanying drawings. Wherever possible, the same reference numbers are used in the drawings and the following description to refer to the same or similar parts. While several exemplary embodiments and features of the invention are described herein, modifications, adaptations and other implementations are possible, without departing from the spirit and scope of the invention. For example, substitutions, additions or modifications may be made to the components illustrated in the drawings, and the exemplary methods described herein may be modified by substituting, reordering, or adding steps to the disclosed methods. Accordingly, the following detailed description does not limit the invention. Instead, the proper scope of the invention is defined by the appended claims.
As mentioned above, SAP CRM or ERP are OLTP systems. SAP CRM and ERP are systems for the daily online transaction processing where, for example, the sales orders are entered. SAP APO is a component of SAP SCM. SAP APO is a logistic planning system. ATP is a component of SAP APO. A core interface CIF connects the OLTP to the SAP APO. It provides functions to transfer the business data between the two types of systems. An availability check may be carried out when a customer enquires about placing an order. ATP is the component that executes the availability check. The availability check may take into account existing stock and also the quantities of future incoming or outgoing orders that should be delivered by the date of the order to determine whether the product is available to promise. If a quantity (of stock or an incoming order) is promised to a first customer, a second customer cannot access the reserved quantity. If there is not enough quantity to honor a complete order as requested, the order can be confirmed at a later date or may stay unconfirmed respectively partially confirmed.
Further, in a situation where there are several orders which cannot all be confirmed, those order which cannot be confirmed become back orders. Back orders are sales documents whose order items cannot be completely confirmed as requested due to lack of availability or material shortages. Orders, including back orders, may be assigned a priority rating. For example, a high priority order and a low priority order. If a high priority order cannot be confirmed immediately, it becomes a back order.
Back order processing (BOP) is one technical vehicle for dealing with back orders. BOP is a tool of the ATP component, for example in SAP APO. Using BOP, an available quantity of one or more products can be reallocated using a quantity of selected requirements. BOP may be carried out as an interactive BOP or as a batch BOP. A processor, such as a back order kernel 3 (see
Two further situations are now described. In event driven quantity assignment (EDQA), back order processing including global ATP may be used as an internal tool. If several orders cannot be confirmed and a quantity is received that the system can assign, back order processing may be started. For example, if a sales order is cancelled, the released quantity can be reassigned. Such a quantity assignment is called EDQA. In addition to the cancellation of an order, the event may include incoming stock and a changed order. In a second situation, an order confirmation is reassigned. Reassignment of order confirmation (ROC) takes places if, for example, a very important order for a very important customer is created or changed and no quantity is available. In such a situation, quantities can be “stolen” from unimportant orders even if they are confirmed. For example, for orders that may be defined as a low priority order, their quantities may be reassigned to high priority orders. In one embodiment, ROC is generally not carried out in a batch process. It may be done independently of back order processing. It may be carried out online.
EDQA and ROC may use order due lists (ODL), which are described in more detail hereinafter. In general, order due lists use a filter to select orders. The ODL filtering is used if the order is saved. At the time that the order item is saved, all filters of order due lists are scanned. If an ODL is activated, it is being filled by the system via inbound interface with corresponding OLTP documents.
In addition to those drawbacks mentioned above, in conventional back order processing systems, the system typically has to search for back ordered items. To do this, conventional systems often filter the whole database to find the affected items. ODLs provide an index function, and allow affected items to be stored immediately after being saved. In this way, affected items can be retrieved also quicker than in conventional systems.
In one embodiment, the ODL is an additional database element. It has a restricted number of fields. It performs the function of an index. It is assigned to a process, for example, EDQA. It performs a pre-selection. The function performed is that of a sorter. The ODL pre-selection can be edited manually. The pre-selection may be at least one of edited, deleted or overruled. The ODLs can be used as a reference for searching items under consideration of its priority. The order types of the handled items, the criteria to filter, and to sort them can be freely configured. Filter and sorter are defined independent from the ODL.
In one embodiment, selection can be aborted after the number of necessary items is reached. The selection from the ODL obeys the corresponding sort profile.
Consistent with an embodiment, the ODL has a type. The ODL type defines the nature of items that can be contained in the ODL. For example, the types “Obtain Confirmation (RCV),” “Lose Confirmation (SPL),” and “Free Work List (WLS)” may be supported. The filter assigned to the ODL may comprise a filter type and a filter variant. The filter type defines the criteria and the variant contains the values of the criteria to select the items. Per filter type several variants can be defined. The sorter assigned to the ODL contains the criteria to sort the items. Database objects as well as source code is generated out of the settings of an ODL. In one embodiment, an ODL comprises a database table with a specific database index and specific source code for table access. The generated database table depends on the criteria that are used to calculate the item priority (sorter). The generated source code for selection from the ODL can be used, for example, by any SAP SCM application.
The ODLs of the type “Free Work List” may be defined without specifying a filter. The assignment of the sorter is optional. They are filled manually and can be used like a notepad for order items. Items can be added to this ODL in the display of the explanation component of the availability check, in the display of the backorder processing (BOP) result, or in the display of the work list. The situations where items can be added to work list ODLs are not restricted. These work list ODLs can be used as a work list of BOP.
In conventional systems, the complete selection of affected items from several database tables and LiveCache was necessary. Sorting the items was only possible after filtering them from database. No sort/filter based reference was available. In contrast, in accordance with embodiments of the present invention, it is possible to let the customizable filter work before storing the data in a reference table. Further, a quick item search by creating a customized database object is also possible. It is possible to allow creation of ODLs only if it is needed.
ODLs can be used at any place where pre-selected lists of orders or order items are necessary (e.g. out of performance reasons). ODLs can be used, for example, in SAP SCM: during event driven quantity assignment (EDQA) and also in back order processing as a reference to items that should be confirmed, during reassignment of quantity confirmations (ROC) as a reference to items that can lose their confirmations, and during backorder processing as a work list. Using ODLs a list of items fulfilling the criteria of the filter are selected. The ODL provides an index in the database table, so that all data in the table can be accessed. For example, a sales order that may be stored in LiveCache or 10 database tables where there are around 500 to 800 fields. ODL are linked to the databases, the order ID is used as a key. Accessing the database by using a key is fast. The index is used to pre-select very quickly. The index is defined by customizing based on the sorter definition. In this way, the system finds all items associated with the order for BOP.
In accordance with an embodiment, the ODL is a database table with corresponding ODL access source code. The table is generated by the ODL builder according to sort profiles to allow fast data selection. The ODL builder 10 builds the database tables of ODL in the SAP APO. The table structure depends on the sort profile which is used during the selection of the orders. The sort profile defines the sequence in which the items are to be processed. The sort profile specifies the characteristics, their sequence (or weighting) and the sort direction.
In accordance with an embodiment, the ODL builder 10 database may comprise the following object groups: structure for definition of fields valid for all filter types and sort profiles, database tables for filter definition and generation of corresponding program code statements, database tables for sort profile definition and generation of corresponding program code statements, and database tables for assigning of filter/sort to ODL tables and generation/activation of the tables.
In the example of
If rules based ATP (RBA) is applied on an item, ATP rules evaluation will compile the product/location list which is needed by the ODL agent 14 after the order was saved in the OLTP system. By way of example, the compilation of the list may be influenced by: customizing of a rule strategy list. In order to avoid unnecessary data transfer by the ODL agent 14, the process customizing defined which rule strategies are to be taken into account for replacements list creation during the ATP check/rules evaluation. The list of valid product/location combinations is compiled for each rule strategy (one or more per item), which is maintained for EDQA. It can be further influenced by the business transaction . The business transaction parameter can furthermore control the list compilation. Data set preparation is, for example, carried out during online/batch order processing and postponed sourcing. It can be further influenced by: rules evaluation tolerance. A flag, which controls the completeness of the product/location replacement list that results from the RBA. If switched on, only product/location combinations that result from executed rules evaluation will be considered. If switched off, all possible product/location combination that could result from RBA will be considered.
It is to be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design alternatives without departing from the scope of the appended claims. For example, the computational aspects described here can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Where appropriate, aspects of these systems and techniques can be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor, and method steps can be performed by a programmable processor executing a program of instructions to perform functions by operating on input data and generating output. The mere fact that certain measures are recited in mutually different claims does not indicate that a combination of these measures cannot be used to advantage.
Other embodiments of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the invention being indicated by the following claims.
Number | Date | Country | Kind |
---|---|---|---|
05077564.2 | Nov 2005 | EP | regional |