US20040225664A1 - Data abstraction layer and automated data staging system and method - Google Patents
Data abstraction layer and automated data staging system and method Download PDFInfo
- Publication number
- US20040225664A1 US20040225664A1 US10/654,691 US65469103A US2004225664A1 US 20040225664 A1 US20040225664 A1 US 20040225664A1 US 65469103 A US65469103 A US 65469103A US 2004225664 A1 US2004225664 A1 US 2004225664A1
- Authority
- US
- United States
- Prior art keywords
- data
- sku
- mabl
- enterprise
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
Abstract
A data staging system and data abstraction layer aid in reconciling multiple data sources.
Description
- This application claims priority to U.S. Ser. No. 60/408082, filed Sep. 4, 2002.
- The present invention relates generally to a data staging system and method for collecting, storing and presenting product and enterprise information and to a data abstraction layer for reconciling vendor-supplied item identifiers with the enterprise's SKUs and provides integration between SKUs, content and images.
- A typical retail enterprise uses data systems for many aspects of its operations: inventory management, product catalog management (for supplying product data, order management system to take and track orders in an online store and the like. Typically, an enterprise's data storage system and data processes grow with the enterprise in a somewhat ad hoc fashion, with components of data systems built independently and later linked to one another. It has been typical practice for an enterprise to replicate its entire data system for each brand, as brands are acquired and for these separate data systems to not work together or to have limited ability to work together. It is further typical practice for an enterprise to have a need to exchange data with third parties, such as vendors or “fulfillment partners”. As a result, an enterprise may have a system architecture that is not universally integrated. Adding a product to the enterprise's offerings would typically require considerably manual attention to the data for that product.
- Data staging is the process of preparing data from one system for use by another. Data staging typically involves bringing data into a system, cleaning it, combining it, archiving it and eventually exporting it to another system or application that makes use of or presents the data to an end user. End users may be “internal” to a business enterprise, such as product managers or retail store workers, or “external”, such as online customers of the business enterprise.
- Data staging is particularly important where raw data comes to the staging area from different sources or in different forms. To give a simple example, name information arrives from one data source where separate fields are defined for the first name and the last name. From a second data source, first and last names are presented in a single field. To coordinate these two disparate formats to achieve one consistent database, the raw data from the two databases must be processed. Several options are available for this simple example: An operation can be performed on the data from the first source to add or combine the first and last name fields to “calculate” a new whole-name fields that would be consistent with the format from the second source. Alternatively, the name data from the second database could be processed to divide the first and last names into separate fields. While this example is simple, the task of processing data to achieve consistency can be enormously complex when it involves a large quantity of data from multiple sources with great degrees of variation. The task is further complicated when the data is dynamic, i.e. frequently or constantly changing or is added to or deleted from frequently or on an ongoing basis. With large amounts of data or with dynamic data, it is particularly important that the staging system and method be automated so that the data is quickly incorporated into the system for timely access by users. This is the case with a data system that manages product information where products and information about the products comes from a variety of sources and where the products are sold through multiple business entities and through multiple channels of trade (e.g. bricks and mortar, internet).
- Data management is a crucial function of any retail sales operation, but is of particular import for an enterprise that sells products via physical stores, i.e. “bricks and mortar” and via the Internet. Products come from a variety of sources, and information about the products, their inventory and promotions offered by the enterprise or by the business entities must be controlled in a flexible manner and made available in a timely manner to all those who can use the product information, both for internal management purposes and for customers use. In many cases, it is desirable to make the information consistent; in other cases, it may be desirable to vary information by geographic region or by business entity or channels of trade, such as to reflect inventory variations or to offer targeted promotions.
- It is desirable for each product in an enterprise's database to have a unique identifier. This is typically accomplished with a Stock Keeping Unit or “SKU” number that is unique to each product or service. (Throughout this application, “product” shall mean both products and services.) Where an enterprise encompasses multiple business entities, it is difficult to use the SKU numbers assigned by each business entity because it is possible that the same SKU was used by different business entities to designate different products. Further, the individual business entities may not use the same data format for their SKUs; for example, an entity may use a nine digit number for an SKU, while another might use a six digit number or a combination of letters and numbers or a hyphenated format. To coordinate the SKU lists of the two entities requires generation of a new item identifier (“item ID”) that is unique to each product without having more than one identifier for a single product (although the product may be sold by more than one business entity).
- The system and method of the present invention stages data from various sources and performs an automated series of steps on the data to assimilate it into a master SKU table and to make it useable for and available to other applications, including systems for making the information available to a web site hosting an online store. The system includes the use of an abstraction layer to reconcile item identifiers between and amongst various data sources.
- An exemplary version of a a data staging and abstraction layer system? is shown in the figures wherein like reference numerals refer to equivalent structure throughout, and wherein:
- FIG. 1 is MABL Logical Function Topology;
- FIG. 3 is MABL High-Level Core Architecture;
- FIG. 4 is MABL High-Level ODS Data Flow;
- FIG. 5 is MABL Core Table Structure Layout;
- FIG. 6 is MABL Core Table Structure With Data Example;
- FIG. 7 is MABL Key Structure Example;
- FIG. 8 is An Example SKU Master Structure Without MABL;
- FIG. 9 is An Example SKU Master Structure Using MABL;
- FIG. 10 is A MABL SKU Build Process High-Level Data Flow
- FIGS. 11-35 are Example screen shots of the Business Operations Portal (BOP) MABL User Interface;
- FIG. 36 is A MABL SKU Creation/Modification Process States Diagram;
- FIG. 37 is MABL End-to-end Data Flow Architecture;
- FIG. 38 is The MABL Process States Flag for SKU Update Process
- FIG. 39 is The MABL Process States Flag for SKU Creation Process
- FIG. 40 is obsolete and should be dropped
- FIG. 41 is The BOP Process States Flag for SKU Shipping Updates Process
- FIG. 42 is The BOP Process States Flag for Manufacture Advertised Price Establishment Process
- FIG. 43 is The BOP Process States Flag for Availability Messaging Process
- FIG. 44 is The BOP Process States Flag for SKU Attribute Values Update Process.
- FIGS. 38-45 are.
- The staging system and abstraction layer are advantageously applied in the context of an enterprise engaged in retail sales of products and services to customers, where the enterprise is composed of more than one “brand”, i.e. company or subsidiary. For example, Best Buy, Inc. is an enterprise which owns several brands: e.g. BestBuy.com, Inc., an online store designed to accommodate a worldwide presence; Futureshop, Inc., having a chain of physical stores selling consumer electronics, music, video, and games, primarily in Canada; and Best Buy retail stores. As noted, these brands sell their products through different “channels” of trade, including through physical store sites and through an online store on the Internet. The enterprise sells products, services and contracts for services; the terms “items” and “products” are used interchangeably and encompass all things sold by the enterprise.
- The data staging system and the abstraction layer are designed to reconcile disparate systems in an automated fashion, particularly with respect to the assignment of a unique product identifier. The following is a key for some of the named systems described herein:
- RETEK—an inventory management system;
- YANTRA—an order management system;
- PCMS—a product catalog management and presentation system preview of Internet site;
- CSEE—a content server; and
- ATG—Internet site product catalog management and presentation system.
- While these are mentioned by tradename in places in this description and in the figures, it will be understood that analogous systems may be used in place of these named systems.
- FIG. 1 represents
technical infrastructure 100 to support a retail operation having a customer interface, such as an “online store”. Thetechnical infrastructure 100 includes several infrastructure components: an ordermanagement infrastructure component 120; a multi-abstraction layer (MABL)infrastructure component 125; autility infrastructure component 130; a customer facing infrastructure component or “online store” 135. Theseinfrastructure components internet 140 that is accessible to the public and from which customers can shop (i.e. view products and information about products; purchase products for pick-up at a retail store location or for shipment to the customer). Dividing thetechnical infrastructure 100 into thesecomponents - The order
management infrastructure component 120 facilitates product sourcing and inventory management and control. TheMABL infrastructure component 125 stages data and reconciles vendor-supplied item identifiers with the enterprise's SKU's and integrates SKUs, content and images relating to products for sale. Theutility infrastructure component 130 performs a variety of support functions, such as calculate tax on website orders based on customer order shipping location, provide credit authorization for customer orders, supplies customers with closest store to them based on zipcode. The customer facinginfrastructure component 135 supports an online store. - The
MABL infrastructure component 125 and theutility infrastructure component 130 cooperate to form anassociate facing infrastructure 148 which is divided from thecustomer facing infrastructure 135 byfirewall 145. Theassociate facing infrastructure 148 supports the application and databases required for systems whose primary users are employees of the business enterprise or its affiliates. Thecustomer facing infrastructure 135 is used to support applications and databases required for systems whose primary users are customers of the business enterprise.Additional firewalls infrastructure 110 are connected and can exchange data and rely on other systems to provide functionality. The ordermanagement infrastructure component 120, is primarily a customer-facing application that is protected behindfirewall 147. - Each of the
infrastructure components applications tier 150 and thedatabase tier 151 preferably deploy pairs of servers in “clustered” mode to achieve higher levels of robustness. Should one server of the pair fail, the other server will automatically pick up the load. - The application and
database tiers web tier 162 and animage tier 163 in theMABL infrastructure component 125 and in thecustomer facing infrastructure 135. Theweb tier 162 provides basic browser access for application functionality. Theimage tier 163 provides a central location for images used in a business operations portal (BOP), described below with reference to FIGS. 10-35, and other applications. - FIGS. 3 and 4 further illustrate a preferred architecture200 for staging data for a retail business enterprise and is particularly suited for an enterprise having multiple business entities or companies, located in various international regions speaking different languages. As shown in FIG. 3, the
architecture 300 includes aMABL staging system 310 that serves as a gate and routing system to process and relate multiple data sources from multiple systems, internal and external to the business enterprise. Items to the left of thestaging system 310 in the diagram represent systems or databases that feed data intoMABL staging system 310. More specifically, “RETEK®” 320 is an inventory management system. Theinventory management system 320 suppliesMABL staging system 310 with data about inventory available from the online store for product ready for immediate shipment to the customer from the distribution warehouses owned by the business enterprise or its companies. This inventory data includes such information as current and projected inventory levels for products helps establish inventory available to ship. “External fulfillment partners” orvendors 330 supply products to the enterprise and provide data regarding products and their supply to theMABL staging system 310. The enterprise operatesadditional systems 340 for fulfilling product orders, such as for shipping products directly to customers from warehouses and thesesystems 340 also provide data to theMABL staging system 310. - To the right of
MABL staging system 310, as depicted in FIG. 3, areadditional systems MABL 310. The “YANTRA”system 350 is an order management system. The “ATG”system 360 performs functions of an on-line store such as order capture, presentation of a product catalog, site personalization and the like. The reporting andanalytics system 370 generates reports and analyzes data to support management functions. Data from MABL staging 310 is used in the reports to conduct fraud investigations and order volume reports for returned and cancelled items. As depicted in FIG. 3, the MABL staging system includes shared lookup tables 400, primary operationaldata store components 500 and theMABL core 600. The shared lookup tables 400 serve as references for processing choices and referenced dimension hierarchies. - The shared lookup tables400 include the
merchandise hierarchy master 410 that provides a hierarchy for brands within the enterprise. For example, the tables in this hierarchy might include department, class, and subclass. - The shared lookup tables400 further include the vendor master table 420. The vendor master table 420 is one of the sources of information for the fulfillment partner master, to be discussed below. The use of these attributes is tightly coupled with the processing related to the operational data store's fulfillment partner, inventory and SKU masters, to be described below.
- Another shared lookup table400 is the shipping and handling master table 430. Multiple tables and processes manage shipping events and categories within the MABL system. Multiple shipping events, including free shipping events, are managed by applying multiple shipping categories to SKU's. Tables contain in-process values from MABL intermediate processing tasks, or contain the end-of-process updated values for SKU shipping attributes that are used by applications outside MABL.
- Yet another shared lookup table400 is the location master table 440. The
location master 440 identifies the current possible locations for all brands. The locations master table 440 stores location attributes like address and contact phone numbers for physical stores, warehouses, corporate offices and any other physical locations of the enterprise. A few attributes of thelocation master 440 can be managed by a user interface. - Still another shared lookup table400 is the finance master table 450. The finance master table 450 holds a set of all finance offers offered by the enterprise. After minimal processing including branding, MABL passes this information to the Product Catalog Management System (PCMS) application.
- Another shared lookup table400 is the rebate master table 460. The rebate master table 460 holds a set of all rebates passed to MABL staging 310 from the enterprise's rebate data store. After minimal processing including branding, MABL passes this information to the PCMS application.
-
MABL core 600 is composed of several tables: an international region table 610; a company table 620; a brand table 630; a channel table 640; a geographic area table 650; and a language table 660. TheMABL core 600 uses assignment of surrogate keys to fields in the tables to create an abstraction layer that allows each product to have a unique identifier while allowing various business entities to use their own SKU numbers. The abstraction layer provided byMABL core 600 allows ease of integration of brands, i.e. entities, as they are acquired by the enterprise. The abstraction is advantageous in such a setting because otherwise two separate brands or entities might have assigned the same SKU identifier to different products. - The tables610, 620, 630, 640, 650, 660 of MABL core are depicted in FIG. 5. The brand table 630 is the parent record in the database representation which defines the brand record. Its primary key is DGT_BRAND, a sequential number generated by a number generator. The primary key depends on no other key. It is unique. Other tables will depend on the BRAND_KEY but the BRAND_KEY depends on no other attribute. Other columns could be added to the table without affecting pre-existing brands. DGT_BRAND has two other columns: INTL_RGN_KEY, which is the surrogate key of the DGT_INTL_RGN table and CO_KEY which is the surrogate key of the DGT_CO table. In FIG. 5, “PK” designates primary key and “FK” designates surrogate key. A surrogate key is a synthetic key (typically a synthetic key is numeric and generated sequentially) that is used as a substitute for natural key.
- The company table620 defines which company owns which brand. It allows for grouping of companies in a group.
- The channel table640 encompasses the way a particular brand markets products to their customers in a specific geographic region. Examples of channels include stores, internet, intranet (i.e. kiosks), handheld access (WAP) and external co-branded stores. The channel table 640 provides the ability to have shipping promotions focused by channel. Further, the channel table 640 provides an integrated suite of MABL core that support the entire retail transaction lifecycle—from informing and attracting customers, to merchandising, fulfillment and customer service. The channel table 640 creates a unified view of the customer across the entire transaction lifecycle and across all points-of-touch, including the Internet, catalogs, call center and kiosks. It enables multi-channel retailers and direct marketers to interact with, transact with and support customers in the era of e-business. The channel table 640 enhances the customer experience and improves customer relationships.
- Three tables610, 650, and 670 form the geography tables. These tables accommodate business entities or facilities in multiple countries. The DGT_AREA table 650 determines the lowest graduation of the region. DGT_AREA table 650 may house the countries of the European Economic Union (EU) while DGT_INTL_RGN table 610 houses the placeholder row “European Economic Union”. DGT_INTL_RGN_AREA is the associative table that ties the two tables together. Using this one has the ability to tie, for example, the country of France to the “European Economic Union” and at the same time to another region, say, for example, “Northern Europe”.
- Two tables660, 680 form the language tables. The language table 660, 680 functions for language as the above-described geography tables function for geography. The DGT_BRAND does not store a key for language within the DGT_BRAND table but derives language through the associative table DGT_BRAND_LANG
- FIG. 6 shows the tables of FIG. 5 with some example data illustrated. The governing company is “Best Buy Co., Inc.”, indicated in the CO_DESC field, and it has been given a key of “100” in the CO_KEY field, as shown in the company table620. A brand owned by Best Buy Co., Inc. is “BestBuy.com”, as indicated in the brand table 630 in field BRAND_DESC and it has been assigned a key of “001” in field BRAND_KEY. The brand delivers products through a particular channel, given a key of “42” in the CHANNEL_ID field of the channel table 640. In this example, the BestBuy.com brand operates in a region called “United States-Upper Midwest” and this region has been assigned a key of “37” which is stored in the INTL_RGN_KEY field of the International Region table 610. The region called “United States-Upper Midwest” is composed of two states: “Minnesota” which has a key of “51” and “North Dakota” which has a key of “52”; this attribute is stored in the AREA_KEY field of the DGT_AREA table 650. Within the region called “United States-Upper Midwest” there are w languages: “ENG-US” (American English) which has a key of “765” and “NOR-US” (American Norwegian) which has a key of “428”; these keys are stored in the LANG_KEY field of the DGT_LANG table 660. Each of these languages has their own ATG on-line instance denoted by the field ONL_INSTANCE.
- FIG. 7 represents an SKU Master Table700 that uses the
BRAND_KEY column 710 and anITEM_SEQ_NBR column 720 as primary keys. The SKU_ID is not a primary key. Since both theBRAND_KEY 710 and theITEM_SEQ_NBR 720 columns are meaningless and sequentially generated, there is no chance that these columns will ever need alteration.SKU_ID column 730 is a non-key column within the table structure and therefore the Master Table 700 will not be adversely impacted when alterations to the SKU_ID column are made, as often happens in a retail enterprise. The addition of an alternate index on the SKU_ID (which can be a local Oracle partition key) allows the end user to access SKU_ID without having to know any values in the primary key. - FIG. 7a presents this method of key assignment. In
step 750, a brand key is assigned as a primary key in an SKU master table. Instep 760, a sequential number within the brand for the product is assigned as a primary key in the SKU master table. Instep 770, an SKU_ID is assigned that is not a primary key. - The elegance and advantages of the keying strategy illustrated in FIGS. 5, 6,7 and 7 a is apparent with reference to alternative approaches depicted in FIGS. 8 and 9. In the FIG. 8 approach, the SKU master table 800 includes a
column 810 for the SKU_ID. TheSKU_ID column 810 is a primary key. In this design, the primary key is tied to a column that has specific meaning but for only one portion of the enterprise. This design is vulnerable to modifications in the SKU length as sometimes occurs in business practice. If the SKU_ID changes, then the primary key must be rebuilt resulting in system outage. This design is also limited when another enterprise subsidiary begins to use the system. For example, if SKU_ID is the primary key, the system is unable to adapt if two different SKU_Ids are used for the same product or if one SKU_ID is used by different companies for different products. Even if the key were extended to allow for BRAND_KEY, then the data would still be interwoven through the table and index since SKU_ID is the lead key column. Reversing the columns to put BRAND_KEY first would only decrease the cardinality of the index. Therefore thestructure 800 represented in FIG. 8 is limited in scope and resistant to change. - The structure represented in FIG. 9 is another alternative to the approach of FIG. 7. As depicted in FIG. 9, a view could be constructed over the SKU master table that shows only the data that pertains to one of the enterprise's companies. Use of this view would use the BRAND_KEY and SKU_SEQ_NBR but hide them from view. FIG. 9 shows such a view that the user could access as if there existed a table solely for a given brand. The use of an alternate index on the
SKU_ID field 910 would add to this illusion. The production of these objects defeats the purpose of the abstraction layer. In addition, all batch processing must continue to use the BRAND_KEY and SKU_SEQ_NBR for accessing the SKU master table (DGT_SKU_MASTER). - With reference again to FIG. 3, the
architecture 300 includes “Primary ODS Components” 500. “ODS” stands for operational data store. Thesecomponents 500 facilitate the movement of the enterprise's merchandising and inventory related data into other pre-existing systems for order management and for supporting an on-line store. The table structures and processes around them insures the orderly flow of data through MABL and of moving external source data to an on-line store application system. The data movement application development method of choice forprimary ODS components 500 is executed through the use of a commercially available data extraction, transformation, and loading (ETL) packaged software sold under the trademark Informatica®. The ODS data structures contain an “interface process tracking codes that specifically relate status to an external process or set of processes that must interact withMABL 310. Each external interaction process has an indicator built within the ODS whose value defines MABL process status as ongoing, as complete and ready for additional overall state of processing within MABL, i.e. when that item and its associated facts are considered “ready for use” by the Content and Product Control Management Systems, CSEE and PCMS. In other words, this control guarantees that an item is not available for use to the OLS unless it is completely assembled in all respects (including pricing, shipping & handling, and inventory) and that the EOMS has accounted for it. - The
primary ODS components 500 include an SKU master table 510, a fulfillment partner/inventory master table 520 and a pricing master table 530. Thepricing master 530 captures price and price event from RETEK and the subsequent calculations to determine regular and current price for an SKU and store location. In a preferred embodiment, two types of prices will be calculated in the ODS: regular price and current price, based on rules applied to price events. The ODS receives periodic, preferably hourly, updates to price events, which are held in a staging temporary table and then processed to update latest pricing to be passed out from MABL to other systems. Price event types include: regular, clearance, promotion and market reactions. If a regular price change is created, this is sent as a regular price change with a status of active. The regular price change is sent without an end date since changes such as these hold true until a new price is determined. - The inventory master table520 captures information imported from various pre-existing systems and prepares that information for use by the order management system, YANTRA.
MABL 310 processes accommodate a variety of times and data files, and “brands” the data for a specific destination. The result is to manage a timely profile of inventory available for purchase, and the possible means of getting that product to the buyer (e.g. available for in-store pickup or via shipping). - The SKU master table510 is involved in creating a new item and in altering information about an item. The
SKU master 510 carries, for example, all information related to products to be shown on a web site, such as product descriptions, UPC codes and dimensions. In processing new and existing SKU's,MABL 310 interacts with a number of other systems, including the Aggregation Database, RETEK, Item Maintenance [a.k.a. Item Scrubber] and EFAP (related to creating new items). Status column values indicate status of any interactions. TheSKU master 510 also carries status indicators that relate to other ODS components' processing. - The
fulfillment partner master 520 profiles potential fulfillment partners including external fulfillment partners, the enterprise's warehouses and all physical store locations. Any additions or updates to these profiles are made from the BOP portal or from updates to the Location master files. Each enterprise location is a potential fulfillment partner for in-store pick-ups. - As illustrated in FIG. 3, three components interact closely with the MABL staging system310: the
aggregation database 910, the content server (e.g. Content Server Enterprise Edition (CSEE) made by Divine) 920 and the product catalog management system (PCMS) 930.MABL 310 contains tables that will be used by and populated by processes in theaggregation database environment 910. These tables contain values used in MABL processing.MABL staging system 310 hosts a set of tables that are used by processes internal to MABL and referenced by processes outside of MABL. Updates and additions to these tables are made via a method named as “BOP Portal” (“BOP”) or “BOP Tool”. This method uses a web based user interface tool that enables business users to manipulate core commerce features. For example, merchandisers can add and delete MAP information for the studios through this tool. An example of this type of table is DGT_STUDIO_MSTR, a master table inside ofMABL 310 where MAP values can be created and edited by the BOP tool which will be described below with reference to FIGS. 10-35. - FIG. 4 illustrates the flow of data between external data sources and through
MABL 310. - FIGS. 36 and 37 also illustrate the flow of data through the system. The numbers in FIG. 36 correspond to the numbers located within the wide arrows in FIG. 37. In
step 1000, fulfillment partners to the enterprise provide content, images and in some cases SKU numbers and SKU inventory. This content is received in an aggregation pre-scrub database. This process stages the content and image files for rendering and distribution to the CSEE asset management system and the PCMS ATG Store preview package. Eventually the content and images are shipped to the ATG Online Store. - In
step 1010, the item master is checked to determine whether the item already exists. If the item does not exist, MABL inaugurates the Item/SKU creation process (1020). This process ties various vendor UPC codes to the enterprise's SKU. Subsequent steps continue profiling the Item/SKU creation process. MABL then assigns a universal production ID which the program denotes as an “ITEM_ID”. In this way, MABL manages having the SKU manifested by different fulfillment partners while MABL also allows reconciliation of SKUs across Best Buy subsidiaries. (For example, SKU 234 at Subsidiary A may be the same product as SKU 456 at Subsidiary B, but both SKU records have the same ITEM_ID.) - In
step 1030, the MABL system requests an SKU assignment from RETEK. RETEK provide enterprise-specific SKU details to register the new SKU. - In
step 1040, RETEK sends MABL the enterprise-specific SKU details to map the fulfillment partner SKU to the enterprise SKU. - In
step 1050, before the new SKU appears available to customers, the YANTRA order management system must be prepared to take orders for the new SKU. This asynchronous process registers the new SKU with YANTRA, and YANTRA indicates to the ATG Online Store that the SKU is ready to be offered to customers once final confirmation is propagated by MABL. - In
step 1060, MABL notifies the aggregation database that the SKU build is complete and remaining processes can proceed. - In
step 1070, MABL indicates that the music and movies feed is OK to go to PCMS. - In
step 1080, MABL indicates that the aggregation database may send the music and movies feed to PCMS. - If, at
step 1010, MABL determines that the item already exists, then MABL records that some item attributes may have changed and aggregates and updates the MABL state (1090). Consequently, the Item/SKU should be reprocessed as part of the next batch update by broadcasting to the downstream PCMS, ATG and YANTRA systems. MABL then indicates that the aggregation database may send the music and movies feed to PCMS. - As noted above, it is particularly advantageous that the flow of data through the system be automated and further that the process flow be flexible to allow it to be altered in response to changing business rules. This automation is accomplished by a system of state flags that are “switched” in response to events occurring in the data process flow. These events and the resulting state flag switches are illustrated in FIGS. 38-45.
- Authorized personnel of the enterprise have the ability to create and alter business rules, which affect the data process flow, and to view and interact with data shepherded by MABL. As noted above, a user interface2000, “the BOP tool”, for allowing personnel to view, interact with, set rules for the
MABL system 310 is illustrated in FIGS. 10-35. The BOP tool allows selected employees of the enterprise to set business rule sets which control data processes inMABL 310. Some users of the BOP tool include those responsible for managing inventory; those responsible for purchasing entertainment media; those responsible for managing the transportation of inventory; fraud analysts and those responsible for administrating the BOP tool. Each group is provided access to select features and content appropriate to their areas of responsibility and is allowed editing to select varying degrees. - Some of the tasks that can be accomplished via BOP tool are as follows:
- Availability Messaging (bundle priorities, override an SKU assignment, set thresholds for inventory)
- Manage availability messages
- Assign “backorder buckets” to department, class or subclass
- View and edit inventory filters
- View attributes of retail stores
- View and edit SKU attributes
- Create and find free shipping events
- Set fraud velocity settings
- Set Product MAP default assignments
- FIGS. 11-35 is screen shots which show tasks that can be performed via the BOP portal.
- Although an illustrative version of the invention is shown, it should be clear that many modifications may be made without departing from the scope of the invention.
Claims (2)
1. A method for establishing an abstraction layer in a database representing items offered for sale in an enterprise having more than one brand through which items are sold, comprising the steps of:
a) establishing an SKU master table having columns for a brand identifier, a sequential number identifier for the product and an SKU identifier;
b) setting said brand identifier as a primary key;
c) setting said sequential number identifier as a primary key; and
d) not setting said SKU identifier as a primary key.
2. The method according to claim 1 , further comprising the step of:
e) setting said SKU ID as an alternate index.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/654,691 US20040225664A1 (en) | 2002-09-04 | 2003-09-04 | Data abstraction layer and automated data staging system and method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US40808202P | 2002-09-04 | 2002-09-04 | |
US10/654,691 US20040225664A1 (en) | 2002-09-04 | 2003-09-04 | Data abstraction layer and automated data staging system and method |
Publications (1)
Publication Number | Publication Date |
---|---|
US20040225664A1 true US20040225664A1 (en) | 2004-11-11 |
Family
ID=33422793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/654,691 Abandoned US20040225664A1 (en) | 2002-09-04 | 2003-09-04 | Data abstraction layer and automated data staging system and method |
Country Status (1)
Country | Link |
---|---|
US (1) | US20040225664A1 (en) |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040176998A1 (en) * | 2003-03-05 | 2004-09-09 | Evan Kirshenbaum | Method and system for selling an item over a computer network |
US20050066324A1 (en) * | 2003-09-22 | 2005-03-24 | Microsoft Corporation | Method and system for distributing and installing software |
US20050065804A1 (en) * | 2003-09-18 | 2005-03-24 | The Cobalt Group, Inc. | Method and system for furnishing of customized information to venues targeted to selected audiences |
US20050203865A1 (en) * | 2004-03-15 | 2005-09-15 | Ramco Systems Limited | Structured approach to software specification |
US20050203913A1 (en) * | 2004-03-15 | 2005-09-15 | Ramco Systems Limited | Software life cycle availability over the internet |
US20070282713A1 (en) * | 2006-06-02 | 2007-12-06 | Matthew Royce Ullman | Source- and venue-specific inventory data processing and identification system |
US20080016047A1 (en) * | 2006-07-12 | 2008-01-17 | Dettinger Richard D | System and method for creating and populating dynamic, just in time, database tables |
US20080016048A1 (en) * | 2006-07-12 | 2008-01-17 | Dettinger Richard D | Intelligent condition pruning for size minimization of dynamic, just in time tables |
US20080082493A1 (en) * | 2006-09-29 | 2008-04-03 | Business Objects, S.A. | Apparatus and method for receiving a report |
EP1959359A1 (en) | 2007-02-19 | 2008-08-20 | Tietoenator Oyj | A data management system |
US20100082778A1 (en) * | 2008-10-01 | 2010-04-01 | Matt Muilenburg | Systems and methods for configuring a network of affiliated websites |
US20100082780A1 (en) * | 2008-10-01 | 2010-04-01 | Matt Muilenburg | Systems and methods for configuring a website having a plurality of operational modes |
US8678272B1 (en) | 2012-09-26 | 2014-03-25 | Catalina Marketing Corporation | Dimensional translator |
US20140365401A1 (en) * | 2013-06-11 | 2014-12-11 | Sap Ag | System for accelerated price master database lookup |
US20150006469A1 (en) * | 2012-05-23 | 2015-01-01 | Bi-Builders As | Methodology supported business intelligence (BI) software and system |
US10326858B2 (en) | 2017-05-23 | 2019-06-18 | Cdk Global, Llc | System and method for dynamically generating personalized websites |
US10332068B2 (en) | 2016-04-21 | 2019-06-25 | Cdk Global, Llc | Systems and methods for stocking an automobile |
US10482475B2 (en) | 2011-02-10 | 2019-11-19 | Adp Dealer Services, Inc. | Systems and methods for providing targeted advertising |
US10853769B2 (en) | 2016-04-21 | 2020-12-01 | Cdk Global Llc | Scheduling an automobile service appointment in a dealer service bay based on diagnostic trouble codes and service bay attributes |
US10867285B2 (en) | 2016-04-21 | 2020-12-15 | Cdk Global, Llc | Automatic automobile repair service scheduling based on diagnostic trouble codes and service center attributes |
US11080734B2 (en) | 2013-03-15 | 2021-08-03 | Cdk Global, Llc | Pricing system for identifying prices for vehicles offered by vehicle dealerships and other entities |
US11080105B1 (en) | 2020-11-18 | 2021-08-03 | Cdk Global, Llc | Systems, methods, and apparatuses for routing API calls |
US11190608B2 (en) | 2018-03-21 | 2021-11-30 | Cdk Global Llc | Systems and methods for an automotive commerce exchange |
US11501351B2 (en) | 2018-03-21 | 2022-11-15 | Cdk Global, Llc | Servers, systems, and methods for single sign-on of an automotive commerce exchange |
US11514021B2 (en) | 2021-01-22 | 2022-11-29 | Cdk Global, Llc | Systems, methods, and apparatuses for scanning a legacy database |
US20220391350A1 (en) * | 2021-06-03 | 2022-12-08 | Avalara, Inc. | Computation module configured to estimate resource for target point from known resources of dots near the target point |
US20230244647A1 (en) * | 2022-01-31 | 2023-08-03 | Salesforce.Com, Inc. | Unique Identification Management |
US11803535B2 (en) | 2021-05-24 | 2023-10-31 | Cdk Global, Llc | Systems, methods, and apparatuses for simultaneously running parallel databases |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5974418A (en) * | 1996-10-16 | 1999-10-26 | Blinn; Arnold | Database schema independence |
-
2003
- 2003-09-04 US US10/654,691 patent/US20040225664A1/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5974418A (en) * | 1996-10-16 | 1999-10-26 | Blinn; Arnold | Database schema independence |
Cited By (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040176998A1 (en) * | 2003-03-05 | 2004-09-09 | Evan Kirshenbaum | Method and system for selling an item over a computer network |
US20050065804A1 (en) * | 2003-09-18 | 2005-03-24 | The Cobalt Group, Inc. | Method and system for furnishing of customized information to venues targeted to selected audiences |
US20050066324A1 (en) * | 2003-09-22 | 2005-03-24 | Microsoft Corporation | Method and system for distributing and installing software |
US7657542B2 (en) * | 2004-03-15 | 2010-02-02 | Ramco Systems Limited | Software life cycle availability over the internet |
US20050203865A1 (en) * | 2004-03-15 | 2005-09-15 | Ramco Systems Limited | Structured approach to software specification |
US20050203913A1 (en) * | 2004-03-15 | 2005-09-15 | Ramco Systems Limited | Software life cycle availability over the internet |
US7640251B2 (en) * | 2004-03-15 | 2009-12-29 | Rameo Systems Limited | Structured approach to software specification |
US20070282713A1 (en) * | 2006-06-02 | 2007-12-06 | Matthew Royce Ullman | Source- and venue-specific inventory data processing and identification system |
US20070282712A1 (en) * | 2006-06-02 | 2007-12-06 | Matthew Royce Ullman | Source-and venue-specific inventory data processing and identification system |
US8055544B2 (en) | 2006-06-02 | 2011-11-08 | Cobalt Group, Inc. | Source- and venue-specific inventory data processing and identification system |
US8275717B2 (en) | 2006-06-02 | 2012-09-25 | Adp Dealer Services, Inc. | Source- and venue-specific inventory data processing and identification system |
US8538894B2 (en) | 2006-06-02 | 2013-09-17 | Adp Dealer Services, Inc. | Source- and venue-specific inventory data processing and identification system |
US20080016047A1 (en) * | 2006-07-12 | 2008-01-17 | Dettinger Richard D | System and method for creating and populating dynamic, just in time, database tables |
US20080016048A1 (en) * | 2006-07-12 | 2008-01-17 | Dettinger Richard D | Intelligent condition pruning for size minimization of dynamic, just in time tables |
US8204895B2 (en) * | 2006-09-29 | 2012-06-19 | Business Objects Software Ltd. | Apparatus and method for receiving a report |
US20080082493A1 (en) * | 2006-09-29 | 2008-04-03 | Business Objects, S.A. | Apparatus and method for receiving a report |
EP1959359A1 (en) | 2007-02-19 | 2008-08-20 | Tietoenator Oyj | A data management system |
US20100082780A1 (en) * | 2008-10-01 | 2010-04-01 | Matt Muilenburg | Systems and methods for configuring a website having a plurality of operational modes |
US8051159B2 (en) | 2008-10-01 | 2011-11-01 | The Cobalt Group, Inc. | Systems and methods for configuring a network of affiliated websites |
US8438310B2 (en) | 2008-10-01 | 2013-05-07 | Adp Dealer Services, Inc. | Systems and methods for configuring a website having a plurality of operational modes |
US20100082778A1 (en) * | 2008-10-01 | 2010-04-01 | Matt Muilenburg | Systems and methods for configuring a network of affiliated websites |
US10482475B2 (en) | 2011-02-10 | 2019-11-19 | Adp Dealer Services, Inc. | Systems and methods for providing targeted advertising |
US20150006469A1 (en) * | 2012-05-23 | 2015-01-01 | Bi-Builders As | Methodology supported business intelligence (BI) software and system |
US10366415B1 (en) | 2012-09-26 | 2019-07-30 | Catalina Marketing Corporation | Dimensional translator |
US8678272B1 (en) | 2012-09-26 | 2014-03-25 | Catalina Marketing Corporation | Dimensional translator |
US9076121B2 (en) | 2012-09-26 | 2015-07-07 | Catalina Marketing Corporation | Dimensional translator |
US9471933B2 (en) | 2012-09-26 | 2016-10-18 | Catalina Marketing Corporation | Dimensional translator |
US9830616B1 (en) | 2012-09-26 | 2017-11-28 | Catalina Marketing Corporation | Dimensional translator |
US11080734B2 (en) | 2013-03-15 | 2021-08-03 | Cdk Global, Llc | Pricing system for identifying prices for vehicles offered by vehicle dealerships and other entities |
US20140365401A1 (en) * | 2013-06-11 | 2014-12-11 | Sap Ag | System for accelerated price master database lookup |
US9811845B2 (en) * | 2013-06-11 | 2017-11-07 | Sap Se | System for accelerated price master database lookup |
US10332068B2 (en) | 2016-04-21 | 2019-06-25 | Cdk Global, Llc | Systems and methods for stocking an automobile |
US10853769B2 (en) | 2016-04-21 | 2020-12-01 | Cdk Global Llc | Scheduling an automobile service appointment in a dealer service bay based on diagnostic trouble codes and service bay attributes |
US10867285B2 (en) | 2016-04-21 | 2020-12-15 | Cdk Global, Llc | Automatic automobile repair service scheduling based on diagnostic trouble codes and service center attributes |
US10326858B2 (en) | 2017-05-23 | 2019-06-18 | Cdk Global, Llc | System and method for dynamically generating personalized websites |
US11190608B2 (en) | 2018-03-21 | 2021-11-30 | Cdk Global Llc | Systems and methods for an automotive commerce exchange |
US11501351B2 (en) | 2018-03-21 | 2022-11-15 | Cdk Global, Llc | Servers, systems, and methods for single sign-on of an automotive commerce exchange |
US11616856B2 (en) | 2018-03-21 | 2023-03-28 | Cdk Global, Llc | Systems and methods for an automotive commerce exchange |
US11080105B1 (en) | 2020-11-18 | 2021-08-03 | Cdk Global, Llc | Systems, methods, and apparatuses for routing API calls |
US11514021B2 (en) | 2021-01-22 | 2022-11-29 | Cdk Global, Llc | Systems, methods, and apparatuses for scanning a legacy database |
US11803535B2 (en) | 2021-05-24 | 2023-10-31 | Cdk Global, Llc | Systems, methods, and apparatuses for simultaneously running parallel databases |
US20220391350A1 (en) * | 2021-06-03 | 2022-12-08 | Avalara, Inc. | Computation module configured to estimate resource for target point from known resources of dots near the target point |
US11762811B2 (en) * | 2021-06-03 | 2023-09-19 | Avalara, Inc. | Computation module configured to estimate resource for target point from known resources of dots near the target point |
US20230244647A1 (en) * | 2022-01-31 | 2023-08-03 | Salesforce.Com, Inc. | Unique Identification Management |
US11892992B2 (en) * | 2022-01-31 | 2024-02-06 | Salesforce, Inc. | Unique identification management |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20040225664A1 (en) | Data abstraction layer and automated data staging system and method | |
US7584192B2 (en) | Collection and analysis of document traffic in an electronic marketplace | |
US6115641A (en) | Systems and methods for facilitating the exchange of information between separate business entities | |
JP4450293B2 (en) | Method and system for providing online shopping search service | |
US20040107123A1 (en) | Collection and analysis of trading data in an electronic marketplace | |
US7774238B2 (en) | Online marketplace management system with automated pricing tool | |
US20040019494A1 (en) | System and method for sharing information relating to supply chain transactions in multiple environments | |
US20020107761A1 (en) | Methods and systems for improved channel sales support in electronic commerce | |
US20040243485A1 (en) | Method and system for providing product catalog information for electronic stores | |
US8566163B2 (en) | Methods and systems for generating a trade calendar | |
US20050256798A1 (en) | Object model for global trade applications | |
US20050278211A1 (en) | Methods and systems for integrated promotion planning | |
WO2002003268A1 (en) | Attribute-based shopping intelligence | |
US20050278218A1 (en) | Methods and systems for integrating promotion planning with promotion execution | |
JP2005035760A (en) | Inventory management system, server, inventory management method and program | |
US20050278236A1 (en) | Methods and systems for planning trade deals | |
US20050049939A1 (en) | Method and system for creating navigational information for an electronic store from virtual and master catalog links | |
CN101311933B (en) | Method and system for receiving dynamic access data | |
US20060047560A1 (en) | Methods and systems for integrated market account planning | |
KR100408188B1 (en) | Establishing method of digital catalog library database for electronic commerce and database system thereof | |
US20060206406A1 (en) | Program-based supply chain management | |
US7210106B1 (en) | Authorized item distribution lists | |
US20150006329A1 (en) | Distributed erp | |
Gershon | Business process innovation and the intelligent network | |
KR20010074595A (en) | 3D modeling library supply system using internet |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: BEST BUY ENTERPRISE SERVICES, INC., MINNESOTA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CASEMENT, RICHARD ALLEN;REEL/FRAME:014939/0916 Effective date: 20040121 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |