Oracle Configurator Developer User's Guide

Contents

Title and Copyright Information

Send Us Your Comments

Preface

About Configuration Models

Part I describes the different types of configuration models you can create and presents some general Model development techniques and concepts.

Introduction

Oracle Configurator Developer
      Launching Oracle Configurator Developer
      Repository
      Workbench
      Hierarchical Structure
The Runtime Oracle Configurator
The Overall Process
      Plan your Project
      Identify your Product Data
      Set Up Oracle Configurator Developer
      Build a Configuration Model
      Design Configuration Rules
      Create a User Interface
      Unit Test the Configuration Model
      Deploy the Configuration Model
      Integration
      Testing
      Production
      Manage Models and Publications
Conventions
Product Support
      Troubleshooting

The CZ Schema’s Item Master

Introduction to the CZ Schema
Imported Items
Items Created in Configurator Developer
Orderable Items

Types of Models

Overview of Models
What is a Configuration Model
Models
      Guided Buying or Selling
Imported BOM Models
      The Imported BOM Model in Configurator Developer
      Types of BOM Models
      BOM Model Structure Nodes
      Imported BOM Model Names
      Imported BOM Data
      Decimal Quantities and BOM Items
      Decimal Quantities and Non-BOM Items
      Item Types and Imported BOM Properties
      Data Types and Imported BOM Items
      Limitations when Modifying Imported BOM Items, Item Types, and Properties
      Limitation on BOM Model Structure and Item Effective Dates
      Imported Advanced Product Catalog User-defined Attributes
      Data Types
      Extending a BOM Model in Configurator Developer
Container Models

References

Introduction to Model References
References and Rules
References and Effectivity
References and User Interfaces
      Integrating Referenced User Interfaces
      Non-Instantiable Child Model
      Instantiable Child Model
      Modifying a Referenced User Interface
      Publishing and Referenced User Interfaces
References and BOM Models
      References and Optional BOM Models
      Creating Model References in Configurator Developer
Updating Referenced Models
Copying Models with References
Editing a Model Reference Node

Properties

Introduction to Properties
User Properties
      User Properties on Structure Nodes and Items
System Properties
      Selection State
      Displaying Logic False Options
Configuration Session Properties
Property Data Types

Effectivity

Introduction to Effectivity
Date Ranges
Effectivity Sets
Usages
Filtering Model Nodes and Rules in Configurator Developer
Effectivity Examples
Time Zone Impact on Dates and Times

Instantiation

Introduction to Instantiation
Multiple Instantiation Conditions
      Importing and Refreshing BOM Models
      Nodes that Are Instantiable
      Nodes that Are Not Instantiable
Host Application Support of Instantiation
Modifying Instantiability
Loading Models with Instantiable Components
Runtime Display of Instantiable Components

Connectivity

Introduction to Connectivity
Connectors and Target Models
      Target Model Structure and Rules
Connectors and Configuration Rules
      Second-Level Connectors
      Runtime Behavior of Rules Relating Connected Components
      Connection Filter Configurator Extension
Connectors and the Runtime User Interface
      Connections and Runtime Navigation
      Connecting Hidden Components

Model Structure

Part II describes each type of node you can create in Configurator Developer and presents information about Populators.

Model Structure Node Types

Introduction to Model Structure
Models
BOM Models
BOM Option Classes
BOM Standard Items
Components
Features
      Option Features
      Integer Features
      Decimal Features
      Boolean Features
      Text Features
Options
Totals and Resources
Model References
Connectors
Initial Values
      Setting and Updating Initial Values
Numeric Precision and Exponential Notation

Using Populators

Introduction to Populators
Types of Nodes Created by Populators
Moving and Copying Nodes with Populators

Configuration Rules

Part III describes the types of configuration rule you can create in Configurator Developer.

Rule Basics

Introduction to Configuration Rules
Types of Configuration Rules
      Creating Rules
      Rule Folders
      Rule Sequences
      Enabling and Disabling Rules
Imported BOM Rules
      Quantity Cascade Calculations
Using Node Properties when Defining Configuration Rules
      Using Multiple Node Properties in a Rule
Configuration Rules and Logic State
      Generating Logic
      Initial Logic State
      Indicating Logic State in the Runtime User Interface
      Effectivity and Logic State
      Enforcing Logical Relationships
      Unknown Values and Rule Propagation
      Overriding User Selections without Notification
