Inventory balance common object

Information

  • Patent Grant
  • 9704120
  • Patent Number
    9,704,120
  • Date Filed
    Tuesday, October 28, 2003
    20 years ago
  • Date Issued
    Tuesday, July 11, 2017
    7 years ago
Abstract
Stored inventory balance information in a first format for use by a first computerized system is transformed to readily make the stored inventory balance information available for use in a second computerized system that utilizes a second format in a cost-efficient and time-efficient manner.
Description
TECHNICAL FIELD

The present invention is directed to the field of data modeling in the context of enterprise resources planning, supply chain management, warehouse management, and customer relations management, and more specifically to inventory management.


BACKGROUND

Manufacturers and suppliers of products use back-office computerized systems to provide support for functions in enterprise resources planning (ERP), supply chain management (SCM), and warehouse management (WMS). Such functions include manufacturing, marketing, inventory control, procurement and financing.


Also available are front-office computerized systems, which provide support to product vendors and distributors. In the context of inventory management, such front-office functions include analysis of historical customer demand for products, stocking and replenishment of inventory, and providing information resources for delivery of inventory and service to consumers. In order to take advantage of such front-office software computerized systems, their users typically must store data in forms usable by the front-office computerized system, which often differ significantly from the forms usable with back-office computerized systems.


Thus, when some or all aspects of inventory are managed by both back-office and front-office computerized systems, there is a need to synchronize the inventory information in both computerized systems. Generally, in order for front-office computerized systems to communicate with back-office computerized systems that are already being used, the user must manually regenerate data from the back-office computerized systems in forms usable by the front-office computerized systems, and vice versa. Such manual regeneration has several significant disadvantages, including: (1) it is often expensive; (2) it often requires a substantial amount of time to complete; (3) it must be repeated each time data changes in either the back-office system or the front-office system; and (4) it is prone to errors.


In view of the foregoing, an automated approach for transforming data used by a back-office computerized system for use by a front-office computerized system, and vice versa, is needed.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1A is a high level network diagram showing aspects of a computerized environment in which the facility operates, according to certain embodiments.



FIG. 1B is a block diagram that illustrates some business components of target system 130, according to certain embodiments.



FIG. 2 is a block diagram showing some of the components typically incorporated in at least some of the computer systems and other devices on which the facility executes.



FIG. 3A is a high level flow diagram that shows some steps performed by the facility.



FIG. 3B and FIG. 3C are flow charts that illustrate further aspects of the data integration operation, according to certain embodiments.



FIG. 4 to FIG. 11 are data structure diagrams that illustrate the inventory balance common object model, according to certain embodiments.





DETAILED DESCRIPTION

According to certain embodiments, the synchronization of inventory information addresses the needs of a company that deploys multiple computer applications, obtained from multiple vendors of computer applications, in the company's inventory management system. The synchronization operation provides a user of the inventory management system the same view of the inventory information across the various computer applications. All changes in the inventory information need to be captured and made accessible to all relevant computer applications in the inventory management system. For example, when an inventory item is received into inventory, shipped for an order, or has a change in its availability status (such as “reserved” status from “on hand” status), such inventory information need to be captured and made accessible to relevant computer applications in the inventory management system.


For purposes of explanation, assume that a company's inventory management system includes a front-office system for customer interfacing operations. Further, assume that the company's inventory management system also includes a back-office system that includes an inventory cost accounting application, for example. The computer applications of the front-office system uses a data model that is distinct from the data model used in back-office system's computer applications.


Inventory items are physically stored in a central distribution warehouse, at a field service office, in one or more field service engineer's trunk, or at a third party vendor's location. Assume that the various computer applications associated with inventory management used by the central distribution warehouse, the field service office, the field service engineer, and the third party vendor, are part of the front-office system. An inventory cost accounting application, for example, from the back-office system will need to share inventory information with the front-office system computer applications. Thus, a common data storage model is needed so that the various computer applications across the company's inventory management system can share the inventory information.


When a front-office call center receives an order from a customer, the call center can commit the availability of inventory parts and labor to the customer even though such inventory parts are stocked by different partners across a multiplicity of systems, only if the call center and the multiplicity of systems share inventory information. An important aspect to the inventory management is to ensure that the multiplicity of applications across the systems share the same inventory balance information. Thus, any inventory balance information that occurs in the front-office needs to be synchronized with that of the back-office.


Inventory balance implies the quantity available for a product (stock keeping unit) at an inventory location for a particular inventory level. A stock keeping unit is an instance of a product (part number) at an inventory location. An example of a stock keeping unit is “30 GB Hard Drive” at “Chicago Field Office”. Inventory level is also known as a product bucket. Inventory level is a classification of a stock keeping unit, based on its availability code and status code. Examples of availability codes are “on hand-good”, or “on hand-defective”, or “customer owned-good”, etc.


