This document relates to computing systems and methods executed therein to perform availability check of a ware.
A supply chain management computing system may be used to plan, implement and control the operations of a supply chain as efficiently as possible and may span all movement and storage of raw materials, inventory, and finished products.
Availability check, also known as ATP (availability-to-promise) check, is an important tool within supply chain management in order to provide an answer to the question if a requested quantity of a ware, for example a material or product, is available on a requested date. For determining if a ware is available, or if an overconfirmation is present otherwise, stock, planned inward movements and planned outward movements, like for example sales orders, may be considered. In the case of customer demand, a sales order is a customer request to the company for the delivery of wares, for example goods or services, at a certain time.
In make-to-stock environments, confirmations can usually be made based on product availability due to sufficient supply on stock. However, when dealing with make-to-order environments, there is often only little or no supply on stock. When a demand, or also referred to as requirement, is received, the availability check may have to be not mainly based on checking product availability (product availability check (PAC)), but on checking capacity availability (capacity availability check (CAC)) of one or more resources needed to produce the ware. In cases where there is no stock at all present, the availability check may merely be based on checking the capacity availability.
In an example manufacturing supply chain management computing system, the system may include capacity availability check suitable for checking the availability of a ware, the ware having a resource to produce the ware. In a typical case, when a customer demand, like a sales order, is received, a planned production order is created and is directly associated with the demand (lot-to-lot environment). The production order may then be included into a production plan using finite scheduling and by doing so checking the availability and capacity of the resources needed. Each time a demand is received, the production plan is changed.
In an example manufacturing supply chain management computing system, the system may first perform a ware availability check. Only in a case where the whole amount of the demand cannot be confirmed based on ware availability, a capacity availability check suitable for checking the availability of the ware may be used subsequently. This requires that a decision is made whether or not the whole amount of the demand can be confirmed only based on ware availability.
Computer-implemented methods, and associated computer program products and systems, are disclosed for checking availability of a set of wares in a time interval, each ware having associated therewith at least one resource to produce the ware.
In one aspect, the computer-implemented method includes determining at least first and second wares associated with the specific resource. The method further includes obtaining availability information for each of the determined first and second wares. The availability information comprises combined information comprising, for each date of the time interval, a combination of a supply quantity of the ware and a free capacity quantity of the specific resource. The free capacity quantity can be assigned to any of the determined first and second wares. In response to receiving a demand information representing a demand for a specific ware, the method includes determining the availability of the specific ware for the specific resource using at least the combined information.
In various implementations, the methods may include one or more of the following features. The supply quantity and the free capacity quantity may each be cumulated starting from a first date of the time interval. Furthermore, the supply quantity of the ware may be expressed in terms of a capacity quantity needed to produce the supply quantity using the specific resource. Regarding the combined information, the combination may include a sum of the supply quantity of the ware and the free capacity quantity of the specific resource. The availability information may further comprise blocked capacity information indicating for each date of the time interval a blocked capacity quantity of the specific resource. The blocked capacity quantity may be assigned to a corresponding one of the first and second wares. Further, a production order may be associated with each blocked capacity quantity, which is assigned to the corresponding ware. The supply quantity of the corresponding ware may comprise a stock of the corresponding ware and production orders associated with the corresponding ware. The free capacity quantity may be derived from a capacity capability of the specific resource and a blocked capacity quantity of the resource that is assigned to another ware other than the corresponding ware. The availability information may further comprise ware demand information comprising, for each date of the time interval, a demand quantity of the ware. The demand quantity may be compared to at least the combined information when determining the availability of the specific ware. After determining the availability of the specific ware for the specific resource, provided that the demand quantity is equal or smaller than the supply quantity, the combined information of the specific ware may be updated. Similarly, after determining the availability of the specific ware for the specific resource, provided that the demand quantity is greater than the supply quantity, the combined information of all wares associated with the resource may be updated. Finally, the specific resource may be a bottleneck resource.
In another aspect, a computer program product is disclosed. The computer program product is tangibly embodied in a computer-readable storage medium and includes instructions that, when executed, perform operations for checking availability of a set of wares in a time interval, each ware having associated therewith at least one resource to produce the ware, as described in connection with the methods described above. In yet another aspect, systems are disclosed that are capable of checking availability of a set of wares in a time interval, each ware having associated therewith at least one resource to produce the ware, as described in connection with the methods described above.
Implementations can provide any, all or none of the following advantages. When a ware demand is received, the availability of a specific ware for a specific resource may be determined using at least the combined information. Availability may therefore be determined based on supply of the ware and based on capacity of the resource associated with that ware. By using both information simultaneously, an optimal confirmation may be issued. It allows for the fact that flexible resources can also be used to produce and procure the product.
The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the invention will be apparent from the description and drawings, and from the claims.
Like reference symbols in the various drawings indicate like elements.
Even though the demands referred to in
ATP check component 107 may be placed within any suitable platform or system. In one implementation, the ATP check component may be placed within an Enterprise Resource Planning (ERP) System, for example the R/3 system by SAP AG Walldorf, Germany. In another implementation, the ATP check component may be placed within an Advanced Planning and Information (APO) system, for example the APO system by SAP AG, Walldorf, Germany. In yet another implementation, the ATP check may be placed within a system for small and medium sized businesses, like for example a Business By Design system by SAP AG, Walldorf, Germany.
ATP check component 107 may be able to access supply and demand data 108 and perform a availability check for a demand having a requested date. When there are multiple demands for a ware, it might be the case that more demand is confirmed on a certain date than supply is available on that specific date. In such a case, an overconfirmation is present on that date. Overconfirmations may for example occur when a change is made in the supply and demand data, for example when a requested date or quantity of a demand is changed or when a supply delivery changes. Demands that had a confirmed date and quantity up to that point of time, might no longer be confirmed after a change in the supply and demand data has occurred.
Referring to
A ware demand, like a sales order, may have different operations (activities) needed to produce the ware. These different operations may have to be carried out using different resources, or even at different work centers. Therefore, not only one resource may be associated with a ware, but at least one other resource may also be associated therewith.
In a computer-implemented method for checking availability of a set of wares in a time interval, each ware has associated therewith at least one resource to produce the ware. When determining availability for a specific resource, the first step of such a method can be to determine the wares associated with the specific resource. Availability information for each of the determined wares may then be obtained. When a demand comes in, for example a sales order from a customer requesting a specific ware, the availability of the specific ware for the specific resource may then be determined using the obtained availability information.
Determining availability of a specific ware may be done in many different ways.
Next, in step 420, capacity supply information is obtained, comprising a capacity supply for each date of the time interval. The capacity supply may be cumulated starting from the first date of the time interval as explained with reference to
When using a supply chain management system, time proceeds and past supply and demand data may have to be updated. For product availability check, past product supply generally remains on stock. For capacity availability check however, past capacity supply may not be stored as time proceeds and is thus lost. Therefore, it has to be determined whether capacity supply has been lost or not.
In step 430 it is determined whether an update of the time interval is required, perhaps since time has proceeded. This may be the case when a corresponding update information is received indicating that the first date of the time interval has been set to a later date (for example shifting periods towards the future when the first period has passed). If an update is not required, the method proceeds to step 470. If an update is required, however, the first date of the time interval is set to the later date in step 440. Subsequently, in step 450, it is then determined whether capacity supply is unused for each date from the first date to the last date. In one implementation, the later date may be the date after the first date. In such a case, the determination of unused capacity supply needs only be carried out for one date.
Returning to
The method may then proceed to step 470 of obtaining capacity demand information. This may be the case when a demand information is received representing a demand having a requested date. The capacity demand information for the resource may then be obtained. This capacity demand information may also be obtained at an earlier point of time. However, a received demand information may need to be updated. The capacity demand information comprises capacity demand for each date of the time interval and may be cumulated starting from the first date of the time interval as explained with reference to
In step 480 a capacity availability check for the received demand is performed. This can be done in any suitable manner. For example, this can be done by performing a collective availability check for a set of demands. The capacity availability check (CAC) may be performed similarly to the product availability check (PAC).
In environments where there is at least some product supply in stock, a product availability check may be used before performing a capacity availability check, as indicated in
The capacity supply and capacity demand information may be updated synchronously with the product supply and product demand information, for example when a production order is created or released. The capacity supply and capacity demand information may also be updated asynchronously with the product supply and product demand information, for example only when an availability check is performed.
The method described above may also be used as capacity check when creating or releasing production orders (production plan).
When a production order is released, the amount of capacity supply needs to be used product specific. Therefore, this amount of used capacity supply is no longer available for any other demands. When the production is anonymous, it is not known which demand is being produced by that amount of used capacity supply. Accordingly, the capacity demand cannot be reduced since it is not demand specific. If the capacity demand cannot be decreased, the capacity supply also cannot be decreased at that point of time.
The description now turns to a computer-implemented method for checking availability of a set of wares in a time interval, each ware having associated therewith at least one resource to produce the ware.
When determining availability for the specific resource R, the first step of such a method would be determining the products associated with the specific resource R. In the example of
When there is a production plan, information regarding released production orders for product A and product B may be obtained for each date 601 of the time interval, illustrated by reference numerals 607 and 608 in
The specific resource may have free capacity, also referred to as generic capacity, which can be assigned to any one of the determined products. This means that this free capacity of the resource will then be used to produce that product, in this example product A or product B. Once a certain amount of free capacity has been assigned to a product, it is blocked for that product and cannot be used anymore by other products associated with the resource.
In
In a further step, availability information for each of the determined products A and B may be obtained.
When a demand is received, for example a sales order from a customer requesting one of the products A and B, the availability of the specific product for the resource R may then be determined using the availability information. It may be determined based on available supply of the product and based on available capacity of the resource for that product. By using both information simultaneously, an optimal confirmation may be issued. It allows for the fact that flexible resources can also be used to produce and procure the product.
When combining supply quantity of a product and capacity quantity of the resource, a common quantity measure must be found.
In one implementation, the supply quantity of the ware may be expressed in terms of capacity units needed to produce that supply quantity using the specific resource (for example hours of the resource). For example, for a resource being able to produce 10 units of the product per hour (capacity constraint), a supply quantity of 20 units may correspond to a capacity of 2 hours.
In another implementation, a capacity quantity can likewise be expressed in terms of supply or product units resulting when using that capacity supply of the resource, for example when several products are measured in the same units. However, for the following examples given in the description, supply quantity will be expressed in terms of capacity units.
In a similar manner, when determining the availability of a product by using a demand quantity and a supply quantity, a common quantity measure must be found.
Also in this case, the demand quantity and the supply quantity can be expressed in terms of capacity units in one implementation. In another implementation, the demand quantity and the supply quantity can be expressed in terms of supply or product units.
Now the description will focus on the availability information for product A. The following description given with respect to
In
In order to use both information simultaneously, the supply quantity of product A as well as the free capacity quantity of the resource for product A, a combined information may be obtained. Cumulated combined supply information 619A represents, for each date 601 of the time interval, the sum of the cumulated supply quantity 614A of product A and the cumulated free capacity quantity 618A for product A. The combined information may also not only be obtained on a cumulated basis, but may be given for each date individually.
In order to perform a availability check, not only supply information 611A-619A may be needed, but also product demand information 620A-621A. In this example, the demand is received in form of sales orders placed by customers. In
In order to determine the availability of the product A, further analysis information 622A to 624A may be needed. A cumulated free supply of product A may be obtained by subtracting the cumulated sales order confirmations 621A from the cumulated supply 614A. The free supply represents the supply quantities of product A that are available and have not been used yet, for example promised to a customer in form of a sales order. In
The blocked capacity for product A may also not only be obtained on a cumulated basis, but may be given for each date individually. In
Upon receiving an information representing for example a sales order requesting either product A or product B, the information shown in
The product demand may be compared to the combined supply information. For a specific date, a ware demand, like a sales order, may be confirmed as long as the cumulated sales order confirmation does not exceed the cumulated combined supply information. In a case where the cumulated sales order confirmations are equal or smaller than the cumulated supply quantity of the product (the demand quantity being equal or smaller than the supply quantity), the product can be based on product supply only and no additional capacity needs to be blocked. As can be seen in the left hand diagram, for product A this is the case for example on date 0 and 1. In such a case the availability information, in particular the combined supply information, for the corresponding product, in this example product A, may be updated.
However, in a case where the cumulated sales order confirmations exceed the cumulated supply quantity of the product (the demand quantity being greater than the supply quantity), the availability of the product can not only be based on product supply but also additional capacity needs to be blocked. As can be seen in the left hand diagram, for product A this is the case for example on date 4 and 5. On date 4 a capacity quantity of 8 and on date 5 a capacity quantity of 5 needs to be blocked for the production of product A. In such a case not only the availability information, in particular the combined supply information, for the corresponding product, in this example product A, needs to be updated, but also the availability information of all other products associated with the resource need to be updated, like the availability information of product B in this example.
The memory 820 stores information within the system 800. In one implementation, the memory 820 is a computer-readable medium. In one implementation, the memory 820 is a volatile memory unit. In another implementation, the memory 820 is a non-volatile memory unit.
The storage device 830 is capable of providing mass storage for the system 800. In one implementation, the storage device 830 is a computer-readable medium. In various different implementations, the storage device 830 may be a floppy disk device, a hard disk device, an optical disk device, or a tape device.
The input/output device 840 provides input/output operations for the system 800. In one implementation, the input/output device 840 includes a keyboard and/or pointing device. In another implementation, the input/output device 840 includes a display unit for displaying graphical user interfaces.
The features described can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. The apparatus can be implemented in a computer program product tangibly embodied in an information carrier, e.g., in a machine-readable storage device or in a propagated signal, for execution by a programmable processor; and method steps can be performed by a programmable processor executing a program of instructions to perform functions of the described implementations by operating on input data and generating output. The described features can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. A computer program is a set of instructions that can be used, directly or indirectly, in a computer to perform a certain activity or bring about a certain result. A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
Suitable processors for the execution of a program of instructions include, by way of example, both general and special purpose microprocessors, and the sole processor or one of multiple processors of any kind of computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions and one or more memories for storing instructions and data. Generally, a computer will also include, or be operatively coupled to communicate with, one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits).
To provide for interaction with a user, the features can be implemented on a computer having a display device such as a CRT (cathode ray tube) or LCD (liquid crystal display) monitor for displaying information to the user and a keyboard and a pointing device such as a mouse or a trackball by which the user can provide input to the computer.
The features can be implemented in a computer system that includes a back-end component, such as a data server, or that includes a middleware component, such as an application server or an Internet server, or that includes a front-end component, such as a client computer having a graphical user interface or an Internet browser, or any combination of them. The components of the system can be connected by any form or medium of digital data communication such as a communication network. Examples of communication networks include, e.g., a LAN, a WAN, and the computers and networks forming the Internet.
The computer system can include clients and servers. A client and server are generally remote from each other and typically interact through a network, such as the described one. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
A number of embodiments of the invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. Accordingly, other embodiments are within the scope of the following claims.