Rules that Relate Components and Models
      Examples of Valid Rules
      Rule Relating Components within Required Substructure
      Rule Relating Components within Parent’s Required Substructure
      Rule Relating an Optional Component with Sibling Optional Components
      Rule Relating Connected Components
      Examples of Invalid Rules
      Rule Relating Sibling Components that are Instantiable Multiple Times
      Rule Relating Components within Required, Instantiable Substructure
      Rule Relating Optional Component with Instantiable Component
Unsatisfied Rules
      Examples of Unsatisfied Rules
      Unsatisfied Rule Messages

Logic Rules

Logical Relationships
      Implies
      Excludes
      Requires
      Negates
      Defaults
Summary of Logical Relationships
Using AllTrue and AnyTrue

Numeric Rules

Introduction to Numeric Rules
Contributes to Numeric Rules
Consumes from Numeric Rules
Using the Model Quantity in Numeric Rules
Contributing to BOM Item Quantities
      Default BOM Item Quantity
Using Numeric Features in Numeric Rules
Using Properties when Defining a Numeric Rule
Negative Contributions

Design Charts

Introduction to Design Charts
Design Chart Example
      Examples

Comparison and Compatibility Rules

Comparison Rules
Compatibility Rules
      Compatibility Rule Participants and Maximum Selections
      Property-based Compatibilities
      Requirements for Creating a Property-based Compatibilty Rule
      Explicit Compatibilities
      Gated Combinations
      Behavior Using Gated Combinations
      Rules that Depend on Unknown and False Logic States

Statement Rules

Overview of Statement Rules

Configurator Extensions

Introduction to Configurator Extensions
Configurator Extension Rules
Configurator Extension Archives
      The Archive Path
      Archive Path Precedence
      Using Archives During Development
      Using Archives During Deployment
Events
      Event Binding
      Event Binding Scopes
      Predefined Events for Binding
Argument Binding
Legacy Functional Companions

Rule Sequences

Introduction to Rule Sequences
Viewing Rule Sequences
Modifying the Effectivity of a Rule in a Rule Sequence
Rule Sequences and Effectivity Sets
Reordering Rules and Rule Effective Dates

Runtime User Interfaces

Part IV describes how to create and maintain User Interfaces in Configurator Developer.

Displaying the Model

Model Structure and Generated User Interfaces
      BOM and Non-BOM Model Structure
      Model Structure and Effectivity
Refreshing a User Interface
      Changes that Require a User Interface to be Refreshed
      Nodes are Added to the Model
      Sequence of Model Structure and UI Elements after UI Refresh
      UI Refresh and Maximum Elements Per Page
      Examples of Adding Model Structure and then Refreshing a UI
      Nodes are Moved within the Model
      Nodes are Deleted from the Model
      Nodes are Modified in Certain Ways
      Changes that Do Not Require a User Interface to be Refreshed
      How the UI Master Template is used when Refreshing a User Interface
      The Refresh Enabled Setting
      Refresh Enabled Setting: User Interface Level
      Refresh Enabled Setting: UI Element Level
      UI Template References and UI Refresh
      Elements Created from a UI Content Template and UI Refresh
Controlling the Content of a User Interface
Runtime Navigation
      Using a Web Browser’s Forward and Back Controls
The Configuration Summary Page
Displaying Prices and Available to Promise Dates
Multiple Language Support and the Runtime User Interface

User Interface Templates

Introduction to User Interface Templates
User Interface Master Templates
      Default Settings for the Predefined User Interface Master Templates
      Default Pagination Settings
      UI Master Template Information and Settings
      General Section
      Pagination and Layout Section
      Defining Custom Pagination and Layout
      BOM Content Section
      Customizing the Display of BOM Content
      Non-BOM Content Section
      Customizing the Display of Non-BOM Content
      Utility Templates Section
      Message Templates Section
      Images Section
      Enhanced Check Box and Radio Button Images
      Status Indicator Images
      Oracle Browser Look and Feel with Step-by-Step Navigation UI Master Template
      Oracle Browser Look and Feel with Dynamic Tree Navigation UI Master Template
      Step-by-Step Navigation UI Master Template
      Dynamic Model Tree Navigation UI Master Template
      Single-Level Side Navigation UI Master Template
      Multiple-Level Side Navigation UI Master Template
      Subtab Navigation UI Master Template
      Single Page Layout UI Master Template