To explain, the synchronization of inventory balance information is the process of synchronizing the Inventory Balance information between the back-office systems (source systems or external systems) and the front-office systems (target systems). For purposes of explanation, the synchronization of inventory balance information is described with reference to the back-office systems as source systems or external systems and the front-office systems as target systems. The inventory balance information is stored per inventory location, per product, and per bucket in all the relevant systems. Synchronization is made possible by using an integration process that assumes that the application from the source system (source application) is the master of the inventory balance information, and will update the target inventory balance information to reflect the balance in the source system. The inventory balance information in the target system is updated by creating a transaction that will result in the right balance for the particular inventory location. For example, inventory balance is updated by committing an inventory transaction.


An inventory balance record contains the Inventory location Id, the inventory product Id, the bucket code, and the quantity of products available per bucket. The integration application process for synchronizing inventory balance information may be invoked at regular intervals by the source system in order to update the target system's Inventory Balance to reflect the source system's inventory balance information.


The inventory balance integration application process (IAP) includes the following operations:

    • Extracting Inventory Balance information from Source Application.
    • Transforming the Source-specific Inventory Balance information to a common object.
    • Invoking the Sync Inventory Balance Integration Flow.
    • Transforming the common object to the target application's format.
    • Querying the target system for the Inventory Location's current balance
    • Creating a new target Inventory Transaction Object based on the difference between the source and the target system's Inventory Balance.


The above inventory balance integration process occurs at periodic intervals when the inventory balances between inventory systems are not the same. There may be multiple reasons for the inventory balances between inventory systems to be different. For example,

    • Inventory transactions synchronization may have failed for some transactions
    • Inventory transaction synchronization may not have been activated. The requirement is to update the balance at periodic intervals.
    • Inventory transaction IAP is not applicable to enterprises in a distribution network such as between a manufacturer and distributor.


In some cases, the back office system may be the system that performs inventory transactions and the front-office may be used to reflect the inventory balances. In that case, the back office application will pass the inventory balance to integration server. The integration server will convert the balance into an inventory transaction (after accounting for the difference between the current balance in the front-office versus the current balance in the back-office) and submit such a transaction to the front-office system's database. Thus, the inventory balance information in the front-office system (target system) is updated by generating an inventory transaction to account for the difference (delta).


Inventory balance information includes the source inventory location name, the product, and the balance of inventory. If the product is serialized, then a list of asset/serial number is specified. The number of assets specified is equal to the balance field. The integration server will request the current balance from the target application (which is an application of the front-office system). At that point, the integration server may lock the balance record so that no more changes can be made to the record until the synchronize inventory balance transaction complete. The integration server will compare the balances and create an inventory transaction for the delta.


The following is a process flow for synchronizing inventory balance information between source and target systems.

    • A process is triggered in source application (external application) to send the inventory balance at a regular interval.
    • Integration server receives the inventory balance information from source system.
    • The integration server fetches the balance that is in the front-office system (target system).
    • Compares the balances to create an inventory transaction.
    • User verifies that the necessary information is filled in or defaulted:
      • Source Inventory location—External Location
      • Product
      • Quantity
      • Source Inventory level availability
      • Source Inventory level status
      • Destination Inventory location
      • Destination Inventory level availability
      • Destination Inventory level status.
      • Serial # (if applicable)
      • Parent asset # (if applicable—when the inventory item is being installed/replaced on-site)
      • Description—Synchronize Inventory balance
      • Commit—True
    • The transaction is committed in the target system database.
    • The inventory balance information may be same in both systems. For a non-serialized product, no transaction is generated in such a case. However, for serialized products, if the serial numbers are different then an inventory transaction would still need to be generated in order to synchronize the serial numbers.
    • The inventory transaction is committed and the inventory balance updated.


The following is the common object definition for Inventory Balance information, according to certain embodiments of the invention. The information that the common object for Inventory balance may include the following:














Field
Description
Example







Inventory ID
Unique ID of the
ROWID of



Inventory Location
Inventory




Location


DUNS #
Default Org DUNS #


Products


Product ID
Unique Product ID
ROWID for the




Product


Product UOM
Unit Of Measure
Unit Of Measure




for Product


GlobalProductId
Global Product



Identifier


Inventory Level


Availability
LOVs from
On Hand/In



FS_PRODINVCAT_AVAIL
Transit/On




Order/etc.


Status
LOVs from
Good/



FS_PRODINVCAT_STATUS
Defective


Quantity
Integer
10









A software facility (hereafter “the facility”) for automatically converting inventory balance information, is described. In some embodiments, the facility converts inventory balance information from a form used by the source system to a form used by the target system. In certain embodiments, back-office systems are those that provide support for such functions as manufacturing, marketing, inventory control, procurement and financing. In certain embodiments, front-office system are those that provide support for such functions as analysis of historical customer demand for products, stocking and replenishment of inventory, and providing information resources for delivery of inventory and service to consumers, and sales.


