This chapter covers the following topics:
This chapter describes how to implement products in Oracle iStore.
Note: This chapter assumes that you have already implemented Oracle Inventory, according to the most recent Oracle Inventory User's Guide.
Information on working with the product catalog can be found in the chapter, Implementing the Catalog.
In a typical implementation, Oracle Inventory is the repository of all products sold through the Oracle iStore Customer Application. In the Site Administration Application, site administrators can view products, perform limited maintenance on products, assign products to site sections, and assign content to products. In the Customer Application, users can view the product data and any related media, as well as search for products within the default category set and product organization.
Products are limited to a single organization and a single default Inventory category set defined in two profile options.
Note: In this guide, the terms item and product are interchangeable.
Certain Oracle Inventory flags need to be set for Oracle iStore to best utilize product data from Oracle Inventory tables. This chapter's section, "Guidelines and Considerations for Oracle iStore Product Setup", contains best practices for setting up Oracle iStore to use products from Oracle Inventory.
By default, Oracle iStore ships with the capability to maintain a flexible product catalog. As a part of maintaining the product database, this includes the ability in the Site Administration Application to:
View item details, such as name, number, and description
Change item description information
Set the Web Status Inventory flag, which is identical functionally to the Published/Unpublished iStore flag
Assign price lists that contain the products to sites in the Sites, Pricing menu
Search for products
Optional integration with other Oracle applications can provide additional product functionality. See the section, "Other Oracle iStore Integrations for Product Deployment", below, for more information.
Refer to the Oracle Inventory User's Guide to plan and set up your overall product structure and individual products in Oracle Inventory. The guide is available on OracleMetaLink.
You can also integrate Oracle iStore with:
Oracle Marketing to provide expanded product management capabilities, including:
Product creation and maintenance using configurable product templates
Assigning products to organizations
Assigning products to Inventory categories
After you integrate Oracle iStore with Oracle Marketing, this additional functionality is available in the Site Administration Application. Oracle iStore-Oracle Marketing integration is described in the chapter, Integrating Oracle iStore with Oracle Marketing.
Oracle Bills of Material to set up configurable items, model bundles, and items with standard warranties for sale in your sites. See the chapter, Integrating Oracle iStore with Oracle Bills of Material, for details.
Oracle Configurator to enable, in the Oracle iStore Customer Application, customer-configured products, guided selling, solution-based modeling, and limited shopping cart validations. See the chapter, Integrating Oracle iStore with Oracle Configurator, for details.
Oracle Inventory and Oracle Service Contracts to allow serviceable items with attached services (for example, extended warranties) to be sold through the sites. See this chapter's section, "Support for Service Items", for more information.
ATP Functionality to allow customers to check item availability in the Customer Application. Oracle iStore ships with the ability to check the Oracle Inventory ATP columns; the flag is enabled during site creation. You also can integrate with Oracle Advanced Supply Chain Planning for global ATP. For more information, see the following sections within this chapter: "Providing Regular Available to Promise (ATP)" and "Setting up Global Available to Promise (ATP)".
This section contains guidelines which may be helpful when setting up products in Oracle Inventory to use in Oracle iStore sites. However, you must refer to the Oracle Inventory User's Guide for specifics of setting up Inventory.
Oracle iStore requires one Inventory Organization to be identified, against which the product database is retrieved. This identification is made through the use of the profile option, IBE: Item Validation Organization.
Set the IBE: Item Validation Organization profile option to the Inventory Organization from which you wish to retrieve products. In a single-organization implementation, this will be the Master Inventory Organization. If you are implementing a multiple-organization (multi-org) environment, you should set up your Inventory structure and products in the Master Inventory Organization, but create sub-organizations of the master organization. These sub-organizations then can access all of the Master Inventory Organization data, but remain separate entities linked to an Operating Unit through the MO: Operating Unit profile option.
The MO: Operating Unit profile option can be set at application, responsibility, or user level. The product search in Oracle iStore's Site Administration Application retrieves products based on the setting of this profile option at the lowest level to which it is set, with user level being the lowest. Note that if you are integrating Oracle iStore with Oracle Marketing's product screens, then special instructions are available in the chapter, Integrating Oracle iStore with Oracle Marketing.
In addition, within the default Inventory Organization in your implementation, the Oracle iStore product repository is further restricted to a single Oracle Inventory category set, as discussed in the following section, "Inventory Categories and the iStore Product Catalog".
In Oracle Inventory, category sets are used to group products that are alike. Each category set can contain multiple categories.
Each category set is assigned to a flexfield structure, and the flexfield structure defines segments for the category set. Potentially, categories can have a many-to-many relationship with category sets. When you define a product in Inventory, you define key flexfields that are combinations of the segments defined by the category set flexfield structure. Refer to the Oracle Inventory User's Guide for more details.
Oracle iStore uses the profile option, IBE: Category Set, to identify the default category set for its products. This category set typically will have multiple categories. The default category set contains all of the products that potentially make up your online product catalog in the Customer Application. This category set also comprises the product repository in the Site Administration Application.
When displaying products in the Customer Application, Oracle iStore will treat products in the same category identically --- unless other product-level Display Styles, media objects, or Display Templates are associated with a product.
To define default, category-level display rules for your sites, you can link each category (within the default category set) to an Oracle iStore Display Style -- either a seeded, default Display Style, or a new Display Style that you map to the category in the Advanced, Display Styles pages.
Set the IBE: Category Set profile option to the Oracle Inventory category set you wish to use as the default category set for your site products. Set this at the iStore application level.
As a best practice, set the IBE: Category Set profile value to one of the default category sets that you have already defined for Oracle Inventory, Oracle Purchasing, or Oracle Order Management.
Several Oracle Inventory flags must be set for products that will be sold through the sites. Set these in the Oracle Inventory Master Item form for each product -- including each component in a configured item -- that you plan to sell in a site:
Web Status flag: Available in the Master Item form's Web Option tab, this flag specifies whether a product is Published or Unpublished. You can set this flag in the Site Administration Application Product pages as well. Only Published products are available to customers in the Customer Application. The site administrator, using Preview functionality from the Site Administration Application, can see all products assigned to sections, regardless of status. Published and Unpublished products are available for assignment to sections in the Site Administration Application.
Additional Guidelines:
Oracle Inventory allows users to set a Web Status of Disabled. Products in status Disabled cannot be queried in the Site Administration Application nor assigned to sections. Setting a product's Web Status to Disabled in Inventory will make products disappear in both the Site Administration and Customer applications.
In the item detail pages of the Customer Application, all child items present in an Oracle Bills of Material (BOM) model bundle will display, regardless of their Web Publish status.
Orderable on the Web flag: Available in the Master Item form's Web Option tab, this flag enables the Checkout button in the Customer Application. You cannot set this flag in the Site Administration Application. If this flag is not enabled, a product will display in the Customer Application, but a customer will be unable to check out with it. Note that this flag is not considered for children of a configured item.
Note: If the item is already part of an outstanding transaction (e.g., item is in the cart), but the Web Orderable flag for the item is No, the user should not be allowed to checkout with the cart. The user should remove that item and then proceed to checkout.
Customer Orders Enabled: Available in the Master Item form's Order Management tab, this flag marks a product as orderable by customers. You cannot set this flag in the Site Administration Application. If this flag is not enabled, no one will be able to order the product.
OE Transactable: The OE Transactable flag needs to be marked Yes in the Order Management attributes group, if Order Management and Shipping Execution are implemented. This attribute indicates whether demand can be placed for an item by Oracle Order Management, and whether shipment transactions are communicated to Oracle Inventory. It is mandatory if you want to track the shipment transactions in Inventory. For items you do not ship, you may still want OE Transactable turned on if you use the items in forecasting or planning. A warning is issued if you change the value of this attribute when open sales order lines exist. You cannot turn this attribute off if demand exists.
In lists of categories in the Site Administration UI, Oracle iStore shows only leaf categories containing products. Leaf sections are described in this chapter's section, "Categories Map to Leaf Sections".
This behavior impacts the Site Administration Application in the following ways:
For leaf categories to show up in category LOVs, they must be associated with products. Implementers must ensure that categories they expect to utilize in the Site Administration Application contain products.
The UI effect occurs in the following menus:
Catalog tab, Sections subtab, Categories link
Catalog tab, Relationships subtab
Advanced tab, Categories subtab
Stale data can occur for associated categories whose products are removed. For example, if Category 1 containing products is associated to Section 1 in the Sections, Categories menu, and then all of the products are removed from Category 1, the category-section association still exists -- but the category will no longer be viewable in the Categories LOV.
In the Oracle iStore Site Administration Application, product fields do not map identically to the Oracle Inventory fields from which they are derived. The following table shows the field mappings.
iStore Product Field | Inventory Field |
---|---|
Product Name | Relates to Description field in Oracle Inventory forms and to the Description field in the Oracle Inventory MTL_SYSTEM_ITEMS_TL table. |
Product Number Note that this field is Part Number in the Customer Application Order Tracker and shopping cart pages. | Relates to Item field in Oracle Inventory forms. Each product number shown is a combination of key flexfield segments in the Oracle Inventory MTL_SYSTEM_ITEMS_B table. |
Description | Relates to the Long Description field in Oracle Inventory forms and to the Long_Description field in the Oracle Inventory MTL_SYSTEM_ITEMS_TL table. |
Note: If product number is defined as a combination of concatenated segments in Oracle Inventory, when searching on product number in Oracle iStore's product search, then the merchant can input the combination using the correct separator. See the Oracle Inventory User's Guide for more details.
Oracle iStore can provide regular available to promise (ATP) information on Inventory items without customization. Oracle iStore checks the ON_HAND_QTY field in the Oracle Inventory ATP columns to determine the availability of products requested in the specialty sites.
In the Customer Application, this manifests as the Check Availability action in the Shopping Cart page.
For information on enabling global ATP for Oracle iStore, see the chapter, Integrating Oracle iStore with Oracle Advanced Supply Chain Planning.
Following are the high-level steps to set up regular Available to Promise (ATP):
Set up ATP in Oracle Manufacturing.
Define ATP sourcing rules in Oracle Inventory.
Enable products for ATP by setting their ATP and ATP component flags.
In the Site Administration Application Create/Update Site page, activate the Allow customers to check item availability checkbox.
See Oracle Inventory User's Guide for instructions on setting up ATP rules in Oracle Inventory for regular ATP.
For Oracle iStore products, you can determine whether all or only primary units of measure (UOMs) are displayed in the Customer Application.
To determine UOM display, set the profile option, IBE: Retrieve All Units of Measure for an Item, at iStore application level, to either Yes or No:
Yes: For each product, all UOMs and all prices will be displayed.
Caution: Performance issues (slow loading of pages) can occur if the profile is Yes. The performance issues can happen because, when the profile is Yes, a pricing call is made for each UOM of each item in the price list.
No: For each product, only the primary UOM and prices are displayed. In this case, the primary UOM must be defined in a valid price list accessible by the user.
The default value is No.
Important: If setting IBE: Retrieve All Units of Measure for an Item, set the profile option IBE: Retrieve Price When Displaying Item, to an opposite value.
See also: "Direct Item Entry" in the chapter, Implementing Carts and Orders.
Each product in Oracle Inventory has a name and description. In order for your products to display in a non-base language, you must create translated product descriptions. To display your products in a non-base language, you can create translated product descriptions using the Site Administration Application. When you create short and long product descriptions, Oracle iStore associates them with the language in which the Site Administration Application is currently rendered.
For example, you can enter German product descriptions when the Site Administration Application is displaying in German, and French product descriptions when the Site Administration Application is displaying in French. When customers enter your sites, they see the product descriptions in the language that they selected.
You can use the following procedure.
Prerequisites
Multiple organization architecture has been implemented.
Additional languages have been implemented.
See the chapter, Implementing Globalization and Multi-Org Architecture, for information on fulfilling these prerequisites.
Steps
Launch the Site Administration Application and select the Preferences icon. The Oracle CRM Technology Foundation user profile page opens.
Change your language display preference to the language into which you want to translate product descriptions.
In the Catalog, Products tab, enter product descriptions. The translations you enter here are associated with the language of the Site Administration Application display.
Sign out of the application.
The translated product descriptions should now display in sites that carry the products and support the specified language.
Oracle iStore's Product Autoplacement feature allows products within Oracle Inventory categories to be automatically added and replaced within Leaf sections, according to parameters that you set. The autoplacement is achieved through category-section mappings and the use of the concurrent program, iStore Product Autoplacement Concurrent Program.
The autoplacement feature is available only for leaf sections. A leaf section is the last section(s) in a site section hierarchy node. A leaf section may be a Featured or a Navigational section --- what characterizes it as a leaf section is its location in the hierarchy and the fact that it cannot have subsections. Typically, a leaf section will contain only products.
Note: If you attempt to use autoplacement with sections that are not leaf sections, the autoplacement will not be effective.
The following diagram illustrates the leaf section concept.
Section Hierarchy Showing Leaf Sections
The autoplacement process matches Oracle iStore leaf sections to Oracle Inventory categories within the default category set specified in the profile option, IBE: Category Set. You must map the leaf sections to categories, as described below.
Note that category assignment is not mandatory. You can always manually select products for any section. When you run the concurrent program, you insert parameters that tell the program which sections and products are candidates for the autoplacement program. The category-section associations that you define determine which categories' products get populated into (or removed from) the sections.
Categories and sections have a many-to-many relationship -- e.g., you can assign a single category to any number of sections; likewise, a single section can have any number of assigned categories. A warning message will display if you attempt to assign a non-leaf section to a category.
To map leaf sections to categories, log in to the Site Administration UI and select Catalog > Sections > (select section) > Update > Categories hyperlink > Assign Categories.
After you have created the desired mappings between your leaf sections and Oracle Inventory categories, you must run the iStore Product Autoplacement Concurrent Program to populate the sections with products. You also can instruct the concurrent program to run in Replace mode, and it will update existing products as well as remove products which no longer match the category-section mappings.
The following are the parameter settings available in the iStore Product Autoplacement Concurrent Program:
Run Immediately or Schedule: The concurrent program can be run immediately after you enter the parameters or scheduled to run at a later time.
Append (add) or Replace actions: You can specify if the Product Autoplacement program only adds products to sections, or also removes products that no longer meet the criteria for inclusion in the sections.
Append action --- When you use this option, products are always added to sections, but the program never removes products from sections that no longer match the current category-section mapping assignments.
Replace action --- When you use this option, products are always added to sections, and replaced with "fresh" products if necessary. The products which no longer meet the criteria for inclusion in the Leaf section are removed.
Target section: Use this field to specify the start section for the concurrent program. The target section can be a Leaf section or non-Leaf section. This parameter is combined with the next parameter on the screen, Include the subsections of the target section; possible values: Yes/No. The tandem activity of these two fields is as follows:
If the target section is a Leaf section and the Include the subsections of the target section field is set to Yes, the concurrent program will only perform autoplacement for the target section. This is because if the target section is a Leaf section, it will have no subsections.
If the target section is a Leaf section and the Include the subsections of the target section field is set to No, the concurrent program will only do autoplacement for the target section.
If the target section is a non-Leaf section and the Include the subsections of the target section field is set to Yes, the concurrent program will find the Leaf subsections under the target section and perform the autoplacement on all of these Leaf sections.
If the target section is a non-Leaf section and the Include the subsections of the target section field is set to No, the concurrent program will not do the autoplacement. This is because you cannot auto-populate a non-Leaf section.
Evaluation or Execution modes: The program can be executed in one of two modes:
Evaluation -- When you run the program in this mode, only the concurrent program output is populated with the information about assignment, reassignment, replacement, or removal. Since the autoplacement does not actually take place, this allows you the opportunity to view the results of the program before committing the products to the autoplacement program.
To view the concurrent program output: Use the View Request screen in Oracle Forms. After the request is submitted, in Oracle Forms select View, then Requests to retrieve the View Request screen. Input the request ID to see a specific request. On the View Request screen, select the View Output button to view the output of the concurrent request.
Execution -- In this mode, the products are actually assigned, replaced, or removed in the Leaf sections that you specify, according to the current category-section mappings.
Product Name and Product Number fields: Use these field to narrow the scope of the concurrent program. You can enter partial values, using the percent (%) sign as a wildcard if desired. For example, if you enter t% in the Product Name field, the program will only use products which begin with the letter T. The default value for these two parameters is all products (%).
Product Publish Status: You can select either published, unpublished, or all products:
To make only published products candidates for the program, select Published.
To make only unpublished products candidates for the program, select Unpublished.
To include products of all statuses, select All.
Product Creation Dates: You can select products whose creation dates match the parameters you enter:
In the Product start creation date field, enter the start date in the format: DD-MON-YYYY.
In the Product end creation date field, enter the end date.
This section contains Product Autoplacement feature examples.
Example 1
Section 1 is a Leaf section. In the Site Administration UI Product pages, you have assigned the following products to Section 1:
Product 1
Product 2
Category 1 in Inventory has been assigned the following products:
Product 1
Product 3
Product 4
Category 2 in Inventory has been assigned the following products:
Product 2
In the Site Administration UI Update Section: Categories page, you assign:
Category 1 ----> Section 1
In Oracle Forms, you start the iStore Product Autoplacement Concurrent Program, using the following parameters:
Autoplacement Mode = EXECUTION
Product Assignment Mode = APPEND
Target Section = Section_1
Include subsections of the target section = No
Product Name = Product % (% is a wildcard)
Product Number = %
Product Publish Flag = ALL
Product Start Creation Date = undefined
Product End Creation Date = undefined
You execute the concurrent program. When the program is finished, Section 1 will contain the following products:
Product 1
Product 2
Product 3
Product 4
This assignment takes place because Category 1 is linked to Section 1 and the products it contains (Product 1, Product 3, Product 4) match the search criteria of the concurrent program.
Example 2
Using the product placement definitions in Example 1, you execute the concurrent program in the following mode:
Autoplacement Mode = EXECUTION
Product Assignment Mode = REPLACE
Target Section = Section_1
Include subsections of the target section = No
Product Name = Product % (% is a wildcard)
Product Number = %
Product Publish Flag = ALL
Product Start Creation Date = undefined
Product End Creation Date = undefined
You execute the concurrent program. When the program is finished, Section 1 will contain the following products:
Product 1
Product 3
Product 2 is removed from Section 1, as Product 2 is not in Category 1 that is linked to Section 1. Product 3 and Product 4 are added to Section 1.
When you run the autoplacement program, the output log of the concurrent program shows the following:
Date: Date the program was executed
Mode: Whether the program was run in evaluation or execution mode
Preferences: Either Add and remove product associations or Add product associations only, depending upon the parameters selected
Starting Section: Starting section name
Select Subsections: Either Yes or No, depending upon the parameters selected
Product Selection: From <date> to <date>
Product Name: Product filter entry, if any; for example Toy%
Web Publish Status: Published or Unpublished
Details table: A table showing the product numbers and product names, whether the products where added or removed, and the section names and section codes of the sections where the products were added or removed
Oracle iStore supports selling serviceable items and their related services in the Customer Application. In the Site Administration Application, merchants can set up serviceable items and related services (for example, extended warranties) and offer them for sale in the sites. Oracle iStore also supports adding services to configured items and adding multiple services to a single serviceable item.
Service items and serviceable items must be defined in Oracle Inventory before the merchant can include them in site sections using the Site Administration Application. After they have been set up, the products display to customers in the Customer Application.
Key terms related to service items support are defined below:
Serviceable Item: Serviceable items represent saleable products, spare parts, subassemblies, and components. In Oracle Inventory's Master Item form, the Serviceable Product attribute in the service attribute group is used to flag items as serviceable.
Service Item or Service: This term refers to a service (for example, an extended warranty) which relates to a serviceable item. Services are items defined in the item master that determine the coverage terms given or sold to a customer. For a service item, the Unit of Measure must be time-based, since a service is to cover a set period of time. Service products can be defined in two categories: warranties and extended warranties. Throughout this document, we will use service or service item to represent extended warranties only. The terms service and service item are equivalent.
Warranties: These are services automatically included with the purchase of a product. Since these services are associated with serviceable items in Oracle Bills of Materials (BOM), they generally are given to the customer free of charge, because the price is assumed to be included in the price of the associated product.
Extended Warranties: These are services that may be purchased in addition to a product, and are not included in BOM for the serviceable item. Extended warranties have unit-based or percentage-based pricing.
See the Oracle Inventory User's Guide and the Oracle Service Contracts Concepts and Procedures for complete details.
In the Site Administration Application, site administrators assign serviceable items to site sections. In the Customer Application, customers view serviceable items in the catalog; they also view the services available for serviceable items in the product detail page. The product detail page lists the services available, with selectable radio buttons for the service options. Oracle iStore seeds a Display Template for this purpose, the Product Detail with Services template.
Customers can add services from the catalog pages or the shopping cart. In the product summary view in the catalog, there is no difference in the display of the serviceable items versus non-serviceable items.
Additional Points:
Customers cannot purchase a service by itself -- services can only be purchased in combination with their related serviceable items.
Oracle iStore supports only primary UOMs for service items.
Following is the behavior in the shopping cart for serviceable items and their related services:
A service that has been added to a shopping cart appears as a separate line item in the cart -- it displays in the line beneath its related serviceable item, indented slightly from the left side of the cart table.
An icon appears next to services in the cart. When users hover the mouse over the icon, the mouse-over text will display which serviceable product the service is associated to.
By selecting the Add Service hyperlink under a serviceable product, customers can drill down into the serviceable item details, replacing the service being purchased, if desired, or adding an additional service.
Note that while generating the Add Service hyperlink, Oracle iStore does not check if any services are defined for the serviceable item.
The quantity of a service item in the cart will display in the cart, but cannot be updated -- it is read-only and will always reflect the quantity of the associated serviceable product.
Users can delete a service by itself; a Delete icon appears next to services in the cart.
If a customer deletes a serviceable item that has a related service in the cart, the system deletes the service as well.
Serviceable items are not merged, regardless of the setting of the merge items profile, IBE: Merge Shopping Cart Lines.
Services cannot be added to a shopping list. If a cart has a serviceable product and related service in it and the customer presses Add to List, then only the serviceable product will be added to the shopping list. The customer will need to manually add the service to the cart when he moves the serviceable items to a cart.
The following figure shows a sample portion of an active shopping cart with two serviceable items and the Add Service hyperlink underneath each one. In this example, the serviceable products shown are the Vision Pad DX - Mobile Computer and the Vision Sentry PDA plus CellPhone.
Shopping Cart Display of Serviceable Item
When customers select the Add Service hyperlink from the shopping cart to add or change a service, the Add Service page for the item appears. The add service display is accomplished through the use of the Product Detail with Services Display Template. See the chapter, Implementing the Catalog, for more information about this template.
Add Service Template ---
Below the item information, a Service(s) area lists applicable services. List (Retail/List) and net/discount (Your Price) prices are also shown. When a user navigates to this page, None will always be the default value selected.
The following figure shows an example of the Add Service page for an item. In the example, three selectable radio buttons are shown with the following values: (1) Extended Notebook PC Service Program (Gold), (2) Bronze Coverage Extended Notebook PC Service Program (Gold), and (3) None.
Add Service Page Example
Note that if a serviceable item is selected from the shopping cart, this page will not display the Add to Cart (Easy way to shop) bin.
By selecting the hyperlinks of the services, customers can further drill down into the details of a particular service associated to the product. The text for this page is derived from the setup of the item description in Oracle Inventory.
From the Add Service page, customers can select multiple services for an item, if the profile option, IBE: Enable Multiple Services, is set to Yes. Note that customers cannot select multiple services at the same time, but rather must add a service, then re-navigate to the Add Service page and select an additional service. If the profile is set to No, then Oracle iStore will replace an existing service with any additional service added. See this chapter's section, "IBE: Enable Multiple Services", for additional guidelines on setting the profile.
Following is the process flow for adding multiple services:
The customer selects Add Service from the shopping cart.
In the Add Service page, the customer selects the radio button of the desired service and presses the Add Service button.
From the shopping cart, the customer selects the Add Service link for the same item (as in step 1), and is taken to the Add Service page.
When the customer selects another service from the list, the service is added to the cart in addition to the existing service.
The customer can continue adding services as desired. Note that a single service can be added multiple times to the same serviceable item.
Merchants can offer services for configured items in the same way that they can for standard serviceable products. Note that, in this section, the terms configured item or configurable item also encompass model bundles.
Note: This functionality requires integration with Oracle Configurator and Oracle Bills of Material. See the chapters, Integrating Oracle iStore with Oracle Configurator, and Integrating Oracle iStore with Oracle Bills of Material, for more information about these products.
In the catalog and shopping cart pages, serviceable configured items display in much the same way as standard service products, but with some differences, as discussed below. For configured items, customers will see the following links:
Reconfigure: This link always displays for any configurable item, whether serviceable or non-serviceable. Users can launch Oracle Configurator to reconfigure the item if desired.
Add Service: This link displays if the top model item is configured as serviceable. Selecting this link leads to a page showing all components of the configured item, as well as an Add Service link for all serviceable items or components. Customers can view the service items beneath the corresponding serviceable component. Service items are indented to the right with an icon after the service item name.
Details: Only the Details link will appear if the configurable item is non-serviceable; users can select this link to view configuration details.
Following are examples of the different ways that configured and standard serviceable and non-serviceable items display in the shopping cart.
Sample Item 1: Sentinel Custom Desktop is a non-serviceable configurable item -- therefore, it displays only the Details and Reconfigure links. The Details link shows the configurable item and its current configuration. The Reconfigure link allows users to reconfigure the item in the Oracle Configurator Application.
Sample Item 2: Another configurable version of the Sentinel Custom Desktop is a serviceable item -- therefore, it also displays the Add Service link, in addition to the Reconfigure link.
Sample Item 3: Vision Pad DX Mobile Computer is a non-configurable, serviceable item -- therefore, it displays only the Add Service link.
Sample Item 4: Envoy Deluxe Laptop is a non-configurable bundle item that is serviceable -- therefore, it displays the Details link and Add Service link.
The following figure shows an example of how configurable serviceable items display in the shopping cart. In the sample image, the item is the Sentinel Custom Desktop. Under the item name are the links, Reconfigure and Details/Add Service.
Shopping Cart Display of Configurable Serviceable Items Example
When customers select the Add Service link for a configurable item, the Add Service page displays the configurable item and all components, with Add Service links for any serviceable components. The following figure shows an example of the Add Service page for a configurable item with serviceable components.
In sample image, the serviceable product is the Sentinel Custom Desktop. It displays as the parent item. Its name is a hyperlink that allows the customer to drill down into the item description. Beneath the parent item, all components of the configured item display. Each component item that is serviceable has an Add Service link next to it. Customers can use the Add Service link to add additional services or replace existing services for each component. Columns in the table include: Delete (with an icon if the component can be deleted from this page); Part Number; Item, showing item name; UOM, showing unit of measure; Quantity, showing amount ordered; Unit Price, showing the price of each component; and Total Price, which is the quantity times the unit price. A button labelled "Done" allows users to save their work and return to the standard shopping cart view.
Add Service Page for Configurable Item
When customers select the Add Service link for one of the components of the configurable item, the Add Service page displays all services available for the component. For an example of this page, see the figure, "Add Service Page Example".
Add Service Template for Configurable Items
For configurable products, the Add Service page is derived from the logical template, STORE_CART_SVA_CFG_ITEM, and not the logical template discussed in the section, "Add Service Page".
Service items are available in product search results, with the following behavior:
Available in the Site Administration Application with the following restriction: Products have been set up correctly in Oracle Inventory and flagged according to Oracle iStore product flag rules.
Available in the Customer Application, with the following restrictions:
Product search for the Customer Application has been implemented.
Service has been associated to a section within the site; if the service item is merely associated with a serviceable product, it won't be shown in the search result.
Service items retrieved in the search do not show the association to serviceable items.
Note: Customers cannot purchase a service by itself -- service items only can be purchased in combination with their related serviceable items.
For more information about the product search in Oracle iStore, see the section, "Setting up Product Search for the Customer Application".
Customers can use Oracle iStore's Express Checkout feature to order serviceable products and their related services. On the product detail page, when customers select the service and press the Express Checkout button, both items are added to the Express Checkout queue, and the system submits them just as it would with any other Express Checkout order.
For more about Oracle iStore's Express Checkout feature, see the chapter, Implementing Carts and Orders.
Serviceable items are available for item-level shipping; however, the services related to a serviceable item are not available for separate item-level shipping instructions. The shipping address associated with a service will always be associated with the related serviceable item's address.
For more information about the item-level shipping in Oracle iStore, see the chapter, Implementing Payment Types and Shipping Methods.
Following are the steps to set up Service Items for Oracle iStore:
Step 1 - Set up Serviceable Items and Services
Step 2 - Set up Pricing for Service Items
Step 3 - Set up Oracle Service Contracts
Step 4 - Set Profile Options
Step 5 - Add Serviceable Items to Site Section(s)
Step 6 - Associate Serviceable Items to Display Template
Following are high-level steps to set up the applicable items as serviceable and as services.
In Oracle Inventory Master Items form, flag the serviceable items as serviceable.
In Oracle Inventory Master Items form, set up the related services.
If you are using related pricing for the items (see the section, "Step 2 - Set up Pricing for Service Items"), set up item relationships.
Ensure that the required Oracle iStore-specific product flags are set, as discussed in the section, "Required Inventory Flags for Oracle iStore Products". within this chapter.
Refer to the Oracle Inventory User's Guide for complete setup details.
Just as with any product, pricing must be defined for the service items. You can define the price for a given service item in one of two ways:
Set up a standalone price for the service item.
Define a related price, which depends on the price of the serviceable product. For example, if the price of a computer is set up as $100, the merchant can set up the price of the service item to be 50% of the computer's price, which is $50.
If you are using related pricing, then you must set up the relationships between the serviceable products and services.
The following sections contains steps for these two procedures.
Defining a Standalone Price for a Service Item
You may use the following procedure to define a standalone price for a service item:
Steps
Log into Oracle (Forms) Applications as a user with access to the Pricing menus.
Navigate to the Price List Setup window.
Search for the price list in which you want the define the price of the service item.
Search for the service item by its part number under List Lines, Product Value.
Enter the price (without the currency sign) in the List Lines, Value field.
Defining a Price for a Service Item as a Percentage of a Serviceable Item Price
You may use the following procedure to define a price for a service item as a percentage of a serviceable item's price:
Steps
Log into Oracle (Forms) Applications as a user with access to the Pricing menus.
Navigate to the Price List Setup window.
Search for the service item by its part number under List Lines, Product Value.
Under List Lines > Application Method, select Percent.
Enter the percentage (without the percent symbol) in the List Lines, Value field.
Next, associate the service items with a specific serviceable product in Inventory, so that it knows which parent product the percentage is based on. In other words, an Inventory relationship between them must be defined.
Prerequisites: Serviceable product must be created using Oracle Inventory. Service item must be created using Oracle Inventory.
From the Responsibilities menu select, Inventory, Items, Item Relationships.
Search for the serviceable product by the part number in the From field.
Search for the service item by the part number in the To field.
In the Type field, select Service from the drop down list.
Save the changes.
This section assumes you have implemented Oracle Service Contracts. Post-implementation, in Oracle Service Contracts, set up:
Coverage Templates
Exclusion Rules
The following sections contain high-level steps to accomplish these tasks. For complete information, please refer to the Oracle Service Contracts documentation.
Set up Coverage Templates
Set up the coverage templates for the services and serviceable items. In order to instantiate a coverage when creating service contract lines, at least one coverage template must be created and linked to the service items defined in Oracle Inventory. The number of coverage templates should reflect the number of coverages that are applicable to the types of coverages offered.
Set up Exclusion Rules
Note that this is an optional step; however, a new service item generally will be available to all serviceable products unless an exclusion rule is set up for the item.
In Oracle Service Contracts, set up the exclusion rules between the service items and the serviceable products.
Guidelines:
The Generally Available flag determines whether the entries in Product and Party tabs are inclusions or exclusions. By selecting the Generally Available checkbox for a service, all products and parties listed will be excluded from receiving that service. By leaving the Generally Available checkbox unselected, the products and parties listed will be the only ones eligible to receive that service.
Exclusion rules can be established at the B2B party level or at the B2C user level. If a service is excluded using a B2B organization party number, no members of the B2B organization will have access to the service. To exclude/include a service, select: (1) B2B party number, in the case of B2B exclusions; or (2) B2C person name, in the case of B2C exclusions.
Examples:
The examples below can assist you in setting up exclusion rules -- note that these actions are performed in Oracle Service Contracts.
Example 1: Make a Service Available to all Serviceable Products or all Parties, but Define Exceptions by Party or Serviceable Product
To make a service generally available to all of the serviceable products except certain ones, or to make a service generally available to all parties except certain ones, do the following in Oracle Service Contracts:
(In this example, the sample exceptions are: Serviceable Product A and Party B.)
Check the Generally Available box under the Product tab and enter the part number of Serviceable Product A in the Exception list.
Check the Generally Available box under the Party tab and select the party number (organization party_id) of the party from the Customer Accounts list.
Example 2: Make a Service Available to Only Certain Serviceable Products or to a Specific Party by Defining Inclusions
To make a service only available to a specific serviceable product or products, or to a certain party or parties, do the following in Oracle Service Contracts:
(In this example, the inclusions are: Serviceable Product A and Party B.)
Uncheck the Generally Available box under the Product tab and enter the part number of Serviceable Product A in the Exception list.
Uncheck the Generally Available box under the Party tab and enter the account number of Party B in the Exception list.
You may use the following procedure to set up the exclusion rules:
Steps
Log into Oracle (Forms) Applications and select Service Contracts Manager responsibility.
From the Responsibilities menu, select Setup, Contract, Service Availability.
Search for the service item by its part number.
Check or uncheck the Generally Available box (see the examples above for more specific information).
Enter your party exclusion or serviceable product exclusion.
Note: In Oracle Forms, the default responsibility used for setting up Service Contracts is Service Contracts Manager.
See Oracle Service Contracts Concepts and Procedures for complete setup details.
Set the following profile options:
IBE: Use Item Level Service: Set to Yes. See the "Profile Options" appendix for more information.
OM: Cascade Service: Must be set to No. If set to Yes, and a customer adds a service to a model item, when the order is processed in Oracle Order Management, the added service will be added to every component in the model. Refer to the Oracle Order Management Implementation Manual for details.
IBE: Enable Multiple Services: Set to Yes or No according to business requirements. See the appendix, Profile Options, for more information.
IBE: Use Customer Service Exclusion: Set to Yes if using party exclusion rules in Contracts; otherwise, set to No. Set at application level. See the appendix, Profile Options, for more information.
In Oracle iStore, add the serviceable items to your site section(s). Follow the steps in the section, "Creating and Maintaining Sections", in the chapter, Implementing the Catalog.
Note: There is no need to associate the service items with site section(s), as they will be picked up automatically through their association with the serviceable item. However, for search to work for these items, you must associate the service items with sections.
In Oracle iStore, associate serviceable items to the product Display Template, Product Detail with Services. See the chapter, Implementing the Catalog, for details about this template.
Implementers also may wish to select a Display Template for the service items. If no Display Template is associated with a service, then the default product template, Product Detail with Image, will be used.
Note: When associating a serviceable item with a Display Template in the Products, Display Template page, the Product Detail with Services template will only display in the template gallery if the product being viewed is a serviceable product. Oracle iStore checks the status of the Serviceable Product flag (shown in the of the Define Items form in Inventory).
You can customize Oracle iStore at the API level to link services added in the catalog to an Oracle Installed Base item. The API can be used when a serviceable item is purchased at the same time as a service, or when a service is later added to an existing installed base item.
To provide the API-level support, customize the UI to make the instance ID available to the customer through some logical representation. Once this UI is built, the API could then be used to facilitate the purchase of a service item to be tied to the install base instance ID. Refer to ibeCScpAddToCart.jsp page for an example of how to use the APIs. See the section, "Sample Code for Linking Installed Base Item with Services", below, for sample code.
Note: When attempting to tie a service item to an Installed Base item, Oracle Order Capture (ASO) validates the instance ID passed in against CSI_ITEM_INSTANCES table.
The following sample code can assist your setup of this functionality. This sample code will instantiate a ShoppingCart object, instantiate a "placeholder parent" item, and then instantiate the service item that is to be tied to the install base line:
// instantiate the cart & set the cartid, if any
ShoppingCart shopCart = new ShoppingCart();
if (cartId != null) shopCart.setCartId(cartId);
// instantiate the placeholder parent item
ShoppingCartItem []shopCartItem = new ShoppingCartItem[1];
ServiceItem []serviceItem = new ServiceItem[1];
shopCartItem[0] = new ShoppingCartItem();
shopCartItem[0].setOperationCode(ShoppingCartItem.NOOP_OPCODE);
//instantiate the service item
serviceItem[0] = new ServiceItem();
serviceItem[0].setInventoryItemId(itemId);
serviceItem[0].setQuantity(quantity);
serviceItem[0].setOrganizationId(organizationId);
serviceItem[0].setUom("YR");
serviceItem[0].setItemType(ShoppingCartItem.SERVICE_ITEM_TYPE);
serviceItem[0].setServicePeriod("YR");
serviceItem[0].setServiceDuration("1");
// serviceItem[0].setStartDateActive("02-MAY-2003"); defaulted in plsql
// The next two lines are the key differences from a normal add service.
// As the service reference type is "CUSTOMER_PRODUCT", it will not be validated against another quote line as a normal service item would. This type value is usually defaulted to "QUOTE" for the normal case of adding a service line to another shopping cart line.
serviceItem[0].setServiceReferenceType(ServiceItem.REFTYPE_CUST_PROD);
// Second, where the user might normally set a quote line id, for this purpose, they would use the install base line id (gotten from other logic) to be set as the service ref line id.
serviceItem[0].setServiceReferenceLineId(installbaselineId);
shopCartItem[0].setServiceItems(serviceItem);
shopCart.setShoppingCartItems(shopCartItem);
shopCart.addItemsToCart();
cartId = shopCart.getCartId();
// in case we ended up 'creating' a cart
Oracle iStore's Product Search functionality allows customers to search the Customer Application product inventory. The product search is restricted to the site that the customer is logged in to. Product Search is implemented using:
Oracle Inventory tables
The interMedia text search utility of the Oracle database
The concurrent program, iStore Search Insert
Note: For more information on how the Product Search appears in the Customer Application, see the "Quick Search" section in the chapter, Implementing Initial Customer Application Pages.
Following is the process flow for product search in the Customer Application.
The product information (part number, description, and long description) is first loaded in an Oracle iStore table (IBE_CT_IMEDIA_SEARCH) via the concurrent program, iStore Search Insert.
This step is generally performed after the merchant has loaded products into Oracle Inventory.
The search table IBE_CT_IMEDIA_SEARCH is a denormalized table of MTL_SYSTEM_ITEMS_TL and MTL_ITEM_CATEGORIES.
The core text on which the search is performed is stored in a Clob called INDEXED_SEARCH. It stores a concatenation of part number, name, and description of products. The table also stores inventory_item_id, organization_id, category_id, category_set_id, and the web status field from MTL_SYSTEM_ITEMS_B table.
Searches are performed on the part number, name, and description of a product. The name and description are stored as description and long description columns in the MTL_SYSTEM_ITEMS_TL table.
Once the data is loaded, any change to product information is updated in the Oracle iStore table IBE_CT_IMEDIA_SEARCH through a database trigger call on the appropriate Inventory table. This keeps product information current in the search table.
Once the data is moved into the search table, the interMedia index is created to facilitate keyword searches.
Note: Searching by languages is enabled by launching the iStore Search Insert program in the enabled language.
Following are the dependencies to product search for the Customer Application:
Oracle Inventory: You must ensure that Oracle Inventory is installed and configured properly before setting up the Customer Application product search. Refer to Oracle Inventory implementation documentation for details on how to set up Oracle Inventory for product searching.
Oracle interMedia Text: You must ensure that Oracle interMedia Text is installed and configured properly before setting up the Customer Application product search. Refer to the Oracle interMedia Text documentation for details on how to set up and configure interMedia Text.
Oracle Database: The product search requires version 8.1.7 of the Oracle database with the Oracle interMedia Text option installed. You can enable either category-level or section-level searches from the Customer Application Site Home Page Quick Search utility.
When customers search in the Customer Application, there are some Oracle interMedia Text restrictions when using reserved words and special characters in a "contains" search string. Following is a brief list; for a complete list of special characters and reserved words, see the Oracle interMedia Text documentation.
Following are the special characters:
_ (underscore)
- (hyphen)
& (ampersand)
? (question mark)
$ (dollar sign)
* (asterisk)
; (semi-colon)
| (pipe symbol)
( ) (parentheses marks)
~ tilde symbol
Following are the reserved words:
NT
AND
ABOUT
ACCUM
MINUS
NEAR
OR
Oracle iStore can handle special characters and reserved words if you enclose each search string with brackets { } or use forward slash marks / --- this is known as "escaping" the characters.
Following are some examples:
If you have special characters:
Example:
CBX-AM100-234 --- For this value, you could search by entering this:
CBX/-AM100
If you have special characters with wildcards:
Example:
CBX_AM100-234 --- For this value, you could search by entering this:
CBX/-A%
If you have reserved words:
Example:
NT --- For this value, you could search by entering this:
{NT}
AND --- For this value, you could search by entering this:
{AND}
For a normal search string:
To search not using any special characters or reserved words, just enter the search string normally.
Example:
laptop --- For this value, just put in the search string as in:
laptop
Note: Even though the wildcard % is a reserved character in Oracle interMedia Text, for the Customer Application product search, if using this wildcard, there is no need to put brackets around the search string.
First, set up your inventory under a common Master Organization. Points to remember while setting up your inventory include:
Give products unique names.
Do not leave category names (concatenated segments) blank or non-unique. They can be null or non-unique in the database, but show as blanks or appear multiple times in the Categories LOV.
Make sure the products have Web Status set to Published in the Master Item form. See the section, "Required Inventory Flags for Oracle iStore Products", within this chapter. You can also query this field by examining the web_status column of the item in the MTL_SYSTEM_ITEMS table.
Oracle iStore search requires that several iStore profile options be set. For profile option descriptions and recommended values, see the appendix, Profile Options.
To populate the search table used in the category-level product search, you must run the iStore Search Insert program one time. Thereafter, the table is updated through a database trigger call on the Inventory table.
Prerequisites
The profile option, IBE: Use Category Search, is set to Yes at the iStore application level.
The profile option, IBE: Use Synonym Search, must be set to No at the iStore application level, if the thesaurus file is not uploaded.
Optionally, set the profile option, IBE: Category Set Filter for Product Search.
Optionally, set the profile option, IBE: Web Status Filter for Product Search.
See the appendix, Profile Options, for more information on the profile options.
Steps
Log in to Oracle Forms with the iStore Concurrent Programs responsibility.
Select Single Request and select OK. The Submit Request window opens.
From the Name LOV, select iStore Search Insert.
Select Submit to start the concurrent request. Note the request ID.
This process can take a substantial amount of time, depending on the number of items you have. As an estimate, for about 300,000 items in inventory this program can take about 45 minutes to run.
The concurrent manager calls the iStore Search Insert program, which moves the product data from the inventory table to the Oracle iStore search table IBE_CT_IMEDIA_SEARCH. When this job is running, the search tables are purged and the product search does not work correctly on the site.
Caution: Since this batch job deletes data from the search table, the rollback segment should be large enough for the process to complete.
Once the request is complete, you can search for products based on part number, name, and description. The Quick Search menu on the Customer Application Site Home Page lists categories with publishable items, within the default category set. If additional product attributes are to be added in the search, this SQL script needs to be modified to add the extra search column.
To enable section-level search on the Customer Application for the first time, run the iStore Search Insert program first, then run the iStore Section Search Refresh program to populate the search table IBE_SECTION_SEARCH. To switch from category-level to section-level search, run only the iStore Section Search Refresh program.
Since the iStore Search Insert program can populate product data based on the category set profile value (IBE: Category Set Filter for Product Search), the section refresh program also populates product data into the IBE_CT_IMEDIA_SEARCH table, when necessary for product search. The profile option, IBE: Use Category Search, is used by iStore to determine whether product searches in the Customer Application are filterable by section or product category. The iStore Section Refresh concurrent program checks the value of IBE: Use Category Search. If it is set to No (meaning iStore is using section search rather than category search), and if the IBE: Category Set Filter for Product Search profile option is set to a specific category set, a query will be run to populate the IBE_CT_IMEDIA_SEARCH table with published products that are not in the specific category set but which are linked to iStore sections. This allows section data population in addition to category set data population when a specific category set is being used for data population.
Prerequisites
Set the profile option IBE: Use Category Search to No.
The profile option, IBE: Use Synonym Search, must be set to No at the iStore application level, if the thesaurus file is not uploaded.
Steps
Follow the procedure outlined in the section, "Running the iStore Search Insert Concurrent Program", to load data into the main search table IBE_CT_IMEDIA_SEARCH.
In the iStore Concurrent Programs Responsibility, choose Single Request and select OK. The Submit Request window opens.
Choose iStore Section Search Refresh from the Name LOV.
Click Submit to start the concurrent request. Note the request ID.
The concurrent manager calls the iStore Section Search Refresh program, which populates the search table, IBE_SECTION_SEARCH, with product data. The product search is still available to customers while the iStore Section Search Refresh program is running.
Once the request is complete, the pull-down search menu on the Site Home Page lists the top level sections, not the product categories.
To change the listings in the pull-down search menu from categories to sections or vice versa, rerun the iStore Search Insert concurrent program to ensure that product listings will not be duplicated.
Change the IBE: Use Category Search profile option to Yes if you are changing to the category-level search. Change the profile option to No if you are changing to the section-level search.
If you are setting up category-level search, follow the steps in the section, "Running the iStore Search Insert Concurrent Program".
If you are setting up section-level search, follow the steps in the section, "Populating the Section-Level Search Table".
The fuzzy search functionality returns search results with product names that do not match the spelling of the users' search criteria exactly. For example, if a user enters "laptops" or "laptp," the search retrieves product names containing the word "laptop."
You can enable the fuzzy search functionality by setting the profile option, IBE: Enable Fuzzy Search, to Yes and running the iStore Search Insert concurrent program, as well as the iStore Section Search Refresh concurrent program if you have enabled section-level searches. Every time you change the value of the IBE: Enable Fuzzy Search profile option, you must rerun the iStore search concurrent programs.
If the fuzzy search is active, part number searches are unavailable because such searches require completely accurate matching.
Fuzzy search is currently not supported for Japanese language implementations.
The synonym search functionality returns search results with product names that you have set up as synonyms of the users' search criteria. For example, if a user enters "database," and you have set up "database" as a synonym of the phrase "Oracle" the search retrieves product names with the phrase "Oracle"
You can set up synonym searches for each of your supported languages.
Synonym searches do not process wildcards. For example, if a user enters "datab%" as a search criterion, the synonym search would look for synonyms for "datab" only and would not retrieve product names that are synonyms of "database."
Set up the synonym search functionality for any language using the following procedure.
Prerequisites
Set the profile option, IBE: Thesaurus File Name, to an existing file that must be present in the file system.
Steps
Create a synonym file (thesaurus) for the Oracle iStore product search. See Oracle interMedia Text Reference for instructions on creating a synonym file.
You can find examples of synonym files in the $ORACLE_HOME/ctx/thes directory, where $ORACLE_HOME points to the 8.1.7 environment.
Load the thesaurus using the ctxload utility in $ORACLE_HOME/ctx/bin as follows:
ctxload -user <username/password> -thes -name <thesaurus name> -thescase <y/n> -file <file name>
<username/password> is your user name and password, e.g., ctxsys/ctxsys.
<thesaurus name> is the thesaurus name with the syntax prefix_language_short_code to indicate the thesaurus language. The prefix is set in the profile option, IBE: Thesaurus File Name. For example, if the profile option is set to ibethes, then the thesaurus name is ibethes_us for American English, since the language short code is us. For French, the thesaurus name is ibethes_f, since the language short code isf. You can find the language codes by selecting LANGUAGE_CODE from the FND_LANGUAGES table.
<y/n> indicates whether the thesaurus is case sensitive. Enter y if you want the thesaurus to be case sensitive, or n if you want it to be case insensitive.
<file name> is the physical synonym file's name, e.g., MyThes.txt.
The following example is the command you should run as username ctxsys with password ctxsys when loading an American English thesaurus with the physical file name MyThes.txt for a case insensitive synonym search, when the profile option, IBE: Thesaurus File Name is set to ibethes.
ctxload -user ctxsys/ctxsys -thes -name ibethes_us -thescase n -file MyThes.txt
Set the profile option, IBE: Use Synonym Search to Yes. Note: If you have already loaded a thesaurus for a given language, you can use Oracle interMedia APIs such as tx_thes.create_relation and ctx_thes.delete_relation to add or remove synonyms in that language for existing searchable items. You can also add or remove phrases by using the APIs ctx_thes.create_phrase and ctx_thes.delete_phrase. See Oracle8i interMedia Text Reference for more information.
The following program units are used in the product search process:
java/catalog/Search.java (main Java program that executes the query)
ibeCSrdSrchResults.jsp (search result JSP)
ibeCZzdMenu.jsp (main home page)
ibeCSrdSrchAdvForm.jsp (search result JSP)
IBEVCSKS.pls (package specification)
IBEVCSKB.pls (package body for trigger on search table)
IBEVCSUB.pls (package body)
IBEVIDTS.pls (package specification for the main database trigger)
IBEVIDTB.pls (package body for the main database trigger)
java/catalog/PrdRec.java (definition of search result object)
IBEVCSIS.pls (package specification for section search package)
IBEVCSIB.pls (package body for category and section search package; one time load of product descriptions through concurrent manager)
ibecsmcr.sql (creates materialized view to facilitate availability of product search functionality during iStore Section Search Refresh)
If you want to add more item attributes to the search parameters, you must modify IBEVCSIB.pls for the initial load and the PL/SQL triggers mentioned above to make sure that updates to these attributes get propagated to the search table.
Modify the search package (IBEVCSKS.pls and IBEVCSKB.pls) for adding the additional product search attributes. By default, only the part number, product name (description column), and product description (long description column) are included in the search.
If additional attributes are to be added in the product search, the parameters for the package specification and body will have to be changed accordingly, with the new attributes. This package moves the subsequent changes in the product information, to Oracle iStore's search table IBE_CT_IMEDIA_SEARCH. Any insert, delete, or update on MTL_ITEM_CATEGORIES, any delete or update on MTL_SYSTEM_ITEMS_B and any insert, delete, or update on MTL_SYSTEM_ITEMS_TL table will move the change to the search table IBE_CT_IMEDIA_SEARCH through this procedure. This procedure is called from the main database trigger procedures, as explained in the next step.
If new parameters are added to the search package, the call to the search package must be modified in the main database trigger package IBEVIDTB.pls to include the new parameters added to the search move procedures. This package body calls all of Oracle iStore's ERP-related database trigger procedures, including the search package procedures.
The database trigger on the product tables calls the main database trigger package to move the product data change to the Oracle iStore search table IBE_CT_IMEDIA_SEARCH.
However, modifying the search package call will not recreate the interMedia index to include the changed information in the search table IBE_CT_IMEDIA_SEARCH. Administrators must refresh the interMedia search index every time a new product is added or an existing product is changed or deleted. You can refresh the interMedia index IBE_CT_IMEDIA_SEARCH_IM through the Oracle Enterprise Manager utility, or by executing the command "CTX_DDL.SYNC_INDEX" in SQL*Plus as follows:
exec ctx_ddl.sync_index('IBE_CT_IMEDIA_SEARCH_IM');
You must have privileges to alter the interMedia index. After this step, the modified product information is visible in the Oracle iStore product search process.
There are many search words such as "and," "if," and "then" which are very common and will return numerous search results. Search results may not be relevant to the user's query if such common search keywords are used. In addition, searches on common keywords use processing resources and slow down performance. These common keywords can be excluded from the search by using the "Stop Words" utility in interMedia.
Log in to Oracle Enterprise Manager as CTXSYS to see the stop words in the Stop List. You can add more stop keywords to the Stop List.
Product Comparison enables you to choose two or more products from the product catalog section for side-by-side comparison. You can select important product features for scoring. Scoring enables you to decide on which product(s) to purchase after reviewing the score of important features.
You can select products for comparison in the product detail, product multi select, and product multi select with section links templates for catalog sections.
You can specify product quantities and add them to the shopping cart along with additional items to complete the checkout process.
The Oracle iStore Administrator can also define the product extended attribute groups and product extended attributes that can be compared, using an XML file, which are grouped by catalog section within iStore.
The Oracle iStore Administrator enables and disables the Product Comparison feature for a catalog section.
The Oracle iStore Administrator selects the Enable Product Comparisons check box while creating, or updating the iStore catalog section to enable product comparison. By default, this check box is unselected, thus product comparison is not enabled. When the Enable Product Comparisons check box is selected, then all iStore users accessing the catalog section can compare products.
The Oracle iStore Administrator can enable the product comparison for a featured child catalog section by selecting the Enable Product Comparisons check box.
Navigate to Catalog > Sections > Section Detail.
In the Update Section: Details page, select the Enable Product Comparisons check box.
Note: You can enable the product comparison for a leaf featured catalog section only.
Click the Apply button.
To disable product comparison
Navigate to Catalog > Sections > Section Detail.
In the Update Section Details page, unselect the Enable Product Comparisons check box.
Click the Apply button.
By default the Section Attributes are displayed in the General table. The Oracle iStore Administrator can extend this table, or add additional tables with product attributes. Additional tables are referred to as Extended Attribute Groups, and the data in these tables is referred to as Extended Product Attributes.
The Oracle iStore Administrator defines content components that display the section attributes at the catalog section level and product extended attribute at the product level. These attributes are defined within the Advanced Tab, Content Components sub-tab. Additional product content displayed in the Item Details pop-up window and the Product Comparison page is based on XML standards.
Item Details
The Item Details icon enables the iStore user to view the product details without navigating to the Item Details page. When a user clicks on the Items Details icon then the following attributes for a product are displayed:
Product Name
Product Small Image
Product Description
Pricing and Units of Measure
Quantity (defaults to 1)
If the IBE: Enable Product Details Pop-up Dialog profile option is set to Yes at the site level, then the Item Details icon is displayed. The Item Details pop-up window displays the default data for a product. The iStore Administrator can display additional content using the product content components defined at the product level and at the section level in a XML file.
The Oracle iStore Administrator decides, at the Catalog Section level, which extended attribute groups tables can be included on the Item Details pop-up window and the Product Comparison page. The section level extended attributes are defined in an XML file and stored in Oracle Content Manager (OCM).
The Section Attributes for a section is stored in Oracle Content Manager (OCM), and for Product Extended Attributes can be stored either in OCM or located on an external server.
The Oracle iStore Administrator defines the data for Product Extended Attributes within the group tables at the product section level. The Oracle iStore Administrator defines an XML file that is included from OCM. The Oracle iStore Administrator can enter unlimited groups, which are used for item details and product comparisons.
Click the Content tab.
Click the My Content link.
Click the Create Item button.
In the Create Item page:
Select content type as HTML
Enter the Name for the item.
Click Location button to select an XML file for the catalog section level extended attribute group.
Click the Continue button.
Click the Submit for Approval button.
The following are the definitions of the catalog section-level Product Extended Attribute Group XML values:
Data Source (data_source) tag indicates the location where the extended attributes for the products are stored. It can have the following values:
OCM – Oracle Content Manager. In this case iStore product comparison feature will look for the Product Extended attributes stored in XML files in OCM, for every product along with other content items such as Product Small Image, and Product Large Image.
Custom – In this case, the iStore product comparison feature will use the URL specified in the URL tag to get the product attributes in XML file format from an external application server.
Data Source URL (data_source_url) tag identifies the data source URL, which is REST style web service used by the iStore Product Comparison feature to fetch the product extended attributes at run time in XML file format. The URL will be of the following formats:
Absolute (http: server_name/service_name): where server name is the external server and service is the web service (such as a JSP page), which will return the product extended attributes.
Relative (service_name): where service name is the web service (such as a JSP page). This JSP page must be co-located with the standard iStore JSP pages in the same server.
You can run the web services with the following parameters:
Section_id:
Product_id:
Language:
User_id:
Product Comparison (productcomparison) tag identifies the product attributes for the Product Comparison page. This is not a translatable attribute.
Group Key (group_key) tag is used to define a group of attributes. This is not a translatable attribute. The following is an example of a pre-defined group key:
IBE_BASE – This refers to the group that will display the pre-defined attributes.
Attribute (attribute) tag is used to define an extended attribute of the product. This is not a translatable attribute. Attribute_keys prefaced by “IBE_” programmatically fetch iStore data dynamically, are reserved, and are used in the “General” table. The following are pre-defined attribute keys; the values for these attributes are displayed from the iStore catalog:
IBE_PRODUCT_NAME – Name of the product
IBE_LIST_PRICE – List Price of the product concatenated with the Unit of Measure; not displayed by default, see Display tag for more details
IBE_BEST_PRICE – Your Price (displayed as the Selling Price) concatenated with the Unit of Measure
IBE_DESCRIPTION – Description of the product
IBE_IMAGE – Small Image of the product
IBE_PART_NUMBER – Part number of the product; not displayed by default, see Display tag for more details.
The attribute tag uses the following properties:
Key (key) property is required and used to define the unique identifier for the XML node.
Title (title) property is used to provide the attribute name to be displayed in the product comparison page. This is a translatable attribute.
Type (type) property is used to define the type of the product attribute. This is not a translatable attribute. The following types are supported:
Text – information of type text
Image – Information of type images. The following image types are supported: JPEG, PNG, GIF
Video – Information of type Video / Audio. The following types are supported:
Audio/Video: MP3, FLV
Graphics/Animation: SWF
Display (display) property is used to indicate if the group is displayed or hidden on the Product Comparison page. This is not a translatable attribute. If not specified, the default is “true”. If this is set to “false” at the group level, then the group table is not displayed.
This property is optional and used within the system default attribute group IBE_BASE. This tag is used to include or exclude the system default attributes within the default attribute group IBE_BASE for the Item Details pop-up window.
Expanded (expanded) property is used to indicate if the groups of attributes are expanded in the Compare Grid initially. This is not a translatable attribute. The possible values are “true” and “false”. If not specified the default value is “false”, indicating that the group will be collapsed at the beginning.
Display (display) tag is used to indicate if the attribute row is displayed. The possible values are “true” and “false”. If not specified the default is “true”, indicating that the attribute row is displayed on the Product Comparison page.
Pop-ups (popups) tag is used to define the product attributes for the Item Details pop-up window. This is not a translatable attribute.
Note: The iStore Administrator can define different product attributes in the Section Attributes XML file, which are displayed in the Item Details pop-up window. For example, the section for laptops can include product attributes for weight and color, while the section for desktops can include a product attribute just for keyboard.
XSL Source URL (xsl_source_url) tag identifies the XSL file source URL, which is used by the Item Details pop-up window to obtain the product details in XML file format. The URL is accepted in the following formats:
Absolute (http:/server/product_number_detail.xsl): where server name is the external server and product number detail.xsl is the name for the file that will return the style sheet that can be used to transform the product level XML document to define output in the Item Details pop-up window.
Note: : You can use the same key, title, type, and display properties used in the product comparison for item details XML definition.
In the “General” table the tags are prefaced with “IBE_” since this table will be seeded by the iStore application. Customer installations therefore will be able to use the “General” table without having to define it. “IBE_” prefaced attribute_key tags will dynamically pull data from the iStore application.
The following sample XML file shows the “IBE_” reserved XML tags and uses OCM as the content repository for Item Details and Product Extended Attribute definitions:
<root> <data_source>OCM</data_source> <productcomparison> <group key="IBE_BASE" title="General" display="true" expanded="true"> <attribute key="IBE_PRODUCT_NAME" title="Product Name" type="text" display="true"/> <attribute key="IBE_LIST_PRICE" title="List Price" type="text" display="false" /> <attribute key="IBE_BEST_PRICE" title="Your Price" type="text" display="true" /> <attribute key="IBE_IMAGE" title="Image" type="video" display="true" /> <attribute key="IBE_DESCRIPTION" title="Description" type="text" display="true" /> <attribute key="VIDEO" title="Image" type="video" display="true" /> <attribute key="IBE_PART_NUMBER" title="Part Number" type="text" display="false" /> </group> <group key="MEMORY_CPU" title="Memory/CPU" expanded="true"> <attribute key="CPU" title="CPU" type="text" /> <attribute key="MEMORY" title="Memory" type="text" /> </group> <group key="MODEM_HD" title="Modem/Hard Drive" expanded="true"> <attribute key="HD" title="Hard Drive" type="text" /> <attribute key="MODEM" title="Modem" type="text" /> </group> <group key="WEIGHT_COLOR" title="Weight/Color" expanded="true"> <attribute key="COLOR" title="Color" type="text" /> <attribute key="WEIGHT" title="Weight" type="text" /> </group> </productcomparison> <popups> <xsl_source_url>http://server/product_AS72111_detail.xsl<http://server/product_AS72111_detail.xsl> <group key="IBE_BASE"> <attribute key="IBE_PRODUCT_NAME" title="Product Name" type="text" display="true"/> <attribute key="IBE_IMAGE" title="Image" type="image" display="true"/> <attribute key="IBE_DESCRIPTION" title="Description" type="text" display="true"/> <attribute key="IBE_PART_NUMBER" title="Part Number" type="text" display="false"/> <attribute key="IBE_LIST_PRICE" title="List Price" type="text" display="false"/> <attribute key="IBE_BEST_PRICE" title="Your Price" type="text" display="true"/> </group> </popups></root>
The following sample XML file explains the customization in the Section Attributes XML file to display the Weight, Color, and Warranty information in the Item Details pop-up window, and uses a custom server as the content repository for product comparisons:
<root> <data_source>CUSTOM</data_source> <data_source_url>http://server/get_product_extended_attributes.jsp</data_source_url> <productcomparison> <group key="IBE_BASE" title="General" display="true" expanded="true"> <attribute key="IBE_PRODUCT_NAME" title="Product Name" type="text" display="true"/> <attribute key="IBE_LIST_PRICE" title="List Price" type="text" display="false" /> <attribute key="IBE_BEST_PRICE" title="Your Price" type="text" display="true" /> <attribute key="IBE_IMAGE" title="Image" type="video" display="true" /> <attribute key="IBE_DESCRIPTION" title="Description" type="text" display="true" /> <attribute key="VIDEO" title="Video" type="video" source="URL" value="0Compaq_Presario_CQ60_Notebook.flv" /> <attribute key="IBE_PART_NUMBER" title="Part Number" type="text" display="true" /> </group> <group key="MEMORY_CPU" title="Memory/CPU" expanded="true"> <attribute key="CPU" title="CPU" type="text" /> <attribute key="MEMORY" title="Memory" type="text" /> </group> <group key="MODEM_HD" title="Modem/Hard Drive" expanded="true"> <attribute key="HD" title="Hard Drive" type="text" /> <attribute key="MODEM" title="Modem" type="text" /> </group> <group key="WEIGHT_COLOR" title="Weight/Color" expanded="true"> <attribute key="COLOR" title="Color" type="text" /> <attribute key="WEIGHT" title="Weight" type="text" /> </group> </productcomparison> <popups> <xsl_source_url>http://server/product_AS72111_detail.xsl<http://server/product_AS72111_detail.xsl> <group key="IBE_BASE"> <attribute key="IBE_PRODUCT_NAME" title="Product Name" type="text" display="true"/> <attribute key="IBE_IMAGE" title="Image" type="image" display="true"/> <attribute key="IBE_DESCRIPTION" title="Description" type="text" display="true"/> <attribute key="IBE_PART_NUMBER" title="Part Number" type="text" display="false"/> <attribute key="IBE_LIST_PRICE" title="List Price" type="text" display="true"/> </group> <group key="WEIGHT"> <attribute key="WEIGHT" type="text" display="true"/> </group> <group key="COLOR"> <attribute key="COLOR" type="text" display="true"/> </group> <group key="WARRENTY"> <attribute key="WARRENTY" type="text" display="true"/> </group> </popups></root>
The Oracle iStore Administrator must assign the catalog section level extended attributes group to a media object, which is used to display the section level attributes in the Product Comparison page.
Navigate to the Update Section page.
Click Media Object icon.
In the Media Object page, click Add Content.
In the Add Content page, search and select the content that you want to assign to the media object.
Refer to the Assigning Content Items to Media Object for more information.
The Oracle iStore Administrator defines the Product Extended Attributes at the product level, which can be displayed in the Item Details pop-up window and the Product Comparison page for a given product. The Product Extended Attributes are defined by searching and selecting a product within the iStore product catalog, and specifying a Media Object content for the product Extended Attributes Content Component. The Oracle iStore Administrator can enter unlimited Product Extended Attributes, which are used for item details and product comparisons, thus extending the product attributes that are available from inventory.
You can map the product extended attributes using an XML file, which contains the list of Product Extended Attributes that can be displayed in the Item Details pop-up window and the Product Comparison page.
Click the Content tab.
Click the My Content link.
Click the Create Item button.
In the Create Item page:
Select content type as HTML
Enter the name for the item.
Click Choose File to select an XML file for the Product Extended Attributes.
Click the Submit for Approval button.
The following are the definitions of the product-level Product Extended Attribute XML values:
Header (header) tag is used to identify the selected product.
IBE Org ID (ibe_org_id) tag is used to identify the primary key of the organization, this is the key used in the iStore catalog to uniquely identify the product. This is not a translatable attribute.
Group (group) tag is used to identify attribute group; it specifies the reference to the Extended Attribute Group and individual tables. This is not a translatable attribute. The group tag is the parent tag for the related attribute tags. The group tag uses the following properties:
Key
Title
Key (key) property is required and used to define the unique identifier for the XML node.
• Title (title) property is used to specify the attribute group’s title; it specifies the label that will appear in the first row, first column of an individual table. This is not a translatable attribute.
Attribute (attribute) tag is required and used to define an attribute with the attribute group. This specifies the reference to the Product Extended Attributes within the groups that will appear. This is not a translatable attribute. The attribute tag uses the following properties:
Key
Type
Source
Value
Display
Source (source) property is used to provide the location of the multi media content, in case the type happens to be an image or a video. This is not a translatable attribute. If the value is OCM, then at the runtime, the engine will pull the media from OCM and return the corresponding content. The possible values are:
OCM – This means the multimedia content is stored in OCM and the Value tag will indicate the OCM access key for the content.
URL – This means that the multimedia content is stored in another system and the Value tag will contain the URL for accessing the item.
Value (value) property is used to provide the value of the attribute. This is a translatable attribute.
Display (display) property is used to indicate if the attribute is shown in the Product Comparison page. The possible values are “true” and “false”. If not specified the default value is “true”, indicating that the attribute is displayed.
Product Comparison (productcomparison) tag identifies the product attributes for the Product Comparison page. This is not a translatable attribute.
Pop-ups (popups) tag is used to define the product attributes for the Item Details pop-up window. This is not a translatable attribute.
The following sample XML file, explains the customization for the Product Extended Attributes XML file to include additional product values for Weight, Color, and Warranty in the Item Details Pop-up window:
<root> <productcomparison> <group key="IBE_BASE" title="General" display="true" expanded="true"> <attribute key="IBE_PRODUCT_NAME" title="Product Name" type="text" display="true" /> <attribute key="IBE_LIST_PRICE" title="List Price" type="text" display="false" /> <attribute key="IBE_BEST_PRICE" title="Your Price" type="text" display="true" /> <attribute key="VIDEO" title="Video" type="video" source="URL" value="Compaq_Presario_CQ60_Notebook.flv"> <attribute key="IBE_IMAGE" title="Image" type="video" display="false" /> <attribute key="IBE_DESCRIPTION" title="Description" type="text" display="true" /> </group> <group key="MEMORY_CPU" title="Memory/CPU"> <attribute key="CPU" title="CPU" type="text" value="4 GHz Pentium IV processor" /> <attribute key="MEMORY" title="Memory" type="text" value="4 GB DDR SDRAM memory at 266MHz"/> </group> <group key="MODEM_HD" title="Modem/Hard Drive"> <attribute key="HD" title="Hard Drive" type="text" value="20GB hard drive" /> <attribute key="MODEM" title="Modem" type="text" value="56KPps modem, 10/100Ethernet" /> <attribute key="FLOPPY" title="Floppy Drive" type="text" value="Available" display="false"/> </group> <group key="COLOR_WEIGHT" title="Weight/Color"> <attribute key="COLOR" title="Color" type="text" value="Red" /> <attribute key="WEIGHT" title="Weight" type="text" value="10 Kgs" /> </group> </productcomparison> <popups> <group key="WEIGHT" title="HDTV Weight:"> <attribute key="WEIGHT" type="text" value="32 lbs"/> </group> <group key="COLOR" title="HDTV Color:"> <attribute key="COLOR" type="text" value="This unit comes in Black or Silver with Black trim"/> </group> <group key="WARRANTY" title="Extended Warranty:"> <attribute key="WARRANTY" type="text" value="100% Parts & Labor Covered - Zero Deductibles. If we can't fix the item, we refund you item price. Free in-home service for large TVs/appliances. Five day service guarantee. Cancel / Transfer anytime."/> </group> </popups> </root>
The Oracle iStore Administrator must assign the Product Extended Attributes to a media object, which is used to display the extended attributes in the Product Comparison page.
Navigate to the Update Section page.
Click Media Object icon.
In the Media Object page, click Add Content.
In the Add Content page, search and select the content that you want to assign to the media object.
Refer to the Assigning Content Items to Media Object for more information.
Product comparison enables you to determine which products to compare before adding them to the shopping cart.
You can add products to the shopping cart directly from the Product Comparison page and specify the quantities for these products. You can also select the important product attributes and assign scores for these attributes.
The Product comparison user interface provides you with options to refresh, check out, return to shopping, and icons for easy navigation on the Product Comparison page.
The following navigation icons appear at the top and bottom right of the Product Comparison page:
Enable Scoring
Refresh All
Show All
Return to Shopping
Add to Cart
Enable Scoring
The Enable Scoring icon allows you to select the important features of a product for scoring. When you select a product feature, the score is increased by 1. If you unselect the feature, then the score is decreased by 1. For example, if you select three features for a product, then the total score for that product is 3.
Refresh All Values
The Refresh All Values icon allows you to reset the Product Comparison page. This icon resets the values for score, quantity, and other information for each product. For example, if you have selected a product, specified a quantity, and selected some attributes for scoring, all these items are refreshed on the Product Comparison page.
Show All
The Show All icon displays the product columns that you have selected for comparison. This icon also restores all product columns that are hidden.
Return to Shopping
The Return to Shopping icon navigates you back to the previous page without adding any products to your shopping cart.
Add to Cart
The Add to Cart icon is enabled when you select a product in the Product Comparison page. You can click the Add to Cart button to continue the checkout process.
Note: When you select a product in the Product Comparison page, the Quantity value is set to 1. If you unselect the product the quantity value is reset to blank.
The Add to Cart icon closes the Product Comparison page and navigates you to the iStore-shopping cart with the selected products and their quantities.
The Print icon enables you to print the Product Comparison page with product information. The Print icon prints the content of the page including all item and Product Extended Attribute Groups that are expanded.
You can customize the Product Comparison page in the following ways:
Drag and drop the header levels of each product to organize the content columns in the Product Comparison page.
Hide the product columns by selecting Close (X) at top right on each product content column.
View Product Extended Attributes information by selecting Show option. Similarly hide Product Extended Attributes information by selecting Hide option.
The Expand All link allows you to view all the product attributes group tables. The Collapse All link hides the product attributes group tables.
View the total amount for the current shopping cart at the top right of the Product Comparison page.
You can choose products from the catalog to compare. You can select a check box against each product that you wish to include for comparison.
Note: The Compare check box is enabled only for the product detail, product multi-select, and product multi-select with section link pages in the Featured sections. Configurable products are not supported for product comparison on any selection page as the attributes of the configured products are unknown and must be configured.
Navigate to the Catalog page.
Select the two or more products to compare.
Click the Compare button. The Product Comparison page appears.
Click the Enable Scoring icon to select important features for scoring.
Click the Refresh All Values icon to reset the Product Comparison page.
Click the Show All icon to display all the product content columns.
Click the Return to Shopping icon to return to the Shopping page.
Click the Print icon to print the Product Comparison page.
Click the Expand and Collapse Table (-) to expand and collapse the Product Extended Attributes.
Select a product to assign quantity and click the Add to Cart button to complete the checkout process.
The Product Comparison page allows you to indicate the important features for a product and assign a score to them. Scoring helps you shortlist the products to purchase. The individual scores are available for all product features with an overall score for the product. You can turn scoring on or off using the Enable Scoring icon from the toolbar menu.
Navigate to the Product Comparison page.
Click Enable Scoring icon to turn on scoring for Product features.
Select the features for which you want to assign scores.
Note: When you select a product feature, the scoring is increased by 1. If you unselect the feature, the scoring decreases by 1. For example, if you select three features of a product then the score for that product is 3.
Note: The product scoring assigned in the Product Comparison page is reset once you refresh the Product Comparison page.
You can select any product in the Product Comparison page and add it to the current shopping cart. You must specify a quantity for a product to add it in the shopping cart.
Navigate to Product Comparison page.
Select the products that you want to add to cart by enabling the Select check box.
Note: If you select the product to include in the Shopping Cart, then the quantity is set to 1 by default. You can the change the quantity.
Click the Add to Cart button. The Shopping Cart page appears with product information such as Part Number, Item Name, Quantity, Total, UOM, and Price.
Click the Checkout button to complete the checkout process.