User Interface Content Templates
      Outer Page Templates
      Specifying How a User Interface Uses Content Templates
      Copying a Template as Page Content
      The Predefined Button Bar UI Content Templates
      Basic Transaction Button Bar
      Connection Chooser Button Bar
      Preview Page Button Bar
      Step-by-Step Navigation Bar
      Two-Page Navigation Bar
      Yes or No Confirmation Button Bar
      The Predefined Control UI Content Templates
      BOM Item Table Control Templates
      BOM Item Status Region Template
      Instance Management Control Templates
      Counted Option Table Templates
      Dynamic and Non-Dynamic Drop-Down Control Templates
      Enhanced Check Box Group and Enhanced Radio Button Group Control Templates
      Boolean Feature Check Box Template
      Numeric Input Template
      Text Input Template
      Read-Only Text Data Template
      Connection Control Template
      Connection Chooser Template
      Connection Navigator Template
      The Predefined Message UI Content Templates
      Notifications Message Box Template
      Invalid Input Message Box Template
      Overridable Contradiction Message Templates
      Non-Overridable Contradiction Message Box Template
      Confirmation Message Templates
      Other UI Content Templates
      Combination Status Region Template
      Combination Status Region Template with Links
      Icon Legend Template
      Outer Template with Status Region
      Summary Page Templates
      Summary with Status Region
      Standard Summary Table
      Unsatisfied Items List
      Unsatisfied Items List with Links
      Upgrade Summary Table, Changes Only
      Upgrade Summary Table, Complete
      Validation Failures List
      Validation Failures List with Links
Referencing a User Interface Content Template
Displaying Pricing and ATP Using a UI Content Template

User Interface Structure and Design 

Introduction to User Interface Structure and Design
      Unit Testing
      User Interfaces and the Runtime Oracle Configurator
      Custom User Interfaces
User Interface Structure
User Interface Definition
User Interface Pages
      Empty User Interface Pages
Menus and Page Links
      Menu Labels
Page Flows and Page References
Limitations when Creating UI Pages, Page Flows, and Menus
Layout Regions
      Layout Region Variations
      Basic Layout Region
      List Layout Regions
      Instance List Layout
      Stack Layout
      Table Layout
      Row Layout
      Flow Layout
      Cell Format
      Header Region
      HideShow Region
      Bulleted List
Basic User Interface Elements
      Styled Text
      Static Styled Text
      Formatted Text
      Text Link
      Image
      Image Button
      Standard Button
      Custom Button
      Spacer
      Separator
      Check Box
      Enhanced Check Box
      Instantiation Check Box
      Radio Button
      Enhanced Radio Button
      Drop-down List
      Text Input
      Selection Status and Unsatisfied Status Indicators
Other User Interface Elements
      UI Template Reference
      Switcher and Case Regions
      Content Container
      Summary Table
      Item Selection Table
      Instance Management Table
      Connection Navigator Table
      Navigation Bar
      Raw Text
      Page Include Region
      Target Pages
      Multiple Page Include Regions
      Empty Page Include Regions
      Page Include Regions and Outer Page Templates
      Validation and Warnings
Runtime Conditions and User Interface Elements
      Runtime Conditions and Table Elements
      Hidden User Interface Pages
      Conditions and Effectivity
      Selecting a Valid Object
      Problems When Evaluating Runtime Conditions
User Interface Element Captions and Details
      Defining a Text Expression
      Text Expressions and Keyboard Shortcuts
      Standard Oracle Applications Shortcut Characters
User Interface Actions
      Action Parameters
      Open URL Action
      Raise Command Event Action
      Forms-Based Host Applications and Target Window
      Go to Node User Interface Action
      Go to Node Action and Target UI Pages
      Page Include Regions
      Go to Node Action and Nested Transactions
User Interface Elements and Associated Model Nodes
Associated Model Nodes and Page Scope
      UI Page Scope and Displaying Model Node Content
      UI Page Scope and Runtime Navigation
      UI Page Scope and Instance Navigation
Generating and Reusing User Interface Content
      User Interface Template References
      Viewing UI Template References
      Modifying a UI Template Reference
      Creating UI Content from a User Interface Content Template
Displaying Optionally Instantiable Component Details on a Parent UI Page
Designing and Creating a User Interface Page
      Introduction to the Example Model
      Step 1: Create an Initial Design of the New UI Page
      Step 2: Plan for Using Layout Regions to Arrange the Page’s Content
      Step 3: Plan for Using UI Elements and Custom UI Content Templates
      Custom UI Content Templates and Template References
      Required UI Elements
      Step 4: Create the UI Page and Page Content
      Creating the UI Page and Required Elements
      Step 5: Review and Modify the Page