In some embodiments, such as embodiments adapted to converting inventory balance information in the first source format, the facility converts inventory balance information by converting the inventory balance information that is in the first source format into an intermediate format. The intermediate format is then used to convert the inventory balance information into the target format.


By performing such conversions, embodiments of the facility enable a user of a first computerized system who has stored inventory balance information in a first format for use by the first computerized system to readily make the stored inventory balance information available for use in a second computerized system that utilizes a second format in a cost-efficient and time-efficient manner.



FIG. 1A is a network diagram showing aspects of a typical hardware environment in which the facility operates. FIG. 1A shows a source system 110, a target system 130, an integration server 120 and a network 150. Source system 110 stores inventory balance information in a source format. There may be more than one source system. Target system 130 stores inventory balance information in a target format. There may be more than one target system.


The facility (not shown) converts some or all inventory balance information that is in the source format into the target format by using an intermediate format of the inventory balance information. In certain embodiments, such conversions are performed with the aid of one or more other computer systems, such as integration server system 120. Components of the facility may reside on and/or execute on any combination of these computer systems, and intermediate results from the conversion may similarly reside on any combination of these computer systems.


The computer systems shown in FIG. 1A are connected via network 150, which may use a variety of different networking technologies, including wired, guided or line-of-sight optical, and radio frequency networking. In some embodiments, the network includes the public switched telephone network. Network connections established via the network may be fully-persistent, session-based, or intermittent, such as packet-based. While the facility typically operates in an environment such as is shown in FIG. 1A and described above, those skilled in the art will appreciate the facility may also operate in a wide variety of other environments.



FIG. 2 is a block diagram showing some of the components typically incorporated in at least some of the computer systems and other devices on which the facility executes, including some or all of the server and client computer systems shown in FIG. 1A. These computer systems and devices 200 may include one or more central processing units (“CPUs”) 201 for executing computer programs; a computer memory 202 for storing programs and data—including data structures—while they are being used; a persistent storage device 203, such as a hard drive, for persistently storing programs and data; a computer-readable media drive 204, such as a CD-ROM drive, for reading programs and data stored on a computer-readable medium; and a network connection 205 for connecting the computer system to other computer systems, such as via the Internet, to exchange programs and/or data—including data structures. While computer systems configured as described above are typically used to support the operation of the facility, those skilled in the art will appreciate that the facility may be implemented using devices of various types and configurations, and having various components.


It will be understood by those skilled in the art that the facility may transform inventory balance information from a number of different source systems and from a number of different source software packages to a number of target systems and/or to a number of target software packages.



FIG. 1B is a block diagram that illustrates some business components of a front-office inventory system 132. According to certain embodiments, such business components include a central distributing warehouse 152, a multiplicity of field offices 154, 156, a plurality of trunks, such as trunk 158, and one or more call centers, such as call center 160. Such business components in front-office inventory system 132 use and store inventory balance data in the front-office system format. Further, one of the primary functions of front-office inventory system 132 is to serve and interface with customers 162.



FIG. 3A is a high level flow diagram that shows some steps typically performed by the facility in order to convert inventory balance information from the one or more source formats to the target format. At block 301, the facility extracts inventory balance information from one or more source systems. At block 302, the facility converts the extracted information into an intermediate format. The intermediate format is described in greater detail herein, with reference to the common object data model. At block 303, the facility synchronizes the inventory balance information from the source system with that of the target system by converting the inventory balance information in intermediate format into the target format. After block 303, the steps as shown in FIG. 3A conclude.



FIG. 3B and FIG. 3C are flow charts that illustrate further aspects of the data integration operation, according to certain embodiments. In FIG. 3B, at block 310, a source application specific adapter listens for the synchronize inventory balance messages from a source application program in the source system. At block 312, a source application specific object (source ASO) that is associated with the message is extracted. At block 314, the source application specific adapter passes the source ASO to a source application transformation flow (SATF) across an application specific interface (ASI). At block 316, the SATF maps the source ASO to the inventory balance common object model (COM) to create a corresponding inventory balance COM instance. At block 318, the inventory balance COM instance is passed to the Synchronize Inventory Balance Integration Flow (SIBIF), via the common service interface (CSI). At block 320, the SIBIF passes the inventory balance COM instance to the target application transformation flow (TATF), via CSI. At block 322, the TATF transforms inventory balance COM instance to the target application specific inventory location object.


In FIG. 3C, at block 324, the target application specific inventory location object is passed to the target application specific adapter via ASI. At block 326, the target application specific adapter uses the target application specific inventory location object to query the target system for the target system's inventory balance information. At block 328, the TATF uses the target system's inventory balance information to create new target specific inventory transaction objects. At block 330, the new target specific inventory transaction objects are sent to the target application specific adapter to update the inventory balance information in the target system. Thus, the inventory balance information in the target system is synchronized with that of the source system.



FIG. 4 to FIG. 11 are data structures of the inventory common object model associated with inventory balance information. Such an inventory common object model illustrates sample intermediate data structures produced from corresponding inventory balance information in the source format.


In FIG. 4, the intermediate data structure 400 is of type listOfInventoryBalance (list of inventory balance), which may contain any number of inventoryBalance data structures 410 (inventory balance). One such illustrated inventoryBalance data structure 500 is shown in FIG. 5.


In FIG. 5, inventoryBalance data structure 500 includes a relatedInvLoc 502 section (inventory balance related inventory location), and a listOfInventoryBalanceData section 504 (a list of inventory balance data). In FIG. 5, inventoryBalance data structure 500 may also include various other information such as various inventory transaction customData 506 (inventory balance custom data). The relatedInvLoc section 502 is discussed in greater detail herein with reference to FIG. 6. The listOfInventoryBalanceData section 504 is discussed in greater detail herein with reference to FIG. 7.


In FIG. 6, the relatedInvLoc section 600 includes an inventory balance related inventory location ID 610. In FIG. 7, listOfInventoryBalanceData section 700 includes any number of inventoryBalanceData sections 710 (inventory balance data). In FIG. 8, inventoryBalanceData section 800 includes a relatedProduct section 802 and a listOfBalanceData section 804. In FIG. 9, the relatedProduct section 900 includes an ID 910, which is an identifier for a product or item within the specified inventory location. In FIG. 10, the listOfBalanceData section 1000 includes a balanceData section 1010.


In FIG. 11, the balanceData section 1100 includes an inventory balance bucketCode 1102, an inventory balance quantity 1104, a product UnitOfMeasureCode 1106 and an inventory balance customData 1108. The inventory balance bucketCode 1102 can have values such as, “On Hand Good”, “On Hand Defective”, “Customer Owned Good”, “Customer Owned Defective”, etc. The inventory balance quantity 1104 is the quantity for the particular product at the particular inventory location.


It will be appreciated by those skilled in the art that the above-described facility may be straightforwardly adapted or extended in various ways. For example, the facility may be used to transform various other kinds of inventory balance information, and may be used to transform inventory balance information between a variety of other formats.


In the foregoing specification, embodiments of the invention have been described with reference to numerous specific details that may vary from implementation to implementation. Thus, the sole and exclusive indicator of what is the invention, and is intended by the applicants to be the invention, is the set of claims that issue from this application, in the specific form in which such claims issue, including any subsequent correction. Any express definitions set forth herein for terms contained in such claims shall govern the meaning of such terms as used in the claims. Hence, no limitation, element, property, feature, advantage or attribute that is not expressly recited in a claim should limit the scope of such claim in any way. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.