Testing and Publishing

Part V presents information about unit testing and publishing configuration models.

Testing and Debugging

Introduction to Unit Testing
      Unit Test Session Environments
      Session Parameters
The Model Debugger
Unit Testing a Generated User Interface
Displaying Pricing Information and ATP Dates when Unit Testing

Publishing

Introduction to Publishing
Before Publishing
The Publishing Process
      Testing a Publication
Republishing
Applicability Parameters
Overlapping Applicability Parameters

Developer Tool Reference

Part VI describes the Configurator Developer user interface and presents step-by-step instructions for performing required configuration model development tasks.

Configurator Developer User Interface Basics

The Configurator Developer User Interface
      Customizing the Look and Feel of the Configurator Developer User Interface
      Views
      Search
      Actions
      Shortcut Links
      The Focus Column
      Printable Pages
Locking Models and UI Content Templates
      Force Unlock
      Automatic Model Locking
      Locking an Object and Viewing Locked Status
Global Links
      Home
      Logout
      Preferences
      Display Preferences
      Effectivity Date Filter
      Effectivity Date Filter Setting Display
      Structure Node Display
      Test Preferences
      Help
      Diagnostics
Navigation and Saving Data
      Keyboard Shortcuts
Creating a View
Modifying a View
Deleting a View
Saving a Search as a View

Main Area of the Repository

The Main Area of the Repository Hierarchical Table
Main Area of the Repository Objects
      Folders
      Models
Creating Objects in the Main Area of the Repository
Creating a Model
Creating a Folder
Creating a Property
Creating an Effectivity Set
Creating a Usage
Creating a Configurator Extension Archive
Creating a User Interface Master Template
Opening Objects For Editing
Modifying Models
Modifying Properties
Modifying Usages
Modifying an Effectivity Set
Modifying Configurator Extension Archives
Viewing the Classes in an Archive
The Main Area of the Repository Actions List
Moving and Copying Objects
Deleting Objects
Deleting Models
Deleting Effectivity Sets and Usages
Deleting Properties
Renaming Objects and Modifying Descriptions
List Referencing Models
List Effectivity Set Members
Migrate Models

Item Master Area of the Repository

Introduction to the Item Master area of the Repository
Creating a New Item Type
Creating a New Item
Changing the Item Type of an Item
Editing User Properties Assigned to Items or Item Types
Adding Properties to Items and Item Types
Deleting an Item or Item Type
The Item Master Area of the Repository Actions List

Publications Area of the Repository

Introduction to the Publications area of the Repository
      Publishing Actions
Creating a New Model Publication
Publishing a Model without a User Interface
Copying an Existing Model Publication
Republishing a Model
Copying Model Data to a Database
Editing a Model Publication
Deleting a Publication
Enabling or Disabling a Publication

General Area of the Workbench

Introduction to the General Area of the Workbench
Generating a Model Report
Model Report Content and Column Headings
Model Details
Base Inventory Item Details
Bill of Materials Status
Populator Status
Logic Generation Status
      Logic Generation Warnings
      Logic Generation Errors
UI Refresh Status
Runtime Display Names
Configurator Extension Archive Path
Editing a Model’s Archive Path
Adding Archives to a Model’s Archive Path
Modifying the Archive Path for a Model

Structure Area of the Workbench

Introduction to the Structure Area of the Workbench
Creating a Component
Creating a Feature
Creating an Option
Creating a Total or Resource
Building Model Structure Using Items and Item Types
Reordering Model Structure
Creating and Modifying Populators
The Define Populator Details Page
Repopulating Model Data
Deleting a Populator
Adding User Properties to a Model Node
Removing User Properties from a Model Node
Modifying Model Node User Properties
Modifying Model Node Details
      Name
      Description
      Include in Generated UI
      Transient
      Transient Items
      Transient Attributes
      Definition
      Connection Required Setting
      Instances
      Properties
      Populators
      Associated Rules
      Associated UI Nodes
      Violation Message
      Notes
Modifying Effectivity
The Structure Area of the Workbench Actions List
Copying a Component and its Associated Rules
Creating a Model Reference
Modifying a Model Reference
Creating a Connector
Modifying a Connector

Rules Area of the Workbench

Introduction to the Rules Area of the Workbench
Defining Rules
Defining Logic Rules
Defining Accumulator Rules
Defining Numeric Rules
Defining Comparison Rules
Defining Property-based Compatibility Rules
Equals, Contains, and Like Operators
Defining Explicit Compatibility Rules
Defining Design Charts
Defining Statement Rules
Creating a Rule Sequence
Creating a Configurator Extension Rule
Associating a Node
Choosing the Java Class
Creating Event Bindings
Binding Arguments to Parameters
Generating Logic for Configurator Extensions
Creating a Rule Folder
Deleting a Rule or Rule Folder
The Rules Area of the Workbench Actions List
Enabling and Disabling Rules
Reordering Rules in a Rule Sequence
Removing Rules from a Rule Sequence
Enabling and Disabling Rules in a Rule Sequence
Modifying Rule Details
      Definition
      Violation Message
      Unsatisfied Message
Creating an Unsatisfied Rule Message
Modifying a Rule's Effectivity

User Interface Area of the Workbench

Introduction to the User Interface Area of the Workbench
Creating a New User Interface
Editing a User Interface
Modifying the User Interface Definition
Copying, Moving, and Deleting User Interface Elements
Converting a UI Template Reference
Creating a User Interface Page
Creating User Interface Page Content
Creating a Region from a User Interface Content Template
Creating a UI Template Reference
Modifying a UI Template Reference
Creating a Layout Region
Creating a Table
Creating an Item Selection Table
Creating an Instance Management Table
Creating a Connection Navigator Table
Creating a Summary Table
Displaying Invalid and Unsatisfied Items as Links in the Configuration Summary Page
Creating a Cell Format
Creating a Styled Text Element
Creating a Static Styled Text Element
Creating a Formatted Text Element
Creating a Text Link Element
Creating a Raw Text Element
Creating an Image Element
Creating an Image Button
Creating a Standard Button
Creating a Custom Button
Creating a Spacer
Creating a Separator
Creating a Check Box
Creating an Enhanced Check Box
Creating an Instantiation Check Box
Creating a Radio Button
Creating an Enhanced Radio Button
Creating a Drop-down List
Creating a Text Input Element
Creating a Status Indicator or Unsatisfied Status Indicator
Creating a Content Container
Creating Switcher and Case Regions
Creating a HideShow Region
Creating a Menu
Creating a Menu Label
Creating a Page Link
Creating a Page Flow
Creating a Page Reference
Defining a Condition for Runtime Display and Behavior
Refreshing a User Interface
Formatting User Interface Elements
Sorting Options
Changing an Element's Associated Model Node
Assigning Actions to User Interface Elements
Creating a User Interface Content Template
Creating a User Interface Content Template by Copying an Existing Template
Creating a UI Content Template from Scratch
User Interface Content Template Settings
Common Steps for Creating a User Interface Content Template
Editing a User Interface Content Template
Editing a User Interface Master Template
Creating a Page Include Region

Model Debugger and User Interface Testing

Unit Testing Using the Model Debugger
Launching the Model Debugger from Configurator Developer
Launching the Model Debugger from the E-Business Suite Home Page
Using the Model Debugger
Unit Testing Using a Generated User Interface
Launching a Runtime User Interface from Configurator Developer
Launching a Runtime User Interface from the E-Business Suite Home Page

The Runtime Oracle Configurator

Overview of the Runtime Oracle Configurator
The Oracle Configurator Window
      Keyboard Access in the Oracle Configurator Window
Configuring an Item in a Runtime Oracle Configurator
Configuring an Order from a Bill of Materials
Preconfiguring an Item
Creating Instances at Runtime
      Behavior of Instances
Preventing Global Links from Appearing at Runtime

Multiple Language Support

Introduction to Multiple Language Support
BOM Item Descriptions
Translatable Model Text
Translatable Usage Descriptions
User Interface Captions
      Text Expressions
Runtime Messages
Languages Setting
Unit Testing a Translated User Interface
Publishing and Multiple Language Support

Rules, Node Types, and System Properties

Introduction to Rules, Node Types, and System Properties
Node Types and Valid System Properties when Defining Rules
      Logic Rule: First Operand and Second Operand
      Numeric Rule: First Operand
      Numeric Rule: Second Operand
      Comparison Rule: First Operand
      Comparison Rule: Second Operand

Common Glossary for Oracle Configurator

Index