Claims
  • 1. A computer-implemented method for managing inventory, the method comprising: synchronizing inventory balance information between a source computerized inventory management system and a target computerized inventory management system, wherein the source computerized inventory management system and the target computerized inventory management system are among a plurality of computerized inventory management systems,the synchronizing is bi-directional, wherein the synchronizing is performed by an integration server, andthe synchronizing comprises extracting inventory balance information in a source format, wherein the source format is a format used by the source computerized inventory management system, andthe inventory balance information in the source format is associated with the source computerized inventory management system,converting the inventory balance information in the source format into source inventory balance information in an intermediate format,receiving target inventory balance information, wherein the target inventory balance information is associated with the target computerized inventory management system,converting the target inventory balance information into target inventory balance information in the intermediate format,generating an inventory balance delta, wherein the inventory balance delta is calculated as a difference between a source inventory balance and a target inventory balance,the source inventory balance information in the intermediate format comprises the source inventory balance,the target inventory balance information in the intermediate format comprises the target inventory balance, andthe generating is performed by the integration server, andconverting the inventory balance delta into inventory balance information in a target format, wherein the target format is a format used by the target computerized inventory management system,the inventory balance information in the target format comprises the inventory balance delta, andthe inventory balance information in the target format is associated with the target computerized inventory management system.
  • 2. The computer-implemented method of claim 1, wherein the receiving the target inventory balance information is performed in response to querying the target computerized inventory management system by the integration server.
  • 3. The computer-implemented method of claim 1, further comprising: extracting inventory balance information in a second source format that is associated with a second source computerized inventory management system that is distinct from the first source computerized inventory management system, wherein the second source computerized inventory management system is one of the plurality of computerized inventory management systems;converting the inventory balance information in the second source format into inventory balance information that is in the intermediate format;converting the inventory balance information in the intermediate format into inventory balance information in the target format; andusing the inventory balance information in the target format to update an existing inventory balance record in the target computerized inventory management system.
  • 4. The computer-implemented method of claim 1, further comprising: updating existing inventory balance information using the inventory balance information in the target format, wherein the existing inventory balance information is in the target format,the existing inventory balance information is associated with the target computerized inventory management system, andthe updating is based, at least in part, on the inventory balance delta.
  • 5. The computer-implemented method of claim 1, wherein the intermediate format comprises a hierarchy of data elements comprising a plurality of inventory balance elements comprising: a list of inventory balances element;an inventory balance related inventory location element;a list of related inventory balances for defining a plurality of related inventory balances; anda custom data element for defining customized attributes for the inventory.
  • 6. The computer-implemented method of claim 5, wherein each of the plurality of inventory balance elements comprises a related inventory location element for defining related inventory location identifier.
  • 7. The computer-implemented method of claim 5, wherein each of the plurality of inventory balance elements comprises a list of inventory balance data element for defining a plurality of inventory balance data elements.
  • 8. The computer-implemented method of claim 5, wherein each of the plurality of inventory balance elements comprises an inventory balance custom data.
  • 9. The computer-implemented method of claim 7, wherein each of the plurality of inventory balance data elements comprises a related product element for defining a product identifier.
  • 10. The computer-implemented method of claim 7, wherein each of the plurality of inventory balance data element comprises a list of balance data element for defining a plurality of balance data elements.
  • 11. The computer-implemented method of claim 10, wherein each of the plurality of balance data elements comprises: a bucket code element;a quantity of product element;a product unit of measure code element; anda balance data custom data element.
  • 12. A computer-readable storage medium carrying one or more sequences of instructions for managing inventory, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform: synchronizing inventory balance information between a source computerized inventory management system and a target computerized inventory management system, wherein the source computerized inventory management system and the target computerized inventory management system are among a plurality of computerized inventory management systems,the synchronizing is bi-directional, wherein the synchronizing is performed by an integration server, andthe synchronizing comprises extracting inventory balance information in a source format, wherein the source format is a format used by the source computerized inventory management system, andthe inventory balance information in the source format is associated with the source computerized inventory management system,converting the inventory balance information in the source format into source inventory balance information in an intermediate format,receiving inventory balance information, wherein the target inventory balance information is associated with the target computerized inventory management system,converting the target inventory balance information into target inventory balance information in the intermediate format,generating an inventory balance delta, wherein the inventory balance delta is calculated as a difference between a source inventory balance and a target inventory balance,the source inventory balance information in the intermediate format comprises the source inventory balance, the target inventory balance information in the intermediate format comprises the target inventory balance, andthe generating is performed by the integration server, andconverting the inventory balance delta into inventory balance information in a target format, wherein the target format is a format used by the target computerized inventory management system,the inventory balance information in the target format comprises the inventory balance delta, andthe inventory balance information in the target format is associated with the target computerized inventory management system.
  • 13. The computer-readable storage medium of claim 12, wherein the receiving inventory balance information is performed in response to querying the target computerized inventory management system by the integration server.
  • 14. The computer-readable storage medium of claim 12, further comprising: extracting inventory balance information in a second source format that is associated with a second source computerized inventory management system that is distinct from the first source computerized inventory management system, wherein the second source computerized inventory management system is one of the plurality of computerized inventory management systems;converting the inventory balance information in the second source format into inventory balance information that is in the intermediate format;converting the inventory balance information in the intermediate format into inventory balance information in the target format; andusing the inventory balance information in the target format to update an existing inventory balance record in the target computerized inventory management system.
  • 15. The computer-readable storage medium of claim 12, further comprising: updating existing inventory balance information using the inventory balance information in the target format, whereinthe existing inventory balance information is in the target format,the existing inventory balance information is associated with the target computerized inventory management system, andthe updating is based, at least in part, on the inventory balance delta.
  • 16. The computer-readable storage medium of claim 12, wherein the intermediate format comprises a hierarchy of data elements comprising a plurality of inventory balance elements comprising: a list of inventory balances element;an inventory balance related inventory location element;a list of related inventory balances for defining a plurality of related inventory balances; anda custom data element for defining customized attributes for the inventory.
  • 17. The computer-readable storage medium of claim 16, wherein each of the plurality of inventory balance elements comprises a related inventory location element for defining related inventory location identifier.
  • 18. The computer-readable storage medium of claim 16, wherein each of the plurality of inventory balance elements comprises a list of inventory balance data element for defining a plurality of inventory balance data elements.
  • 19. The computer-readable storage medium of claim 16, wherein each of the plurality of inventory balance elements comprises an inventory balance custom data.
  • 20. The computer-readable storage medium of claim 18, wherein each of the plurality of inventory balance data elements comprises a related product element for defining a product identifier.
  • 21. The computer-readable storage medium of claim 18, wherein each of the plurality of inventory balance data elements comprises a list of balance data element for defining a plurality of balance data.
  • 22. The computer-readable storage medium of claim 21, wherein each of the plurality of balance data elements comprises: a bucket code element;a quantity of product element;a product unit of measure code element; anda balance data custom data element.
  • 23. The computer-implemented method of claim 1, further comprising: receiving second target inventory balance information, whereinthe second inventory balance information is associated with a second source computerized inventory management system,converting the second inventory balance information into second source inventory balance information in the intermediate format, andthe generating the inventory balance delta further comprises calculating a second difference between a second source inventory balance and the difference between the source inventory balance and the target inventory balance, wherein the second source inventory balance information in the intermediate format comprises the second source inventory balance.
  • 24. The computer-implemented method of claim 1, wherein the source inventory balance information comprises the source inventory balance for a plurality of products;the target inventory balance information comprises the target inventory balance for the plurality of products; andthe inventory balance delta comprises a plurality of differences between the source inventory balance and the target inventory balance, wherein each of the plurality of differences indicates a difference between the source inventory balance for one of the plurality of products and a corresponding target inventory balance for the one of the plurality of products.
  • 25. The computer-implemented method of claim 24, wherein the converting the inventory balance delta into inventory balance information in the target format comprises: converting the inventory balance delta into a plurality of inventory balance information in the target format, wherein each of the plurality of inventory balance information in the target format is associated with a different one of the plurality of products.
  • 26. The computer-implemented method of claim 1, wherein the source inventory balance information further comprises a respective source inventory balance at each location of a plurality of locations.
  • 27. The computer-implemented method of claim 1, wherein the intermediate format comprises a hierarchy of data elements comprising a plurality of inventory balance elements, wherein the plurality of inventory balance elements comprise a list of inventory balances element,an inventory balance related inventory location element,a list of related inventory balances for defining a plurality of related inventory balances, anda custom data element for defining customized attributes for the inventory,each of the plurality of inventory balance elements comprises a related inventory location element for defining a related inventory location identifier,a list of inventory balance data element for defining a plurality of inventory balance data elements, andan inventory balance custom data,each of the plurality of inventory balance data elements comprises a related product element for defining a product identifier,a list of balance data element for defining a plurality of balance data elements,each of the plurality of balance data elements comprises a bucket code element,a quantity of product element,a product unit of measure code element, anda balance data custom data elementthe source inventory balance information comprises a source inventory balance for a plurality of products,the target inventory balance information comprises a target inventory balance for the plurality of products,the inventory balance delta comprises a plurality of inventory differences, wherein each of the plurality of inventory differences differences indicates a difference between the source inventory balance for one of the plurality of products and a corresponding target inventory balance for the one of the plurality of products,the converting the inventory balance delta into inventory balance information in the target format comprises converting the inventory balance delta into a plurality of inventory balance information in the target format, wherein each of the plurality of inventory balance information in the target format is associated with a respective one of the plurailty of products, andthe source inventory balance information further comprises a respective source inventory balance at each location of a plurality of locations.
CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Patent Application No. 60/457,434 filed Mar. 24, 2003, entitled, “INVENTORY BALANCE SYNCHRONIZATION AND COMMON OBJECT,” by Kahlon et al., and which is hereby incorporated by reference in its entirety.

US Referenced Citations (147)
Number Name Date Kind
4714995 Materna et al. Dec 1987 A
5220500 Baird et al. Jun 1993 A
5311438 Sellers et al. May 1994 A
5349643 Cox et al. Sep 1994 A
5416917 Adair et al. May 1995 A
5446880 Balgeman et al. Aug 1995 A
5566332 Adair et al. Oct 1996 A
5646862 Jolliffe et al. Jul 1997 A
5699527 Davidson Dec 1997 A
5708828 Coleman Jan 1998 A
5724575 Hoover et al. Mar 1998 A
5727158 Bouziane et al. Mar 1998 A
5742588 Thornberg et al. Apr 1998 A
5758355 Buchanan May 1998 A
5764543 Kennedy Jun 1998 A
5806075 Jain et al. Sep 1998 A
5930156 Kennedy Jul 1999 A
5930764 Melchione et al. Jul 1999 A
5953710 Fleming Sep 1999 A
5970490 Morgenstern Oct 1999 A
5983194 Hogge et al. Nov 1999 A
6032136 Brake et al. Feb 2000 A
6053947 Parson Apr 2000 A
6167380 Kennedy et al. Dec 2000 A
6178418 Singer Jan 2001 B1
6182053 Rauber et al. Jan 2001 B1
6216130 Hougaard et al. Apr 2001 B1
6226649 Bodamer et al. May 2001 B1
6233566 Levine et al. May 2001 B1
6236997 Bodamer et al. May 2001 B1
6275812 Haq et al. Aug 2001 B1
6336124 Alam et al. Jan 2002 B1
6341289 Burroughs et al. Jan 2002 B1
6343275 Wong Jan 2002 B1
6377952 Inohara et al. Apr 2002 B1
6385620 Kurzius et al. May 2002 B1
6434567 De La Huerga Aug 2002 B1
6463430 Brady et al. Oct 2002 B1
6556950 Schwenke et al. Apr 2003 B1
6569207 Sundaresan May 2003 B1
6591260 Schwarzhoff et al. Jul 2003 B1
6631382 Kouchi et al. Oct 2003 B1
6668253 Thompson et al. Dec 2003 B1
6681223 Sundaresan Jan 2004 B1
6738975 Yee et al. May 2004 B1
6754679 Oheda Jun 2004 B2
6778651 Jost et al. Aug 2004 B1
6792431 Tamboli et al. Sep 2004 B2
6826542 Virgin et al. Nov 2004 B1
6826568 Bernstein et al. Nov 2004 B2
6828963 Rappoport Dec 2004 B1
6883004 Bahl et al. Apr 2005 B2
6889260 Hughes May 2005 B1
6898783 Gupta et al. May 2005 B1
6912719 Elderon et al. Jun 2005 B2
6944514 Matheson Sep 2005 B1
6947947 Block et al. Sep 2005 B2
6961760 Li et al. Nov 2005 B2
6996776 Makely et al. Feb 2006 B1
7013485 Brown et al. Mar 2006 B2
7043687 Knauss et al. May 2006 B2
7062540 Reddy et al. Jun 2006 B2
7065499 Seth et al. Jun 2006 B1
7085729 Kennedy et al. Aug 2006 B1
7093200 Schreiber et al. Aug 2006 B2
7099350 Peterson Aug 2006 B2
7111010 Chen Sep 2006 B2
7111077 Starkovich et al. Sep 2006 B1
7124112 Guyan et al. Oct 2006 B1
7133882 Pringle et al. Nov 2006 B1
7139766 Thomson et al. Nov 2006 B2
7143100 Carlson et al. Nov 2006 B2
7162540 Jasen et al. Jan 2007 B2
7257594 Tamboli et al. Aug 2007 B2
7257820 Fischer et al. Aug 2007 B2
7287041 Barnes-Leon et al. Oct 2007 B2
7337192 Stark et al. Feb 2008 B2
7349861 Fischer et al. Mar 2008 B1
7370009 Notani et al. May 2008 B1
7412404 Tenorio Aug 2008 B1
7680818 Fan et al. Mar 2010 B1
20010011245 Duhon Aug 2001 A1
20010051907 Kumar et al. Dec 2001 A1
20020007343 Oyama et al. Jan 2002 A1
20020019765 Mann et al. Feb 2002 A1
20020023004 Hollander et al. Feb 2002 A1
20020035431 Ell Mar 2002 A1
20020035488 Aquila et al. Mar 2002 A1
20020040313 Hunter et al. Apr 2002 A1
20020040339 Dhar et al. Apr 2002 A1
20020085020 Carroll, Jr. Jul 2002 A1
20020095456 Wensheng Jul 2002 A1
20020116234 Nagasawa Aug 2002 A1
20020123983 Riley et al. Sep 2002 A1
20020133510 Lau Sep 2002 A1
20020138582 Chandra et al. Sep 2002 A1
20020169863 Beckwith et al. Nov 2002 A1
20020169867 Mann et al. Nov 2002 A1
20020174417 Sijacic et al. Nov 2002 A1
20020178077 Katz et al. Nov 2002 A1
20020184085 Lindia et al. Dec 2002 A1
20020184148 Kahn et al. Dec 2002 A1
20020188513 Gil et al. Dec 2002 A1
20020188538 Robertson et al. Dec 2002 A1
20030014440 Bussert et al. Jan 2003 A1
20030018502 Rodriguez Jan 2003 A1
20030023580 Braud et al. Jan 2003 A1
20030033437 Fischer et al. Feb 2003 A1
20030071852 Stimac Apr 2003 A1
20030097642 Arai et al. May 2003 A1
20030110104 King et al. Jun 2003 A1
20030131018 Godoy et al. Jul 2003 A1
20030163597 Hellman et al. Aug 2003 A1
20030163603 Fry et al. Aug 2003 A1
20030229529 Mui et al. Dec 2003 A1
20040002982 Ersek et al. Jan 2004 A1
20040015515 Beisiegel et al. Jan 2004 A1
20040034661 Barron et al. Feb 2004 A1
20040039576 He et al. Feb 2004 A1
20040093351 Lee et al. May 2004 A1
20040122826 Mackie Jun 2004 A1
20040128188 Leither et al. Jul 2004 A1
20040162773 Del Rey et al. Aug 2004 A1
20040199536 Barnes Leon et al. Oct 2004 A1
20040215503 Allpress et al. Oct 2004 A1
20040249854 Barnes-Leon et al. Dec 2004 A1
20050021383 Fliess et al. Jan 2005 A1
20050021391 Lu et al. Jan 2005 A1
20050091249 Hanson et al. Apr 2005 A1
20050160361 Young Jul 2005 A1
20050197880 Walsh et al. Sep 2005 A1
20060271446 Barnes-Leon et al. Nov 2006 A1
20070033531 Marsh Feb 2007 A1
20070203710 Habichler et al. Aug 2007 A1
20070208577 Barnes-Leon et al. Sep 2007 A1
20070208878 Barnes-Leon et al. Sep 2007 A1
20070214020 Srinivasan et al. Sep 2007 A1
20070214063 Kahlon et al. Sep 2007 A1
20070214064 Kahlon et al. Sep 2007 A1
20070214065 Kahlon et al. Sep 2007 A1
20070225949 Sundararajan et al. Sep 2007 A1
20070226037 Garg et al. Sep 2007 A1
20070226049 Muralitharan et al. Sep 2007 A1
20070226093 Chan et al. Sep 2007 A1
20070250408 Barnes-Leon et al. Oct 2007 A1
20070250419 Kumar et al. Oct 2007 A1
20070265944 Catahan, Jr. et al. Nov 2007 A1
Foreign Referenced Citations (5)
Number Date Country
101 50 391 May 2002 DE
2001 256308 Sep 2001 JP
WO 0143031 Jun 2001 WO
WO 0188759 Nov 2001 WO
WO 03003641 Jan 2003 WO
Non-Patent Literature Citations (19)
Entry
“Cross Access Introduces SERIESfour; Offers Native, Fast, Scalable Legacy Data Connectivity for Data Marts, ERP Applications,” PR Newswire; New York; Jan. 18, 1999; pp. 1-3. Downloaded from http://proquest.umit.com.
Hardwick, Martin, David L. Spooner, Rom Rando, and K.C. Morris, “Sharing Manufacturing Information in Virtual Enterprises;” Communication of the ACM; vol. 39, No. 2; Feb. 1996; pp. 46-54. Downloaded from http://delivery.acm.org.
Kappelhoff, Ralph, “Integration of ERP to the Final Control Elements;” ISA Transactions; 1998; vol. 36, No. 4; pp. 229-238. Downloaded from http://www.sciencedirect.com.
Nori, Anil K. et al., “Bringing Objects to the Mainstream,” Compcon Proceedings, IEEE San Jose, California, Feb. 23-26, 1997, pp. 136-142.
PTC: Siebel Systems and PTC create strategic alliance to leverage enriched information across product development, sales and service; Combination of Siebel eBusiness Applications and PTC Collaborative Product Development solutions to deliver competitive advantage, M2 Presswire, Conventry: Jan. 24, 2002, 3 pages (retrieved from ProQuest.com).
Wilson, J.R., “Aerospace Looks for Lift from e-commerce,” Intervia, Geneva, Jul./Aug. 2001; vol. 56, Issue 655, 6 pages (retrieved from ProQuest.com).
XML/EDI Group. “Guidelines for using XML for Electronic Data Interchange.” Presented at XML One-San Jose, Sep./Oct. 2001. Downloaded from http://web.archive.org/web/20040413182700/http://www.xmledi-group.org/.
NPL—XML—Schema—CE.pdf, A tutorial published by the SML governing body of w3.org regarding the use of SML Schemas and Complex Data Elements. Downloaded on Jun. 10, 2009 from http://www.w3schools.com/Schema/schema—intro.asp? and http://www.w3schools.com/Schema/schema—complex.asp? and http://www.w3.schools.com/Schema/schema—complex—empty.asp?;7 pages.
Routledge et al., UML and XML Schema, 2002, pp. 1-10.
Walter J. Savitch, “Java an Introduction to Computer Science & Programming,” 2000, p. 478.
Walter J. Savitch, “Java an Introduction to Computer Science & Programming,” 2000, pp. 458-467.
Walter J. Savitch, “Java an Introduction to Computer Science & Programming”, 2000, p. 1.
“Fortis Investments Implements Unified Employee Management System Across 12 Countries” (Business Wire, Jul. 2004).
“Extract Simplifies File Conversion” Software Markets, Dec. 2, 1991. Retrieved via Dialog on Aug. 16, 2010.
Cover Pages “Siebel's Universal Application Network” Apr. 8, 2002 downloaded from xml.coverpages.org May 6, 2010.
Cover Pages “Siebel Announces Success with Universal Application Network (UAN)” Apr. 21, 2004 downloaded from xml.coverpages.org May 6, 2010.
Michael Kay, Editor “XSL Transformations (XSLT) Version 2.0 W3C Working Draft May 2, 2003” downloaded from http://www.w3.org/TR/2003/WD-xslt20-20030502/ May 6, 2010.
Eric Gropp “Transforming XML Schemas” Jan. 15, 2003; downloaded from xml.com May 6, 2010.
Sonic Software Corporation, Power Schemas With Stylus Studio™; Jan. 2004.
Related Publications (1)
Number Date Country
20070214063 A1 Sep 2007 US
Provisional Applications (1)
Number Date Country
60457434 Mar 2003 US