242
Oracle Configurator Developer User’s Guide Release 11i January 2001 Part No. A87529-01

Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Oracle Configurator Developer

User’s Guide

Release 11i

January 2001

Part No. A87529-01

dev.book Page i Wednesday, February 28, 2001 2:09 PM

Page 2: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Oracle Configurator Developer User’s Guide, Release 11i

Part No. A87529-01

Copyright Β© 1996, 2000, Oracle Corporation. All rights reserved.

Primary Author: Stephen R. Damiani

Contributing Authors: Denise Boyer, Tina Brand, Mark Sawtelle

Contributors: Claire Bagley, Steven Banks, Brent Benson, CK Jeyaprakash, Vinay Kamath, Dave Kulik, David Lee, Sarit Manna, Yogita Maharia, Scott Murray, Shantaram Nadkarni, Karen Peterson, Marty Plotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley

The Programs (which include both the software and documentation) contain proprietary information of Oracle Corporation; they are provided under a license agreement containing restrictions on use and disclosure and are also protected by copyright, patent, and other intellectual and industrial property laws. Reverse engineering, disassembly, or decompilation of the Programs is prohibited.

The information contained in this document is subject to change without notice. If you find any problems in the documentation, please report them to us in writing. Oracle Corporation does not warrant that this document is error free. Except as may be expressly permitted in your license agreement for these Programs, no part of these Programs may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of Oracle Corporation.

If the Programs are delivered to the U.S. Government or anyone licensing or using the programs on behalf of the U.S. Government, the following notice is applicable:

Restricted Rights Notice Programs delivered subject to the DOD FAR Supplement are "commercial computer software" and use, duplication, and disclosure of the Programs, including documentation, shall be subject to the licensing restrictions set forth in the applicable Oracle license agreement. Otherwise, Programs delivered subject to the Federal Acquisition Regulations are "restricted computer software" and use, duplication, and disclosure of the Programs shall be subject to the restrictions in FAR 52.227-19, Commercial Computer Software - Restricted Rights (June, 1987). Oracle Corporation, 500 Oracle Parkway, Redwood City, CA 94065.

The Programs are not intended for use in any nuclear, aviation, mass transit, medical, or other inherently dangerous applications. It shall be the licensee's responsibility to take all appropriate fail-safe, backup, redundancy, and other measures to ensure the safe use of such applications if the Programs are used for such purposes, and Oracle Corporation disclaims liability for any damages caused by such use of the Programs.

Oracle is a registered trademark, and Oracle Applications, Oracle Inventory, Oracle Metalink, Oracle Order Management, Oracle Bills of Material, Oracle Configurator, are trademarks or registered trademarks of Oracle Corporation. Other names may be trademarks of their respective owners.

dev.book Page ii Wednesday, February 28, 2001 2:09 PM

Page 3: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page iii Wednesday, February 28, 2001 2:09 PM

Contents

Send Us Your Comments .................................................................................................................. xiii

Preface........................................................................................................................................................... xv

Intended Audience ............................................................................................................................... xvStructure................................................................................................................................................. xvRelated Documents.............................................................................................................................. xviConventions.......................................................................................................................................... xvi

1 Introduction

Welcome to Oracle Configurator Developer ................................................................................. 1–1The Oracle Run-time Configurator ................................................................................................. 1–1Plan your Project ................................................................................................................................. 1–2

Identify your Product Data ......................................................................................................... 1–4Design your Configuration Rules .............................................................................................. 1–4Multi-User Development Strategy............................................................................................. 1–5

Oracle Configurator Developer ....................................................................................................... 1–5Repository Window ..................................................................................................................... 1–5Model Window ............................................................................................................................. 1–6

The Overall Process ............................................................................................................................ 1–6Setup for Implementation ........................................................................................................... 1–6Managing Models......................................................................................................................... 1–7Building Models............................................................................................................................ 1–8Deploying Models ........................................................................................................................ 1–9

Language Support in Oracle Configurator ................................................................................. 1–10

iii

Page 4: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page iv Wednesday, February 28, 2001 2:09 PM

Getting Help with Oracle Configurator Developer .................................................................. 1–10Product Support......................................................................................................................... 1–11

2 Managing Models

Model Referencing ............................................................................................................................ 2–1References and Rules................................................................................................................... 2–2References and Effectivity .......................................................................................................... 2–2References and UI Definitions ................................................................................................... 2–2References and BOM Models ..................................................................................................... 2–2Updating Referenced Models .................................................................................................... 2–3Creating a Model Reference ....................................................................................................... 2–4Display of Model References ..................................................................................................... 2–4

Rules ....................................................................................................................................... 2–4User Interface ........................................................................................................................ 2–5Viewing References .............................................................................................................. 2–5

Operations on a Model Reference ............................................................................................. 2–5Publishing ........................................................................................................................................... 2–6

The Publishing Process ............................................................................................................... 2–7Applicability Parameters ............................................................................................................ 2–8

Selecting a Publication ......................................................................................................... 2–9Overlapping Applicability Parameters .................................................................................. 2–10

Maintaining Publications............................................................................................................... 2–11Publication Status ...................................................................................................................... 2–12Maintaining Publications Example ........................................................................................ 2–13Creating a New Publication ..................................................................................................... 2–15

New Publication ................................................................................................................. 2–16New Copy............................................................................................................................ 2–17

Updating a Publication ............................................................................................................. 2–17Copying Model Data to a Database ................................................................................. 2–19

Editing a Publication ................................................................................................................. 2–19Deleting a Publication ............................................................................................................... 2–20

3 Constructing Model Structure

The Model Window........................................................................................................................... 3–1The Item Master ................................................................................................................................. 3–1

iv

Page 5: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page v Wednesday, February 28, 2001 2:09 PM

Importing Data into the Item Master.............................................................................................. 3–2Modifying the Item Master............................................................................................................... 3–3

Adding a New Item Type............................................................................................................ 3–3Adding a New Item...................................................................................................................... 3–3Changing the Item Type of an Item ........................................................................................... 3–3Editing an Item or Item Type...................................................................................................... 3–4Deleting an Item or Item Type.................................................................................................... 3–4

The Model ............................................................................................................................................ 3–4Properties.............................................................................................................................................. 3–5Effectivity ............................................................................................................................................. 3–6

Effectivity Sets............................................................................................................................... 3–7Usages ............................................................................................................................................ 3–8

The Imported BOM Model ............................................................................................................... 3–8Item Catalogs ......................................................................................................................... 3–9Item Types and Properties ................................................................................................ 3–10Viewing Imported BOM Model Nodes........................................................................... 3–10

Assemble to Order Rules ............................................................................................................... 3–12Building Model Structure .............................................................................................................. 3–14

Creating a Product..................................................................................................................... 3–14Creating a Component.............................................................................................................. 3–15Creating a Feature ..................................................................................................................... 3–15Creating an Option.................................................................................................................... 3–16Creating a Total or Resource.................................................................................................... 3–16

Using Populators.............................................................................................................................. 3–17The Define Populator Dialog ................................................................................................... 3–17Creating a Populator ................................................................................................................. 3–20

4 Constructing Configuration Rules

The Configuration Rules Module ................................................................................................... 4–1Compiling Rules ........................................................................................................................... 4–2Configuration Rules and Logic State ......................................................................................... 4–2Logical Relationships ................................................................................................................... 4–3

Requires .................................................................................................................................. 4–4Implies..................................................................................................................................... 4–4Excludes .................................................................................................................................. 4–5

v

Page 6: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page vi Wednesday, February 28, 2001 2:09 PM

Negates................................................................................................................................... 4–5Defaults .................................................................................................................................. 4–5

All True and Any True................................................................................................................ 4–6Summary of Logical Relationships ........................................................................................... 4–6

Enforcing Logical Relationships ..................................................................................................... 4–7Overriding User Selections in the Run-time UI ........................................................................ 4–10Types of Configuration Rules........................................................................................................ 4–11

Rule Folders ................................................................................................................................ 4–12Enabling and Disabling Rules.................................................................................................. 4–12

Building Configuration Rules ....................................................................................................... 4–12Logic Rules ........................................................................................................................................ 4–13

Building Logic Rules ................................................................................................................. 4–13Numeric Rules .................................................................................................................................. 4–14

Contributes to............................................................................................................................. 4–14Consumes from .......................................................................................................................... 4–14Building Numeric Rules ........................................................................................................... 4–14

Negative Contributions .................................................................................................................. 4–16Unknown Values and Rule Propagation ..................................................................................... 4–17Comparison Rules............................................................................................................................ 4–17

Building Comparison Rules ..................................................................................................... 4–17Compatibility Rules ........................................................................................................................ 4–18

Property-based Compatibilities............................................................................................... 4–19Building Property-based Compatibility Rules ...................................................................... 4–19

Explicit Compatibilities .................................................................................................................. 4–21Building Explicit Compatibility Rules .................................................................................... 4–22

Design Charts ................................................................................................................................... 4–23Building Design Charts............................................................................................................. 4–28

Rule Sequences ................................................................................................................................ 4–30Effectivity Sets and Rule Sequences........................................................................................ 4–31Viewing Rule Sequences........................................................................................................... 4–32Creating Rule Sequences .......................................................................................................... 4–32

Adding Rules to a Rule Sequence .................................................................................... 4–33Reordering Rules in a Rule Sequence ..................................................................................... 4–33Deleting Rules from a Rule Sequence ..................................................................................... 4–35Modifying the Effective Date Range of Rules in a Rule Sequence ..................................... 4–35

vi

Page 7: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page vii Wednesday, February 28, 2001 2:09 PM

Advanced Expressions .................................................................................................................... 4–36The Advanced Expression Editor............................................................................................ 4–37Building Advanced Expressions ............................................................................................. 4–43

Operators ............................................................................................................................. 4–43Precedence of Operators.................................................................................................... 4–44Operands ............................................................................................................................. 4–45Functions ............................................................................................................................. 4–45

Using NotTrue in Advanced Expressions ............................................................................. 4–46Advanced Expression Errors ................................................................................................... 4–47Building Advanced Expressions for Rules ............................................................................ 4–48

Functional Companions ................................................................................................................. 4–48Rules that Relate Optional Components .................................................................................... 4–49

5 Constructing the User Interface

The User Interface Module ............................................................................................................... 5–1How the Oracle Run-time Configurator Displays the Model................................................ 5–1

Run-time Oracle Configurator: Java Applet...................................................................... 5–2Run-time Oracle Configurator: DHTML ........................................................................... 5–2

Pricing and ATP Display ............................................................................................................ 5–3Customize Pricing Display in the DHTML Window....................................................... 5–4

Controlling Visibility ................................................................................................................... 5–4Dynamic Visibility................................................................................................................. 5–4

How the Model Affects the User Interface ............................................................................... 5–5Data Fields.............................................................................................................................. 5–6Data Field Labels ................................................................................................................... 5–6Add/Delete Component Buttons ....................................................................................... 5–6

Referencing and the Model User Interface ............................................................................... 5–7Model UI Scope and UI References .................................................................................... 5–7UI Generation......................................................................................................................... 5–7UI Refresh ............................................................................................................................... 5–8Publishing............................................................................................................................... 5–8

Generating a New User Interface .................................................................................................... 5–8Display Width Reserved for Navigation Frame ...................................................................... 5–9

Customizing the Generic User Interface ..................................................................................... 5–10Customizing the User Interface Default Settings ..................................................................... 5–11

vii

Page 8: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page viii Wednesday, February 28, 2001 2:09 PM

Customizing the Display of the Components Tree ................................................................... 5–12Changing the Display Style...................................................................................................... 5–12

Customizing Screen Display Settings ......................................................................................... 5–13Changing the Screen Display Settings.................................................................................... 5–13

Customizing Screen Design........................................................................................................... 5–13Adding Graphics to a Screen ................................................................................................... 5–14Adding Text to a Screen............................................................................................................ 5–14Adding Buttons to a Screen...................................................................................................... 5–15Adding Text and Graphics on Buttons................................................................................... 5–16Customizing Features, Totals, and Resources ....................................................................... 5–17Changing Feature, Total, and Resource, Nodes.................................................................... 5–17Hiding Components .................................................................................................................. 5–18

Editing in the Preview Window .................................................................................................... 5–19

6 Testing and Debugging

The Test/Debug Module ................................................................................................................... 6–1Testing your Model ..................................................................................................................... 6–2Testing your Configuration Rules ............................................................................................. 6–2Testing your User Interface ........................................................................................................ 6–3Configuring an Item in a Run-time Oracle Configurator ...................................................... 6–3Viewing Changes to the Model in the Active UI .................................................................... 6–4

Configurator Developer Messages ................................................................................................. 6–5Error Messages ............................................................................................................................. 6–6

7 Using Oracle Configurator Developer Repository Window Tools

Oracle Configurator Developer Windows .................................................................................... 7–1Repository Window ........................................................................................................................... 7–1

Repository Entities....................................................................................................................... 7–2Oracle Configurator Developer Editing Tools ............................................................................. 7–2Repository Window Keyboard Shortcuts...................................................................................... 7–3File Menu............................................................................................................................................. 7–3Edit Menu ............................................................................................................................................ 7–4Managing Repository Entities ......................................................................................................... 7–4

Creating ......................................................................................................................................... 7–4Moving .......................................................................................................................................... 7–5

viii

Page 9: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page ix Wednesday, February 28, 2001 2:09 PM

Modifying ...................................................................................................................................... 7–5Renaming....................................................................................................................................... 7–5Deleting .......................................................................................................................................... 7–6

Create Menu ........................................................................................................................................ 7–6Creating Models............................................................................................................................ 7–7Creating Folders............................................................................................................................ 7–7

View Menu ........................................................................................................................................... 7–7Tools Menu........................................................................................................................................... 7–8

The Model Publishing Window ................................................................................................ 7–8Help Menu ........................................................................................................................................ 7–10Repository Editing Toolbar............................................................................................................ 7–10Tree Views ......................................................................................................................................... 7–10

Nodes Present in a Tree View.................................................................................................. 7–11Name .................................................................................................................................... 7–11Description .......................................................................................................................... 7–11

8 Using Oracle Configurator Developer Model Window Tools

Oracle Configurator Developer Windows ..................................................................................... 8–1The Model Window Modules .......................................................................................................... 8–1

Model Module............................................................................................................................... 8–2Configuration Rules Module ...................................................................................................... 8–2User Interface Module ................................................................................................................. 8–2Test/Debug Module..................................................................................................................... 8–2

The Model Window............................................................................................................................ 8–2Model View ................................................................................................................................... 8–3Context Tree View........................................................................................................................ 8–3Attributes View............................................................................................................................. 8–3

Oracle Configurator Developer Editing Tools .............................................................................. 8–4Model Window Menu Bar................................................................................................................. 8–4File Menu.............................................................................................................................................. 8–5Edit Menu ............................................................................................................................................. 8–5

Cut, Copy, and Paste.................................................................................................................... 8–6Model and Rules Modules ................................................................................................... 8–6User Interface Module .......................................................................................................... 8–7

Find................................................................................................................................................. 8–7

ix

Page 10: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page x Wednesday, February 28, 2001 2:09 PM

Model Window Keyboard Shortcuts ................................................................................. 8–8Create Menu ....................................................................................................................................... 8–8

Create Menu for Model Module................................................................................................ 8–8Create Menu for Item Master Module ...................................................................................... 8–9Create Menu for Configuration Rules Module ....................................................................... 8–9Create Menu for User Interface Module ................................................................................ 8–10

View Menu for User Interface ....................................................................................................... 8–10View Menu: Upper Section ...................................................................................................... 8–10View Menu: Lower Section ...................................................................................................... 8–10

Tools Menu ........................................................................................................................................ 8–11Manage Properties..................................................................................................................... 8–11Options ........................................................................................................................................ 8–12

Display Log Messages Window ....................................................................................... 8–12Select Test Environment .................................................................................................... 8–12Effectivity............................................................................................................................. 8–14

Help Menu ........................................................................................................................................ 8–14Toolbars.............................................................................................................................................. 8–14

Module Toolbar ......................................................................................................................... 8–14Editing Toolbar .......................................................................................................................... 8–15

Tree Views ......................................................................................................................................... 8–15Nodes Present in all Tree Views.................................................................................................... 8–16

Name............................................................................................................................................ 8–16Model.................................................................................................................................... 8–16Item Master.......................................................................................................................... 8–16

Description.................................................................................................................................. 8–16Tree Views for the Model Module ................................................................................................ 8–17

Model Tree View........................................................................................................................ 8–17Item Master Tree View.............................................................................................................. 8–18

Model Attributes for the Model Module .................................................................................... 8–18Initial Value ................................................................................................................................ 8–19Visibility in the User Interface ................................................................................................. 8–20Type ............................................................................................................................................. 8–20Count ........................................................................................................................................... 8–22Properties .................................................................................................................................... 8–23Populators ................................................................................................................................... 8–23

x

Page 11: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page xi Wednesday, February 28, 2001 2:09 PM

Violation Message Attribute .................................................................................................... 8–23Effectivity Attribute................................................................................................................... 8–24

Effectivity Sets..................................................................................................................... 8–24Dates..................................................................................................................................... 8–24Usages .................................................................................................................................. 8–25

Item Master Attributes.................................................................................................................... 8–25Type/Properties ........................................................................................................................ 8–26Properties .................................................................................................................................... 8–26

Tree Views for the Configuration Rules Module ...................................................................... 8–26Model Tree View ....................................................................................................................... 8–26Configuration Rules Tree View ............................................................................................... 8–26

Model Attributes for the Configuration Rules Module........................................................... 8–27Associated Rules ........................................................................................................................ 8–28

Configuration Rules Attributes .................................................................................................... 8–28Parameters .................................................................................................................................. 8–29Definition .................................................................................................................................... 8–29Violation Message ..................................................................................................................... 8–30

Tree Views for the User Interface Module .................................................................................. 8–30Model Tree View ....................................................................................................................... 8–30User Interface Tree View .......................................................................................................... 8–31

Model Attributes for the User Interface Module ...................................................................... 8–31Associated UI Nodes................................................................................................................. 8–32

User Interface Attributes ................................................................................................................ 8–32Model Object .............................................................................................................................. 8–33Version ........................................................................................................................................ 8–33Defaults ....................................................................................................................................... 8–33Pricing Display........................................................................................................................... 8–34

Item Price Display .............................................................................................................. 8–34Price Update........................................................................................................................ 8–34

Styles............................................................................................................................................ 8–34Definition .................................................................................................................................... 8–35

Tree Style ............................................................................................................................. 8–35ToolTip Text ........................................................................................................................ 8–35Font....................................................................................................................................... 8–35Picture .................................................................................................................................. 8–36

xi

Page 12: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page xii Wednesday, February 28, 2001 2:09 PM

Borders ................................................................................................................................. 8–36Background Color............................................................................................................... 8–36Action ................................................................................................................................... 8–36Display ................................................................................................................................. 8–37Format String....................................................................................................................... 8–37

Visibility ...................................................................................................................................... 8–38Label............................................................................................................................................. 8–38Option Display ........................................................................................................................... 8–38Layout.......................................................................................................................................... 8–38

The User Interface Preview Window ........................................................................................... 8–39UI Preview Window File Menu............................................................................................... 8–39UI Preview Window Edit Menu.............................................................................................. 8–39Cut, Copy and Paste .................................................................................................................. 8–40Z-Order........................................................................................................................................ 8–40

Test Module....................................................................................................................................... 8–40The Log Messages Window ........................................................................................................... 8–40

File Menu .................................................................................................................................... 8–40Settings Menu............................................................................................................................. 8–41

Glossary of Terms

Glossary of Acronyms

Index

xii

Page 13: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page xiii Wednesday, February 28, 2001 2:09 PM

Send Us Your Comments

Oracle Configurator Developer User’s Guide, Release 11i

Part No. A87529-01

Oracle Corporation welcomes your comments and suggestions on the quality and usefulness of this publication. Your input is an important part of the information used for revision.

β–  Did you find any errors?β–  Is the information clearly presented?β–  Do you need more information? If so, where?β–  Are the examples correct? Do you need more examples?β–  What features did you like most about this manual?

If you find any errors or have any other suggestions for improvement, please indicate the chapter, section, and page number (if available). You can send comments through your call to Oracle Support Services or by sending them to:

Oracle Configurator Oracle Corporation Documentation 21 North Avenue Burlington, MA 01803 USA

If you would like a reply, please give your name, address, and telephone number below.

If you have problems with the software, please contact your local Oracle Support Services.

xiii

Page 14: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page xiv Wednesday, February 28, 2001 2:09 PM

xiv

Page 15: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page xv Wednesday, February 28, 2001 2:09 PM

Preface

Welcome to the Oracle Configurator Developer User’s Guide. This user’s guide includes the information you need to work with Oracle Configurator Developer effectively.

Intended AudienceThis guide assumes you have a working knowledge of your business processes, tools, and your product configurations. It also assumes you are familiar with configurator applications. If you have never used a configurator application, we suggest you attend one or more of the Oracle Configurator training classes available through Oracle Education. You should also be familiar with Oracle Applications and the Oracle Applications database.

StructureThis documentation contains...

β–  Chapter 1, "Introduction", includes information on planning your project to ensure success using Oracle Configurator Developer.

β–  Chapter 2, "Managing Models", explains how to create and organize models, Effectivity Sets, and Usages and publish models.

β–  Chapter 3, "Constructing Model Structure", describes how to use Oracle Configurator Developer to create the fundamental structure upon which your configuration models are built.

β–  Chapter 4, "Constructing Configuration Rules", provides information on defining rules that determine what options an end user can select to create a valid configuration.

xv

Page 16: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page xvi Wednesday, February 28, 2001 2:09 PM

β–  Chapter 5, "Constructing the User Interface", describes how to create a user interface in Oracle Configurator Developer and use it to test configuration models.

β–  Chapter 6, "Testing and Debugging", includes information about the Test/Debug module which you use to test the product structure, rules, and user interface for your configuration models.

β–  Chapter 7, "Using Oracle Configurator Developer Repository Window Tools", explains the tools you use to manage configuration models and their shared attributes within Oracle Configurator Developer.

β–  Chapter 8, "Using Oracle Configurator Developer Model Window Tools", describes the tools you use to create and update a model’s product structure, configuration rules, and user interface.

β–  "Glossary of Terms"

β–  "Glossary of Acronyms"

Related DocumentsFor more information, see the following manuals in Release 11i of the Oracle Product documentation set:

β–  Oracle Configurator Release Notes

β–  Oracle Configurator Installation Guide

β–  Oracle Configurator Implementation Guide

β–  Oracle Configuration Interface Object (CIO) Developer’s Guide

β–  Oracle Configurator Custom Web Deployment Guide

β–  Oracle Applications Release 11i documentation

ConventionsIn examples, an implied carriage return occurs at the end of each line, unless otherwise noted. You must press the Return key at the end of a line of input. The following conventions are also used in this documentation:

xvi

Page 17: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page xvii Wednesday, February 28, 2001 2:09 PM

Convention Meaning

. . .

Vertical ellipsis points in an example mean that information not directly related to the example has been omitted.

. . . Horizontal ellipsis points in statements or commands mean that parts of the statement or command not directly related to the example have been omitted

boldface text Boldface type in text indicates a specific key or screen name.

< > Angle brackets enclose user-supplied names.

[ ] Brackets enclose optional clauses from which you can choose one or none.

> The left bracket alone represents the MS DOS prompt.

xvii

Page 18: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page xviii Wednesday, February 28, 2001 2:09 PM

xviii

Page 19: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Introd

dev.book Page 1 Wednesday, February 28, 2001 2:09 PM

1

Introduction

Welcome to Oracle Configurator DeveloperOracle Configurator Developer is the development tool in the Oracle Configurator family of products. It provides a convenient drag-and-drop interface that enables you to rapidly develop and deploy a configurator. A configurator is a tool for configuring products and services. The configuration process can include assessing customer needs, selecting product and service components, and viewing configurations.

A configurator enables end users to access the parts that make up your product and the rules that govern how those parts go together. With a configurator, end users can generate any custom product configuration that the rules allow. A configurator brings the expertise of your enterprise to the point of sale, dramatically changing and improving the way you sell products and services.

The Oracle Run-time ConfiguratorThe Oracle run-time configurator is a generic configurator, as described in Welcome to Oracle Configurator Developer on page 1-1.

With Oracle Configurator Developer, you build a Model, Configuration Rules, and User Interface structure that reflect your enterprise and your end users’ requirements. The Model, Configuration Rules, and User Interface structure are stored in the Oracle Configurator schema in the Oracle Applications database. The Oracle Configurator schema is part of the Oracle Applications database. There is generally one Oracle Configurator schema per Oracle Applications database instance.

The compiled Configuration Rules and Model structure exist as the Active Model in the Oracle Configurator schema. The Active Model enforces valid configurations

uction 1-1

Page 20: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Plan your Project

dev.book Page 2 Wednesday, February 28, 2001 2:09 PM

based on end user selections. The user interface definitions of the configuration model function as the Active User Interface. The Active UI also interprets the data in the Oracle Configurator schema and keeps the UI state current as the end user works. In other words, when the end user works in the Oracle run-time configurator, the Oracle Configurator schema, the Active Model, and the Active UI determine what is available for selection, what results from selections, and how it is displayed.

Configurator Developer provides a generic structure and a look and feel for the Oracle run-time configurator that is enforced by the Active Model, Active UI, and Oracle Configurator schema. This generic user interface can also be customized. See Customizing the Generic User Interface on page 5-10.

The run-time configurator you create with Oracle Configurator Developer can be deployed as:

β–  a DHTML Oracle Configurator window in Oracle Order Management (OM), iStore, Sales Online, Order Capture, or a custom Web application

β–  DHTML or a Java applet Oracle Configurator window in Order Management, TeleSales, or Oracle Order Capture

Further information on these deployment options is available in the Oracle Applications Help system. See Oracle Configurator Implementation Guide and the Oracle Configurator Custom Web Deployment Guide for more information on the mechanics of deployment.

Oracle Configurator is integrated with Oracle Applications so that an end user can configure a product based on an Oracle Bill of Materials (BOM). Oracle Configurator dynamically creates a configuration model that reflects BOM rules, i including parent-child, optional or required selections, mutually exclusive selections, and quantity cascade rules. If you want to add additional model structure to the BOM Model, or add additional rules, or customize the user interface, you must do so in Configurator Developer.

Plan your ProjectYou need to plan carefully before you begin to build a configurator in Oracle Configurator Developer. Here are some points you should consider during planning. For additional warnings and helpful hints, see the Oracle Configurator Release Notes.

β–  Plan on attending a training course in using Configurator Developer.

1-2 Oracle Configurator Developer User’s Guide

Page 21: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Plan your Project

dev.book Page 3 Wednesday, February 28, 2001 2:09 PM

β–  Plan to meet all platform requirements for Configurator Developer and your Oracle run-time configurator as presented in the Oracle Configurator Installation Guide.

β–  Plan on setting up your Configurator Developer users on a local area network (LAN). Do not attempt to connect Configurator Developer clients to a database running on a remote server over a wide area network (WAN), T1 connection, or modem due to performance issues. A WAN configuration may be practical if the network bandwidth is high enough. However, in many situations, it will be necessary to run Configurator Developer remotely using a Windows Terminal Server such as Citrix server collocated with the database server.

β–  Plan to express your requirements for valid configurations in terms of the rules that Configurator Developer provides. See Design your Configuration Rules on page 1-4.

β–  Plan your user interface. If you plan to deploy your configuration model as a DHTML window, design a template to contain the Configurator frameset at run-time, the colors, banners, Done and Cancel buttons, and online Help if desired. Sample HTML files for a template that you can customize are installed as part of your Oracle Configurator installation (%ORACLE_HOME%\OSP\WebUI).

β–  For custom deployments that are not integrated with Oracle Applications, gather the requirements for needed outputs such as quotes, proposals, and order entry data, their format, and the data for populating them. Oracle Configurator provides pre-defined output for quotes, proposals, and Oracle ERP orders.

β–  For custom deployments that are not integrated in Oracle Applications, gather the requirements for integrating your system with other systems such as data synchronization and replication, quotes, and orders.

β–  Determine your requirements for deployment beyond those stated on the Configurator Developer documentation compact disc.

β–  Plan to define your product model first, before defining configuration rules.

β–  Establish standardized and meaningful naming conventions for Model nodes and Rules. Use meaningful names for Components and Options. Names like Response 1 and Response 2 can easily lead to confusion among developers as well as end users.

You also need to do the basic design work for your configuration model. You need to consider what functionality your end users require. For example, you may need

Introduction 1-3

Page 22: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Plan your Project

dev.book Page 4 Wednesday, February 28, 2001 2:09 PM

to add a customer needs assessment component. For more information, see Chapter 5, "Constructing the User Interface".

Identify your Product DataOracle Configurator Developer requires that an Oracle Configurator schema be identified as a datasource. You must populate the Oracle Configurator schema Item Master with enterprise data needed for product configuration. To this end, you need to identify the source of your product data and structure. If your data comes from Oracle BOM, identify which bills to import into Configurator. You import data from Oracle BOM using concurrent requests. See the Oracle Configurator Installation Guide.

If your data comes from Oracle Inventory item data, or from an external data source, you must develop a mechanism for populating the Configurator import tables, and a plan for refreshing the import as required. Your Database Administrator (DBA) may prepare existing enterprise data for import.

If property data is imported from Oracle as part of the standard BOM import, properties and their values must be represented as Catalog Descriptive Elements and Descriptive Element Values in Oracle Inventory.

For data that is not imported, the configurator project team manually populates the Oracle Configurator schema Item Master within Configurator Developer.

For more information about preparing and importing data, see the Oracle Configurator Implementation Guide or your DBA. For information on setting up a datasource for Configurator Developer to connect to, see the Oracle Configurator Installation Guide. Oracle Configurator documentation is available on the Oracle Configurator Developer compact disc.

Design your Configuration RulesYou must consider what rules you need to build into your configuration model. The design step may include writing a functional specification and other design documents.

Ask yourself questions like:

β–  What components must be included in a valid configuration?

β–  What components are optional?

β–  What sub-components are compatible with each other?

β–  What selections affect another selection?

1-4 Oracle Configurator Developer User’s Guide

Page 23: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Oracle Configurator Developer

dev.book Page 5 Wednesday, February 28, 2001 2:09 PM

β–  What are valid default initial selections?

β–  What rules define the configuration of product families?

β–  What rules define the relations among product families?

Multi-User Development StrategyIf you need to have more than one developer working on a configuration Model, consider the following suggestions.

β–  To construct your configuration model efficiently, ensure that only one user at a time makes changes to the Item Master that you import into the Oracle Configurator schema. Changes to the Item Master are written directly to the database, so if more than one user is working on the Item Master at the same time, the last update overwrites any previous work.

β–  When the Model structure is complete, coordinate the rule definition activities so different developers are working on separate, non-overlapping parts of a total set of rules.

β–  Oracle Configurator Developer’s Model referencing feature enables you to use existing Models as subassemblies within a Model. Therefore, if a root-level Model has references to two other Models, two different developers can modify the referenced models simultaneously and not interfere with anyone else’s work.

Oracle Configurator DeveloperOracle Configurator Developer is made up of two major components: the Repository window and the Model window.

Repository WindowThe Repository window provides a workspace for organizing Models and managing model attributes such as Effectivity Sets and Usages. The Repository is an interface to your configuration Models that provides tools for managing Models and their shared attributes. You can also use this window to create model publications, modify existing publications, and open a Model in the Model window for editing. The Model window provides tools for creating Model structure, Rules, and UI definition.

Introduction 1-5

Page 24: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

The Overall Process

dev.book Page 6 Wednesday, February 28, 2001 2:09 PM

Model WindowYou use the Configurator Developer Model window to build a product model and configuration rules that reflect the requirements of your product and business. Configurator Developer automatically generates a user interface based on the product model. You can customize this interface to have the right look and feel for your enterprise.

The fundamental elements of a configurator built with Oracle Configurator Developer are:

β–  a product model that captures the structure of your product, such as an imported BOM

β–  configuration rules that constrain the relationships between parts of your product

β–  a user interface that reflects the model structure

The Overall ProcessImplementing and maintaining an Oracle configurator consists of the following steps:

1. setting up Oracle Configurator Developer

2. importing data

3. building and managing a configuration Model

4. publishing and deploying the Model

5. updating the Model when a new version of your product is available or you upgrade to a new release of Configurator Developer

Setup for ImplementationOracle Configurator Developer is not yet part of Oracle Applications and therefore must be installed separately from the Oracle Configurator Developer compact disk. See the Oracle Configurator Installation Guide for details.

When you run Oracle Configurator Developer, you supply a username, password, and datasource. Your username/password for Oracle Configurator Developer is the username/password of the user that owns the Oracle Configurator schema in the Oracle Applications database (usually apps/apps). The datasource is the name defined in Microsoft ODBC Data Source Administrator for the Oracle Applications

1-6 Oracle Configurator Developer User’s Guide

Page 25: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

The Overall Process

dev.book Page 7 Wednesday, February 28, 2001 2:09 PM

database. The machine running Oracle Configurator Developer must have database connectivity to the Oracle Applications database instance, as defined in the TNSNAMES.ORA file

Your work in Oracle Configurator Developer is stored in the Oracle Configurator schema, which is a schema of tables in the Oracle Applications database that are named with the CZ_ prefix. All changes you make are stored in real time directly in the Oracle Configurator schema as soon as you enter the information and press Enter or click in another location in the user interface. Therefore, you do not need to explicitly save your work. Additionally, note that there is no "undo" feature in Oracle Configurator Developer, so if for example you create a component and then decide you do not need it, you must manually delete it from the system.

For information on how to ensure that the Oracle Configurator schema contains the data you need, see the Oracle Configurator Implementation Guide or your DBA.

Managing ModelsA configuration model is a unique, logical configuration of a product that is added to a sales order and ultimately shipped to a customer. You create models in Configurator Developer based on products that can be configured according to validation rules that you define. When purchasing a product, customer requirements are collected by a Configurator, which uses the rules you defined and your model definition to generate a configuration. Managing models in Configurator Developer includes organizing them into Folders, creating model publications, and creating and maintaining Usages and Effectivity Sets.

A Model can also consist of submodels. A single submodel can be included by reference in more than one Model. A single Model can include definitions for multiple user interfaces serving various types of end users. One Model can be assigned to multiple Usages and Effectivity Sets that promote or suppress selections and rules in the configuration model over time or depending on the end user.

You create Usages and Effectivity Sets in the Repository window and assign them to Models or Model nodes in the Model window. The Repository provides tools you can use to organize your Models and submodels in Folders to maximize your productivity using Oracle Configurator Developer.

When a Model is published to a production environment, it represents the configuration model against which end users make selections to configure products and services. A Model publication is a copy of the Model that can be refreshed when the original Model undergoes revision and maintenance upgrades in Oracle Configurator Developer.

Introduction 1-7

Page 26: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

The Overall Process

dev.book Page 8 Wednesday, February 28, 2001 2:09 PM

Building ModelsThe Oracle Configurator Developer Model window consists of the following modules which address different aspects of constructing and testing configurator functionality.

β–  The Model Window, see Chapter 3

β–  The Configuration Rules Module, see Chapter 4

β–  The User Interface Module, see Chapter 5

β–  The Test/Debug Module, see Chapter 6

The Model, Configuration Rules, and User Interface modules present you with menus of commands and views of the configuration model you are building. The Test module launches a selected testing environment in which you can view a model periodically during the development phase. Before viewing the model in the test environment, you generate the Active Model and the Active UI to generate model structure and rules and the graphical views necessary for users to interactively create configurations. The Active UI interfaces with the Active Model to provide access to customer requirements gathering, product selection, and customer-centric extensions.

There are two approaches to working in Oracle Configurator Developer:

β–  self-contained mode

β–  integrated mode

If you are working in the self-contained mode, you create the Item Master and build your Model, Rules, and User Interface entirely within Configurator Developer. You can chose to work this way if you are building a small-scale demo or prototype system.

Many real-world configuration models involve working in the integrated mode. In either mode, you build a configuration model based on product structure and item data. In integrated mode, end users configure products defined in your Oracle BOM, and pass completed product configurations on to Oracle Order Management. To build such a configuration model, you begin by importing BOM data into the Oracle Configurator schema. The Oracle Configurator Implementation Guide describes the data import process.

The BOM data import process creates a new BOM Model in Oracle Configurator Developer. You canthen open this Model in the Model window to define additional Model structure, Configuration Rules, and a User Interface. If you need to add

1-8 Oracle Configurator Developer User’s Guide

Page 27: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

The Overall Process

dev.book Page 9 Wednesday, February 28, 2001 2:09 PM

Model structure, for example to support guided selling, you can also add Model structure nodes to the root node of the imported BOM Model.

After you have completed your Model structure, you create Configuration Rules that define how the parts of the Model are related to each other. After you have created Configuration Rules, you use the Model window to generate a User Interface that reflects the structure of your Model. This generated interface enables you to test the functionality of your Model and Configuration Rules in the Test/Debug module, without doing any additional user interface development. When you are satisfied with the performance of Model and Rules, you can customize the generated User Interface to meet your requirements. You can also generate and customize additional user interfaces to meet specific needs.

Deploying ModelsThe steps in the life cycle of a configuration model include creating the configuration model in Oracle Configurator Developer, thorougly unit testing configurations, and publishing the model to a system testing or production environment for use by test engineers or end users, respectively. The Oracle Configurator can be called from a variety of hosting applications, including Oracle Order Management, iStore, TeleSales (Order Capture), as well as custom, Web-based applications.

IntegrationIf the Oracle Configurator is embedded in an Oracle Application such as Order Management or iStore, there may not be any additional set up required, depending on which options you select during the Oracle Applications RapidInstall process. However, the following profile options must be set in Oracle Applications to launch the embedded configurator:

β–  BOM:Configurator URL of UI Manager: Set this profile option to the URL of the UI Servlet that you configured as part of the Oracle Configurator installation when running RapidInstall.

β–  OM:Use Configurator: Set this profile option to Yes to use Oracle Configurator from Oracle Order Management.

See the Oracle Configurator Implementation Guide for details about these and other profile options.

If the Oracle Configurator is embedded in a custom Web application, the host application must generate the initialization and termination messages that start and

Introduction 1-9

Page 28: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Language Support in Oracle Configurator

dev.book Page 10 Wednesday, February 28, 2001 2:09 PM

stop the embedded configurator session. See the Oracle Configurator Custom Web Deployment Guide for more information.

TestingBefore going live or into production with an Oracle Configurator, it is a good idea to system-test your model for adequate performance, user access, security, and any integration customizations. A configuration model itself should be periodically unit-tested while building it in Configurator Developer. However, because a model may use effectivity, contain references to other models, or have multiple UI definitions, a single configuration model can provide many unique permutations depending on the user or hosting application. Therefore, configuration models should be thoroughly tested in a separate environment using a variety of applications and effectivity dates to ensure the models function as intended.

Production

After several rounds of testing and updates in Configurator Developer, you can make a configuration model available to your end users. Test existing configurations against the new version before deploying it to ensure that users can restore previously saved configurations. If you made maintenance changes to the Configurator during the testing phase, you can easily bring the new model on line without interrupting user access. See Publishing on page 2-6.

Language Support in Oracle ConfiguratorThe user interface for the Oracle Configurator Developer itself is in the English language only. However, Oracle Configurator Developer does support Models and User Interfaces in languages other than English if the computer operating system is installed in the target language. For example, if you run Oracle Configurator Developer and the operating system of the computer on which Oracle Configurator Developer is running is installed in French, you can create Features, Options, Totals, and so on, with names and descriptions in French.

When you build the UI, you can make labels for fields in French, and when the end user runs the configurator, those labels appear in French. However, if the end user needs to input text in the configurator, the only language available is English.

Getting Help with Oracle Configurator DeveloperHelp for Oracle Configurator Developer is available from the Help menu online from the menu bar and has the same content as the Oracle Configurator Developer User’s Guide.

1-10 Oracle Configurator Developer User’s Guide

Page 29: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Getting Help with Oracle Configurator Developer

dev.book Page 11 Wednesday, February 28, 2001 2:09 PM

Product SupportThe mission of the Oracle Support Services organization is to help you resolve any issues or questions that you have regarding Oracle Configurator Developer and Oracle Configurator.

To report issues that are not mission critical, submit a Technical Assistance Request (TAR) via Metalink, Oracle’s customer support Web site, at http://metalink.oracle.com. You can also find product-specific documentation and other useful information using Metalink.

For a complete listing of available Oracle Support Services and phone numbers, see http://www.oracle.com/support. For general information about Oracle Applications, visit AppsNet at http://www.oracle.com/appsnet/index.html.

Introduction 1-11

Page 30: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Getting Help with Oracle Configurator Developer

dev.book Page 12 Wednesday, February 28, 2001 2:09 PM

1-12 Oracle Configurator Developer User’s Guide

Page 31: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Managing M

dev.book Page 1 Wednesday, February 28, 2001 2:09 PM

2

Managing Models

Creating configuration models is an iterative process in which you create a model, test and update it, and then retest it until the model is approved for production use. Typically, a model is tested under a variety of conditions to prepare it for the various ways in which it will be used by customers to configure products and services.

Model ReferencingTo reduce the time and effort required to create and maintain configuration models, you can create a Reference to use one model as a subassembly in another model. A Reference is a type of model node that marks the inclusion of another model into the Structure.

For example, your organization sells many different styles of trucks and automobiles, but some of them use the same 200 horsepower, V6 engine. You can create and maintain one model for this engine in Oracle Configurator Developer, and then simply create a Reference to that model in all other models (automobiles) that use it. Then, when the referenced model is modified, the changes automatically propagate to all models that refer to it.

Within the structure of a Configurator Developer Model, a Reference node functions like a Component. Like a Component, a Reference node can be mandatory or optional, you can change its name, effectivity, and specify the minimum and maximum number of instances that are created at run time. At run time, each instance contains the entire Structure of the referenced model and are subject to all the Rules defined in that model.

A Reference node functions differently in an imported BOM Model. See References and BOM Models on page 2-2.

odels 2-1

Page 32: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Model Referencing

dev.book Page 2 Wednesday, February 28, 2001 2:09 PM

When you work in a model that contains a Reference, the Structure of the referenced model appears as a subtree of the parent model. All of the referenced model’s attributes are read only when viewed within the parent model. See Display of Model References on page 2-4.

References and RulesYou can refer to nodes in a referenced model’s Structure when defining configuration Rules for the parent model. All of these Rules, even those whose participant nodes are all within the referenced model’s Structure, belong to and reside with the parent model. You can create new rules for the parent model, but all of the referenced model’s rules are read only when viewed from the parent model.

For information about viewing rules in referenced models, see Rules on page 2-4.

References and EffectivityThe root node of a model is always effective. When a model is referenced by another model, you can specify effective dates and assign an Effectivity Set and one or more Usages to the Reference node. See Effectivity on page 3-6.

References and UI DefinitionsA model Reference does not specify anything about User Interface definitions within a referenced model. Instead, the parent model’s UI definition contains a reference to the child model’s UI definition. This allows different parent UIs to refer to different UIs in a child model.

Each time you generate a User Interface for a parent model, Configurator Developer selects the child model’s most recently generated (or modified) UI definition. If a referenced model has multiple UI definitions, you can select a different one after generating the UI for the parent model. You can also prevent the child model’s UI from appearing at run time by modifying its visibility attribute.

If a referenced model does not have a UI definition, Configurator Developer creates a new one when you generate the parent model’s UI. The referenced model’s new UI resides in the referenced model, not in the parent model.

References and BOM ModelsOne important use of References is to represent the relationship between a BOM Model that contains other models when you import it into Configurator Developer. When you import a BOM Model that contains one or more models, Configurator

2-2 Oracle Configurator Developer User’s Guide

Page 33: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Model Referencing

dev.book Page 3 Wednesday, February 28, 2001 2:09 PM

Developer creates a Reference for each child model within the structure of the parent. If a BOM Model exists as a child in more than one configuration model, it is not imported into Configurator Developer more than once. Instead, each parent model contains a Reference to the same BOM Model. This allows the rules and UI for the child model to be maintained in one place.

If a model that you create in Configurator Developer (a non-BOM Model) contains a Reference to a BOM Model, you cannot create a Reference in another BOM Model to the Configurator Developer model. For example, a non-BOM Model called M1 has a reference to BOM Model B1. Configurator Developer does not allow you to create a Reference from another BOM Model to M1.

Updating Referenced ModelsWhen a model is the target of a Reference and you make any changes to the Structure of that model, you may need to update the parent model. For example:

β–  Rules in the parent may refer to deleted structure nodes in the child.

β–  Newly added Options in the child may be missing from Explicit Compatibility rules in the parent.

Note that the logic generated for property-based Compatibility rules in the parent model that refer to Features in the child model may change when you modify Properties in the child. Therefore, it is a good idea to use Property-based Compatibility rules whenever possible, as this type of rule reduces the amount of time and effort required to maintain configuration rules.

Configurator Developer does not automatically update the parent model when you modify the structure of a referenced model. You may be able to resolve any potential problems with the configuration simply by regenerating the Active Model for the parent model. However, if the child model’s logic is not up to date, Configurator Developer displays a message when you generate the Active Model for the parent. In this case, you must regenerate logic for the referenced model before you can successfully create the Active Model for the parent. You can then re-import or make change to those models as required.

Note that not all changes to models that are referenced require you to update their parent models. For example, modifications to the configuration Rules or UI definitions of a referenced model do not require changes within the parent, except perhaps for re-testing.

Managing Models 2-3

Page 34: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Model Referencing

dev.book Page 4 Wednesday, February 28, 2001 2:09 PM

Creating a Model ReferenceThere are two ways to create a model reference:

β–  create it manually in the Model window

β–  import a BOM Model.

To manually create a reference, choose New Model Reference from the Create menu in the Model window, or right click using the mouse and select the model to reference from a list. If a parent model’s root node is a Component, you cannot create a Reference to a model that has a Product root node.

When you import a BOM Model, Configurator Developer creates a configuration model in the Repository for the root BOM Model and for any BOM Models that it contains. Configurator Developer also creates the model References that link this structure together within each parent configuration model.

Note that Import Refresh may cause additional models and References to be created (if BOM structure has been added) or modifications to or the deletion of existing model references.

Display of Model ReferencesThe entire structure of a referenced model is viewable as if it were part of the structure of its parent. You can tell the referenced structure from the parent model’s structure by its appearance. Nodes that represent BOM Model references and their child nodes are indicated by a small arrow. For example:

RulesYou can view all of the Rules that apply to a referenced model from its parent model, but the referenced model’s Rules are read only. When you select a Reference

2-4 Oracle Configurator Developer User’s Guide

Page 35: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Model Referencing

dev.book Page 5 Wednesday, February 28, 2001 2:09 PM

model node in the Model window and then go to the Rules module, the Configuration Rules view lists all of the Rules for the root model as well as all Rules associated with the referenced model. For example, if the referenced model name is Test-M1, the name of the Rules folder for that model is "Test-M1 Rules". Only one folder appears in the Configuration Rules view for the referenced model, even if there are multiple references to it in the parent model.

User InterfaceYou can view a referenced model’s UI in the parent model’s UI, but the referenced model’s UI is read only. Only the pages and their contents from referenced UIs are displayed in the Model window's UI tree view. (Component trees from referenced UIs do not appear at run time.) In the UI module, the Model tree also displays a referenced model’s structure this way. See Referencing and the Model User Interface on page 5-7.

When you select a referenced structure node, an Associated UI list displays all UI objects representing the selected node in the context of the top-level model that is open for editing. Configurator Developer indicates UI objects defined within referenced models with the standard reference icon for that UI node type. All pages of a referenced UI appear in read only mode when viewing that UI in the parent model. You can also open any page of a referenced UI in the Preview window (also in read only mode).

Viewing ReferencesYou can view all of a model’s references in the Repository window by selecting the model and then choosing View > References. Then, in the Model References window, select a model and click Go To to open it for editing in the Model window.

Operations on a Model ReferenceYou can perform the following operations on a model reference in Configurator Developer:

β–  Rename the Reference node

β–  Change the effective dates and Usages on the Reference node

β–  Move the Reference node to a new valid parent node in the model you are editing

β–  Delete the Reference node (this deletes the entire Reference, with all its Rules and UIs)

Managing Models 2-5

Page 36: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Publishing

dev.book Page 6 Wednesday, February 28, 2001 2:09 PM

You cannot perform the following operations on a Referenced model:

β–  Alter the internal structure or any of its attributes

β–  Edit or delete any of its configuration Rules

β–  Edit or delete any of its UI definitions

Structure nodes that belong to a Reference can participate in Rules as if they were part of the containing model’s structure. In addition, the min/max counts on the root node of the Reference can participate in Numeric Rules in the same way as min/max counts on a Component. However, Numeric Rules cannot contribute to sub-components in the referenced model. For example, a Numeric Rule that you create in Root Model (see below) cannot contribute to Component C1.

However, you can overcome this limitation by opening Model M1 for editing in the Model window and creating a Total that contributes to Component C1.

PublishingWhen you create a configuration model in Oracle Configurator Developer, you need to unit test, modify, and retest it before making it available to users in either a system testing or production environment. Publishing is a process that creates a copy of a configuration model’s Structure, Rules, and UI on a specific database to make it available for testing or production use from different hosting applications.

In a testing environment, a published model is viewed by multiple users from different hosting applications to ensure that it is configurable and all rules function as intended. Based on feedback from testers, you modify the model using Configurator Developer and republish it so testers can view the changes. After it is thoroughly tested, you can make the model available for production use. See The Publishing Process on page 2-7.

Publishing a model creates a new record called a publication in the specified database. A publication represents a unique deployment of a configuration model

2-6 Oracle Configurator Developer User’s Guide

Page 37: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Publishing

dev.book Page 7 Wednesday, February 28, 2001 2:09 PM

that enables you to control its availability when invoked by a hosting application and the UI that is displayed to the end user. A configuration model can have multiple User Interfaces and you can create many publications for the same model. However, a publication corresponds to only one configuration model and User Interface.

You determine the availability of a published model by defining applicability parameters. You specify these parameters when creating a publication based on your specific business requirements. Applicability parameters determine whether a published model is available when a hosting application invokes the model in a configurator window. If the request matches the parameters defined for the publication, the configurator window displays the model and the appropriate UI to the end user. If no matching publication is found and the model was created from an imported BOM model, the configurator window displays the BOM model. If the model was created "from scratch" in Configurator Developer, the configurator window displays an error.

To prevent end users from receiving errors, you should plan for and try to create publications for all circumstances in which hosting applications will access your configuration models. See Applicability Parameters on page 2-8.

The Publishing ProcessFollowing is an overview of the publishing process:

1. Specify applicability parameters for a new model publication from Oracle Configurator Developer to control the publication’s availability.

2. Submit a concurrent request in Oracle Applications to copy all related model data (UI, Product Structure, and Rules) to the database you specified when creating the publication. (You can also run this concurrent program automatically. See Copying Model Data to a Database on page 2-19.)

3. Invoke the model from a hosting application such as Oracle Order Management, iStore, TeleSales, or a custom Web-based application to ensure that it functions as desired.

4. Use Oracle Configurator Developer to make any necessary changes to the model.

5. Republish the model so any recent changes are visible to testers.

6. When testing is complete, make the model available for production use.

If you maintain separate development and production environments, create a new publication in your production database (see step 5b in Figure 2–1,

Managing Models 2-7

Page 38: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Publishing

dev.book Page 8 Wednesday, February 28, 2001 2:09 PM

"Example of the Publication Process"). If your system is set up correctly, you can do this simply by selecting your production database from the list in the Model Publishing window.

If you use the same database for both development and production activities, change the Mode applicability parameter of the existing publication from Test to Production (see step 5a in Figure 2–1, "Example of the Publication Process").

Figure 2–1 Example of the Publication Process

For details about the database tables used when publishing models, see the Oracle Configurator Implementation Guide.

Applicability ParametersYou define applicability parameters to control the availability of a publication in your development or production environment. These parameters determine which model and UI to display based on the following criteria:

2-8 Oracle Configurator Developer User’s Guide

Page 39: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Publishing

dev.book Page 9 Wednesday, February 28, 2001 2:09 PM

β–  Mode: This determines whether a publication is used for production or testing activities, or if it is unavailable. Values include Test, Production, and Disabled.

If the hosting application does not provide a publication mode, the Configurator UI Servlet uses the value of the Oracle Applications profile option CZ:Publication Mode. You can set this option to T (test) or P (production) at the Site, Application, User, or Responsibility level. The default value is P. For more information about setting profile options, see the Oracle Applications User’s Guide.

β–  Application: Use this option to determine which hosting applications can access a publication. For example, you can specify that a publication is available to Oracle Order Management and iStore, but not TeleSales. All applications registered within Oracle Applications appear in this list. For more information, see the Oracle Applications System Administrator’s Guide.

β–  Usage: Usages are additional criterion that you can assign to publications to control whether they are available when invoked by a hosting application. To limit this publication’s availability based on Usages, select Publish for Selected Usages and enter one or more Usages (or select from the list of values). Select Publish for Any Usage if you do not want to limit the publication’s availability with Usages. See Usages on page 3-8.

If the hosting application does not provide a Usage, the Configurator UI Servlet uses the value of the Oracle Applications profile option CZ:Usage Name instead. You can enter any Usage name that you have defined and it can be set at the Site, Application, User, and Responsibility levels. If you do not want to limit the availability of publications based on this profile option, leave it blank or enter "Any Usage". For more information about setting profile options, see the Oracle Applications User’s Guide.

β–  Date: Enter a date range to indicate that a publication is available only for a specific period of time.

Selecting a PublicationWhen an end user invokes a configuration window, the hosting application creates a session initialization message to open the desired configuration model. This message includes the product to configure, the publication mode, a Usage, and so on. The Configurator UI Servlet selects the publication in the database with applicability parameters matching the information in the initialization message, and then displays the appropriate model and UI to the end user. See Effectivity on page 3-6.

Managing Models 2-9

Page 40: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Publishing

dev.book Page 10 Wednesday, February 28, 2001 2:09 PM

For example, in your business you know that two different hosting applications, Oracle Order Management (OM) and a custom Web environment, will be used to configure model M1. You define two unique UIs in Configurator Developer and create two publications for this model. You enable one publication for Order Management by setting the Application applicability parameter to OM. When an Order Management user invokes Model M1 from the Sales Order window, the Configurator UI Servlet finds the only publication that:

β–  has an Application parameter of OM

β–  matches the other applicability parameters specified in the session initialization message

The UI Servlet then displays the configuration model and UI that you defined specifically for orders placed from Order Management in the configurator window.

For more information about the session initialization message, see Oracle Configurator Custom Web Deployment Guide.

Overlapping Applicability ParametersYou can create multiple publications for the same configuration model on the same database, but each publication’s applicability parameters must be unique. In other words, publications with overlapping applicability parameters cannot exist on the same database.

Only one publication can exist on the same database for the same product, publication mode, application, Usage, and so on. If other publications currently exist on the target database, at least one applicability parameter must be unique to create the new publication. Oracle Configurator Developer ensures that any changes you make to existing publications will not create conflicting applicability parameters.

Table 2–1 provides examples of how Configurator Developer does not allow multiple publications for the same model on the same database instance.

Table 2–1 Comparing Applicability Parameters

Applicability Parameter Publication A Publication B Publication C Publication D

Publication Mode Test Test Test Test

Application OM iStore, Order Capture, OM

OM OM

Usage Desktop_A1 Desktop_A1 Desktop_A1 LaptopPC

2-10 Oracle Configurator Developer User’s Guide

Page 41: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Maintaining Publications

dev.book Page 11 Wednesday, February 28, 2001 2:09 PM

In this example, the configuration model CN9788 is successfully published and the result is Publication A. When you compare this publication with requests to create publications B, C, and D you can see that:

β–  The request to create Publication B fails because although the publication is available to iStore and Order Capture, it is also available to Order Management (OM). Therefore, the Application parameters overlap.

β–  The request to create Publication C also fails because the date ranges overlap.

β–  The request to create Publication D is successful because the Usage specified is unique, even though all of the other applicability parameters are the same as Publication A.

See Maintaining Publications on page 2-11.

Maintaining PublicationsIn a typical organization, a configuration model may undergo many iterations of testing and updates before it is made available to customers in a production environment. Publishing gives you complete control over each step in a configuration model’s lifecycle, enabling you to maintain and update models that are under development while making approved versions available in your production environment. This process is illustrated in Example of the Publication Process on page 2-8.

The operations you can perform on an existing publication depend on its current status. You can view detailed information about your publications, including their status, in the Model Publishing window. Oracle Configurator Developer updates the status of all existing publications each time you open the Model Publishing

Date Range 10-JUN-00 to 01-DEC-00

10-JUN-00 to 01-DEC-00

10-OCT-00 to 10-DEC-00

10-JUN-00 to 01-DEC-00

Applicability Parameter Publication A Publication B Publication C Publication D

Managing Models 2-11

Page 42: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Maintaining Publications

dev.book Page 12 Wednesday, February 28, 2001 2:09 PM

window.Table 2–2 lists the operations you can perform on a publication based on its current status..

* If you delete a a publication record that has a status of Pending Update, Configurator Developer changes the status of the original record back to Complete.

Publication StatusConfigurator Developer updates the status of ecah publication when you open the Model Publishing window, so closing and opening it may update the status of one or more publications if, for example, a concurrent program has just completed.

The following lists each valid publication status:

β–  Complete: The Oracle Applications concurrent program successfully copied the configuration model to the database.

β–  Pending: A request to create a new publication has been created in the Model Publishing window. When the Oracle Applications concurrent program successfully copies the Model data to the database, the publication status changes to Complete. See Creating a New Publication on page 2-15.

β–  Pending Update: A request to update the existing publication has been created in the Model Publishing window. When the Oracle Applications concurrent program successfully copies the Model data to the database, the publication status changes to Complete. See Editing a Publication on page 2-19.

β–  Processing: The Oracle Applications concurrent manager is processing a request to create or update this publication.

β–  Error: An error occurred while processing the request to create or update this publication. An error can occur, for example, when you create a new

Table 2–2 Publication Status and Valid Operations

StatusNew or New

Copy Edit Republish Delete

Complete Y Y Y Y

Pending Y Y N Y*

Pending Update

Y N N N

Processing Y N N N

Error Y N N Y

2-12 Oracle Configurator Developer User’s Guide

Page 43: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Maintaining Publications

dev.book Page 13 Wednesday, February 28, 2001 2:09 PM

publication in the Model Publishing window but another user updates the Model in Configurator Developer before the Oracle Applications concurrent program is complete. To create the publication, select the record, then choose either New Publication or New Copy from the Model Publishing window. See Creating a New Publication on page 2-15.

Maintaining Publications Example This section provides an example of how an organization might develop configuration models and maintain publications in a development environment. An organization has a laptop computer called M1A that is currently in production. However, a new version of M1A is under development and this computer, M1B, will replace M1A by the end of the year. The new model must replace the older version in the organization’s production environment and there can be no period of time when either one or the other model is unavailable to customers.

Refer to the graphic below for an overview of how this organization plans to develop, test, and release M1B into production.

DetailsThe following steps correspond to the ID column in the project schedule above.

1. Using Configurator Developer, the development team creates a new configuration model to reflect the new product’s features and enhancements. The

Managing Models 2-13

Page 44: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Maintaining Publications

dev.book Page 14 Wednesday, February 28, 2001 2:09 PM

model is reviewed periodically within Oracle Configurator Developer using the Test module, but it is not yet made available for external testing.

2. The new configuration model is complete and ready for external testing.

3. Developers create publication P1 with a publication mode of Test. The publication is effective immediately and no end date is required since it can be modified at any time. The Application and Usage parameters specify which hosting applications and users can access the model.

4. The QA group accesses and tests the configuration model for product M1B and reports any problems to the development group. The hosting application that the testers use selects the configuration to display based on the applicability parameters defined for publication P1. See Applicability Parameters on page 2-8.

5. The first round of testing configuration model M1B is complete.

6. Developers incorporate comments from testers by updating the configuration model in Configurator Developer.

7. When changes to the model are complete, developers republish the model. This copies any new or modified data to the specified database so the QA group can begin a second round of testing. Republishing does not change any of the original applicability parameters, so publication P1 is available to the same hosting applications and users as in the first round of testing.

8. The QA group performs a second round of testing model M1B.

9. The second round of testing is complete and additional comments are reported to the development group.

10. Developers update the model in Configurator Developer.

11 and 12. Company management and the development group agree that the configuration model is ready for production. In this organization, the development and production environments exist on the same database, so a developer makes the product available to customers by modifying the applicability parameters of the existing publications as follows:

β–  Change the Mode for publication P1 from Test to Production

β–  Change the end date of the now obsolete publication for Model M1A to 12:00:00 a.m. on 01/01/01

β–  Specify a start date for publication P1 of 12:00:00 a.m. on 01/01/01

There is no gap in the availability of the old and new products because M1A becomes obsolete at the same time M1B becomes available in production.

2-14 Oracle Configurator Developer User’s Guide

Page 45: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Maintaining Publications

dev.book Page 15 Wednesday, February 28, 2001 2:09 PM

Note that if the development and testing environments are on different databases, developers must create a new publication with a publication Mode of Production (all of the other applicability parameters would be the same as publication P1). Whenever you need to copy model data and specify a different User Interface, database instance, or applicability parameters, you must create a new publication.

See The Model Publishing Window on page 7-8.

Creating a New PublicationCreating a new publication copies model data to the database that you specify and creates a new publication record in that database. This action also copies any referenced models and their data to the specified database.

Before you can create a new publication, the UI and Active Model for the configuration must be up to date in Configurator Developer. A configuration is not current if you changed the model since the last time the User Interface was generated. In this case, you must refresh the UI or create a new one before publishing the model. Similarly, if you changed the model or any Configuration Rules, you must regenerate the Active Model before publishing the model. See The Configuration Rules Module on page 4-1.

The first step to create a new publication is to specify the model and UI to publish and enter applicability parameters. Applicability parameters determine the model, UI, effective dates, Usages, and database instance on which the publication is to be created. When this is done, the new publication record appears in the Model Publishing window with a status of Pending. You can also create a new publication by copying an existing publication’s applicability parameters. See New Copy on page 2-17.

The next step is to log in to Oracle Applications and submit a concurrent request to actually copy the model data from your Configurator Developer database to the database you specified when creating the publication. (This step can also be performed automatically using the Oracle Applications concurrent manager. See the Oracle Configurator Implementation Guide for more information.) The configuration model cannot be viewed in a Configurator window until the corresponding concurrent program completes successfully. See Copying Model Data to a Database on page 2-19.

Note that if you make any changes to the model or any of its referenced models in Configurator Developer before the concurrent request has copied all model data, the model logic will not be up to date and the concurrent request will fail. If this occurs, Configurator Developer sets the publication status to Error. To create the

Managing Models 2-15

Page 46: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Maintaining Publications

dev.book Page 16 Wednesday, February 28, 2001 2:09 PM

publication and change its status to Complete, you must republish the model. See Updating Referenced Models on page 2-3 and Updating a Publication on page 2-17.

New PublicationThis procedure creates a new publication record in the database only if the model has changed since it was last published.

1. Choose Tools > Publication from the Repository window. The Model Publishing window appears. See The Model Publishing Window on page 7-8.

2. Click New. In the New Publication dialog, click the list of values button for the Model field and select the model to publish.

Note that the list of values shows model names as they appear in the Repository window. You must enter the model to publish using this name, even though this name may not be the same as the root node in the Model window. See Tree Views on page 7-10.

3. Click OK.

4. Choose a UI if more than one exists for this model, or choose None if you do not want to publish a UI.

5. Select on which database instance you want to copy the model data. This list shows all databases defined in your organization. Note that this list includes all Oracle Applications database instances, not just instances that are currently enabled.

6. Enter applicability parameters for this publication, including a Mode, Application, Usages, and effective dates. For more information, see Applicability Parameters on page 2-8.

7. Click OK. Developer displays an error message if one or more applicability parameters overlaps with an existing publication. If this occurs, modify the parameters as required, then click OK. The new publication appears in the list of publications with a status of Pending.

8. Click Close.

9. Log in to Oracle Applications using the Configurator Developer responsibility.

10. Copy the model data to the database you specified in step 5. See Copying Model Data to a Database on page 2-19.

2-16 Oracle Configurator Developer User’s Guide

Page 47: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Maintaining Publications

dev.book Page 17 Wednesday, February 28, 2001 2:09 PM

New CopyThis section describes how to create a new publication based on an existing publication. This procedure also creates a new publication record in the database only if the model has changed since it was last published.

1. In the Model Publishing window, select the publication to copy from the list of existing publications.

2. Click New Copy.

3. In the Copy Publication window, modify parameters for the new publication as required.

4. Click OK.

5. If the model has changed since it was last published, copy the model data to the target database (see below). See Copying Model Data to a Database on page 2-19.

Updating a PublicationWhen you make changes to a model in the Configurator Developer, the changes do not affect the published version of that model. To update the published model you must copy all new or modified data to the database by republishing the model. Republishing copies new or modified model data to the database. A republished model is not available for testing or production activities until an Oracle Applications concurrent program successfully copies any new or modified model data. See Copying Model Data to a Database on page 2-19.

You cannot modify applicability parameters when republishing a model, but you can modify these parameters once the publication’s status is Complete. See Editing a Publication on page 2-19.

When you create a request to republish a model in the Model Publishing window, Configurator Developer creates a new publication record, adds a new publication record ID at the end of the existing publication, and changes its status to Pending Update. The new publication record ID that is appended to the existing record indicates that the two records are related.

Managing Models 2-17

Page 48: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Maintaining Publications

dev.book Page 18 Wednesday, February 28, 2001 2:09 PM

For example, publication record 1001 exists for Model M1 and its status is Complete. When you republish Model M1, Configurator Developer creates a new record (ID # 1002) in the Model Publishing window.

If you decide you do not want to create the publication, you can delete the Pending process (ID 1002) before its status changes to Complete. See Deleting a Publication on page 2-20.

When the Oracle Applications concurrent program selects the record, the record’s status changes to Processing.

If the concurrent program successfully copies the model data, the new record changes to Complete and the old one no longer appears in the Model Publishing window.

If the concurrent program fails, Configurator Developer changes the status of the original publication to Complete and changes the new record to Error.

Table 2–3

ID Model UI Published Status

1001 M1 UI-1 11/23/2000 12:01 Pending Update {1002}

1002 M1 UI-1 11/25/2000 14:35 Pending

Table 2–4

ID Model UI Published Status

1001 M1 UI-1 11/23/2000 12:01 Pending Update {1002}

1002 M1 UI-1 11/25/2000 14:35 Processing

Table 2–5

ID Model UI Published Status

1002 M1 UI-1 11/25/2000 14:35 Complete

Table 2–6

ID Model UI Published Status

1001 M1 UI-1 11/23/2000 12:01 Complete

1002 M1 UI-1 11/25/2000 14:35 Error

2-18 Oracle Configurator Developer User’s Guide

Page 49: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Maintaining Publications

dev.book Page 19 Wednesday, February 28, 2001 2:09 PM

You must delete the record that failed by selecting it in the Model Publishing window and then choosing Delete. See Deleting a Publication on page 2-20.

To update a publication:

1. Choose Tools > Publishing from the Repository window.

2. Select the publication to update.

3. Click Republish. Configurator Developer creates a concurrent request to copy model data to the specified database.

4. Click Close.

5. Copy the model data to the database. See Copying Model Data to a Database on page 2-19.

Copying Model Data to a DatabaseWhen you create a new publication, Configurator Developer inserts a new record in your development database. This publication record, and any others that exist in the database, are selected when an Oracle Applications concurrent program runs (concurrent programs are stored procedures that perform actions such as generating reports and copying data to and from a database).

The concurrent program copies model data to the database you specified when creating the publication. When the program completes successfully, the status of the publication changes to Complete and hosting applications can access the model in a configurator window.

You can either run the concurrent program manually or allow the Oracle Applications concurrent manager to run it automatically. For more information, see the Oracle Configurator Implementation Guide or contact your Oracle Applications system administrator.

Editing a PublicationEdit a publication’s applicability parameters to change the availability of a configuration model to hosting applications. For example, add an application to the Application parameter and specify additional Usages to make the publication more widely available. Changing applicability parameters does not create a new publication in the database, copy model data, or modify existing models in any way.

For example, you may want to change the Mode parameter from Test to Production to make the publication available for production use. Or add OM and TeleSales to

Managing Models 2-19

Page 50: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Maintaining Publications

dev.book Page 20 Wednesday, February 28, 2001 2:09 PM

the Application parameter to make a model available to a configurator window invoked from one of these hosting applications.

To make a publication available for a different application or Usage and for a different date range, you must create a new publication. See Creating a New Publication on page 2-15.

You can edit applicability parameters only if the publication’s status is Complete or Pending. Configurator Developer does not allow you to make changes that would create publications with overlapping applicability parameters in the same database instance. See Overlapping Applicability Parameters on page 2-10.

To modify a publication’s applicability parameters:

1. Choose Tools > Publishing from the Repository window.

2. Select the publication to modify, then choose Edit.

3. Modify the applicability parameters. You can modify the mode, applications, Usages, and effective dates.

4. Click OK.

Deleting a PublicationDeleting a publication prevents any run time Configurators from accessing the model for any further testing or production activities. You may also want to delete a publication if, for example, the concurrent program that copies model data has an error status upon completion. Deleting a publication removes the publication record from the database, but it does not delete any model data associated with the publication.

You can also make a publication unavailable by setting its Mode applicability parameter to Disabled. You might want to disable a publication if, for example, you need to make it temporarily unavailable. You can make the publication available again simply by updating its Mode applicability parameter to either Test or Production. See Editing a Publication on page 2-19.

For information about purging publication records and models from a database, see the Oracle Configurator Implementation Guide.

To delete a publication, its status must be Complete, Pending, or Error.

To delete a publication:

1. Choose Tools > Publishing from the Repository window.

2. Select the publication you want to delete, then choose Delete.

2-20 Oracle Configurator Developer User’s Guide

Page 51: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Maintaining Publications

dev.book Page 21 Wednesday, February 28, 2001 2:09 PM

3. Click OK.

Managing Models 2-21

Page 52: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Maintaining Publications

dev.book Page 22 Wednesday, February 28, 2001 2:09 PM

2-22 Oracle Configurator Developer User’s Guide

Page 53: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Constructing Model Stru

dev.book Page 1 Wednesday, February 28, 2001 2:09 PM

3

Constructing Model Structure

The Model WindowYou use the Model window in Configurator Developer to view and modify the structure of your configuration models. The Model window consists of three distinct "views" in which you see the Model structure, Configuration Rules, and User Interface (UI). Each of these views has a corresponding module from which you access tools to modify the Model Structure, Rules, and UI. See The Model Window Modules on page 8-1.

Model structure represents product data in a hierarchical "tree" and determines how the default UI is generated when an end user opens the model in a configurator window. The structure contains imported structure as well as additional nodes that define guided buying/selling questions and hidden elements that support totals, resources, and rules. In the Model view, imported BOM model structure and any referenced models are display-only and cannot be modified.

The Item MasterThe Oracle run-time configurator uses a standard schema for configuration data referred to as the Oracle Configurator schema. The Item Master is a subschema of the Oracle Configurator schema that contains product data. The Item Master consists of Items, which are specific elements of a product, and Item Types, which are logical groupings of items. You can view the Item Master by Item Name or by Item Description, and you can choose whether or not to view items grouped by Item Type. In most development situations, Item Master data is imported.

Oracle Configurator Developer provides a mechanism called Populators to link data items in the Item Master to the Model. Populators allow you to quickly update your Model to reflect changes in product data. See Using Populators on page 3-17.

cture 3-1

Page 54: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Importing Data into the Item Master

dev.book Page 2 Wednesday, February 28, 2001 2:09 PM

Importing Data into the Item MasterProduct data is typically imported into the Oracle Configurator schema from data sources external to Oracle Configurator. Legacy product data, such as Bills of Material or Pricing information, can be imported into the Item Master. Generally, the data sources are either a specific Oracle Applications database or a non-Oracle Applications database.

Oracle Configurator imports non-Oracle Applications databases by loading ASCII text files into Oracle Configurator Import Tables. In order to load an ASCII file into the Import Tables, your legacy data must be in the correct format to populate the database. You must create custom scripts to extract legacy data in the format required by the Import Tables. Consult the discussion of Generic Import in the Oracle Configurator Implementation Guide for more information on importing data from non-Oracle databases.

You can import product data from Oracle Applications into the Item Master using concurrent programs. For information about importing data, see the Oracle Configurator Implementation Guide.

Once the Oracle Configurator schema is populated with imported data, that data is available to Oracle Configurator Developer and the deployed Oracle run-time configurator. For more information about importing data from an Oracle Applications database into the Oracle Configurator schema, see the Oracle Configurator Implementation Guide.

Typically, an integrated Oracle Configurator in Oracle Applications is based on an existing BOM model. Oracle Configurator Developer automatically populates the Model Tree and the Item Master Structure with the imported BOM data. The part of the Model that is based on imported data cannot be altered in Oracle Configurator Developer. However, you can add additional Components, Resources, Totals, and so on to the Model to complete your configuration model requirements.

The types of BOM models that are configurable (and therefore are imported) are Assemble to Order (ATO) and Pick to Order (PTO) BOM models. These BOM models are defined in Oracle Bills of Material using item data defined in Oracle Inventory. The imported data is read-only in Configurator Developer because it must correspond to the BOM defined in Oracle Bills of Material throughout the business process.

When you import an Oracle BOM Model, defined Catalogs are imported as Item Types. Catalog Descriptive Elements and Descriptive Element Values are imported as item Properties and Property values. You can also manually create data Items and Item Types in the Item Master if your configuration model requires them.

3-2 Oracle Configurator Developer User’s Guide

Page 55: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Modifying the Item Master

dev.book Page 3 Wednesday, February 28, 2001 2:09 PM

However, you cannot transfer added elements back to the BOM schema to update the BOM. See The Imported BOM Model on page 3-8.

For detailed information on importing data into the Item Master, see Oracle Configurator Implementation Guide.

Modifying the Item MasterYou can add, edit, or delete Items, Item Types, or Properties associated with Item Types.

Adding a New Item Type1. Select the top-level node in the Item Master tree.

2. Select New Item Type from the Create menu or use the right mouse button to select New Item Type from the pop-up menu.

3. Enter the Name, Description, and Properties for the new Item Type. See Nodes Present in a Tree View on page 7-11 and Properties on page 8-26.

Adding a New Item1. Select an Item Type.

2. Select New Item from the Create menu or use the right mouse button to select New Item from the pop-up menu.

3. Enter the Name, Description, and Properties for the new Item Type. See Nodes Present in a Tree View on page 7-11 and Properties on page 8-26.

Changing the Item Type of an Item1. Select an Item.

2. Select the Change button in the Type/Properties area of the Attributes View.

3. The resulting dialog box allows you to select a new Item Type for the Item or create a new Item Type.

4. Repeat steps 1 through 3 for each Item Type you want to change. This is the only way to change an Item’s Item Type.

Constructing Model Structure 3-3

Page 56: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

The Model

dev.book Page 4 Wednesday, February 28, 2001 2:09 PM

Editing an Item or Item Type1. Select the Item or Item Type to edit.

2. Edit the information you want to change in the Attributes View. Configurator Developer updates the Item Master with the new information.

Deleting an Item or Item Type1. Select the Item or Item Type you want to delete.

2. Select Delete from the Edit menu or use the right mouse button to select Delete from the pop-up menu. You can delete an Item Type only if it has no items. If you attempt to delete an Item Type that has Items, Configurator Developer displays an error message indicating that you must delete the items first.

3. Select OK to confirm the deletion.

The ModelConstructing the Model structure is your first task in creating a configuration model. Importing Oracle BOM information creates an imported BOM Model. You can create additional structure to extend the Model to include additional aspects of your configuration problem. This added structure does not appear in the Java applet user interface, but can be accessed by launching a DHTML UI. See Run-time Oracle Configurator: Java Applet on page 5-2.

When you build a Model, you translate your knowledge about how parts are configured into the products you sell into terms that Oracle Configurator Developer, and ultimately the Oracle run-time configurator, can use. The Model is organized into a hierarchy called a tree. Configurator Developer provides the following object types to build your Model: Components, Features, Options, Resources, and Totals. You can also import BOM Models, BOM OptionClasses, and BOM StandardItems from an Oracle BOM.

Model The highest level of structure. A Model can contain Products.

Component A configurable part of a Product. A Component can contain Components, Features, Resources, and Totals.

3-4 Oracle Configurator Developer User’s Guide

Page 57: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Properties

dev.book Page 5 Wednesday, February 28, 2001 2:09 PM

PropertiesModel nodes can also have Properties. A Property of a node has a specific value that describes an instance of that node, but is not itself a selectable item in a configuration. Examples of common Properties are weight, diameter, and voltage. The values of Properties are used in Configuration Rules. See Comparison Rules on page 4-17 and Property-based Compatibilities on page 4-19.

To import Properties as part of an imported BOM Model, the Properties must be defined as Descriptive Elements and Descriptive Element Values in appropriate Catalogs associated with the Oracle BOM. The database setting ResolvePropertyDataType controls whether Descriptive Element Values are interpreted either as strings or as numbers. See the Oracle Configurator Implementation Guide for more information on this database setting.

For the portions of your model that you create in Oracle Configurator Developer, you can add, delete, and edit Properties directly on nodes of the Model, or you can add Properties to Items in the Item Master. When you add or delete a Property of a node in the Model, you affect only the selected node. This is different from Properties in the Item Master, where additions and deletions affect all Items of the selected Item Type.

Feature A Feature can be a List of Options, an Integer Number, a Decimal Number, a True/False value, or a Text value. A Feature of type List of Options can contain Options.

Option An Option is part of a List of Options in a Feature. It is often an object represented by an item in the Item Master.

Total A Total keeps track of a quantity. A Total can have a positive or negative value. Use Numeric Rules to contribute to and consume from Totals.

Resource A Resource also keeps track of a quantity. The value of a Resource can be positive or 0, but a Resource is violated if its value becomes negative. Use Numeric Rules to contribute to and consume from Resources.

BOM Model Equivalent to a Component

BOM OptionClass Equivalent to a Feature

BOM StandardItem Equivalent to an Option

Constructing Model Structure 3-5

Page 58: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Effectivity

dev.book Page 6 Wednesday, February 28, 2001 2:09 PM

When you use an Item or Item Type in your Item Master to create a node in your Model (for example, by using a Populator), the Model node always reflects all the currently defined Properties and Property values of the originating node in the Item Master. These inherited Properties cannot be deleted or edited in your Model. Properties that you define directly in your Model do not affect your Item Master.

Properties on page 8-23 describes how to add, edit, and delete Properties. Manage Properties on page 8-11 describes how to work with Properties on a project-wide basis.

The Properties you import with a BOM Model or define in either the Item Master or the Model are called User Properties. Properties in the Item Master are associated with an Item Type. If you change the Type of an Item, the Item loses its old Properties and acquires the Properties associated with the new Type. Note, however, that you cannot modify BOM Model properties that you import into Configurator Developer.

Model nodes also have System Properties. System Properties are attributes of the selected node that are specific to certain types of nodes and are provided by Oracle Configurator Developer for you to define. When you import BOM data, its system properties are also imported into Configurator Developer. Table 3–1 lists each System Property and the node type to which each Property can be assigned.

Table 3–1 System Properties

EffectivityEffectivity is a feature that allows you to model a product whose structure or Rules change over time. The effectivity you assign to Model nodes and configuration Rules determines the Model configuration at run time. You control effectivity by assigning a range of dates, an Effectivity Set, or one or more Usages to model nodes and configuration Rules. See Effectivity Attribute on page 8-24.

System Property Node Type

Name All nodes

Count Options and Components

Min Component

Max Component

Selection Features, List of Options with maximum = 1, and minimum = 1

3-6 Oracle Configurator Developer User’s Guide

Page 59: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Effectivity

dev.book Page 7 Wednesday, February 28, 2001 2:09 PM

All nodes and Rules that are not effective as of the date, time, and Usage specified in the host application’s session initialization message are ignored and do not appear in the run time UI. For more information about the session initialization message, see the Oracle Configurator Custom Web Deployment Guide.

You can see how effectivity affects the structure of your configuration models in Configurator Developer using the Test button. See The Test/Debug Module on page 6-1.

Publishing a model enables other users to invoke it from an external application such as Order Management or iStore for testing or production activities. See Publishing on page 2-6.

Effectivity SetsCreate Effectivity Sets to define an effective date range that can be shared by many models, model nodes, and configuration Rules simultaneously. When you modify an Effectivity Set’s date range, the change affects all model nodes and Rules to which it is assigned. Therefore, if you expect to use a specific effectivity date range for more than a very limited number of model nodes, it is better to define and assign an Effectivity Set rather than specifying an effective date range for each node and rule within your model.

You can assign Effectivity Sets to Features, Components, Options, Rules, Totals, Resources, and model publications. You can also assign an Effectivity Set to Models that you create in Configurator Developer, but not to imported BOM Models. This is because the effective dates are imported with the BOM Model and this information is read only.

You can also assign an Effectivity Set to Rules that are part of a Rule Sequence. See Advanced Expressions on page 4-36.

An Effectivity Set can be always effective, never effective, or effective only within the range of dates that you specify.

Examples of how Effectivity Sets affect Model components include:

β–  Components that are not effective do not appear in the run time UI.

β–  Configuration rules that are not effective are ignored (not executed) at run time.

β–  A configuration rule can fail at run time if an option that is part of the rule definition is not effective. For example, a logic rule specifies that you must have a compression gauge and a feeder hose to configure an air compressor. If the feeder hose is unavailable due to its effectivity, the rule will fail during

Constructing Model Structure 3-7

Page 60: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

The Imported BOM Model

dev.book Page 8 Wednesday, February 28, 2001 2:09 PM

run-time. Oracle Configurator displays a descriptive error message when a rule fails due to one or more ineffective components.

UsagesYou define Usages and assign them to model nodes and configuration Rules to control whether each Rule or node appears in the model at run time. Like Effectivity Sets, Usages provide a method of controlling the availability of Models, Features, Components, Options, Rules, Totals, Resources, and model publications. You can also assign Usages to imported BOM Models and Models created "from scratch" in Configurator Developer. You can assign Usages independently or in addition to an Effectivity Set.

When you create a new Usage, Configurator Developer automatically assigns it to all of the models, model nodes, and configuration Rules you have defined. To make a node or rule unavailable for a specific Usage, you must modify the list of Usages for that node or rule in the Model window.

When a configuration model is invoked by Oracle Order Management or iStore, the Usage or Usages provided by the host application determine which parts of the Model are displayed to the end user. Any Model nodes that are not assigned to the Usages specified do not appear in the Configurator run time UI.

Usages can be a very powerful tool you can use to manipulate the availability of Model nodes and Model publications, based on a variety of business requirements. Therefore, we recommend that you plan for and implement Usages very carefully when developing configuration models.

For more information about Usages and how they affect model availability, see the Oracle Configurator Implementation Guide and the Oracle Configurator Custom Web Deployment Guide.

The Imported BOM ModelA bill of materials (BOM) consists of components which are items defined in Oracle Inventory. The items that are components in an ATO/PTO model are of BOM item type Option Class or Standard. In Oracle Bills of Materials, the BOM Allowed box must be checked for any item that will function as a BOM component containing child components.

When constructing a BOM, you define inherent BOM attributes on the components such as mutually exclusive, optional, and required. A required item in a BOM is also called a mandatory component. If a component with a BOM item type of

3-8 Oracle Configurator Developer User’s Guide

Page 61: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

The Imported BOM Model

dev.book Page 9 Wednesday, February 28, 2001 2:09 PM

"Option Class" has the mutually exclusive attribute, the optional child components of that Option Class mutually exclude one another based on the minimum and maximum (min/max) allowed. Any component that is defined as required in Oracle BOM is always included in the imported BOM in Oracle Configurator Developer, with one exception: if a required component is a child of an optional component, it will be included only if the parent is selected.

When you import a BOM Model, the effective dates defined for each component in Oracle BOM are also imported into Configurator Developer and are read only. You cannot assign an Effectivity Set to imported BOM components, but you can assign one or more Usages to control a component’s effectivity in the run time UI.

Each BOM imported from Oracle Bills of Material corresponds to one BOM Model in Oracle Configurator Developer. The name of the BOM Model corresponds to the BOM name and Model nodes mirror the imported BOM structure.

See Oracle Configurator Implementation Guide for more information about importing data into Oracle Configurator Developer.

Item CatalogsYou can use Oracle Applications Item Catalogs to specify Item Types for imported data. The Catalog to which an item belongs is the Item Type in Configurator Developer. The Descriptive Elements and Descriptive Element Values defined in the Catalogs are imported as Properties and Property Values of that item. If no Item Catalogs are defined, the imported BOM items are all of the Item Master Type Default Type.

For searching and organizational ease, you can define Item Types in Oracle Configurator Developer for imported BOM items. Be aware that if you change the Item Type of an imported Item, you lose all Property and Property Value information imported with that Item.

The information imported with each BOM Model node includes:

β–  Name - the name of the BOM item.

β–  Description - a brief description of the BOM item.

β–  Definition - a basic definition of the BOM item including: BOM Item Type, Minimum Quantity, Maximum Quantity, Default Quantity, and a check box that is checked if optional children are mutually exclusive.

β–  Properties - defined as Descriptive Elements in an Oracle Applications Catalog.

Constructing Model Structure 3-9

Page 62: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

The Imported BOM Model

dev.book Page 10 Wednesday, February 28, 2001 2:09 PM

β–  Property Values - defined as Descriptive Element Values in an Oracle Applications Catalog.

Item Types and PropertiesIn Configurator Developer, you can add Properties to Item Types in the Item Master. Item Type Properties appear with their associated nodes in the BOM Model. You cannot add Properties directly to a Model node of an imported BOM structure. Imported Properties can be modified or deleted from the Item Master, but data modified in Oracle Configurator Developer is lost when data is refreshed unless the CZ_XFR_FIELDS table is updated to exclude property values. See Oracle Configurator Implementation Guide for more information on CZ_XFR_FIELDS table.

The Model nodes that represent the BOM items cannot be deleted or modified. This is because the BOM structure that is imported must be the same BOM structure that is exported to Oracle Order Management after an item is configured. However, you can add Model structure (such as an additional node for customer requirements) to the Product node that is the parent of the BOM Model.

Viewing Imported BOM Model NodesYou can easily differentiate between the BOM Model nodes and new nodes you add in Configurator Developer by the colors of the node icons. BOM item nodes are BOM Model, BOM OptionClass, and BOM StandardItem and they correspond to entity types of the same name in Oracle Bills of Material.

In the following illustration, Build Your Own Laptop is a BOM Model and is equivalent to a Component in the Model created in Configurator Developer. Software Options is a BOM OptionClass and is equivalent to a Feature. Software - Word Processing is a BOM StandardItem, and is equivalent to an Option.

3-10 Oracle Configurator Developer User’s Guide

Page 63: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

The Imported BOM Model

dev.book Page 11 Wednesday, February 28, 2001 2:09 PM

Although BOM Model nodes are similar in many ways to nodes created in Configurator Developer, they also have some unique characteristics. For example, the initial logic state of a required feature in a BOM Model is "unknown" while the initial logic state for a similar required feature (min/max is 1/1) in a Configurator Developer Model is "true." Similarly, if the BOM Model node is set to false during a configuration session, its parent node is also set to "false."

For BOM Models, BOM OptionClasses, and BOM StandardItems, the information in the Name, Description, and Definitions areas are gray, which indicates that these values are imported from the BOM and cannot be changed in Configurator Developer.

The Properties action buttons are also gray because Properties are imported and cannot be added to the BOM Model in Configurator Developer. However, Properties can be added to Item Types associated with a node.

Imported BOM Model Names in the Model WindowThe BOM Model name that appears in the title bar of the Model window consists of the Model name as it appears in the Repository window followed by the BOM Model’s organization ID and inventory item ID.

For example:

"Production V1 Test (204 52144)"

Manually Created Model Imported BOM Model

Constructing Model Structure 3-11

Page 64: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Assemble to Order Rules

dev.book Page 12 Wednesday, February 28, 2001 2:09 PM

In this example, Production V1 Test is the BOM Model name as defined in the Repository window, 204 is the organization ID, and 52144 is the inventory item ID. You can modify the name of a node that refers to a BOM Model in the Model window, but you can modify the name of the BOM Model itself only in the Repository window.

Assemble to Order RulesBasic Assemble To Order (ATO) Rules that are inherent in the BOM Model are imported and automatically applied in Oracle Configurator Developer. These rules include Required and Mutually Exclusive options and Quantity Cascade computations.

β–  Required rules apply to child nodes that are required with the parent node. Whenever the parent is selected, the required children are also selected.

β–  Mutually Exclusive (Mutex) rules apply to parent nodes from which you can choose only one out of all optional child nodes. In other words, of all non-required children, only one can be selected.

β–  Quantity Cascade calculations determine the final quantity requirements for the selected child node.

You can create and associate additional rules for all BOM items in the Model, including Resources and Totals.

Each BOM Model and BOM OptionClass corresponds to a screen in the User Interface for the Oracle run-time configurator. The UI displays BOM items in the exact order of their hierarchy in the Model.

Quantity Cascade Calculations Quantity Cascade calculations determine the final quantity requirements for the selected child node.

When BOM items are imported, they maintain their parent/child relationships. A parent node may have multiple children; some required, some optional, and some mutually exclusive (Mutex). When a parent node is selected, all required children of that parent are selected. When any child node is selected, its parent node is also selected.

Each BOM item is imported with a Minimum Quantity, Maximum Quantity, and Default Quantity. The Minimum Quantity is the smallest number of the selected item allowed per parent. The Maximum Quantity is the largest number of the

3-12 Oracle Configurator Developer User’s Guide

Page 65: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Assemble to Order Rules

dev.book Page 13 Wednesday, February 28, 2001 2:09 PM

selected item allowed per parent. The Default Quantity is the number of the selected item per parent if not modified in the selection process.

Whenever the number of a selected item is greater than zero, a Quantity Cascade calculation is performed which results in the Actual Quantity (or count) for that BOM item. The Quantity Cascade calculation is:

<child node actual quantity> = <parent node actual quantity> X <child node default quantity>

This calculation is true when the end user selects the parent item (for example, an option class) and one of its children but does not change the amount of the child item (for example, an option). Therefore, the count of the child is derived from the equation shown above.

However, if the end user enters a different amount for the child (option) and then changes the amount of the parent (option class), the Quantity Cascade calculation is:

( <new child node amount> / <current child node amount> ) X <old parent node amount> = <new parent node amount>

For example, OptionClassA (the parent node) contains Option1 (the child node). Option1 has an initial count of 2. The end user sets Option1 to 4 and then changes OptionClassA to 3. The Quantity Cascade calculation determines a new amount for Option1 as follows:

( 4 / 2 ) X 3 = 6

Note that the calculation ensures that the new amount of the child node (6) is a multiple of its default quantity (2).

These Quantity Cascade relationships reflect the relationships between components that are built into the Oracle BOM to ensure that the BOM is filled properly. For example, consider the BOM for a car that specifies four wheels and five lug nuts for each wheel. If you select the car, that means you must have four wheels and twenty lug nuts. Similarly, if you select one wheel, that forces selection of the car, which forces the Quantity Cascade calculation, which selects four wheels and twenty lug nuts. The Numeric Rules you build in Configurator Developer respect these Quantity Cascade relationships. If you build a rule that contributes to the count of lug nuts, and the end user uses that rule to select 25 lug nuts, the Oracle run-time configurator:

Constructing Model Structure 3-13

Page 66: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Building Model Structure

dev.book Page 14 Wednesday, February 28, 2001 2:09 PM

β–  determines the minimum number of cars for the specified number of lug nuts (2 cars)

β–  calculates the number of wheels required (8) and the number of lug nuts needed (40)

All BOM item actual quantities are calculated this way and are propagated from the root BOM node down through the entire BOM Model.

Building Model StructureFollow the steps described in the following sections to add Model structure elements to an imported BOM Model, or to build a demo or prototype system. To test your Model, see Testing and Debugging on page 6-1.

You can create supplementary structure under a BOM Model node. This structure can include the following types of nodes:

β–  Components

β–  Features

β–  Totals

β–  Resources

β–  References to Component-based models (that is, models that do not contain BOM structure)

Creating a ProductA Product is a complete object or system that an end user can configure and purchase.

To create a Product:

1. Select the top-level Model folder in the Model View.

2. Choose New Product from the Create menu or use the right mouse button to select New Product from the pop-up menu.

3. Enter a name for the Product.

4. Enter the following attributes for the Product (select the arrowhead to the left of each attribute to open and close each section):

– Name - See details on page 7-11.

3-14 Oracle Configurator Developer User’s Guide

Page 67: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Building Model Structure

dev.book Page 15 Wednesday, February 28, 2001 2:09 PM

– Description - See details on page 7-11.

– Count - See details on page 8-22.

– Visibility in the User Interface - See details on page 8-20.

– Properties - See details on page 8-23.

– Populators - See details on page 8-23.

Creating a ComponentA Component is a part of a product that the end user can configure.

To create a Component:

1. Select the Product node.

2. Choose New Component from the Create menu or use the right mouse button to select New Component from the pop-up menu.

3. Enter a name for the Component.

4. Enter the following attributes for the Component:

– Name - See details on page 7-11.

– Description - See details on page 7-11.

– Count - See details on page 8-22.

– Visibility in the User Interface - See details on page 8-20.

– Properties - See details on page 8-23.

– Populators - See details on page 8-23.

Creating a FeatureA Feature is a parameter that can be specified to configure a Component.

To create a Feature:

1. Select the Component node.

2. Choose New Feature from the Create menu or use the right mouse button to select New Feature from the pop-up menu.

3. Enter a name for the Feature.

4. Enter the following attributes for the Feature:

Constructing Model Structure 3-15

Page 68: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Building Model Structure

dev.book Page 16 Wednesday, February 28, 2001 2:09 PM

– Name - See details on page 7-11.

– Description - See details on page 7-11.

– Type - See details on page 8-20.

– Visibility in the User Interface - See details on page 8-20.

– Properties - See details on page 8-23.

– Populators - See details on page 8-23.

Creating an OptionAn Option is a possible enumerated value of a Feature.

To create an Option:

1. Select the Feature node.

2. Choose New Option from the Create menu or use the right mouse button to select New Option from the pop-up menu.

3. Enter a name for the Option.

4. Enter the following attributes for the Option:

– Name - See details on page 7-11.

– Description - See details on page 7-11.

– Visibility in the User Interface - See details on page 8-20.

– Properties - See details on page 8-23.

Creating a Total or ResourceYou can create Totals and Resources as child nodes of Products and Components. A Total acts as a numeric variable in your Model. A Resource is similar to a Total, but is sensitive to whether its value violates a specified minimum or maximum quantity. A Total can be used as a constant, or set when the end user makes another selection. You can use Configuration Rules to contribute quantities to or consume quantities from both Totals and Resources. See The Configuration Rules Module on page 4-1 for details about applying Configuration Rules to Totals and Resources.

To create a Total or Resource:

1. Select the Product or Component node where you want to create the Total or Resource.

3-16 Oracle Configurator Developer User’s Guide

Page 69: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Using Populators

dev.book Page 17 Wednesday, February 28, 2001 2:09 PM

2. Choose New Total or New Resource from the Create menu or use the right mouse button to select New Total or New Resource from the pop-up menu.

3. Enter a name for the Total or Resource.

4. Enter the following attributes for the Total or Resource:

– Name - See details on page 7-11

– Description - See details on page 7-11

– Initial Value - See details on page 8-19.

– Visibility in the User Interface - See details on page 8-20.

– Properties - See details on page 8-23.

– Violation Message - For Resources only. See details on page 8-30.

Using PopulatorsYou can use a Populator to create Products, Components, Features, and Options using Items and Item Types that exist in the Item Master. A Populator creates the new nodes as children of the node on which you define the Populator. If you use Populators to build Model structure from Items, any properties and property values associated with the Items are incorporated into the Model. You can repopulate the Model with current data when data in the Item Master changes by selecting Tools > RePopulate.

Note that Populators are not typically used with imported data because doing so can create maintenance problems when you refresh the imported data.

You can also drag and drop Items and Item Types from the Item Master Context Tree View to populate a Product node with Components. Model structure built in this way has no connection to the data in the Item Master, and cannot be updated when that data changes.

The Define Populator DialogUse the Define Populator dialog box to create a Populator. The Preview button in the lower left of the dialog box shows you the data that the Populator as defined selects from the Item Master. Use this preview to verify that the Populator is selecting the data you intend before adding structure to your Model.

Constructing Model Structure 3-17

Page 70: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Using Populators

dev.book Page 18 Wednesday, February 28, 2001 2:09 PM

The Create field:The field in the upper left corner of the dialog box is labeled Create. Use it to specify the type of Model node the Populator creates. Your choices of nodes to create depend on the node on which you are defining the Populator. Table 3–2 summarizes the available choices.

Table 3–2 Populators and Model Nodes

The from field:The field immediately to the right of the Create field is labeled from. Use it to specify the type of Item Master data the Populator uses to create the specified nodes. The same types of Item Master data are available for all types of nodes that a Populator can create. They are:

β–  Item Types

β–  Items

β–  Property

β–  Property Values

The Where fields:The remaining fields in the dialog box enable you to enter selection criteria to specify exactly what Item Master data the Populator uses. This field is case-sensitive, so you must enter the name of the item exactly as it appears in the Item Master.

The selection criteria you can specify are determined by the choice of type of Item Master data you made in the from field. The types of criteria available to you are listed in the field labeled Where Item Type, Where Item, or Where Property. You enter criteria in the field in the lower right of the dialog box by either typing text into the field or selecting from a list of available options, depending on the type of criteria that you entered.

Selected Model Node Nodes Populator Can Define

Product Products, Components, or Features

Component Components or Features

Feature Options

3-18 Oracle Configurator Developer User’s Guide

Page 71: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Using Populators

dev.book Page 19 Wednesday, February 28, 2001 2:09 PM

If you select Property Value in the from field, you must specify criteria differently. The Define Populator Dialog box displays two fields. The first is labeled: Where Item Type is. Select the button to the right of the field to select from a list of Item Types. The second field is labeled: Where Property is. Select the button to the right of the field to select from a list of Properties.

Type of Item Master Data Available Criteria How you Specify Criteria

Item Type begins withends withcontainsmatches

Type text into the field.

Item Types are selected depending on whether the Item Type name begins with, ends with, contains, or matches the text you provide.

Item is of Type Select button to the right of the field, then select from list of Item Types

begins withends withcontainsmatches

Type text into the field.

Item Types are selected depending on whether the Item Type name begins with, ends with, contains, or matches the text you provide.

Property is Property of Select button to the right of the field, then select from list of Item Types

begins withends withcontainsmatches

Type text into the field.

Item Types are selected depending on whether the Item Type name begins with, ends with, contains, or matches the text you provide.

Property Value Where Item Type is Select button to the right of the field, then select from list of Item Types

And Property is Select button to the right of the field, then select from list of Propertiess

Constructing Model Structure 3-19

Page 72: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Using Populators

dev.book Page 20 Wednesday, February 28, 2001 2:09 PM

Creating a PopulatorFollow these steps to add, edit, and delete Populators. You can cut and paste a node with Populators, but if you copy a node with Populators, the Populators are lost in the copy.

1. Select the Product, Component, or Feature node you want to populate.

2. Select the arrowhead to the left of the Populators section to open it. This section lists existing Populators and provides buttons to Add, Edit, or Delete Populators.

3. Select the Add or Edit button to open the Define Populator dialog box. See The Define Populator Dialog on page 3-17. Add creates a new Populator, Edit modifies the selected Populator.

Select the Delete button to delete the selected Populator.

4. Select the type of node you want to create from the Create dropdown list.

5. Select the type of Item Master data the Populator should use from the from dropdown list.

6. Specify the selection criteria the Populator should use. Choices available to you and the format for your selection depends on the selection you made in the from list.

7. Select the Preview button to verify that the Populator retrieves the data that you expect.

8. Select OK to accept and run the new or modified Populator. The Populator creates elements for the selected Product, Component, or Feature automatically using the data from the Item Master.

3-20 Oracle Configurator Developer User’s Guide

Page 73: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Constructing Configuration

dev.book Page 1 Wednesday, February 28, 2001 2:09 PM

4

Constructing Configuration Rules

The Configuration Rules ModuleOne of the most critical activities in constructing your configuration model is to design and construct the rules that govern what the end user can select to make a valid configuration. You need to identify the rules that express relations among the Products, Components, Features, Options, BOM OptionClasses, and BOM StandardItems of your Model.

When you defined the requirements for your configurator, you defined the rules for a valid configuration. You now need to determine how you can most effectively and efficiently apply these rules, using the kinds of Configuration Rules provided by Oracle Configurator Developer. For each type of Configuration Rule you identify Model elements that are:

β–  used as general defaults

β–  used as defaults when another option is selected

β–  automatically selected when a user selects another option

β–  permitted when a user selects another option

β–  excluded when a user selects another option

Oracle Configurator Developer provides a convenient interface that allows you to drag nodes from your model and drop them into the appropriate parts of the rule structure. Many rules can be built through this drag-and-drop interface. When you need to build more complex Configuration Rules, you can use the Advanced Expression editor. See Advanced Expressions on page 4-36 for more information.

You can also extend the abilities of Configurator Developer and define custom behavior by creating Functional Companions. Functional Companions enable you to create implement custom rurun-time uiles, access information outside the

Rules 4-1

Page 74: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

The Configuration Rules Module

dev.book Page 2 Wednesday, February 28, 2001 2:09 PM

configuration model, perform engineering calculations and integrate with an alternative user interface. See Functional Companions on page 4-48.

Compiling RulesAfter you define a rule in Configurator Developer, you must choose Tools > Generate Active Model from the Model window to complete the rule definition and generate the "logic net" for the configuration model. The Generate Active Model function retrieves data from the database, builds the logic network that constrains configuration choices, and checks for incomplete rules and inconsistent logic.

You must also generate the Active Model whenever you modify a rule in Configurator Developer to update its definition within the configuration model. At runtime, the configurator accesses the logic net defined by your rules to determine the state of each option before and after the end user makes a selection. The rules alert the user when an invalid selection is made and selects or deselects other options to ensure a valid configuration is created.

Configuration Rules and Logic StateIn order to enforce the rules you build, the Oracle runtime configurator maintains a logic state for Items the user can select in the run-time UI. An Item in this context is any option the end user can select when configuring a product. Items can include an Oracle Configurator Developer Component, Feature, or Option, or any optional BOM model, option class, or standard item in the configuration model.

An Item’s logic state can be true, false, or unknown.

β–  A logic state of true means that the Item is included in the configuration.

β–  A logic state of false means that the Item is excluded from the configuration

β–  A logic state of unknown means that no decision has been made about the Item.

A logic state can be true because:

β–  the user explicitly selected an Item (this is called user true)

β–  the Oracle runtime configurator has set the logic state to true in response to a rule triggered by another selection the user has made (this is called logic true)

Similarly, a false logic state can result from explicit user selection (user false) or from the action of rules (logic false).

4-2 Oracle Configurator Developer User’s Guide

Page 75: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

The Configuration Rules Module

dev.book Page 3 Wednesday, February 28, 2001 2:09 PM

When the end user opens a configurator window, all logic states are initially unknown, unless you have defined default values. See Initial Value on page 8-19. The exception is a Feature that has a minimum Number of Selections of one or greater: this has an initial logic state of true because at least one Option must be selected to create a valid configuration. The Oracle runtime configurator keeps track of all changes to an Item’s logic state that result from an end user’s selections and the rules triggered by those selections.

Logical RelationshipsYou can express constraints among elements of your Model in terms of logical relationships. For example, one product Feature may require or imply that another Feature or Option be included in the product configuration. Oracle Configurator Developer provides the following logical relationships:

β–  Requires on page 4-4 on page 4-4

β–  Implies on page 4-4 on page 4-4

β–  Excludes on page 4-5 on page 4-5

β–  Negates on page 4-5 on page 4-5

β–  Defaults on page 4-5 on page 4-5

The following five sections describe these relationships and present tables illustrating their action.

In each row of the table, the unshaded portion indicates the logic state chosen by the end user, and a shaded portion indicates the logical state that results from the selection. The arrows indicate the direction in which the logic state is propagated. Notice that logic state can propagate both from the A side to the B side of the relation, and from the B side to the A side. Notice also that for some values and some logic relations, there is no propagation of logic state.

The text following the table describes the effects of applying that type of relationship.

Constructing Configuration Rules 4-3

Page 76: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

The Configuration Rules Module

dev.book Page 4 Wednesday, February 28, 2001 2:09 PM

Requires

The effect of the Requires relation: If you set either Item to true or false, the corresponding Item in this relation is also set to the same state (true or false). The two are forced to be the same.

Implies

The effect of the Implies relation: If you set A to true, then B is set to true as well; conversely, if you set B to false, then A is also set to false.

Compare this diagram to the corresponding one for the Requires relation. In the Implies relation, note that there are no β€œpushing” arrows when a result is undetermined.

4-4 Oracle Configurator Developer User’s Guide

Page 77: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

The Configuration Rules Module

dev.book Page 5 Wednesday, February 28, 2001 2:09 PM

Excludes

The effect of the Excludes relation: If you set an Item to true, the corresponding Item in this relation becomes false, since it is not allowed. If you set an Item to false, it has no effect on the other Item.

Negates

The effect of the Negates relation: If you set an Item to true or false, the corresponding Item in this relation is immediately set to the opposite. The two are forced to be opposed.

DefaultsThe effect of the Defaults relation: If you set the A side of the relation to true, the B side is set to true. Unlike other logic relations, the logic state of the B side is not enforced. You can set the B side to true or false regardless of the state of the A side.

Constructing Configuration Rules 4-5

Page 78: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

The Configuration Rules Module

dev.book Page 6 Wednesday, February 28, 2001 2:09 PM

The relations only action is to set B to true when A is set to true, if B is not true already. You can think of Defaults as defining additional suggested selections if the user makes a certain selection.

The Defaults relation can be used to set up an initial configuration, for example, by triggering a set of Defaults relations with a boolean Feature whose initial value is true. Items that are False because of a Defaults rule (or the action of that rule) are available in the run-time UI.

All True and Any TrueThe preceding relations describe logical relationships in terms of true and false values for A and B sides of the relation. You can also build logic relations where the A or B side involves more than one term, for example, all the Options of a Feature. In this case, you must specify whether that side of the relation is true if ALL of the terms are true, or if that side is true if ANY of the terms are true.

β–  Select All True in the Definition section for the rule, or use the AllTrue function in the Advanced Expression editor, if you want the side of the relation to evaluate to true only if all terms are true. If any term is false, the expression is false. This is a logical AND expression.

β–  Select Any True in the Definition section for the rule, or use the AnyTrue function in the Advanced Expression editor, if you want the side of the relation to evaluate to true if any term is true. The expression if false only if all terms are false. This is a logical OR expression.

For information about NotTrue, see Using NotTrue in Advanced Expressions on page 4-46.

Summary of Logical RelationshipsCompare and contrast the effects of the logical relationships as shown in Table 4–1:

4-6 Oracle Configurator Developer User’s Guide

Page 79: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Enforcing Logical Relationships

dev.book Page 7 Wednesday, February 28, 2001 2:09 PM

Table 4–1 Summary of Logical Relationships

Enforcing Logical RelationshipsThe rules you create in Oracle Configurator Developer shape choices the end user can make in the deployed configuration model. If the end user makes a selection that violates a rule, the configuration model responds with various errors and messages. For example, if the end user attempts to set a numeric Feature to a value that exceeds its defined maximum, the system responds with a message such as the following one, and the value of the Feature is not changed.

Constructing Configuration Rules 4-7

Page 80: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Enforcing Logical Relationships

dev.book Page 8 Wednesday, February 28, 2001 2:09 PM

However, the numeric rules Contributes to and Consumes from are handled differently. If the user selects values that cause a numeric Feature, Option count, Total, or Resource to exceed its defined maximum or minimum values, the system responds with a message similar to the one shown below. As the text of the message indicates, the value remains invalid.

4-8 Oracle Configurator Developer User’s Guide

Page 81: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Enforcing Logical Relationships

dev.book Page 9 Wednesday, February 28, 2001 2:09 PM

If the end user attempts to save the configuration in this state, or any other state that violates the rules you have established, the configuration model responds with a message similar to the following.

The end user can save the invalid configuration.

If the end user attempts to make a change to the configuration that violates other logic rules, the systems responds with a message similar to the following.

The user must either agree to reject the last selection or indicate that the change should be made. In the latter case, the system changes values of other Features, Options and so on until the configuration is restored to a valid state.

Constructing Configuration Rules 4-9

Page 82: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Overriding User Selections in the Run-time UI

dev.book Page 10 Wednesday, February 28, 2001 2:09 PM

If a feature or option has a logic state of false that is a result of a previous selection, that item’s icon will be available in the UI (that is, it will not appear with a red X) and Configurator Developer will not display a contradiction message when the user selects it. Additionally, depending on the Configuration Rules you have defined, it may be possible for the end user to select the item and create a valid configuration.

Overriding User Selections in the Run-time UIAt run-time, there may be times when the system deselects one of an end user’s previous selections but does not alert the user by displaying a notification. The system automatically deselects an option in the run-time UI when both of the following are true:

β–  an end user selects an option that causes the option to exceed its maximum quantity

β–  any one of the previous selections was made by the user (that is, its logic state is user true)

However, the system cannot deselect a selection that was made by the action of a rule (that is, its logic state is logic true). If none of the previous selections were made by the user, no override occurs and a the system displays a violation message in the UI.

For example, an option feature called f1 has a minimum of 1 and a maximum of 2. This feature contains 3 options: o1, o2, and o3. The maximum of f1 is reached (2 options are selected) either by user selection or by the action of a rule. The third option is unknown and available. When the user selects the third option, whether the system overrides a previous selection depends on how the selections were made.

Consider these examples:

β–  If o1 and o2 are user true and o3 is made true, the system deselects the most recent end user selection and selects o3.

β–  If o1 is user true and o2 is logic true and the user selects o3, the system deselects o1.

β–  If o2 is being contributed to from another item, both o1 and o2 are user true, and the user selects o3, the system deselects o1.

β–  If both o1 and o2 are logic true and the user selects o3, there is a contradiction and o3 cannot be made true. In this case, the system displays a violation message.

4-10 Oracle Configurator Developer User’s Guide

Page 83: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Types of Configuration Rules

dev.book Page 11 Wednesday, February 28, 2001 2:09 PM

For more information on logic states, see Configuration Rules and Logic State on page 4-2.

Types of Configuration RulesThe types of Configuration Rules provided are summarized in the following table:

To create Configuration Rules for an element of your Model, perform the following:

β–  determine the type of rule you want to create

β–  build the rule expression

Rule type Description

Logic Rules on page 4-13

Define logical relationships between Features, Options, BOM OptionClasses, and BOM StandardItems using a logic relations.

The logic relations available are: Requires, Implies, Excludes, Negates, and Defaults.

Numeric Rules on page 4-14

Perform a numeric operation on one or more numeric Features, Option counts, or Totals placing the result in a numeric Feature, Option count, Total, or Resource.

The rules available are: Contributes to and Consumes from, each with a variety of ways in which to specify the numeric operation.

Comparison Rules on page 4-17

Perform a comparison between the value of a Property of one or more Features and the value of another such Property, or some constant value.

Property-based Compatibilities on page 4-19

Specify matches between the Options of one or more Features that have a common Property.

Explicit Compatibilities on page 4-21

Specify matches between the Options of one or more Features in explicit tabular form.

Design Charts on page 4-23

Specify compatibility matches between one Primary Feature’s Options and multiple Secondary Feature’s Options in explicit tabular form.

Rule Sequences on page 4-30

Specify an ordered set of rules whose effectivity dates are set so that a Rule in the sequence becomes effective at the same time its predecessor ceases to be effective.

Functional Companions on page 4-48

Write code to perform pre-selection or validation functions that go beyond Oracle Configurator Developer’s supplied functionality.

Constructing Configuration Rules 4-11

Page 84: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Building Configuration Rules

dev.book Page 12 Wednesday, February 28, 2001 2:09 PM

β–  generate the rule logic

β–  test the rule (see Testing and Debugging on page 6-1)

Rule FoldersYou can create folders in the Configuration Rules tree to organize your Configuration Rules. When you create a rule, Oracle Configurator Developer places a node for the rule in the folder you have selected. You can create as many rule folders as you need to organize the rules in a meaningful manner. Rule folders may contain multiple types of rules. You can use standard drag-and-drop or cut, copy, and paste operations to move or copy a rule from one folder to another. The same rule cannot reside in more than one folder. If you copy a rule to a different folder, you have created a new, separate rule that can be modified independent of the original.

Enabling and Disabling RulesAll rules except Functional Companions can be enabled or disabled. The Attributes View for each rule contains a check box labeled disable to the right of the rule name. Select this box to disable the rule. A check mark appears to indicate that the rule is disabled. Select the box again to enable the rule.

You can also disable and enable all the rules in a selected folder by selecting the appropriate button in the Attributes View for the folder. Disable and enable at the folder level are merely convenient methods to change the setting for a group of rules. You can still enable and disable individual rules within the folder.

Enabling and disabling rules can be a useful tool in testing and debugging your configuration model.

Building Configuration RulesFollow these general steps to build any of the available Configuration Rules. For detailed information on building a specific type of rule, see:

β–  Logic Rules on page 4-13

β–  Numeric Rules on page 4-14

β–  Comparison Rules on page 4-17

β–  Property-based Compatibilities on page 4-19

β–  Explicit Compatibilities on page 4-21

4-12 Oracle Configurator Developer User’s Guide

Page 85: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Logic Rules

dev.book Page 13 Wednesday, February 28, 2001 2:09 PM

β–  Design Charts on page 4-23

β–  Rule Sequences on page 4-30

β–  Functional Companions on page 4-48

1. Select the Rules button on the main toolbar. The Configuration Rules tree appears in the lower-left pane.

2. Select a node in the Configuration Rules tree.

3. Open the Create menu and select the New command for the type of rule you want to create. You can also highlight the Configuration Rules node in the Context Tree View, select the right mouse button, and select New command from the pop-up menu.

4. Enter the following attributes for the rule. Select the arrowhead to the left of each attribute to open and close each section.

– Name - See details on page 7-11.

– Description - See details on page 7-11.

– Parameters - See details on page 8-29.

– Definition - See details on page 8-29.

– Violation Message - See details on page 8-30.

5. Select Generate Active Model from the Tools menu when you are ready to test your rules.

6. Test your new rule. See Testing and Debugging on page 6-1 for details about testing your Configuration Rules.

Logic RulesLogic rules establish a logical relationship between one part of your Model structure and another. You can use them to control the selections the end user makes.

Building Logic RulesSee Building Configuration Rules on page 4-12 for a general description of creating Configuration Rules.

1. Select the arrowhead to the left of the Definition section to open it.

Constructing Configuration Rules 4-13

Page 86: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Numeric Rules

dev.book Page 14 Wednesday, February 28, 2001 2:09 PM

2. Drag and drop the specific Feature, Option, BOM OptionClass, or BOM StandardItem nodes from the Model View to the rule element A and B lists.

β–  To apply the rule to a Feature, Option, BOM OptionClass, or BOM StandardItem, select the node with the left mouse button and hold down the button while you drag the node to the rule element list.

β–  To apply the rule to all of the Options of a Feature or BOM OptionClass, select the node with the right mouse button and hold down the button while you drag the node to the rule element list. Release the right mouse button. Select OptionsOf(nodename) from the pop-up menu.

β–  Indicate whether any of or all of the elements in the element lists must be true for the rule by selecting Any True or All True. See Types of Configuration Rules on page 4-11.

3. Indicate whether the result of rule element A Requires, Implies, Excludes, Negates, or Defaults rule element B.

Numeric RulesNumeric Rules express constraints between elements of your Model in terms of numeric relationships. With Numeric Rules, the selection a user makes can contribute to or consume from a Resource, Total, numeric Feature, or Option count.

Contributes toA Contributes to rule specifies addition of a numeric value to a specified numeric Feature, Option count, Total, or Resource. Calculation of the numeric value can involve Constants, Boolean values, numeric Features, Option counts, Option properties, or Totals.

Consumes fromA Consumes from rule specifies subtraction of a numeric value from a specified numeric Feature, Option count, Total, or Resource. Calculation of the numeric value can involve Constants, Boolean values, numeric Features, Option properties, or Totals.

Building Numeric RulesSee Building Configuration Rules on page 4-12 for a general description of creating Configuration Rules.

4-14 Oracle Configurator Developer User’s Guide

Page 87: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Numeric Rules

dev.book Page 15 Wednesday, February 28, 2001 2:09 PM

1. Select the arrowhead to the left of the Definition section to open it.

2. The A side of the rule consists of a comparison operator and two operands. Select an operator from a dropdown list. The operator can be one of:

β–  * Multiplication

β–  / Division

The operands can be one of:

β–  Boolean Expression: A boolean expression is one that can have a true/false value. A value of true is interpreted as a one (1) and a value of false is interpreted as a zero (0). For example, if either Analog1 or Analog2 are selected, a value of 5 (1 x 5) would be contributed to the weight total. Indicate whether any or all of the Features or Options in the list must be true for the rule by selecting Any True or All True. See Types of Configuration Rules on page 4-11. To apply the rule to a Feature, select the Feature from the Model View with the left mouse button and hold down the button while you drag it to the rule element list. To apply the rule to an Option, expand the Feature, select the specific Option with the left button while you drag it to the rule element list. To apply the rule to all of the Options of a Feature, select the Feature with the right mouse button and hold down the button while you drag it to the rule element list. Release the right mouse button. Select the Feature name or the Options of the Feature from the pop-up menu that appears.

β–  Option Count: Select an Option in the Model tree view with the left button and then drag it to the rule element list. Option Count(s) use the count of each Option in the rule. If the operand is an Option Property, the respective property value of each Option is contributed. For example, the count of each selected Option is multiplied by the respective value of the Option’s weight property and contributed to the weight total.

β–  Constant: Enter a positive numeric constant.

β–  Total or Numeric Feature: Select the specific Total or Numeric Feature with the left button while you drag it to the rule element list. For more information about Totals and Features, see The Model on page 3-4.

3. Indicate whether the result of rule element A Contributes to or Consumes from rule element B.

4. The B side of the rule consists of a Total, Resource, Numeric Feature, Option count, or BOM StandardItem count. Drag and drop the node from the Model

Constructing Configuration Rules 4-15

Page 88: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Negative Contributions

dev.book Page 16 Wednesday, February 28, 2001 2:09 PM

View to the rule element B. Only one node can be selected for numeric rule element B.

Note that any combination of Numeric Rules that results in a negative contribution to an Option count, BOM node count, or count feature (a numeric feature with a non-negative min), will have no effect at runtime. This situation can arise in various ways. For example:

β–  A single Numeric Rule consuming a positive value, such as

β–  A single Numeric Rule contributing a negative value

β–  Multiple Numeric Rules that together result in a negative net contribution

In some cases, you may have other rules that offset a negative contribution. In these instances, the rule is valid and contributes in the normal way. See Negative Contributions on page 4-16.

Negative ContributionsNegative contribution include both a Consumes from rule with a positive value, and a Contributes to rule with a negative value. If the sum of contributions is a negative value, it is ignored. If the sum of contributions is positive, the result is contributed in the ordinary way. For example, if you have a counted option with three rules contributing 5, 4, and -3, the value contributed is 6.

Contributions to a BOM Model are handled similarly. For example, you have a BOM Model with a count of 3, and a child BOM OptionClass with a count of two, and three rules contributing 5, 4, and -3, to the BOM OptionClass. The contribution is calculated as:

5 + 4 + (-3) = 6(rule1) (rule2) (rule3) (contributions)

The final count of the BOM OptionClass is calculated:

Floor( 6 / 3 ) * 3 = 6(contributions) (parent count) (parent count)

The sum of contributions (6) is exactly divisible by the parent count (3), so the final result is 6.

If the sum of contributions is not exactly divisible by the parent count, the result is the closest smaller exact multiple of the parent count. For example, if the contributions are 5, 4, and -4, the result is 3.

4-16 Oracle Configurator Developer User’s Guide

Page 89: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Comparison Rules

dev.book Page 17 Wednesday, February 28, 2001 2:09 PM

If the sum of contributions is smaller than the parent count, then the result becomes the default count. For example if the rule contributions are 5, 4, and -7, the result is 6 (which comes from 2 * 3).

If the sum of contributions is a negative value, it is ignored.

Unknown Values and Rule PropagationWhen the end user starts a new configuration in the deployed Oracle runtime configurator, many elements in the Model structure have a logic state of unknown until the user makes a selection. There are several situations in which unknown values in rule element A of a Numeric Rule cause the rule not to propagate, so the rule has no effect.

If all of the participants in rule element A are unknown, the rule does not propagate.

If the expression in rule element A involves the operators ’+’ or ’-’, the rule propagates when the end user makes a selection so that one participant in rule element A is no longer unknown.

If the expression in rule element A involves the operators ’*’ or ’/’, the rule propagates if one participant is not unknown, and has a value of 0, or if all participants are not unknown.

Numeric Rules involving property values do not propagate unless the option with the property is selected.

Comparison RulesUse Comparison Rules to compare two numeric values to produce a logical result. Two numeric values are compared to determine if the first is greater than, greater than or equal to, less than, less than or equal to, equal to, or not equal to the second. The result of this comparison expresses constraints between elements of your Model in terms of logical relations. For example, the numeric value of one product Feature or Option compared to the numeric value of another, may require or imply that another Feature or Option be included in the product configuration.

Building Comparison RulesSee Building Configuration Rules on page 4-12 for a general description of creating Configuration Rules.

Constructing Configuration Rules 4-17

Page 90: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Compatibility Rules

dev.book Page 18 Wednesday, February 28, 2001 2:09 PM

1. Select the arrowhead to the left of the Definition section to open it.

2. The A side of the rule consists of a comparison operator and two operands. Select an operator from a dropdown list. The operator can be one of:

β–  <> not equal

β–  = equal

β–  > greater than

β–  < less than

β–  < less than or equal to

β–  > greater than or equal to

Select the type of operand from a dropdown list located above the operand field. The operands can be one of:

β–  Constant: Type a positive numeric constant in the operand field.

β–  Total or Numeric Feature: Select a Total or Numeric Feature with the left button and drag it to the operand field. Only one Total or Numeric Feature can be selected for each operand field.

β–  Option Count: Select an Option or BOM StandardItem with the left button and drag it to the operand field. Only one Option Count can be selected for each operand field.

β–  Option Property: Select an Option or BOM StandardItem with the left button and drag it to the operand field. Select a property from the dropdown list that appears below the operand field.

3. Indicate whether the result of rule element A Requires, Implies, Excludes, or Negates rule element B.

4. Drag and drop the specific Feature, Option, BOM OptionClass or BOM StandardItem nodes from the Model View to the rule element B.

Indicate whether to apply Any True or All True to the Features or Options in this list. See Types of Configuration Rules on page 4-11.

Compatibility RulesThe compatibility rules, Property-based Compatibility, Explicit Compatibility, and Design Chart, all define what items are allowed in a configuration, given that some other item has been selected. Property-based Compatibilities define the

4-18 Oracle Configurator Developer User’s Guide

Page 91: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Compatibility Rules

dev.book Page 19 Wednesday, February 28, 2001 2:09 PM

compatibility relationships in terms of the values of properties shared by Features or Options Classes. Explicit Compatibilities and Design Charts provide two different formats to define specifically what Features or Options Classes are compatible.

It is important to remember that, unlike logic rules, compatibility rules do not select anything. They do not drive logic state to true. The do set logic state to false for Options incompatible with selections the end user has made. If the Features or Option Classes involved in a compatibility relationship have a Number of Selections with Maximum = 1, then when all options but one are set to false the one remaining is set to true. Similarly, selection of one option of such a Feature drives the other options to false. The action of Compatibility rules is most clear when the Features involved do have Number of Selections with Maximum = 1. The behavior of the rules is more complex and apt to be confusing if Maximum > 1.

The fastest calculated rules in the Configurator’s logic engine are Compatibility Rules. They are the fastest because the engine optimizes the rules internally.

Property-based CompatibilitiesA Property-based Compatibility rule specifies valid combinations of Options or BOM StandardItems based on property values. Many types of Model structure nodes can have Properties, but only Features of type List of Options and BOM OptionClasses can participate in a Property-based Compatibility. Configurator Developer does not allow you to specify a Feature of a type other than List of Options as a participant.

If you change the type of a participating Feature after building a rule, Configurator Developer displays an error when you generate the Active Model.

A Property-based Compatibility rule:

β–  enumerates the Features that participate in the rule

β–  specifies the Properties to be checked for compatible values

β–  specifies the type of comparison to be made between the Property values, using standard numeric and string comparison operators, such as equals, greater than, contains, and matches

A rule can include multiple comparisons among the participating Features.

Building Property-based Compatibility RulesBefore creating a Property-based Compatibility rule, be sure that:

Constructing Configuration Rules 4-19

Page 92: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Compatibility Rules

dev.book Page 20 Wednesday, February 28, 2001 2:09 PM

β–  each Feature contains Options with Properties

β–  all of the Options within each Feature that is part of the rule has a common property

For example, to define a Property based Compatibility rule between Feature1 and Feature2, Option1 and Option2 must have common Properties:

Feature1

Option1 property "black, value = 1"

Option2 property "white, value = 2"

Feature2

Option1 property "black, value = X"

Option2 property "white, value = Y"

See Building Configuration Rules on page 4-12 for a general description of creating Configuration Rules.

1. Select the arrowhead to the left of the Definition section to open it.

2. The A side of the rule consists of a comparison operator and two operands. Select an operator from a dropdown list. The operator can be one of:

β–  <> not equal

β–  = equal

β–  > greater than

β–  < less than

β–  < less than or equal to

β–  > greater than or equal to

β–  contains

β–  does not contain

β–  begins with

β–  does not begin with

β–  ends with

β–  does not end with

β–  matches

4-20 Oracle Configurator Developer User’s Guide

Page 93: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Explicit Compatibilities

dev.book Page 21 Wednesday, February 28, 2001 2:09 PM

3. The left-hand operand is an option property. From the first dropdown list, select the Feature or BOM OptionClass for which you want to compare a Property. From the dropdown list below it, select the Property you want to compare.

4. The right-hand operand is an option property or constant value. From the first dropdown list, select the Feature or BOM OptionClass for which you want to compare a Property, or (value). In the next field, type in a constant or select a property from the dropdown list.

5. Select And or Or and follow the preceding steps to add another property comparison to the rule.

Explicit CompatibilitiesExplicit Compatibility rules express compatibility constraints among Options of your Model that cannot be described in terms of a shared Property. An Explicit Compatibility rule allows you to simply specify, in tabular form, explicit matches between the Options of one or more Features.

For example, consider a automobile model line with the following color choices.

Some color combinations are available, others are not. The available color combinations can be expressed in a compatibility table such as this:

Features Options

Exterior Red White Black

Interior Tan Gray Black

Trim Gold Chrome Black

Constructing Configuration Rules 4-21

Page 94: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Explicit Compatibilities

dev.book Page 22 Wednesday, February 28, 2001 2:09 PM

Each row in the table defines a valid combination of exterior, interior and trim colors. There can be no blank cells in the table. Options can be repeated in a column as many times as needed to define the available combinations. In this example, the Red exterior can have a Tan or Gray interior, but not Black. The Gray interior color goes with anything.

Features used in an Explicit Compatibility table must be of type List of Options. As described in Compatibility Rules on page 4-18 the behavior of the rules is can be confusing if participating Features have Maximum Number of Selections greater than one.

Building Explicit Compatibility RulesSee Building Configuration Rules on page 4-12 for a general description of creating Configuration Rules.

1. Select the arrowhead to the left of the Definition section to open it.

The table in this section contains a column for each of the Features you selected as Participants. You can use the cells of the column to specify Options of the Feature. Select the cell to reveal the dropdown list button. Use this button to select an Option from the Options list for the Feature.

There cannot be any blank cells in the Explicit Compatibilities table, so each column must have the same number of rows. The same Option can appear in the column as many times as necessary to build the compatibility table you need.

4-22 Oracle Configurator Developer User’s Guide

Page 95: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Design Charts

dev.book Page 23 Wednesday, February 28, 2001 2:09 PM

Design ChartsA Design Chart is a way to express the complex explicit compatibility relationships that are often used in industry. It provides an easy way to define the relationship between a Model’s Primary and Secondary Features.

A Primary Feature is a Feature with Options that define the variations of the product. The compatibilities defined in the Design Chart are based on this Feature. A Secondary Feature can be either a Defining or Optional Feature. A Defining Feature is a Feature with Options that participate in the unique combinations that define the options of the Primary Feature. An Optional Feature is a Feature whose Options can be arbitrarily compatible or incompatible with the Options of the Primary Feature.

Constructing Configuration Rules 4-23

Page 96: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Design Charts

dev.book Page 24 Wednesday, February 28, 2001 2:09 PM

For example, a hypothetical automobile company designs and manufactures several models of sport and full-size pickup trucks. Part of the Oracle Configurator Developer Model structure looks like this:

4-24 Oracle Configurator Developer User’s Guide

Page 97: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Design Charts

dev.book Page 25 Wednesday, February 28, 2001 2:09 PM

The Design Chart looks like this:

Model is the Primary Feature. Its options represent the available truck models. Each truck model is defined by the engine displacement and fuel used. Therefore, Displacement and Fuel are the Defining Secondary Features. Each Option of the Primary Feature is defined by a unique combination of Defining Secondary Features.

Only one Defining Feature Option can be compatible with a given Primary Feature Option. When multiple Defining Feature Options are specified, as in this example, the combination of Options must be unique for each Primary Feature Option. Each column contains a unique combination of Options, therefore a row cannot contain more than one marked cell. Note how the Options specified for Displacement and Fuel are unique for each truck model.

Various combinations of transmission type and towing package are available for each truck model, so these become Optional Secondary Features. When the user chooses a Sport model truck, it must have a 200cc gasoline engine, but it can have either a manual 4 speed or automatic transmission.

Constructing Configuration Rules 4-25

Page 98: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Design Charts

dev.book Page 26 Wednesday, February 28, 2001 2:09 PM

Features used in a Design Chart must be of type List of Options, and for Primary Features and Defining Secondary Features Number of Selections must be Minimum = 0 or 1, and Maximum = 1.

Defining a Design Chart in Configurator Developer sets up a network of relationships in the Oracle runtime configurator so that if the user selects any of the Options included in the Design Chart, that selection can affect the logic state of other Options in the Design Chart.

The following tables illustrate some of these effects.

Scenario 1: User selects Sport model, minimum selections = 0:

In this example, the end user selects a Sport model truck. This selection makes the logic state of the Option ’Sport’ true by user selection. Because the maximum Number of Selections on this Feature is 1, the logic state of the other truck models becomes logic false. Throughout the rest of the model, those Options that are not defined as compatible by the Design Chart become logic false. Those Options that

Feature Option Logic State

Model Sport User True

1500 Logic False

2500 Logic False

3500 Logic False

Displacement 200cc Available

250cc Logic False

350cc Logic False

Fuel diesel Logic False

gasoline Available

Transmission Type Manual 4 Speed Available

Manual 5 Speed Logic False

Automatic Available

Towing Bumper Available

Standard Available

Heavy-Duty Logic False

4-26 Oracle Configurator Developer User’s Guide

Page 99: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Design Charts

dev.book Page 27 Wednesday, February 28, 2001 2:09 PM

are defined as compatible remain Available. This scenario assumes the minimum Number of Selections on all Options is 0. The next table shows the effect of a minimum Number of Selections on all Options of 1.

Scenario 1: User selects Sport model, minimum selections = 1:

In this case, if Design Chart constraints leave only one available Option, that option becomes logic true.

This example shows how selection of a Defining Secondary Feature constrains the Primary Feature. The end user selects a 250cc engine, which limits truck model choices to 1500 or 2500.

Feature Option Logic State

Model Sport User True

1500 Logic False

2500 Logic False

3500 Logic False

Displacement 200cc Logic True

250cc Logic False

350cc Logic False

Fuel diesel Logic False

gasoline Logic True

Transmission Type Manual 4 Speed Available

Manual 5 Speed Logic False

Automatic Available

Towing Bumper Available

Standard Available

Heavy-Duty Logic False

Constructing Configuration Rules 4-27

Page 100: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Design Charts

dev.book Page 28 Wednesday, February 28, 2001 2:09 PM

Scenario 1: User selects 250cc engine:

Building Design ChartsSee Building Configuration Rules on page 4-12 for a general description of creating Configuration Rules.

1. Select the arrowhead to the left of the Definition section to open it. The table in this section displays a column for each of the Primary Feature’s Options. The rows of each column are where you select the compatible Defining or Optional Secondary Feature.

– Select the Feature or BOM OptionClass node from the Model View that is to be the Primary Feature and drag it to the table heading. The table is automatically populated with a column for each Option of the Primary Feature. A Primary Feature must be defined before the table is saved and you can activate the compatibility cells.

Feature Option Logic State

Model Sport Logic False

1500 Available

2500 Available

3500 Logic False

Displacement 200cc Logic False

250cc User True

350cc Logic False

Fuel diesel Available

gasoline Available

Transmission Type Manual 4 Speed Available

Manual 5 Speed Available

Automatic Available

Towing Bumper Available

Standard Available

Heavy-Duty Available

4-28 Oracle Configurator Developer User’s Guide

Page 101: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Design Charts

dev.book Page 29 Wednesday, February 28, 2001 2:09 PM

– Select a Feature node from the Model View that is to be a Defining Feature and drag and drop it in the Defining Feature section of the table. A table row is automatically populated for each of the Defining Feature’s Options. There is no limitation on the number of Defining Features you can include. Configurator Developer forces each Defining Feature to have a min/max of 1/1.

– Select a Feature node form the Model View that is to be an Optional Feature and drag and drop it in the Optional Feature section of the table. A table row is automatically populated for each of the Optional Feature’s Options. There is no limitation on the number of Optional Features you can include.

– If you drag a node using the left mouse button, the Feature and its Options drop wherever you position the mouse in the table. If you drag a node using the right mouse button, a menu displays for you to select the destination of the Feature and its Options.

– Once you have populated the table with all of the Defining and Optional Features, select the table cell to select the Defining Feature Option that is compatible with each of the Primary Feature Options. A mark appears in the cell to indicate that you have selected it. The default mark for the Defining Feature Options is an M to indicate that they are mandatory. Continue selecting appropriate table cells for all compatible Options.

You can customize the cell activation marks to be more representative of your business by modifying the [Design Chart] section of your spx.ini file. You must specify two different cell marks, one for the Defining Feature Options and one for the Optional Feature Options. You can enter one or more cell marks for each option.

For example, if you want to set A, B, and C for the Defining Feature Options and Y and Z for the Optional Feature Options, your spx.ini file would look like this:

[Design Chart]DEF=A, B, CSEC=Y, Z

If you enter multiple values, Configurator Developer cycles through the values each time you click in the same Design Chart cell.

See Oracle Configurator Implementation Guide for more information on the spx.ini file.

Constructing Configuration Rules 4-29

Page 102: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Rule Sequences

dev.book Page 30 Wednesday, February 28, 2001 2:09 PM

– Select the table cell to select the Optional Feature Option that is compatible with each of the Primary Feature Options. A mark is placed in the cell to indicate it has been selected. The default mark for the Optional Feature Options is an X. Continue this for all compatible Options. An Optional Feature Option can be compatible with multiple Primary Feature Options and multiple Options of a given Optional Feature can be compatible with a given Primary Feature Option.

If you select a cell and want to unselect it, you can do so by using the mouse, or positioning the cursor in the cell and pressing the Spacebar, Delete key, or Backspace key.

If you want to remove a Secondary Feature (Defining or Optional) from the table, position the cursor on the Feature’s name and press the Delete key or use the right mouse button to select Delete from the menu. You cannot delete Options from the Design Chart. When you delete a Feature, all its Options are deleted as well.

Rule SequencesA Rule Sequence is an ordered set of rules whose effectivity dates are ordered sequentially, with each rule in the sequence becoming active at the same time that its predecessor becomes inactive. You may want to create a Rule Sequence if, for example, your model requires that some rules become active just as others become inactive (based on their effective dates).

Placing rules in a Rule Sequence also makes them easy to maintain, since you can update the effective dates for several rules simultaneously. See Effectivity Sets and Rule Sequences on page 4-31.

You can perform the following operations on Rule Sequences in the Model window:

β–  Create and delete Rule Sequences

β–  Create and delete rules in a Rule Sequence

β–  Cut, copy, and paste rules into or out of a Rule Sequence

β–  Reorder rules in a Rule Sequence

β–  Remove rules from a Rule Sequence

β–  Assign Effectivity dates to rules in a Rule Sequence or to an Effectivity Set that includes rules in a Rule Sequence

β–  Enable or disable all rules in a Rule Sequence

4-30 Oracle Configurator Developer User’s Guide

Page 103: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Rule Sequences

dev.book Page 31 Wednesday, February 28, 2001 2:09 PM

The following constraints apply to effective dates of rules in a Rule Sequence:

β–  A rule in the sequence can be inactive, meaning that its effective date range is "Never Effective", or it can be active, meaning that it is effective at some time.

β–  Active rules must precede inactive ones in the sequence. In other words, a sequence can consist of zero or more active rules followed by zero or more inactive rules.

β–  For any active rule other than the first one in the sequence, the rule’s start date must equal its predecessor’s end date. In other words, the effectivity of active rules in a sequence are linked end date to start date.

These constraints and actions apply whether a rule in a Rule Sequence gets its effectivity from its own date range or from an Effectivity Set.

The Model window maintains these constraints when you modify a Rule Sequence by adding, removing, or reordering rules or when you manually change the effective dates of any member rules. For example, when you add a rule to a Rule Sequence, Configurator Developer places the new rule at the end of the sequence and makes its start date the same as the end date of its predecessor. Similarly, if you change the start date of the last rule in a Rule Sequence, Configurator Developer changes the end date of its predecessor to the same date and time.

See Modifying the Effective Date Range of Rules in a Rule Sequence on page 4-35.

Effectivity Sets and Rule SequencesWhen you assign start and end dates to an Effectivity Set or alter its start and end dates, and the Effectivity Set contains members of one or more Rule Sequences, Configurator Developer displays all of the error conditions associated with Rule Sequence date constraints and rejects the new date(s). If there are no errors, the Configurator Developer applies the new dates to each Rule Sequence that contains a rule associated with the Effectivity Set.

Sometimes an operation on a Rule Sequence requires a change in the effective dates of a rule that conflicts with the effective dates of the Effectivity Set associated with the rule. In these cases, the rule whose effective dates need to be changed will be disassociated from its Effectivity Set and the new effectivity dates will be applied directly to the rule itself. When this occurs, Configurator Developer displays a warning message and you can choose to cancel or continue with the operation. Some examples of this situation include:

β–  Activating the first inactive rule in a Rule Sequence when its predecessor is a member of an Effectivity Set.

Constructing Configuration Rules 4-31

Page 104: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Rule Sequences

dev.book Page 32 Wednesday, February 28, 2001 2:09 PM

β–  Adding a rule to a Rule Sequence in a position such that its new predecessor and/or successor is active and is a member of an Effectivity Set.

β–  Removing a rule from a Rule Sequence if its predecessor and/or successor is active and is a member of an Effectivity Set.

β–  Moving a rule within a Rule Sequence such that either of the previous two conditions apply.

β–  Adding a rule to a Rule Sequence or moving a rule within a Rule Sequence, if the rule being added or moved is itself a member of an Effectivity Set and its new position in the Rule Sequence requires a change to its own effectivity dates.

Viewing Rule SequencesRule sequences are displayed in the Configuration Rules view in the Rules module. The Rule Sequence itself is represented by a unique node in the tree. The rules that belong to the Rule Sequence are presented as children of the Rule Sequence node in the order in which they are added to the sequence.

After you add a rule to a Rule Sequence, it appears only as a child of the Rule Sequence, it no longer appears elsewhere in the Rules view (for example, in the Logic Rules or Numeric Rules folder). If you remove the rule from a Rule Sequence later, it appears in its original folder in the Rules view. Additionally:

β–  In the View By Folder view, the Rule Sequence is displayed as a child of the Rules Folder that contains it. To create a Rule Sequence folder, you must first choose View > Rules > By Folders.

β–  In the View By Name view, the Rule Sequence itself is alphabetized under the Rules root.

β–  In the View By Type view, there is a distinct rule type folder for Rule Sequences.

When you select a Rule Sequence in the Rules Tree, the Properties pane displays its Name and Description. When you select a member, the members of the sequence are visible only in the Tree, and the effectivity date ranges of the members are only visible in the right-hand pane.

Creating Rule SequencesWhen you create a new Rule Sequence, it contains no rules. You must specify each rule that you want to add to the Rule Sequence. All rule types except Functional Companions can participate in Rule Sequences. However, a Rule Sequence cannot contain another Rule Sequence.

4-32 Oracle Configurator Developer User’s Guide

Page 105: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Rule Sequences

dev.book Page 33 Wednesday, February 28, 2001 2:09 PM

To create a Rule Sequence:

1. Select the Rules module.

2. Select Create > New Rule Sequence, or right click using the mouse and choose New Rule Sequence. The system creates a new Rule Sequence node in the Rule Sequences folder.

Adding Rules to a Rule SequenceYou can add rules to a Rule Sequence using menu commands or by dragging and dropping using the mouse.

1. Select the rule.

2. Choose Edit > Add to Sequence, or right click using the mouse and select Add to Sequence.

3. Select the Sequence from the Add to Sequence dialog.

Alternatively, right click on the rule and simply drag and drop it onto the Rule Sequence.

When you add a rule to a Rule Sequence:

β–  Configurator Developer adds the new rule as the last member of the sequence.

β–  If the new rule is the only member of the sequence, its default effective date range is always effective.

β–  If the last rule in the sequence is always effective, the new rule becomes never effective (you can change its effective date after adding it to the Rule Sequence).

β–  If the new rule is not the only member of the sequence, the new rule’s effective date range depends on the end date of its predecessor in the sequence. For example:

β–  If the predecessor’s end date is finite, the new rule’s effectivity start date equals the predecessor’s end date, and the new rule has no end date.

β–  If the predecessor has no end date or the predecessor is never effective, the new rule is never effective.

Reordering Rules in a Rule SequenceTo reorder the members of a Rule Sequence, select the rule in the Sequence, then choose Edit > Reorder in Sequence, or right click using the mouse and select

Constructing Configuration Rules 4-33

Page 106: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Rule Sequences

dev.book Page 34 Wednesday, February 28, 2001 2:09 PM

Reorder in Sequence. Then, use the arrow buttons to modify the location of the selected rule in the Reorder Rules window.

Note that you can modify only the rule you originally selected. To reorder another rule in the sequence, you must close the Reorder Rules window, and select the rule to modify.

When you reorder members of a Rule Sequence, Configurator Developer changes the effective date ranges of the rule that is moved or the effective dates of the rules that precede and follow the rule in the sequence. When you click OK, Configurator Developer displays a message that tells you how the effective dates for each rule will be affected if you reorder the rules. Then, depending on whether the new dates are acceptable, you can either proceed or cancel the operation.

Following are a few examples of how effective dates may change when you reorder rules in a Rule Sequence:

β–  If the rule that is moved is inactive (never effective), its start and end date are adjusted to be consistent with its new context.

β–  If either its new position is at the end of the sequence or its new successor is also inactive, no changes in effectivity are necessary.

β–  If its new successor’s start date is unbounded, the rule’s start date is made equal to its new successor’s old start date, the rule’s end date is made equal to its new successor’s old end date, and the new successor’s start and end dates are both made equal to its old end date.

β–  If its new successor’s start date is finite, the rule’s start date and end date are both made equal to the successor’s start date.

β–  If the rule that is moved is active (effective for a period of time), Configurator Developer:

β–  Adjusts the start and end dates of the rule’s old predecessor’s and/or successor’s to fill the gap left when you moved the rule. You may want to modify these dates as required.

β–  Adjusts the start and end dates of the rule that you moved to be consistent with its new context.

* If its new predecessor is inactive, the moved rule becomes inactive.

* If its new successor’s has no start date, the rule’s start date becomes equal to its new successor’s old start date, the rule’s end date is set to its new successor’s old end date, and the new successor’s start and end

4-34 Oracle Configurator Developer User’s Guide

Page 107: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Rule Sequences

dev.book Page 35 Wednesday, February 28, 2001 2:09 PM

dates are both set to its old end date. You can then modify these dates as required.

* If its new successor’s start date is finite, the start and end date of the rule that you moved are both set to the successor’s start date. You can then modify these dates as required.

Deleting Rules from a Rule SequenceYou can delete or cut and paste a rule from a Rule sequence at any time. When you cut a rule, it appears in the Rule Sequence until you paste it into another location in the Rules view.

When you delete or cut a rule from a Rule Sequence, Configurator Developer modifies the effective date ranges of the adjacent rules as required to maintain the constraints in the sequence. For example:

β–  If the deleted rule and its predecessor are active, the predecessor’s end date is set to the deleted rule’s end date.

β–  If the rule is inactive, Configurator Developer makes no changes.

Modifying the Effective Date Range of Rules in a Rule SequenceWhen you change the effective date range of a rule in a Rule Sequence, Configurator Developer adjusts the date ranges of the rules that precede and follow that rule (if any) to maintain the constraints inherent in the sequence. If this is not possible, the system displays an error. You can change either a rule’s effective dates or modify the Effectivity Set to which it is assigned.

Following are a few examples of what occurs when you modify effective dates for rules in a Rule Sequence:

β–  If you assign a start date to the first inactive rule in the sequence, or modify the start date of an active rule, Configurator Developer adjusts the end date of the preceding rule (if any) to match. If it cannot do this without changing the dates of other rules in the sequence, Configurator Developer displays an error message and rejects the new date.

β–  If you modify the end date of an active rule, and the following rule is active, Configurator Developer adjusts the start date of the rule that follows. If it cannot do this without changing the dates of other rules in the sequence, Configurator Developer displays an error message and rejects the new date.

Constructing Configuration Rules 4-35

Page 108: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Advanced Expressions

dev.book Page 36 Wednesday, February 28, 2001 2:09 PM

β–  If you deactivate the last active rule in a sequence by setting it to Never Effective and that rule has a predecessor, Configurator Developer sets the end date of its predecessor to the previous end date of the deactivated rule.

β–  If you deactivate a rule that is not the last active rule in the sequence, Configurator Developer displays an error message. To deactivate a rule, you must move it after the last active rule in the sequence, and then set it to Never Effective.

β–  If you assign start or end dates to an inactive rule whose predecessor is not active, Configurator Developer displays an error message.

Advanced ExpressionsAdvanced Expressions enable you to incorporate complex expressions into your Configuration Rules. You can define Advanced Expressions for all rules except Explicit Compatibility rules, Functional Companions, and Design Charts.

You build Advanced Expressions in the Advanced Expression Editor, which you access by selecting the Advanced button in the Definition section of the Attributes View.

Then select the Edit button to open the Advanced Expression editor. Select the Simple button to leave Advanced Expression mode.

4-36 Oracle Configurator Developer User’s Guide

Page 109: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Advanced Expressions

dev.book Page 37 Wednesday, February 28, 2001 2:09 PM

The Advanced Expression EditorThe Advanced Expression editor provides a drag-and-drop interface for building Advanced Expressions. The interface looks like this.

Constructing Configuration Rules 4-37

Page 110: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Advanced Expressions

dev.book Page 38 Wednesday, February 28, 2001 2:09 PM

The Advanced Expression editor window is divided into several main areas.

β–  The Model pane in the left portion of the window.

β–  The Expression pane in the upper center area of the window.

β–  The Operators pane to the right of the Expression pane.

β–  The Model Node Properties area in the bottom right area of the window.

You build Advanced Expressions in the Expression pane by dragging Expression building blocks from other panes of the editing window and dropping them into the Expression pane. If you need to type a specific value into the expression, you must select the <Value> button, which opens a small input field in the Expression pane. You can also select and delete text from the Expression pane.

The Operators pane displays functions, operators, or other grouping and separator characters, depending on your selection from the dropdown list. The operators and other characters are also displayed as buttons immediately below the Expression pane. Select one of these buttons to add the character to the expression.

4-38 Oracle Configurator Developer User’s Guide

Page 111: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Advanced Expressions

dev.book Page 39 Wednesday, February 28, 2001 2:09 PM

The Model pane and the Model Node Properties area together display the Model structure and Properties of nodes in the Model. The Model structure is displayed in the left-hand pane. Properties for the selected Model structure node are displayed in the center pane. System Properties, such as Name and Count, display above the dividing line with a pound sign (#) in front of them to differentiate them from User Properties. User Properties display below the line.

Constructing Configuration Rules 4-39

Page 112: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Advanced Expressions

dev.book Page 40 Wednesday, February 28, 2001 2:09 PM

In this example, Component-1 has no user properties. You see only the system properties Name, Count, Min, and Max.

4-40 Oracle Configurator Developer User’s Guide

Page 113: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Advanced Expressions

dev.book Page 41 Wednesday, February 28, 2001 2:09 PM

In this example, Screw1023 has the user properties Diameter, Head, Length, Material, and Thread as well as the system properties Name, Count, Min, and Max.

Constructing Configuration Rules 4-41

Page 114: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Advanced Expressions

dev.book Page 42 Wednesday, February 28, 2001 2:09 PM

This example illustrates Features of type List of Options that have one required selection (maximum = 1 and minimum = 1). Such Features have a System Property called Selection. If you select that Property, the lower-right screen area displays Properties of options of the selected Feature.

If you select a Property from the right-hand pane and drag it into the Expression pane, it appears as illustrated in the following figure.

4-42 Oracle Configurator Developer User’s Guide

Page 115: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Advanced Expressions

dev.book Page 43 Wednesday, February 28, 2001 2:09 PM

When the Advanced Expression is evaluated in the end-user Oracle runtime configurator, this Property evaluates to the option Property of whatever option the end user has selected for this Feature. In this example, the value is the diameter of whatever screw the end user has selected.

Building Advanced ExpressionsAdvanced Expressions are made up of operators and their operands, and functions and their arguments.

OperatorsThere are three types of Operators: logical (true/false), arithmetic, and comparison.

Constructing Configuration Rules 4-43

Page 116: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Advanced Expressions

dev.book Page 44 Wednesday, February 28, 2001 2:09 PM

Precedence of OperatorsOperators are processed in the order given in the following list. Operators with equal precedence are evaluated left to right.

1. Functions, operations within parenthesis ( ) and the dot (.) operator (for example, Function.Selection)

2. Unary minus (-10)

3. Multiplication (*) and division (/)

4. Addition (+) and subtraction (-)

5. Logical NOT

6. Equal to (=) and not equal to (<>)

Operator Type Operators Description

Logical AND OR NOT AND requires two operands and returns true if both are true.

OR requires two operands and returns true if either is true.

NOT requires one operand and returns its opposite value: false if the operand is true, true if the operand is false.

Arithmetic * / - + Perform ordinary arithmetic operations on numeric operands.

Comparison <> = > < < > Perform the comparison operations of not equal (<>), equal (=), less than (<), greater than (>), less than or equal (<), greater than or equal (>). Possible comparisons include comparisons between a numeric valued Feature and a property of a selected Option, and comparisons between a Property value and the name of an Option.

Other ( ) , . - parenthesis ’( )’ are used to group sub-expressions

comma ’,’ is used to separate function arguments

dot ’.’ is used for referencing objects in the Model tree structure

unary minus ’-’ is used to make positive values negative and negative values positive.

4-44 Oracle Configurator Developer User’s Guide

Page 117: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Advanced Expressions

dev.book Page 45 Wednesday, February 28, 2001 2:09 PM

7. Greater than (>), less than (<), greater than or equal to (>), and less than or equal to (<)

8. Logical AND, and OR

OperandsThere are three types of Operands: logical (true/false), numeric, or complex. Logical Operands are sometimes referred to as Boolean Expressions. Operands can be Component, Feature, or Option nodes from your Model, or they can be literal values entered after selecting the Value button.

Logical Operands can be Features, Options, or literal values.

Numeric Operands can be Option counts, Totals, Resources, integer, or decimal Features, or constant values.

Complex Operands can be Components, or Features with Options.

FunctionsFunctions perform operations on their arguments and return values which are used in evaluating the entire Advanced Expression. Functions must have their arguments enclosed in parentheses and separated by commas if there is more than one argument. Function arguments can be expressions.

For example, the following both have the correct syntax for the Round function, provided that Feature-1 and Feature-2 are numeric Features:

Round (13.4)Round (Feature-1 / Feature-2)

Logical Functions:

Function Description

AllTrue A logical AND expression. Accepts one or more logical values or expressions. Returns true if all of the arguments are true, or false if any argument is false. Otherwise, the value of AllTrue is unknown. See Types of Configuration Rules on page 4-11

AnyTrue A logical OR expression. Accepts one or more logical values or expressions. Returns true if any of the arguments are true, or false if all arguments are false. Otherwise, the value of AnyTrue is unknown. See Types of Configuration Rules on page 4-11

Constructing Configuration Rules 4-45

Page 118: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Advanced Expressions

dev.book Page 46 Wednesday, February 28, 2001 2:09 PM

Arithmetic Functions:

Compound Functions:

Using NotTrue in Advanced ExpressionsYou can use NotTrue in an advanced expression to produce a logical consequence if some logical term is either false or unknown. For example, you may want option Y to be selected whenever option X is not selected. If X is selected, Y may or may not be selected. You can do this by writing an Implies rule with NotTrue(X) on the left-hand side and Y on the right-hand side. For example:

NotTrue(X) Implies Y

NotTrue Accepts a single logical value or expression. Returns True if the argument is False or unknown. If the argument is True, the value of NotTrue is unknown. See Types of Configuration Rules on page 4-11.

Function Description

Ceiling Takes a single decimal number as an argument, and returns the next higher integer.

Floor Takes a single decimal number as an argument, and returns the next lower integer.

Round Takes a single decimal number as an argument, nearest higher or lower integer.

Min Returns the smallest of its numeric arguments.

Max Returns the largest of its numeric arguments.

Val Takes a single text argument and returns it converted to a number.

Function Description

OptionsOf Takes a Feature as an argument and returns its Options.

FeaturesOf Takes a Component as an argument and returns its Features.

ChildrenOf Takes a BOM Model, BOM OptionClass, or BOM StandardItem as an argument and returns its children.

Function Description

4-46 Oracle Configurator Developer User’s Guide

Page 119: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Advanced Expressions

dev.book Page 47 Wednesday, February 28, 2001 2:09 PM

This is different from the behavior of the Not function. If you replace NotTrue with Not in the above example, the rule would force Y to be True only when X is False. In that case, if X is unknown, Y could also be unknown.

Note that a rule with a NotTrue expression cannot "push back" on the argument to the NotTrue function. In other words, in the above example the user could not cause X to become True by deselecting Y. The only way the user can remove Y from the configuration is to select X. Because of this, you should use NotTrue sparingly. Most logical values in a configuration start out Unknown, and using NotTrue can require a user to make selections in a specific order.

Note also that logical cycles involving NotTrue can create models where some items are "locked" in their initial states. For example, there are three options, A, B and C, with the following rules:

NotTrue(A) Implies B

B Excludes C

C Requires A

Option A starts out Unknown, which causes B to be True. The Excludes rule causes C to be False, and the Requires rule causes A to be False. The Configurator will not allow you to change any of these states. To prevent this behavior, avoid closing loops of rules involving NotTrue.

Advanced Expression ErrorsYou can check if your Advanced Expression is structured correctly by selecting the Check Expression button.

You may receive one of the following types of errors:

β–  Type Mismatch β€” the Advanced Expression does not evaluate to a datatype allowed in the portion of the rule you are building. For example, an expression that evaluates to a number is not valid in a logic rule.

β–  Type Mismatch β€” the argument of a function is the wrong data type. For example, AllTrue(10).

β–  Type Mismatch β€” the operand of an operator is the wrong data type. For example, 1 AND 2.

β–  Expected: Operand β€” the expression does not contain the correct number of operands. For example, 3 + .

Constructing Configuration Rules 4-47

Page 120: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Functional Companions

dev.book Page 48 Wednesday, February 28, 2001 2:09 PM

β–  Expected: Operator β€” your expression does not contain the correct number of operators. For example 3 3 is invalid because there is no Operator between the two numbers. 3 * 3 is a valid statement.

Building Advanced Expressions for Rules1. Select the Advanced button.

2. Select the Edit button to edit the expression.

The Edit Advanced Expression editor appears. See The Advanced Expression Editor on page 4-37.

3. Drag and drop the specific operand Item(s) from the Model tree to the rule expression.

You can also select the corresponding arithmetic, comparison, or logical Operator(s) buttons to add to the expression wherever you place the cursor. Select the Value button to add a numeric literal to the expression.

4. Select the Check Expression button to validate the expression.

5. Select OK.

6. Select Generate Active Model from the Tools menu.

7. Test your new rule. See Testing and Debugging on page 6-1 for details about testing your Configuration Rules.

Functional CompanionsFunctional Companions extend your Oracle runtime configurator by attaching custom code through established interfaces.

To enable your Functional Companion to work with your configuration model, you must associate it with a node in your Model. You create this association in Oracle Configurator Developer, as a type of Configuration Rule.

Functional Companions on your model work in any Oracle runtime configurator. In the Java applet Oracle runtime configurator, they must function without any end user action through the User Interface, because there are no visible buttons to launch Functional Companions. A DHTML UI launched from the Java applet can use visible buttons to launch Functional Companions. See Run-time Oracle Configurator: Java Applet on page 5-2.

4-48 Oracle Configurator Developer User’s Guide

Page 121: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Rules that Relate Optional Components

dev.book Page 49 Wednesday, February 28, 2001 2:09 PM

For information on building Functional Companions, see the Oracle Configuration Interface Object (CIO) Developer’s Guide.

Rules that Relate Optional ComponentsThere are some restrictions you must keep in mind if you construct rules that relate optional Components. To understand these restrictions, you must understand the following terms:

β–  An optional Component has a minimum count of zero and a maximum count of one or greater than one, or a minimum count of one and a maximum count greater than one.

β–  A required Component has a minimum count of one and a maximum count of one.

β–  The required substructure of a Component consists of the Component itself, all of its required children, all of their required children and so on down to, but not including, any optional Components.

β–  A rule relates two Components if it relates a Feature or Option of one Component with a Feature or Option of the other.

If you have two optional Components and you want to build a rule that relates them or their sub-Components, the following must be true:

β–  One Component must be a child of the other.

β–  If sub-Components are involved in the rule, they must be in the required substructure of the optional Component.

β–  Components that are part of a rule or contain participants in the rule cannot be instantiated independently. In other words, when the most deeply nested Component that can be instantiated is involved in a rule is instantiated, all of the Components must be instantiated. All other Components must be parents of this Component, or static subcomponents of this Component or its parents.

Here are examples of some acceptable combinations:

β–  A rule that relates Components within the required substructure of any Component.

β–  A rule that relates an optional Component with any of its children.

β–  A rule that relates an optional Component with a Component in the required substructure of any of its children.

Constructing Configuration Rules 4-49

Page 122: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Rules that Relate Optional Components

dev.book Page 50 Wednesday, February 28, 2001 2:09 PM

Here are examples of some unacceptable combinations:

β–  A rule that relates two optional Components at the same level in the Model.

β–  A rule that relates an optional Component with a Component in the required substructure of an optional Component at the same level in the Model.

β–  A rule that relates an optional Component with an optional Component of any child Component.

4-50 Oracle Configurator Developer User’s Guide

Page 123: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Constructing the User Inte

dev.book Page 1 Wednesday, February 28, 2001 2:09 PM

5

Constructing the User Interface

The User Interface ModuleWhen you are satisfied with any part of your Model and want to test it, you need to generate a user interface with which to access the Active Model. Oracle Configurator Developer automatically creates a user interface derived directly from the Model. This generated UI reflects the structure of your Model and provides all the UI elements needed for a running Oracle run-time configurator.

As you continue to work on your Model, you need to update the user interface to reflect changes in the Model. If your changes are not too extensive, you can select a User Interface node, then simply select Refresh from the Edit menu. If you make extensive changes to the Model, you must delete the existing UI and create a new one. For this reason, you do not want to do extensive customization before completing the Model.

Oracle Configurator Developer takes advantage of the Oracle Configurator architecture by storing the complete definition of the User Interface in the Oracle Configurator schema, where it is available to the Oracle Configurator Developer and the Active Model when you run the Oracle run-time configurator.

For information about User Interfaces function within the context of a model reference, see Referencing and the Model User Interface on page 5-7.

How the Oracle Run-time Configurator Displays the ModelYour choice of deployed application influences how a model appears in the run-time configurator. The choices are a Java applet or a DHTML window within Oracle Applications or in a custom Web application. Much of how the Model is displayed in the deployed application is common to any of these deployments. See Configuring an Item in a Run-time Oracle Configurator on page 6-3 for the common

rface 5-1

Page 124: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

The User Interface Module

dev.book Page 2 Wednesday, February 28, 2001 2:09 PM

behavior of any run-time configurator. The following sections describe some of the differences.

Run-time Oracle Configurator: Java AppletOnly BOM nodes are visible in the Java applet. You cannot modify the Java applet UI. The Java applet ignores how you set the Visibility toggle on Components in Configurator Developer.

In the Java applet, each component is configured in the option selection pane in the upper-right region. The tree of configurable components is in the Model structure pane on the left. End users navigate from one component to another in this Model structure pane. When an end user selects a component, the selection options for that component’s features display in the selection pane. Components whose configuration is unsatisfied or incomplete are marked by a red asterisk in the folder icon for that component.

It is possible to launch a DHTML Configurator window from Oracle Order Management. This enables you to support guided selling and gathering customer requirements in a configurator launched from Order Management. If you add structure to gather customer requirements or to support guided selling to your Model, create a Components tree UI for the Model. If the Components tree UI was created or modified more recently than the BOM Model tree UI, Order Management launches a browser running the Components tree UI. When the end user is done with the DHTML UI, a small window is displayed with a button to terminate the configurator. When the end user clicks this button, the Java applet queries the database to get an appropriate termination message, passes the message on to Order Management, and terminates itself.

If the BOM Model tree UI is the most recently modified, Order Management launches the Java applet UI. The end user has access to either the DHTML UI or the Java applet UI, but not both.

Note that if you intend the end user to display the Java applet UI, your model must not have required selections that are not in the BOM since the non-BOM portion of the Model does not appear in the Java applet UI. Therefore, the end user cannot make the required selections and the configuration cannot be satisfied.

Run-time Oracle Configurator: DHTMLThe DHTML window can be fully customized. In any DHTML window, each component is configured on a separate page in the configuration window. Selection options may be presented in the form of needs assessment questions the end user

5-2 Oracle Configurator Developer User’s Guide

Page 125: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

The User Interface Module

dev.book Page 3 Wednesday, February 28, 2001 2:09 PM

answers to provide requirements for the product. End users click the button in the selection pane for advancing to the next component to configure.

Every DHTML window provides a button that enables the end user to switch from the configuration session to a Configuration Summary page. The Configuration Summary page displays information about all items selected during the configuration session, such as the item name, description, quantity, unit of measure, and so on. Click the Summary button at any time during a configuration session to display summary information. Click the Configuration button to return to the configuration session.

You can navigate to specific Component pages in a DHTML UI by creating action buttons in Configurator Developer or by writing Functional Companions. See Adding Buttons to a Screen on page 5-15 and Functional Companions on page 4-48.

Pricing and ATP Display You can optionally display Available to Promise (ATP) dates, the list price, selling price, and extended price for Items in both the Java applet and the DHTML window. Pricing information is available only for Items that are defined in the Item Master. See The Item Master on page 3-1.

If pricing is enabled, this information appears in the run-time UI automatically, but the end user must select a button that you create in Configurator Developer to display ATP dates. The Java applet displays the list price, selling price, and extended price by default. The total price is updated when the user clicks on the Update button. The system updates the extended price (quantity * unit price) when the user clicks the Update button or makes another selection.

In the DHTML window, pricing information appears on each Component page and the Configuration Summary page. You can control whether the DHTML window displays the list price or the selling price for each Item using the Pricing Display attribute in Configurator Developer. See Customize Pricing Display in the DHTML Window on page 5-4.

To enable the display of pricing and ATP information in the run-time UI:

β–  Define system properties for the UI Servlet. See the Oracle Configurator Installation Guide for more information.

β–  Define parameters for the host application’s initialization message. See the Oracle Configurator Custom Web Deployment Guide for more information.

Constructing the User Interface 5-3

Page 126: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

The User Interface Module

dev.book Page 4 Wednesday, February 28, 2001 2:09 PM

Customize Pricing Display in the DHTML WindowUse the Pricing Display attribute to customize how prices appear and are updated in the DHTML window. This attribute consists of two settings: Item Price Display and Price Update. You specify these settings when modifying the UI settings for your configuration Model. See To modify the User Interface default settings on page 5-11.

For more information about these options, see Pricing Display on page 8-34.

Controlling VisibilityThere may be portions of a model’s structure that you do not want to display in the user interface. For example, you define a Component that is a collection of Totals used in calculations required by the configuration. While these totals may be very useful when testing your run-time configurator, your end users do not need to see them. You can use the Visibility attribute in the Model module to prevent the Total Component from displaying in the run-time user interface.

You can set the Visibility attribute at the UI level for any Model node. See Hiding Components on page 5-18.

Dynamic VisibilityYou can also control whether controls and Options appear in the run-time UI when they become unavailable in the configuration. For example, you create a rule in Configurator Developer that negates Option3 when Option1 is selected. Then, you enable the Hide unselectable Controls and Options attribute for Option3. When a user selects Option1 at run-time, Option3 becomes unavailable and no longer appears in the UI.

You set the default Visibility attribute in the Defaults attribute for a generated UI. To view the Defaults attribute, open the UI module, then select the UI to modify.

When you generate a new UI, each Component uses the default Visibility specified at the UI level. You can optionally override the default setting for specific UI Components using the Hide when unselectable and Hide unselectable Options checkboxes. Use the first option to override the default visibility setting for each Feature Control. Use the Hide unselectable Options checkbox to override the default visibility setting for Options of a Feature. See To modify the User Interface default settings on page 5-11.

For example, to indicate that a Component Feature should be hidden in the run-time UI when its logic state is false (even if its default visibility setting is Yes), set Hide when unselectable to Yes for that UI Component.

5-4 Oracle Configurator Developer User’s Guide

Page 127: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

The User Interface Module

dev.book Page 5 Wednesday, February 28, 2001 2:09 PM

Things to ConsiderNote that there may be times when a Component has a logic state of logic false but it is still available for selection. This can occur because of a Defaults Configuration Rule or a Maximum Selections relation where the maximum is greater than one. In these cases, the Item may have a logic state of logic false but can still be available in the UI. As a result, it appears in the UI even if Hide when unselectable or Hide unselectable Options is set to Yes.

Also note that because Items occupy a fixed position and size on a page, hiding them using Effectivity or Dynamic Visibility can create "gaps" in the UI (this does not occur when hiding Feature Options, however). Consider this when choosing to hide Items using these methods and design each page accordingly. For example, you might group objects that may be hidden in the run-time UI towards the bottom or side of a page.

How the Model Affects the User InterfaceThe user interface you generate is based on your Model. Therefore, the structure of the Model influences the structure of the user interface in some important ways.

A user interface is based on a single Product, which can contain sub-Products. Sub-Products can have their own UI or be included in a UI based on their parent Product.

Products, Sub-Products, BOM Models, BOM OptionClasses, and Components are represented by screens in the UI. The Model tree is ’flattened’ in the UI tree. Screens all appear at the same level in the UI tree, no matter now deeply nested the corresponding node may be in the Model tree.

The effectivity defined for a Model, Product, or Component also affects the Model’s appearance in the run-time UI. For example:

β–  Model nodes that are not effective due to their effective date or the Usage(s) to which they are assigned do not appear in the run-time UI.

β–  All Models, Products, and Components have their own pages in the run-time UI. Any pages that are not effective do not appear in the run-time UI.

β–  Any links, buttons, images, and action buttons that control navigation to an ineffective (hidden) page do not appear in the run-time UI. If you defined a Functional Companion to navigate to a page but that page is not effective in the run-time UI, Configurator Developer displays a message that tells you why it is not available.

Constructing the User Interface 5-5

Page 128: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

The User Interface Module

dev.book Page 6 Wednesday, February 28, 2001 2:09 PM

β–  If a Model contains references to other Models, Products, or Components, and that Model is not effective, none of the referenced objects appear in the UI.

See Effectivity on page 3-6.

Data FieldsFeatures, Resources, and Totals appear as fields on the screens for their parent Products and Components. For imported BOM information, BOM OptionClasses and BOM StandardItems display as fields on the screens for their parent BOM Models and BOM OptionClasses. Totals and Resources generate Value Displays. The type of a Feature determines the default form for the field in the UI:

β–  Features of type List of Options with maximum = 1 and minimum = 1 and no counted options generate Dropdowns.

β–  Features of type List of Options with counted options generate Selection Lists with a numeric input field for each Option.

β–  Features of type List of Options with maximum > 1 and no counted options generate Selection Lists with check boxes for each Option.

β–  Features of type Integer Number or Decimal Number generate Numeric Edit Controls.

β–  Features of type True/False generate check boxes.

β–  Features of type Text generate Text Edit Controls.

Data Field LabelsConfigurator Developer automatically generates labels for data fields for all Features, Resources, and Totals. The default text for these labels is the name of the Feature, Resource, or Total. You can display labels only by name; you cannot choose to display them by either name or description. Additionally, the display area for labels is a fixed, predetermined size. This default size may not be the best for your Oracle run-time configurator, so be sure to check the appearance of labels in your generated UI screens. If necessary, you can alter the size of the label display area. See Customizing the Generic User Interface on page 5-10.

Add/Delete Component ButtonsIf a Component or Model has a maximum greater than one, Configurator Developer generates a button on the screen representing that Component which the end user can click to delete an instance of that Component from the configuration. The default text for this button is Delete This Component and the associated action is

5-6 Oracle Configurator Developer User’s Guide

Page 129: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

The User Interface Module

dev.book Page 7 Wednesday, February 28, 2001 2:09 PM

Delete Component/Model. The exception to this is when the Component represents the top-level UI for a configuration session.

The screen representing the parent node of the Component also provides a button to add an instance of the Component to the configuration. The default text for this button is Add <Component name>, and the associated action is Add Component/Model.

Referencing and the Model User InterfaceAt run-time, the UI of a given Model can be invoked either directly or as part of the UI for another Model that references it. If the UI is invoked by reference, and the corresponding Model reference is instantiable (Min and Max counts not equal), the Generate UI procedure creates a button to delete the current instance of the referenced Model or Component in the root page of the referenced UI. However, Configurator Developer does not display this button at run-time if the UI is invoked as the top-level UI for a configuration session.

If any referenced child has no compatible UI defined, Configurator Developer generates a compatible UI in the child Model.

Model UI Scope and UI ReferencesEach UI contains only the node and page definitions for the model to which it belongs. If a model references another model, the Reference Model node contains a UI node that identifies a specific UI in the referenced model. At run-time, Configurator Developer creates the complete UI for the parent model.

UI GenerationDuring UI generation, if one or more referenced child Models have multiple compatible UIs available, Configurator Developer chooses the latest compatible UI for each child Model. You can change the default UI after generating the UI for the parent model.

If a referenced child model has no UI defined, Configurator Developer generates a UI for the child model, then proceeds with generating a UI for the parent model. Configurator Developer stores the child model’s UI definition in the child model, not in the parent.

Because a Model may have multiple UIs, you can specify which UI to use for a referenced child Model after generating a UI for the parent model. Similarly, because you can generate a new UI at any time, you can change the UI Reference in the parent Model to link to a different UI in the child.

Constructing the User Interface 5-7

Page 130: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Generating a New User Interface

dev.book Page 8 Wednesday, February 28, 2001 2:09 PM

UI RefreshBecause the UI for a referenced Model is linked rather than incorporated into the parent model’s UI, changes in the child model’s UI do not require you to refresh the parent’s UI. However, if you delete a referenced UI from its containing model, the referencing UI will contain a broken link. When this occurs, UI Refresh detects the broken link and prompts you to repair it, but the UI refresh process continues regardless of whether you fix the link.

PublishingA broken or missing UI Reference link as described above results in a "consistency check" error when you publishing a model or update an existing publication. A broken or missing UI Reference link prevents either operation from proceeding.

Generating a New User InterfaceTable 5–1 lists the available elements of the Generic User Interface.

User Interface This is the root node of the UI.

Components Tree This node shows the hierarchical relationships between Components and sub-Products of your Model in the UI.

Screen This node groups the nodes that appear together on a single screen in the UI. From this node, you can add Buttons, Pictures, and Text.

Picture This node represents a graphic image file. Add graphics to improve the appearance of the UI. You can also associate an action with an image.

Text This node represents text in the UI. This is not the text that provides labels for Feature Controls and Value Displays

Button This node represents a button in the UI. The end-user selects a button in order to perform some action.

Feature Control This node represents a Feature in the UI. The end-user uses Feature controls to input values for Features or select from Options of a Feature.

Value Display This node represents Totals and Resources in the UI. Value Display fields display values to the end-user, and are read-only.

5-8 Oracle Configurator Developer User’s Guide

Page 131: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Generating a New User Interface

dev.book Page 9 Wednesday, February 28, 2001 2:09 PM

Table 5–1 Elements of the Generic User Interface

Display Width Reserved for Navigation FrameWhen creating a Components Tree UI, use the options in the New User Interface window to specify the size of the tree control relative to the display width of the browser window. This option determines how much screen area is available for the navigation frame (the frame containing the tree control) in the deployed run-time UI. You can specify an integer value between 0 and 50 inclusive. The default setting is 30. Set this value to 0 if you do not want the tree to appear in the run-time UI.

You can override the display width at any time by modifying this setting in the UI view. Overriding the value here does not affect any existing or new control layouts, (for example, by refreshing the UI), but doing so will set the allocation for the tree frame in the run-time UI.

To generate a new UI:

1. Select the UI button on the main toolbar to go to the User Interface module.

2. Choose New User Interface from the Create menu. You can also highlight the User Interfaces node in the UI Context Tree View, select the right mouse button, and select New User Interface from the pop-up menu.

3. A New User Interface dialog appears, prompting you for additional information to be used in generating the User Interface. That dialog contains the following controls:

β–  A dropdown list of the available UI Style options. The default value is Components Tree. Select this option if you are deploying your configuration model as DHTML in a browser. Select BOM Model tree to display your deployed configuration in the Java applet. Note that if you select BOM Model tree, you cannot customize the UI.

β–  A dropdown list for selection of the minimum target display resolution (this list appears only if you are generating a Components Tree UI):

* 640 x 480 (default)

* 800 x 600

Tagged Value Display This node specifies data to be displayed in the UI. Choices are Total Selling Price or Total List Price.

Referenced UI This node specifies the UI for a referenced Model node.

Constructing the User Interface 5-9

Page 132: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Customizing the Generic User Interface

dev.book Page 10 Wednesday, February 28, 2001 2:09 PM

* 1024 x 768

* 1600 x 1200

β–  A check box labeled Show all nodes, which overrides all Display in User Interface settings in the Model. If the Show all nodes box is checked, all nodes descended from the Product or Component at the root of the User Interface are displayed in the UI, regardless of whether they are marked for display in the Model. By default, this box is unchecked, which respects the visibility settings of the Model nodes.

β–  A input box with spin control that enables you to select the percentage of display width for the navigation frame. Possible values are 0 to 50.

4. When you select OK, an algorithm creates User Interface nodes corresponding to the nodes in the Model. The User Interface structure is displayed in the User Interface Tree.

The top-level node of the new User Interface structure has a default name generated from the name of the Product node the UI is based on followed by ’User Interface.’ You can edit the name and description of the UI in the usual fashion.

Customizing the Generic User InterfaceThe generic User Interface saves you a lot of time and routine work, but it may not satisfy all the requirements that you defined for your Oracle run-time configurator User Interface. If you are deploying your configuration model as Dynamic HTML in a browser, you can modify the generic User Interface to meet the unique needs of your configurator. Remember that you cannot customize User Interfaces generated for the Java Applet.

Any customizations that you make to the generic User Interface are stored in the Oracle Configurator schema, so they are available to your running Oracle run-time configurator.

Some of the many customizations you can make to your generic User Interface are:

β–  Customizing the User Interface Default Settings on page 5-11

β–  Customizing the Display of the Components Tree on page 5-12

β–  Customizing Screen Display Settings on page 5-13

β–  Customizing Screen Design on page 5-13

5-10 Oracle Configurator Developer User’s Guide

Page 133: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Customizing the User Interface Default Settings

dev.book Page 11 Wednesday, February 28, 2001 2:09 PM

Customizing the User Interface Default SettingsEach User Interface has overall default settings for screen background color and picture, font, logic state display, and hiding of unselectable options and controls. Any customizations you make to the default settings appear throughout the User Interface on all screens that do not override the defaults. You can customize these settings specifically for your enterprise and to provide a unified appearance to your User Interface. For example, you can display a custom picture or color on the background of every screen in your run-time configurator UI.

The logic state display enables the end user of the Oracle run-time configurator to see the logic state of objects in the configuration. You can display logic state using either icons or the color of label text or both. Logic state display using text color is not supported in the DHTML window. See Configuration Rules and Logic State on page 4-2 for further information on logic state.

Since you can define multiple User Interfaces in your configuration model, you may want different default settings for each one.

To modify the User Interface default settings

1. Select the UI button on the main toolbar.

2. Select the node for the User Interface you want to modify.

3. In the Attributes View in the right pane, open the Defaults section if it is closed.

β–  Default Screen Background:

* Use the Color field to select a background color. See Background Color on page 8-36.

* Use the Picture field to select the image file you want as background. See Picture on page 8-36.

Use the Default Font field to select a Font. See Font on page 8-35.

β–  Display Logic state using:

Select Icons, Text color, or both to determine how the User Interface displays logic state. If you do not want to display logic state, do not select either of the logic state display options.

* Select the Icons option box to display logic state using icons.

Click Select... to open the Logic State Icons dialog. You can choose between check boxes, Radio Buttons or Icons by selecting the appropri-ate tab. The dialog displays the default graphics used in the Oracle

Constructing the User Interface 5-11

Page 134: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Customizing the Display of the Components Tree

dev.book Page 12 Wednesday, February 28, 2001 2:09 PM

run-time configurator to represent the possible logic states, and the name of the associated graphics file.

You can change the graphic used by selecting a different graphics file. Select the dialog (...) button to open the standard Windows Open dia-log and specify a new file path. The default graphics files are stored in a directory Shared\Active Media in the Oracle Configurator install directory. You can use your own graphics files, which can be stored wherever you like, as long as the path you supply in Oracle Configura-tor Developer is the same as the path needed to find the files in the deployed environment. Select OK.

* Select the Text Color option box to display logic state using the color of label text.

Click Select... to open the Logic Text Colors dialog. The dialog displays the currently selected color for each logic state.

For each logic state field, use the Color field to select a color. See Back-ground Color on page 8-36.

β–  Allocate % of Display Width to Navigation Frame:

Select the percentage of the total screen width you want to devote to display of the Components Tree. Enter a value from 0 to 50, inclusive.

β–  Select Hide unselectable Controls and Options to hide options and controls that cannot be selected in the run-time UI.

β–  Select values for the Pricing Display attribute. See Pricing and ATP Display on page 5-3.

Customizing the Display of the Components TreeThe Components Tree is displayed by default using simple lines. The Components Tree always appears in the Configurator Java applet and cannot be customized.

Changing the Display Style1. Select the UI button on the main toolbar.

2. Expand the User Interface Tree and select the UI section node.

3. Select the Components Tree node.

5-12 Oracle Configurator Developer User’s Guide

Page 135: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Customizing Screen Design

dev.book Page 13 Wednesday, February 28, 2001 2:09 PM

4. In the Attributes View in the right pane, open the Definition section if it is closed.

β–  Select a Tree Style from the dropdown list. See Tree Style on page 8-35.

β–  Type the text you want to appear as a tip or guide to the user in the Tooltip Text field. (Note that Tooltip Text does not appear in the DHTML UI.)

β–  Select a font in the Font field. See Font on page 8-35.

β–  Specify a background image with the Picture field. See Picture on page 8-36.

β–  Specify a border for the picture with the Borders field. See Borders on page 8-36.

β–  Use the Background Color field to specify a color. See Background Color on page 8-36.

Customizing Screen Display SettingsWhen you create a new User Interface, the User Interface tree is populated with screen nodes that directly correspond to each Product, Component, and Feature node defined in your Model. Each screen node uses the default background color, background picture, and font, unless you choose otherwise.

Changing the Screen Display Settings1. Select the UI button on the main toolbar.

2. Expand the User Interface Tree and select the screen node you want to change.

3. In the Attributes View in the right pane, open the Styles section if it is closed.

β–  Use the Background Color field to specify a color. See Background Color on page 8-36.

β–  Use the Background Picture field to specify a background image. See Picture on page 8-36.

β–  Use the Font field select a Font. See Font on page 8-35.

Customizing Screen DesignEach screen in your User Interface contains nodes for the title bitmap and text. You can customize screens by modifying the title bitmap and text, by adding pictures,

Constructing the User Interface 5-13

Page 136: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Customizing Screen Design

dev.book Page 14 Wednesday, February 28, 2001 2:09 PM

text, and buttons, and by modifying the display of Features, BOM StandardItems, Totals and Resources.

Adding Graphics to a ScreenTo add or customize screen graphics, including the Title Bitmap of the screen:

1. Select the UI button on the main toolbar.

2. Expand the User Interface Tree and select the UI section node.

3. Select the screen node you want to customize.

4. To add a graphic image, use the right mouse button to select the screen node and select New Picture from the menu or select New Picture from the Create menu.

5. In the Attributes View in the right pane, type the name of the node in the Name section.

6. Open the Description section if it is closed and type the new descriptive text.

7. Open the Definition section if it is closed.

β–  Type the text you want to appear as a tooltip in the ToolTip Text field.

β–  Use the Picture field to select a graphics file. See Picture on page 8-36.

β–  Specify a border for the picture with the Borders field. See Borders on page 8-36.

β–  Use the Action dropdown list to select the action you want to the Oracle run-time configurator to take when the user selects the picture. See Action on page 8-36 for descriptions of available actions.

8. Open the Layout section if it is closed. Specify the Label layout and Tab Order. See Layout on page 8-38.

Adding Text to a ScreenTo add or customize text on a screen:

1. Select the UI button on the main toolbar.

2. Expand the User Interface Tree and select the UI node.

3. Create or select the screen node you want to customize.

5-14 Oracle Configurator Developer User’s Guide

Page 137: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Customizing Screen Design

dev.book Page 15 Wednesday, February 28, 2001 2:09 PM

4. Use the right mouse button to select the screen node and select New Text from the menu or select New Text from the Create menu.

5. In the Attributes View in the right pane, type the name of the text node in the Name section.

6. Open the Description section if it is closed and type the new descriptive text.

7. Open the Label section if it is closed.

β–  Type the new text as you want it to appear in the Text field.

β–  Select the Use Default option box or select the dialog (...) button in the Font field to open the Font dialog. Select a font and its related attributes. Select OK.

β–  Use the Background Color field to specify a color. See Background Color on page 8-36.

β–  Select Transparent or Opaque from the Background Style dropdown list.

8. Open the Layout section if it is closed. Specify the Label layout. See Layout on page 8-38.

Adding Buttons to a ScreenYou can add buttons to screens of your User Interface. You typically add a button so the end user can perform a specific action by clicking on it. For example, you might create a button to add or delete a component or perform a custom action by associating it with a Functional Companion. See Functional Companions on page 4-48.

Note that it is possible to create a button to navigate to a Component in the run-time UI and the action fails when the end user selects it. This can happen when a rule removes the Component from the available configuration options based on a previous selection by the end user. When this occurs, Oracle Configurator Developer displays a message that the Component is no longer available within the current configuration session.

1. Select the UI button on the main toolbar.

2. Expand the User Interface Tree and select the UI node.

3. Create or select the screen node you want to customize.

4. Use the right mouse button to select the screen node and select New Button from the menu or select New Button from the Create menu.

Constructing the User Interface 5-15

Page 138: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Customizing Screen Design

dev.book Page 16 Wednesday, February 28, 2001 2:09 PM

5. In the Attributes View in the right pane, type the name of the button node in the Name section.

6. Open the Description section if it is closed and type the new descriptive text.

7. Open the Definition section if it is closed.

β–  Type the text you want to appear as a tooltip in the ToolTip Text field.

β–  Use the Picture field to select the image file you want to use. See Picture on page 8-36. See Adding Text and Graphics on Buttons on page 5-16 for more information on use of graphics on buttons.

β–  Specify a border for the picture with the Borders field. See Borders on page 8-36.

β–  Use the Action dropdown list to select the action you want to the Oracle run-time configurator to take when the user selects this button. See Action on page 8-36 for descriptions of available actions.

8. Open the Label section if it is closed.

β–  Type the new button text as you want it to appear in the Text field. See also Adding Text and Graphics on Buttons on page 5-16.

β–  Select the Use Default option box or select the dialog (...) button in the Font field to open the Font dialog. Select a font and its related attributes. Select OK.

β–  Use the Background Color field to specify a color. See Background Color on page 8-36.

β–  Select Transparent or Opaque from the Background Style dropdown list.

9. Open the Layout section if it is closed. Specify the Label layout and Tab Order. See Layout on page 8-38.

Adding Text and Graphics on ButtonsYou can add graphics to a button by specifying a graphics file in the Picture field. See Picture on page 8-36. However, you need to know the size of graphic image and the button, because graphics are not displayed on buttons in the Preview window.

If you deploy your end-user configurator as a Dynamic HTML in a browser, you can use either text or graphics on a buttons, but not both. If you specify both text and a graphic on a button, and deploy as Dynamic HTML in a browser, the DHTML window displays only the graphic, because the client process checks for the image source first, and displays the image if it finds one.

5-16 Oracle Configurator Developer User’s Guide

Page 139: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Customizing Screen Design

dev.book Page 17 Wednesday, February 28, 2001 2:09 PM

Customizing Features, Totals, and ResourcesA User Interface node is automatically created to correspond with each Feature node in your Model. You can make your User Interface more interactive by customizing the Feature nodes in your User Interface to display as questions for the selection of options. For example, instead of displaying a list of color options with a color label, you can display β€œWhat color would you like?” next to the selection list. You can also provide more informative text for display of Totals and Resources.

Changing Feature, Total, and Resource, Nodes1. Select the UI button on the main toolbar.

2. Expand the User Interface Tree and select the UI node.

3. Expand the Screen node containing the object you want to customize.

4. Select the node you want to customize.

5. Open the Description section if it is closed and type the new descriptive text. This could describe a question or be the same information that was entered in the Name section.

6. Open the Definition section if it is closed.

β–  Select the type of control mechanism you want displayed for this Feature (dropdown or selection list) in the Control field.

β–  The Format String field for Totals and Resources is not currently implemented.

β–  Type the text you want to appear as a tooltip in the ToolTip Text field.

β–  Use the Font field to select a Font. See Font on page 8-35.

7. Open the Label section if it is closed.

β–  Type the new text as you want it to appear on the field label in the Text field.

β–  Use the Font field to select a Font. See Font on page 8-35.

β–  Use the Background Color field to specify a color. See Background Color on page 8-36.

β–  Select Transparent or Opaque from the Background Style dropdown list.

Constructing the User Interface 5-17

Page 140: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Customizing Screen Design

dev.book Page 18 Wednesday, February 28, 2001 2:09 PM

8. If the Feature is a List of Options, the Option Display section is available. Open it and Select the corresponding radio button to indicate if you want to Label each option or Display pictures. See Option Display on page 8-38.

9. Open the Layout section if it is closed. Specify the Control and Label layout, and the Tab Order. See Layout on page 8-38.

Hiding Components1. Select the UI button on the main toolbar.

2. Expand the User Interface Tree and select the UI node.

3. Select the node you want to hide.

4. At the top of the Attributes View, select the Go To button.

The Model Tree opens, automatically selecting the Model node corresponding to the User Interface node.

Each User Interface node that corresponds to a Model node has a Go To button that allows you to navigate directly to that node in the Model Tree.

Although you are in the Model View, you are still in the User Interface module. The Attributes View displays a list of the User Interface nodes associated with the Model node.

5. Switch to the Model module, by selecting the Model button on the Toolbar.

6. Open the Visibility section of the Attributes View for the selected node. Deselect the check box labeled Display in User Interface.

7. Switch to the User Interface module, by selecting the UI button on the Toolbar.

8. In the Context Tree View for User Interfaces, select the node for the User Interface.

9. Choose Refresh from the Edit menu.

10. When you expand the User Interface Tree, the User Interface node corresponding to the hidden Model Component no longer appears.

11. When you run the Oracle run-time configurator again, the node no longer appears.

You can also hide a component by assigning an effective date or Usage in Configurator Developer. See Effectivity on page 6.

5-18 Oracle Configurator Developer User’s Guide

Page 141: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Editing in the Preview Window

dev.book Page 19 Wednesday, February 28, 2001 2:09 PM

Editing in the Preview WindowThe Preview window allows you to edit the layout of each User Interface object on a screen, such as the position of a button or image. You can open the Preview window by selecting a Screen node in the User Interface Tree and choosing Preview from either the View menu or the right-click pop-up menu. You can also open the Preview window from any node within a screen. When you do this, the window displays the screen containing the selected node.

You can open multiple Preview windows at the same time, but only one Preview window can be opened per screen. Changes made in the Preview window are immediately reflected in the Attributes View on page 8-3 for the selected User Interface node, if applicable. Likewise, changes made in the Attributes View are immediately reflected in any Preview window that is displaying the selected User Interface node. Moving or sizing a User Interface object in the Preview window displays the coordinate values in the Attributes View on page 8-3 as they change.

You can use the Preview window to cut, copy, paste, and delete objects. You can also select multiple objects (by holding the Shift key and clicking with the mouse) to control alignment, resize objects, and modify the horizontal and vertical spacing between each object.

The Preview window does not accurately show all aspects of the appearance of the screen in the UI.

Constructing the User Interface 5-19

Page 142: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Editing in the Preview Window

dev.book Page 20 Wednesday, February 28, 2001 2:09 PM

5-20 Oracle Configurator Developer User’s Guide

Page 143: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Testing and Debu

dev.book Page 1 Wednesday, February 28, 2001 2:09 PM

6

Testing and Debugging

The Test/Debug ModuleUse the Test/Debug module to review a portion of the Model structure, view the Model structure in a UI before creating any Configuration Rules, or as a final check before releasing the Model for testing by external users. This module enables you to review and make iterative changes to a model while it is still in development. When a configuration model is complete and you want to make it available to others for testing or production activities, you must create a new publication. See Publishing on page 2-6.

Before testing your Oracle runtime configurator using the Test/Debug module, you must:

β–  create a Model structure and User Interface (see The Model Window on page 3-1)

β–  run Generate Active Model (see The Configuration Rules Module on page 4-1)

β–  select the deployment environment for testing your Oracle runtime configurator (see Select Test Environment on page 8-12)

If you changed the Model since the last time the User Interface was generated, you must refresh the UI or create a new one prior to testing. If you changed the Model or any Configuration Rules, you must regenerate the Active Model.

When you are ready to test your configurator, select Test from the main toolbar or Test/Debug from the View menu. When you do this, you can view the model based on the effectivity that you defined for each node in Configurator Developer. See Testing your Model on page 6-2.

When you click OK, Oracle Configurator Developer generates and displays an end user application created from the model and Configuration Rules you defined and

gging 6-1

Page 144: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

The Test/Debug Module

dev.book Page 2 Wednesday, February 28, 2001 2:09 PM

the effectivity parameters that you specified. This testing environment is called the Active User Interface.

Testing EnvironmentsThe environment in which Oracle Configurator Developer displays the Active User Interface depends on the settings in the Options dialog. See Options on page 8-12.

If you are testing your model in the Dynamic HTML in a browser or Java Applet test environment:

1. Configurator Developer sends an initialization message to the UI servlet, using the URL you specified in the Tools > Options dialog.

2. Your current session information (database instance, username, password, etc.) is used to connect to the Oracle Configurator schema.

3. If you defined more than one User Interface in Configurator Developer, select the one you want to test from the popup menu.

4. Your default Web browser or a Java applet opens, displaying the current Model using the User Interface you specified.

5. Configurator Developer writes the contents of the initialization message to a file in your computer’s C:/Temp directory. If your testing environment is a Java Applet, this file is called applethtm.htm. Otherwise, the file is called dhtmlhtm.htm. You can view this file using a standard text editor.

Testing your ModelVerify that the Model structure as displayed through the User Interface functions effectively in the Oracle runtime configurator. To do this, you must first select the deployment environment by defining parameters in the Options window. See Select Test Environment on page 8-12.

View and test the structure of your Model for visibility and other Properties that you have applied. See Configuring an Item in a Run-time Oracle Configurator on page 6-3 for details about how the user interface works.

Testing your Configuration RulesYou test your Configuration Rules to determine they are giving you the desired results. It is good practice to test Configuration Rules incrementally. If you are receiving an error in the Oracle runtime configurator, you can temporarily disable

6-2 Oracle Configurator Developer User’s Guide

Page 145: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

The Test/Debug Module

dev.book Page 3 Wednesday, February 28, 2001 2:09 PM

specific rules to determine which rule is causing the error, and then modify its definition to resolve the problem.

Testing your User InterfaceNote whether the User Interface has the look and feel that you want for your Oracle runtime configurator. Check that the screens present appropriate information to the end user in an easily usable format.

See How the Oracle Run-time Configurator Displays the Model on page 5-1 for more information on how Model structure and User Interface are related.

Configuring an Item in a Run-time Oracle ConfiguratorYou can use the following steps for any run-time Oracle Configurator:

1. Oracle Configurator contains a selection pane in which you choose options. It may also contain a Model structure pane (on the left), which displays a tree of the components in the configurable product.

2. In the selection pane, begin making selections from the options that are presented.

3. As you make selections, they are automatically validated against the rules that have been defined for the model or item that you are configuring.

If you change one of your selections, it can automatically change the choice of valid selections for other features of the product, according to the configuration rules. You see those changes when you select an affected feature.

To select this ... Do this ...

One option Select the check box for the desired option.

One option in a group of mutually exclusive options

Select the check box for the desired option.

(This list might be presented as a set of radio buttons.)

One or more options in a group that allows multiple selections

Select the check boxes for all the desired options.

A quantity for a numeric option Enter the desired quantity.

Entering a quantity greater than zero automatically selects the option.

Testing and Debugging 6-3

Page 146: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

The Test/Debug Module

dev.book Page 4 Wednesday, February 28, 2001 2:09 PM

If you make a selection that violates a configuration rule, the configuration window displays a message describing the violation and your options for dealing with it.

4. When you are finished making selections for one component, you move on to the next components, until you configure the entire product.

For information on navigating, see How the Oracle Run-time Configurator Displays the Model on page 5-1.

5. View the summary to display all the selections you have made, and other option information, such as quantity, price, and the total price for the configured product.

6. If an Availability button is displayed, click it to show the Available To Promise (ATP) dates for the relevant items.

7. When you have finished the entire configuration, click the Done button to continue processing your order.

If the configuration is satisfied, you have made all the required valid selections.

If the configuration is unsatisfied, a message tells you how to either ignore it and continue, or return to the selection pane to finish the configuration.

The host application then closes the configuration window and continues processing your order.

Viewing Changes to the Model in the Active UIAs you test the Model, you may notice parts of the UI that you want to change or rules that do not function as you intended. Use Configurator Developer to make any necessary changes. However, you will notice that the Dynamic HTML in a browser and Java Applet testing environments do not immediately reflect changes you make.

For example, you are testing your configuration model and notice an error in a button caption, so you fix the caption in Developer. The change you make does not immediately appear in the model currently running in your browser. To view recent Configuration Rules or UI changes, you must open a new configuration session in a new browser window by selecting Test from the main toolbar.

In order for this method to work correctly, you may need to first turn off caching between sessions in the UI Servlet. You do this by adding the following line to the appropriate Apache configuration file:

cz.uiservlet.dio_share=false

6-4 Oracle Configurator Developer User’s Guide

Page 147: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Configurator Developer Messages

dev.book Page 5 Wednesday, February 28, 2001 2:09 PM

If you turn off caching between sessions, Oracle Configurator gets new Model information from the database every time you display the Model in the new browser window. This database access requires extra time to perform.

If you turn on caching between sessions (by setting cz.uiservlet.dio_share=true), thenOracle Configurator displays cached Model information every time you display the Model in the new browser window. Using cached Model information requires less time than accessing the database, but your latest UI changes will not appear. You must stop and restart the UI Servlet in order to display changes in the Model. You may be able to stop and restart the UI Servlet while Oracle Configurator Developer is running, although doing so will affect other users who may be accessing that Model, and may cause the states of the UI Servlet, the Model, and Oracle Configurator Developer to become inconsistent with each other.

For more information on the UI Servlet and installing the Servlet on the server, see the Oracle Configurator Installation Guide and Oracle Configurator Implementation Guide.

Configurator Developer MessagesAs you work in Configurator Developer, the system may occasionally display messages alerting you to errors or warning about potential problems in your configuration model. For example, if you create a rule but do not define it, Configurator Developer displays a warning message when you generate the Active Model. These messages, along with other execution status information, are logged by Configurator Developer in the datastore log.

You can display the contents of the datastore log in the Log Messages window by enabling the Show Datastore Log option. To do this, choose Options from the Tools menu, select the Log tabbed region, and select the Show Datastore Log box. When you click OK, the Log Messages window appears.

For more information on using the Log Messages window, see The Log Messages Window on page 8-40.

You can also specify that log messages should be written to a file by entering a directory path and file name in the Log File field. Logging execution messages to a file preserves this information and may be useful if you are having problems with Developer and need to provide information to customer support. By default, messages are written to a file called Developer.log in the directory Osp\Developer in your Oracle install directory.

Testing and Debugging 6-5

Page 148: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Configurator Developer Messages

dev.book Page 6 Wednesday, February 28, 2001 2:09 PM

Status messages also have a severity level. You can specify which messages to include in the log file by choosing Settings > Report Settings > (severity level) from the Log Messages window. Oracle Configurator Developer logs all messages of a severity equal to or higher than the level you select, and discards all messages in categories less severe than this level. Note that setting a very low severity level can affect system performance, due to the large number of messages logged. The default severity level is Notification.

Following are message severity levels and their categories from the least to the most severe.

Tracing and informational messages1. DetailTrace

2. Info

Warnings1. Empty/EOF

2. Notification

3. Warning

Errors1. Error

2. Data Damaged

3. FATAL

Error Messagesβ–  The "Runtime Error ’7’ " and "out of memory" error messages are usually

caused by too little virtual memory.

β–  If you receive the error "The name is not in use for a subkey or named value", check the TNS, ODBC, DSN, and spx.ini information.

β–  The following message is almost always the result of an inconsistency in your Active Model: "WebUI Initialization Failure", "oracle.apps.cz.logic.EngineFatalLoadFileException: Error loading file: null: unknown No such variable defined". Choose the Generate Active Model command to regenerate your Model.

6-6 Oracle Configurator Developer User’s Guide

Page 149: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Using Oracle Configurator Developer Repository Window

dev.book Page 1 Wednesday, February 28, 2001 2:09 PM

7

Using Oracle Configurator Developer

Repository Window Tools

Oracle Configurator Developer provides a Windows-based user interface you use to organize and maintain configuration Models and the attributes they share. This chapter discusses the tools you can use to store and manage configuration Models, Effectivity Sets, and Usages.

Oracle Configurator Developer WindowsOracle Configurator Developer consists of a Model window and a Repository window. The Model window and its subgroup of modules enable you to build model structure, define configuration rules, and create and customize a user interface to your configurator. See Using Oracle Configurator Developer Model Window Tools on page 8-1.

This chapter describes the tools available in the Repository window. For an overview of using Oracle Configurator Developer tools to build a configuration model, see Building Models on page 1-8.

Repository WindowThe Repository window is the first window that appears when you log in to Oracle Configurator Developer. In this area you organize and maintain models and their shared attributes in a single location, so changes you make once affect all components assigned to that attribute. You also use the Repository window to publish models for production, testing, or other activities. Publishing on page 2-6.

When you select an existing Model node and choose File > Open or double click in the Repository window, the model opens in the Model window so you can modify its Product Structure, Rules, and UI. The Repository and Model windows can be

Tools 7-1

Page 150: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Oracle Configurator Developer Editing Tools

dev.book Page 2 Wednesday, February 28, 2001 2:09 PM

open at the same time so you can view and manage Repository entities while modifying an existing model.

Note that the model name and description that appears in the Repository are not necessarily the same as the name and description of the root node in the Model window. You can enter unique Model names and descriptions in the Repository to make it easier to organize and find Models when you want to edit them. When you open a Model for editing, Configurator Developer displays the model name that appears in the Repository window in the title bar of the Model window.

Use the Repository to:

β–  create, organize, and maintain Model nodes

β–  create, organize, and maintain shared model attibutes including Effectivity Sets and Usages

β–  create Folders to store and organize Model nodes and model attributes in a logical manner

β–  publish configuration models

β–  delete Effectivity Sets, Usages, and Models

Repository EntitiesEntities that you create and maintain in the Repository include Model nodes, Effectivity Sets, Usages, and Folders. Effectivity Sets and Usages are attributes you use to control the availability of model nodes and these attributes can be shared by multiple configuration models and model components simultaneously. See Effectivity on page 3-6.

Repository Folders are similar to a file directory system. You use Folders to store and organize configuraiton Models, Effectivity Sets, Usages, and other Folders (subfolders) in the Repository. In the Repository, you must create Models, Effectivity Sets, and Usages within a Folder. See Tree Views on page 7-10.

When you create a Model, Effectivity Set or Usage in the Model window, Configurator automatically creates the entity at the top level in the Repository. You can then move an entity to a specific Folder using cut and paste.

Oracle Configurator Developer Editing ToolsEach menu on the Oracle Configurator Developer Repository window menu bar contains commands for performing a set of related operations.

7-2 Oracle Configurator Developer User’s Guide

Page 151: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

File Menu

dev.book Page 3 Wednesday, February 28, 2001 2:09 PM

The menus in Configurator Developer are context-sensitive. The set of commands on a menu changes to reflect the context in which it is being used. An example is the Create menu. When you change to a different Oracle Configurator Developer module, the set of things that you can create changes.

The commands on Oracle Configurator Developer menus are also available on context-sensitive pop-up menus. When you select a node in one of the panes on the left-hand side of the Oracle Configurator Developer window, then click the right-hand mouse button, a menu appears that lists appropriate commands for the operations you perform on the selected node.

The Repository window provides the following menus:

β–  File Menu on page 7-3 on page 7-3

β–  Edit Menu on page 7-4 on page 7-4

β–  Create Menu on page 7-6

β–  View Menu on page 7-7

β–  Tools Menu on page 7-8

β–  Help Menu on page 7-10 on page 7-10

Repository Window Keyboard ShortcutsYou can access the cut, copy, and paste commands in the Repository window using the following keyboard shortcuts:

These commands are also available from the Repository Edit menu. See Edit Menu on page 7-4.

File MenuUse the File menu to open a Model, Effectivity Set, or Usage for editing, modify Developer preferences, or to exit Configurator Developer.

Command Shortcut

Cut ctrl-x

Copy ctrl-c

Paste ctrl-v

Using Oracle Configurator Developer Repository Window Tools 7-3

Page 152: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Edit Menu

dev.book Page 4 Wednesday, February 28, 2001 2:09 PM

Edit MenuUse this menu to perform editing operations on the currently selected node or value.

You can also use the buttons on the Use this toolbar to perform basic editing operations on the selected Model node or entity. on page 7-10 for some of these commands.

Managing Repository Entities

CreatingIn the Repository, you can create new Effectivity Sets and Usages using copy and paste. When you do this, the system makes a copy of the selected entity and gives the new copy a unique name. For example, if you copy Effectivity Set ”EffectivitySet1," the copied set is called "Copy of EffectivitySet1." If this name

Command Description

Open Opens the selected entity for editing. Models open in the Model window. Usages and Effectivity Sets open in an Edit window.

Properties Displays the creation and last modified dates for the selected entity. You can also use this option to modify the description of a Model node.

Exit Exits the Oracle Configurator Developer application.

Command Description

Cut Cuts the selected node or value. A selected node is displayed in a disabled state until you Paste it.

Copy Copies the selected node of any type or value.

Paste Pastes the cut or copied node or value.

Delete Prompts you to confirm the deletion, then deletes the selected node. See Deleting on page 7-6.

Rename Renames the selected node.

7-4 Oracle Configurator Developer User’s Guide

Page 153: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Managing Repository Entities

dev.book Page 5 Wednesday, February 28, 2001 2:09 PM

exists, then the new name has a number added to the name. For example: Copy(n) of Effectivity Set1. See Create Menu on page 7-6.

Moving Use the cut and paste commands to move an entity from one location in the Repository to another. These commands are available from the Edit menu and by right clicking using the mouse.

Modifying You can modify Effectivity Sets and Usages in both the Repository and the Model windows. You can modify the name and description of an Effectivity Set or Usage at any time. Configurator Developer does not display an error or warning message when you edit an entity’s name or description because this change does not adversely affect the availability of Model components. The change simply propagates to all components that share that entity.

However, if you modify the date range of an Effectivity Set that is shared by more than one Model component, Configurator displays a warning message. This is because modifying effective dates can affect multiple components across many different configuration Models. The warning that Configurator Developer displays in this case is similar to the following:

"This change will affect 2 Model nodes and 3 Rules, of which 2 are members of a Rule Sequence. Do you wish to continue?"

At this point you can do one of the following:

β–  Click OK to make the change anyway.

β–  Click No to cancel the change and return to the Edit Effectivity Set window. You can then click the Member button to view all of the Model components to which this Effectivity Set is assigned. To find out more information about a Model component, select it and click Go To. Once you know which components will be affected, you can decide whether to proceed with the change.

RenamingTo change the name of a Model, Folder, Effectivity Set, or Usage, select it and then choose Edit > Rename.

Using Oracle Configurator Developer Repository Window Tools 7-5

Page 154: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Create Menu

dev.book Page 6 Wednesday, February 28, 2001 2:09 PM

To change a Model’s Structure, Rules, or UI, you must open it in the Model window. To do this, select the Model node in the Repository, then either double click using the mouse, or choose File > Open. See Constructing Model Structure on page 3-1.

DeletingYou can delete a model only if it is not referenced by another model and no publication exists for that model. To see if a model is referenced by one or more other models, select it, then choose View > References. For more information, see Model Referencing on page 2-1. Configurator Developer displays a message if you atttempt to delete a model for which a publication exists. See Publishing on page 2-6.

You can delete an Effectivity Set or Usage if it is not assigned to any Model components. To delete an Effectivity Set or Usage that is in use, you must first delete the assignment from the Model window. To see all components to which an entity is assigned, select it and then choose View > Members. In the Members dialog window, choose Go To to view the entity in the Model window. In the Model window, delete the association between the Model component and the entity by modifying entries in either the Member of Effectivity Set field or the Usages field.

You can delete a Folder only if it is empty.

Create Menu Use this menu to create new Model nodes, Effectivity Sets, or Usages. Whether you can create a node or an entity depends on the current selection. For example, if a Folder is selected, you can create a Model, Folder, Effectivity Set, or Usage.

Command Description

Model Creates a new Model in the currently selected Folder. See Creating Models on page 7-7.

Effectivity Set Creates a new Effectivity Set in the currently selected Folder. See Effectivity Sets on page 3-7.

Usage Creates a new Usage in the currently selected Folder. See Usages on page 3-8.

Folder Creates a subfolder in the currently selected Folder. See Creating Folders on page 7-7.

7-6 Oracle Configurator Developer User’s Guide

Page 155: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

View Menu

dev.book Page 7 Wednesday, February 28, 2001 2:09 PM

Creating ModelsTo create a Model in the Repository, select a Folder, then choose Create > Model or right click using the mouse and choose New Model.

After creating a Model node in the Repository, you can open it in the Model window to define its Product Structure, Rules, and UI definition. You can open only one Model at a time in the Model window. See Constructing Model Structure on page 3-1.

When you create a Model by building it in the Model window or by importing a Bill of Materials, Configurator automatically creates a corresponding Model node in the top level of the Repository (that is, not within a Folder). You can then move the new Model node into a Folder using the cut and paste commands. See The Imported BOM Model on page 3-8.

You can have more than one Model with the same name in the Repository, but they must be stored in separate Folders. Note that the Model name that appears in the Repository might not be the same as the name of the Model root node in the Model window. Providing unique, descriptive Model names in the Repository makes it easier to manage and locate Models you want to modify. When you open a Model for editing, Configurator Developer displays the name that appears in the Repository window in the title bar of the Model window. This name might be different from the name of the Model node itself.

Creating FoldersTo create a Folder in the Repository, select the root Folder at the top of the Repository window. To create a subfolder, select an existing Folder then choose Create > Folder, or right click using the mouse and choose New Folder. For example, if a Folder TEST1 is selected and you choose Create > Folder, Developer creates a new subfolder in TEST1. You can also create a subfolder by cutting an existing Folder and pasting it into another Folder.

View MenuSelect one or more options on the View menu to control which entities appear in the Repository. These options include All, Model, Effectivity Sets, Usages, and View by Folder. View by Folder is an optional "toggle" setting that displays Folders in addition to the other option you select. For example:

β–  to view all Models and Folders in the Repository, select both Model and View By Folder

Using Oracle Configurator Developer Repository Window Tools 7-7

Page 156: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Tools Menu

dev.book Page 8 Wednesday, February 28, 2001 2:09 PM

β–  to view all Models, Effectivity Sets, Usages, and Folders, select All and View by Folder

β–  to view only Models, select only Model

β–  if View by Folder is not selected, no Folders appear in the Repository window

The default view is View All by Folder.

Tools MenuUse the Tools menu to open the Model Publishing window. The Model Publishing window enables you to create, update, or delete model publications. See Publishing on page 2-6.

The Model Publishing Window Following is a description of each region and button in the Model Publishing window.

Show RegionAll published Models: Use this radio button to view all publications on the specified database instance.

Selected Model: Use this radio button to view only publications of the currently selected Model. The Model name is the one that appears in the Repository window, not the name of the root node in the Model window (if they are different).

Instance: Use this list to view model publications according to the database on which it exists.

List of Model PublicationsID: The model publication ID number. This number is generated by the database when the publication is created.

Model: The name of the Model as it appears in the Repository window. (The root node that appears in the Model window and the Model name in the Repository window can be the same or different, depending on how you define them.)

UI: The user interface associated with this publication. You can create multiple UIs for a Model in Oracle Configurator Developer, but a model publication can have only one UI. You can also create a publication without specifying a UI by choosing None for this option.

7-8 Oracle Configurator Developer User’s Guide

Page 157: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Tools Menu

dev.book Page 9 Wednesday, February 28, 2001 2:09 PM

Instance: The database on which the Model data associated with this publication exists.

Published: The date the selected publication was created.

Status: The current status of the selected publication. See Maintaining Publications on page 2-11.

Applicability RegionThis region shows the applicability parameters defined for the selected Model, such as the publication mode, application, Usages, and effective dates. You set these parameters when creating a new publication or editing an existing publication. See Applicability Parameters on page 2-8.

Buttons in the Model Publishing WindowNew: Choose this button to create a new Model publication. When you click on OK in the New Publication window, Configurator Developer creates a publication with a status of Pending. See Creating a New Publication on page 2-15.

New Copy: Choose this button to create a new Model publication based on an existing publication’s applicability parameters. For example, if you want to create a new publication that will have applicability parameters that are similar to an existing publication, select the existing publication, then choose New Copy. In the Copy Publication window, modify information for the new publication as required. See New Copy on page 2-17.

Edit: Choose this button to modify the applicability parameters for an existing publication. This function changes the availability of the publication, it does not actually copy Model data. See Editing a Publication on page 2-19.

Republish: Choose this button to update a previously published Model with any changes you made to the Model in Configurator Developer. See Updating a Publication on page 2-17.

Delete: Choose this button to delete a publication record from the database. This function does not remove any Model data from the database. See Deleting a Publication on page 2-20.

Close: Choose this button to close the Model Publishing window. Configurator Developer updates the list of publications when you open the Model Publishing window, so closing and opening it may update the status of one or more publications (for example, if a concurrent program has just completed).

Using Oracle Configurator Developer Repository Window Tools 7-9

Page 158: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Help Menu

dev.book Page 10 Wednesday, February 28, 2001 2:09 PM

Help MenuUse this menu to get information about Oracle Configurator Developer and how to use it to construct your configurator.

Repository Editing ToolbarUse this toolbar to perform basic editing operations on the selected Model node or entity.

Tree ViewsOracle Configurator Developer displays Repository entities in hierarchical structures called tree views. Tree views show the location of each entity and Folder structure contain others. You can expand, collapse, or hide branches of the tree using the plus (+) and minus (-) controls that appear on Folders that contain Effectivity Sets and Usages.

Command Description

Help Topics Opens the online help for Oracle Configurator Developer.

About Oracle Configurator Developer

Displays information about this version of Oracle Configurator Developer.

Open

Cut

Copy

Paste

7-10 Oracle Configurator Developer User’s Guide

Page 159: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Tree Views

dev.book Page 11 Wednesday, February 28, 2001 2:09 PM

When a Folder is collapsed or hidden, only the root node (the Folder) remains visible. Nodes in Oracle Configurator Developer tree views have names and graphical icons associated with them. The graphical icons provide visual cues that identify each Repository entity as a Model, Effectivity Set, Usage, or Folder.

Nodes Present in a Tree View

NameProvides a name for the selected node. When you create a new node, Developer prompts you to enter a name. You can change the name of a Model node by right clicking with the mouse and choosing Rename. To modify the name of a Usage or Effectivity Set, select the entity, then choose File > Open, or right click using the mouse and then choose Open.

DescriptionProvides a description of the selected node. When you create a new node, Developer prompts you to enter a description. You can change the description of a node at any time.

To modify the description of a Model node, select it, then choose File > Properties.

Using Oracle Configurator Developer Repository Window Tools 7-11

Page 160: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Tree Views

dev.book Page 12 Wednesday, February 28, 2001 2:09 PM

To modify the name of a Usage or Effectivity Set, select the entity, then choose File > Open, or right click using the mouse and then choose Open.

7-12 Oracle Configurator Developer User’s Guide

Page 161: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Using Oracle Configurator Developer Model Window

dev.book Page 1 Wednesday, February 28, 2001 2:09 PM

8

Using Oracle Configurator Developer Model

Window Tools

Oracle Configurator Developer provides a Windows-based user interface you use to build the model structure and configuration rules that drive your completed configuration. This chapter discusses the tools available in the Configurator Developer Model window that you can use to create and maintain configuration Models.

Oracle Configurator Developer WindowsOracle Configurator Developer consists of a Repository window and a Model window. You use the Repository window to manage the Oracle Configurator Developer Models on which your configurators are based. See Using Oracle Configurator Developer Repository Window Tools on page 7-1. To modify a model’s Structure, Rules, and User Interface, you must open it for editing in the Model window. This chapter describes the tools available in the Model window.

For an overview of using Oracle Configurator Developer tools to build a configuration model, see Building Models on page 1-8.

The Model Window ModulesA Module is a subgroup of the total suite of tools that you use to create and modify configuration Models in Oracle Configurator Developer. The Model window consists of the following Modules: Model, Configuration Rules, User Interface, and Test/Debug. Each module provides tools for accomplishing a common set of tasks such as building a Model or defining rules. You use the Model module to view and develop Item Master data, build model structure, and define attributes for each node, including visibility in the UI, node properties, and effectivity.

Tools 8-1

Page 162: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

The Model Window

dev.book Page 2 Wednesday, February 28, 2001 2:09 PM

Model ModuleYou use the Model Module to view imported BOM Model structure and define additional Model structure for your configurator. See The Model Window on page 3-1.

Configuration Rules ModuleYou use the Configuration Rules Module to create the Configuration Rules that define constraints between elements of your Model and control how products can be configures. See The Configuration Rules Module on page 4-1.

User Interface ModuleYou use the User Interface Module to define user interfaces for your application and customize them for your specific company needs. The structure of the generated user interface is derived from the structure of the Model. See The User Interface Module on page 5-1.

Test/Debug ModuleYou use the Test Module to launch your selected test environment and test model structure, rules, effectivity, and user interface customizations. See The Test/Debug Module on page 6-1.

You can switch between the Modules as you work, by clicking on the Module buttons in the toolbar.

The Model WindowThe Model window is divided into three panes. Each pane contains a view that you use for particular tasks in creating your application.

8-2 Oracle Configurator Developer User’s Guide

Page 163: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

The Model Window

dev.book Page 3 Wednesday, February 28, 2001 2:09 PM

Model ViewThe Model View appears in the upper-left pane. It is always available, since the Model is the organizing core of your configurator.

Context Tree ViewThe Context Tree View appears in the lower-left pane. It displays a different set of nodes, depending on which module you are currently working in.

See Tree Views on page 8-15 for information about a specific context tree.

Attributes ViewThe Attributes View appears in the right-hand pane.

Current Module Context Tree View displayed

Model Module on page 8-2 The tree of Item Master Items and Item Types.

Configuration Rules Module on page 8-2

The tree of Configuration Rules for your Model.

User Interface Module on page 8-2

The tree of User Interface elements for your Model

Using Oracle Configurator Developer Model Window Tools 8-3

Page 164: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Oracle Configurator Developer Editing Tools

dev.book Page 4 Wednesday, February 28, 2001 2:09 PM

An Attributes View is available on every node of every tree used in Oracle Configurator Developer. The Attributes available in an Attributes View depend on the module and node you have selected. Attributes for the Developer modules are described in the following sections:

β–  Model Attributes for the Model Module on page 8-18

β–  Item Master Attributes on page 8-25

β–  Model Attributes for the Configuration Rules Module on page 8-27

β–  Configuration Rules Attributes on page 8-28

β–  Model Attributes for the User Interface Module on page 8-31

β–  User Interface Attributes on page 8-32

Each available Attribute is presented in section. To display the contents of a section, click on the right arrow icon next to a section label. The icon changes to a down arrow, and the sections opens. To hide the contents of a section, select the down arrow icon.

Oracle Configurator Developer Editing ToolsUse the following tools to edit information in the Oracle Configurator Developer Model window:

Model Window Menu Bar on page 8-4

File Menu on page 8-5

Model Window Menu BarEach menu on the Oracle Configurator Developer Model window menu bar contains commands for performing a set of related operations.

Icon Definition

Right arrow icon. Indicates a closed attributes view section with contents hidden.

Down arrow icon. Indicates an open attributes view section with contents visible.

8-4 Oracle Configurator Developer User’s Guide

Page 165: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Edit Menu

dev.book Page 5 Wednesday, February 28, 2001 2:09 PM

The menus in Configurator Developer are context-sensitive. The set of commands on a menu changes to reflect the context in which it is being used. An example is the Create menu. When you change to a different Oracle Configurator Developer module, the set of things that you can create changes.

The commands on Oracle Configurator Developer menus are also available on context-sensitive pop-up menus. When you select a node in one of the panes on the left-hand side of the Oracle Configurator Developer window, then click the right-hand mouse button, a menu appears that lists appropriate commands for the operations you perform on the selected node.

Oracle Configurator Developer provides the following Menus:

β–  File Menu on page 8-5

β–  Edit Menu on page 8-5

β–  Create Menu on page 8-8

β–  Create Menu for Item Master Module on page 8-9

β–  Create Menu for Configuration Rules Module on page 8-9

β–  Create Menu for User Interface Module on page 8-10

β–  View Menu for User Interface on page 8-10

β–  Tools Menu on page 8-11

β–  Help Menu on page 8-14

File Menu Use this menu to generate Model Reports and to close the Model window.

Edit MenuUse this menu to perform editing operations on the currently selected node or value.

Command Description

Model Report Generates a report using Microsoft Word.97 or higher. The report includes a description of the model structure, the Item Master and the defined rules.

Exit Closes the Model window.

Using Oracle Configurator Developer Model Window Tools 8-5

Page 166: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Edit Menu

dev.book Page 6 Wednesday, February 28, 2001 2:09 PM

You can also use the buttons on the Editing Toolbar on page 8-15 for some of these commands.

Cut, Copy, and Paste The cut, copy, and paste operations are mechanisms for moving or reusing Model, Rule, and User Interface nodes. You can cut, copy and paste in any textbox in the Attributes view.

Model and Rules ModulesYou can cut, copy and paste on any node in the Model or Rules tree views. Nodes that are cut or copied in the Model Module can be pasted under another node in the Model tree with the following limitations:

β–  Option nodes can be pasted only on a Feature node.

β–  Feature nodes can be pasted only on a Component or Product node.

β–  Component nodes can be pasted only on a Component or Product node.

β–  Total and Resource nodes can be pasted only on a Product or Component.

Command Description

Cut Cuts the selected node or value. A selected node is displayed in a disabled state until you Paste it.

Copy Copies the selected node of any type or value.

Copy With Rules Copies the selected product or Component node, including its Configuration Rules.

Paste Pastes the cut or copied node or value.

Rename Renames the selected node.

Delete Prompts you to confirm the deletion, then deletes the selected node.

Refresh Rebuilds the selected user interface to reflect changes you have made in the Model.

Add to Sequence Enables you to add a selected rule to Rule Sequence

Delete from Sequence Enables you to delete a rule from a Rule Sequence

Reorder in Sequence Enables you to Reorder rules in a Rule Sequence

Find Enables you to find a node in the Model or Item Master.

8-6 Oracle Configurator Developer User’s Guide

Page 167: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Edit Menu

dev.book Page 7 Wednesday, February 28, 2001 2:09 PM

β–  You can cut and paste a node with Populators, but if you copy a node with Populators, the Populators are lost in the copy.

User Interface ModuleYou can also cut and copy the User Interface nodes Picture, Text and Button, and paste them as children of any Screen node regardless of the Component or Option Class associated with the Screen. You can also drag and drop Picture, Text and Button nodes.

If you cut or copy a Picture or Button node that has an associated Add Component/Model or Delete Component/Model action, and paste it to a different screen, the action Reference selection in the pasted node is blank, and the Reference selection list contains entries appropriate to the node’s new location. See Action on page 8-36 for more information on the Reference selections available for these actions.

Cut, Copy, and Paste also function in the Preview window. They are available from the Preview window's Edit menu. UI objects can be cut, copied and pasted between the UI treeview and the Preview window. See also, UI Preview Window Edit Menu on page 8-39.

FindThis option opens a dialog box in which you can type the name of the node you wish to find.

The following figure shows the Find Node dialog box.

You can search for nodes in the Model or the Item Master.

You can search for parts of node names by using wild-card characters. The wild card for a complete string is % (per cent sign). The wild card for a single character

Using Oracle Configurator Developer Model Window Tools 8-7

Page 168: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Create Menu

dev.book Page 8 Wednesday, February 28, 2001 2:09 PM

is _ (underscore). If you need to search for a name that contains one of the wild-card characters, prefix the wild-card character with the escape character / (slash).

Model Window Keyboard ShortcutsYou can access the cut, copy, and paste commands in the Model window using the following keyboard shortcuts:

These commands are also available from the Edit menu.

Create Menu

Create Menu for Model ModuleUse this menu to create new nodes in your Model. Whether you can create a particular type of node depends on the type of the selected node.

Search target Finds

Feature/_10% Feature_1040, Feature_1041, Feature_10 abc

Feature/_10_ Feature/_104

Command Shortcut

Cut ctrl-x

Copy ctrl-c

Paste ctrl-v

Find ctrl-f

Command Description

New Product Creates a new Product node under the currently selected node.

New Component Creates a new Component node under the currently selected node.

New Feature Creates a new Feature node under the currently selected node.

New Option Creates a new Option node under the currently selected node.

New Total Creates a new Total node under the currently selected node.

8-8 Oracle Configurator Developer User’s Guide

Page 169: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Create Menu

dev.book Page 9 Wednesday, February 28, 2001 2:09 PM

Create Menu for Item Master ModuleUse this menu to create new nodes in your Item Master.

Create Menu for Configuration Rules ModuleUse this menu to create new Configuration Rules. Your rules are organized as nodes in the Configuration Rules tree. When you create a rule, Oracle Configurator Developer places a node for the rule in the folder you have selected. You can create as many rule folders as you need to organize them in a meaningful manner. Rule folders that you create may contain multiple types of rules.

New Resource Creates a new Resource node under the currently selected node.

New Model Reference... Creates a new Model Reference node under the currently selected node. Opens the Models dialog to enable selection of a Model node defined in the Repository.

Command Description

New Item Creates a new Item node under the currently selected node.

New Item Type Creates a new Item Type node under the currently selected node.

Command Description

New Rule Folder Creates a new Rule folder.

New Logic Rule Creates a new Logic Rule node.

New Numeric Rule Creates a new Numeric Rule node.

New Comparison Rule Creates a new Comparison Rule node.

New Property-based Compatibility Creates a new Property-based Compatibility node.

New Explicit Compatibility Creates a new Explicit Compatibility node.

New Functional Companion Creates a new Functional Companion node.

New Design Chart Creates a new Design Chart node.

New Rule Sequence Creates a new Rule Sequence node

Command Description

Using Oracle Configurator Developer Model Window Tools 8-9

Page 170: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

View Menu for User Interface

dev.book Page 10 Wednesday, February 28, 2001 2:09 PM

Create Menu for User Interface ModuleUse this menu to create new elements in your User Interfaces. Your elements are organized as nodes in the User Interface tree.

View Menu for User InterfaceThe View Menu is divided into upper and lower sections. The lower section selects from among the Configurator Developer modules, and corresponds to the buttons on the Module Toolbar on page 8-14. The upper section presents choices that depend on what module is currently active.

View Menu: Upper Section

View Menu: Lower Section

Command Description

New User Interface Creates a new User Interface in the User Interface Context Tree View, corresponding to the Product or Component selected in the Model tree.

New Text Creates a new Text label under the selected screen node.

New Button Creates a new Button under the selected screen node.

New Picture Creates a new Picture under the selected screen node.

New Value Display Creates a new Tagged Value Display under the selected screen node.

Command Description

Preview Opens the Preview window for the selected screen node in the User Interface.

Command Description

Model Switches to the Model Module. Changes the display of the nodes in the Model, grouping them by Type or by Description.

Configuration Rules Switches to the Configuration Rules Module.

User Interface Builder Switches to the User Interface Module.

8-10 Oracle Configurator Developer User’s Guide

Page 171: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Tools Menu

dev.book Page 11 Wednesday, February 28, 2001 2:09 PM

Tools MenuUse this menu to change a Model window session option, manage properties, or to automatically build elements of your application.

Manage PropertiesThe manage properties dialog enables you to add, edit, and delete properties in the list of properties that appears when you add a property to a node in your Model or Item Master.

Test/Debug Launches the Oracle Configurator test environment you selected for the current Model. Use the Tools > Options dialog to select a test environment.

Command Description

Generate Active Model Generates a generic active model for the currently selected Product. This includes generating logic rules.

RePopulate Runs all Populators, refreshing your Model from the Item Master after it has been loaded with updated data, from the Import Tables.

Manage Properties Enables you to create, edit, or delete properties. Use the property manager to completely delete a property from your Model.

Options... Opens the Options dialog for the current Oracle Configurator Developer session.

Command Description

Using Oracle Configurator Developer Model Window Tools 8-11

Page 172: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Tools Menu

dev.book Page 12 Wednesday, February 28, 2001 2:09 PM

OptionsThe Options dialog enables you to control display of the Configurator Developer Log Messages window, and select an environment for testing and debugging.

Display Log Messages WindowSelect Show Datastore Log on the Log tab of the Options dialog to display the Log Messages window. This dialog also displays the name of the file to which messages are written, if one is currently in use. For more information on the Log Messages window, see The Log Messages Window on page 8-40.

Select Test EnvironmentThe Test tab of the Options dialog enables you to set up the environment in which you test your model. The available environments are:

β–  Dynamic HTML in a browser: The Configurator Developer Test module displays the Model and User Interface in your default web browser.

β–  Java Applet: The Configurator Developer Test module displays the Model and User Interface as a Java applet in your default browser.

8-12 Oracle Configurator Developer User’s Guide

Page 173: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Tools Menu

dev.book Page 13 Wednesday, February 28, 2001 2:09 PM

For both Dynamic HTML in a browser and Java Applet, you must supply the URL of the Servlet. The URL has the form:

http://host:port/servlet/oracle.apps.cz.servlet.UIServlet

For example:

http://www.mysite.com:60/myservlet/oracle.apps.cz.servlet.UiServlet

You can test that the specified servlet is running by entering a command with the following structure in the Location field of your browser:

URL of the Servlet?test=version

For example:

http://www.mysite.com:60/myservlet/oracle.apps.cz.servlet.UiServlet?test=version

When you make changes to the Active Model or the UI, you can observe the effect of your changes using Dynamic HTML in a browser by selecting Test from the main toolbar to open a new configuration session. The changes will appear in the new browser window. In order for this method to work, you may need to first turn off caching between sessions in the UI Servlet. You do this by adding the following line to the appropriate Apache configuration file:

cz.uiservlet.dio_share=false

For more details, see Viewing Changes to the Model in the Active UI on page 6-4. For more information on the UI Servlet and installing the Servlet on the server, see the Oracle Configurator Installation Guide and Oracle Configurator Implementation Guide.

For the Java Applet you must supply the Code Base URL. This is the URL from which the required class or Java archive files (.jar files) can be loaded. The URL has the form:

http://host:port/applet/

For example:

http://www.mysite.com:60/applet/

Your selection for test UI environment, Servlet URL, and Code Base URL are stored in the [test] section of the spx.ini file. The value of the Launch parameter is 2 for Dynamic HTML in a browser and 3 for Java Applet. The value of

Using Oracle Configurator Developer Model Window Tools 8-13

Page 174: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Help Menu

dev.book Page 14 Wednesday, February 28, 2001 2:09 PM

InitServletURL parameter is the Servlet URL. The value of InitCodeBaseUrl is the Code Base URL.

If you are using Dynamic HTML in a browser as your test environment, you must also specify the JdbcUrl parameter in the spx.ini file. See Oracle Configurator Implementation Guide for more information on specifying parameters in the spx.ini file.

Any browser running the Oracle Configurator DHTML window must be set to display and use JavaScript and Stylesheets, and must enable cookies.

EffectivityThe Effectivity option enables you to view the model based on the effective dates, Effectivity Sets, and Usages assigned to each node.

To limit the availability of nodes based on the date, enter an effective date and time. You can also control which nodes appear in the UI by specifying a Usage. If you do not want to hide nodes in the run-time UI based on a Usage, leave this option blank. See Effectivity on page 3-6.

Help MenuUse this menu to get information about Oracle Configurator Developer and how to use it to construct your configurator.

ToolbarsUse the toolbars as a convenient way to choose certain commands.

Module Toolbar Use this toolbar to choose a Module in the Model window. You can also use the commands on the View Menu for User Interface on page 8-10.

Command Description

Help Topics Opens the online help for Oracle Configurator Developer.

About Oracle Configurator Developer

Displays information about this version of Oracle Configurator Developer.

8-14 Oracle Configurator Developer User’s Guide

Page 175: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Tree Views

dev.book Page 15 Wednesday, February 28, 2001 2:09 PM

Editing Toolbar Use this toolbar to perform basic editing operations on the selected node or text.

Tree ViewsOracle Configurator Developer displays the Model modules as tree structures called tree views. Tree views show how elements of the structure are related to each other, and which structure contain others. Branches of the tree, can be collapsed and

Go to the Model Module.

Go to the Configuration Rules Module.

Go to the User Interface Module.

Go to the Test/Debug Module. This module runs the specified test application.

Cut

Copy

Paste

Using Oracle Configurator Developer Model Window Tools 8-15

Page 176: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Nodes Present in all Tree Views

dev.book Page 16 Wednesday, February 28, 2001 2:09 PM

hidden or expanded and displayed by using the (-) and (+) controls that appear on nodes that contain other nodes.

Within a tree, each element of the structure is a node. The top-level node is the root. When all of the tree has been collapsed or hidden, only the root node remains visible. Nodes in Oracle Configurator Developer tree views have names and graphical icons associated with them. The graphical icons provide visual cues that indicate the kind of information the node represents.

Nodes Present in all Tree Views

NameProvides a name for the selected node. Oracle Configurator Developer assigns a default name based on the node’s internal ID in the Oracle Configurator schema. Enter a more informative name to help you identify the node. You can use the same name for different nodes, since the Oracle Configurator schema’s internal ID for each node is unique. This name and ID appear in the Project Report.

ModelIf you create a node with a Populator, then the name is set automatically to the name of the corresponding Item in the Item Master. See Using Populators on page 3-17.

Item MasterWhen you create Items and Item Types in the Item Master by importing data, Oracle Configurator Developer assigns names based on the Import Tables.

When you create Items in the Item Master manually, Oracle Configurator Developer assigns a default name based on the node’s internal ID in the Oracle Configurator schema. Enter a more informative name to help you identify the Items.

DescriptionProvides a textual description of the selected node. By default, this field in the Model window is empty and you must enter a description. The description does not appear in the Oracle run-time configurator user interface or the Model Report.

8-16 Oracle Configurator Developer User’s Guide

Page 177: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Tree Views for the Model Module

dev.book Page 17 Wednesday, February 28, 2001 2:09 PM

Tree Views for the Model ModuleThere are two tree views available for this module, the Model tree view and the Item Master tree view. The Attributes available in the Attributes View depend on which Tree view is selected.

Model Tree ViewYou use the Model Tree to create and modify the Model nodes and create References. The Model tree view consists of nodes that represent the related Products, Components, Features, Options, Resources, and Totals. Nodes that represent Model references and their child nodes are differentiated by a small arrow. The icons associated with each of these nodes are:

You can view the nodes in the Model either by name or by description.

The Model tree view uses colored icons to distinguish the nodes of an imported BOM Model. Nodes that represent BOM Model references and their child nodes are differentiated by a small arrow.

Tree View Selected Attribute View displayed

Model Model Attributes for the Model Module on page 8-18

Item Master Item Master Attributes on page 8-25

Using Oracle Configurator Developer Model Window Tools 8-17

Page 178: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Model Attributes for the Model Module

dev.book Page 18 Wednesday, February 28, 2001 2:09 PM

Item Master Tree ViewThe Item Master tree view consists of nodes that represent the Items and Item Types in the Item Master. Item Types are the categories of the items. You can view items in the Item Master either by item name or by item description. You can also select whether or not to view items organized by Item Type. The icons associated with each of the nodes in the Item Master tree views are:

Model Attributes for the Model ModuleThe Model view is available in every module of Oracle Configurator Developer, in the upper left pane (its default location). It provides different sets of Attributes for the selected node of your Model, depending on which Module you are working in.

The following table shows the Attributes that are available in the Attributes View when you are in the Model Module and select a node in the Model tree. Note that different Attributes are available for different types of nodes.

Attribute Node Type

Products Components Features Options Totals Resources

Name on page 8-16 X X X X X X

Description on page 8-16 X X X X X X

8-18 Oracle Configurator Developer User’s Guide

Page 179: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Model Attributes for the Model Module

dev.book Page 19 Wednesday, February 28, 2001 2:09 PM

Initial ValueSets a value that the selected node has before any quantities are contributed or consumed. For Resources, the default initial value is zero. You cannot set the initial value of a Resource to unknown.

For Totals, the default initial value is unknown. An unknown initial value displays as blank in the Initial Value field in Oracle Configurator Developer. An unknown initial value displays as zero in the Oracle run-time configurator. When the initial value of a Total is unknown, Configuration Rules that involve the Total do not propagate.

For Boolean Features, the initial value is essentially a default, which like all defaults can be overridden by an end user selection. Therefore, the user can select an initially False Boolean Feature and it will appear as false in the run-time UI.

The procedure that Oracle Configurator Developer follows for setting and updating initial values (for example, when a user makes a selection in the User Interface) is as follows:

1. The initial values specified in Configurator Developer are set in the UI.

2. When an end user makes a selection in the configuration window, the system retracts the initial values and sets them to "unknown". It then changes the Item the user selected to true (user true).

Initial Value on page 8-19 X X

Visibility in the User Interface on page 8-20 X X X X X X

Type on page 8-20 X

Count on page 8-22 X X

Properties on page 8-23 X X X

Populators on page 8-23 X X X

Effectivity Attribute on page 8-24 X X X X X X

Attribute Node Type

Products Components Features Options Totals Resources

Using Oracle Configurator Developer Model Window Tools 8-19

Page 180: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Model Attributes for the Model Module

dev.book Page 20 Wednesday, February 28, 2001 2:09 PM

3. The system applies any Rules in which the selection is a participant.

4. The system changes the logic state of any Items that are also participants in the rule and are therefore affected by the end user’s selection.

There may be situations in which the run-timeUI selects an option but the criteria for making the selection is not readily apparent. For example, you have three features, O1, O2, and O3 which can be either true or false, and an Implies Rule exists that states "O1 Implies Any of (O2,O3). The initial value for all of these features is false. When the user selects O1, the values for all three features is retracted, set to unknown, and then O1 is set to true. The system then applies the rule and sets either O2 or O3 to true and the other to false. (This is because the Implies Rule states that if the user selects O1, then either O2 or O3 must also be selected.) If the system selects O2, the user can override it and select O3, but there is no setting in Configurator Developer to specify which option should be set to true in this situation.

Another situation that may cause confusion is when a feature has a minimum quantity that is greater than the initial value that you specify. For example, you create a numeric feature and enter a minimum of 3 and an initial value of 0. When you generate the run-timeUI, the minimum quantity overrides the initial value you specified and the feature has an initial value of 3.

Visibility in the User InterfaceThe Visibility attribute in the Model view controls whether the selected node and any of its children appear in the generated User Interface. Options in this region control both imported BOM nodes and nodes you create in Configurator Developer. By default, all nodes appear in the User Interface. However, you can exclude nodes from your User Interface by deselecting the Display in User Interface option. This is the only attribute you can modify for imported BOM Model nodes. See Hiding Components on page 5-18.

You can override the default visibility setting when you generate a UI by selecting Show all nodes in the Generate UI window. See Generating a New User Interface on page 5-8.

TypeThis region specifies the type of data represented by the selected Feature node. Choose one of the selections in the dropdown list labeled Data Type.

8-20 Oracle Configurator Developer User’s Guide

Page 181: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Model Attributes for the Model Module

dev.book Page 21 Wednesday, February 28, 2001 2:09 PM

If you create a Feature with the type List of Options, be very careful about changing it to another type. Any Options or Populators associated with the Feature are permanently deleted. Any Configuration Rules using the deleted Options become invalid. When you open the rule definition for such a rule, or generate the Active Model, you get an error message telling you the rule is invalid.

Each data type requires specific additional information.

List of Optionsβ–  Number of Selections: Indicate the Minimum and Maximum number of this

Feature that the end user can select.

– The default value for both minimum and maximum is 1.

– A minimum of 1 means that the Feature must be included in the configuration.

– A maximum of 1 means the Feature can be included only once, which has the effect that selection of one Option prevents selection of any other Option.

– A maximum of 0 means the Feature is optional. If you attempt to set a maximum value less than the minimum, the maximum value automatically reverts to the current minimum.

– You can specify no maximum value by deleting the numeric value from the maximum field.

β–  Counted Options: The Counted Options feature is useful in situations where the end user needs to specify a number for the options of this feature. For

List of Options A List of Options node, displayed as children of the selected node.

You can create Options β€œby hand”, using the Create Menu on page 8-8, or by defining and running a Populator. See Using Populators on page 3-17.

Integer Number A whole number, such as 3 or 127.

Decimal Number A number with a decimal part, such as 3.14159. Sometimes referred to as a floating point number.

True/False Has two values, True and False. Sometimes referred to as boolean.

Text A string of characters.

Using Oracle Configurator Developer Model Window Tools 8-21

Page 182: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Model Attributes for the Model Module

dev.book Page 22 Wednesday, February 28, 2001 2:09 PM

instance, if the options of the Counted Options Feature are types of candy bars, the user can select six milk chocolate bars and six dark chocolate bars. A Counted Options Feature also allows a count of the Options to be used in a Numeric Rule. See Numeric Rules on page 4-14.

If the Feature has a Maximum of 1, or if the user must not specify more than one of each option, do not check the Counted Options box.

Integer Numberβ–  Range: Specifies the maximum and minimum values for this Feature. An

Integer Feature that has a minimum value greater than or equal to 0 is treated as a Count Feature. A Count Feature has a logic state in addition to its numeric value, and if it is set to 0 in the run-time application, its state becomes Unknown, which is displayed in the application UI as an empty box. Count Features can participate in Logic Rules, while Integer and Decimal Features cannot.

β–  Initial Value: Sets a value for this Feature has when your application starts.

Decimal Numberβ–  Range: Specifies the maximum and minimum values for this Feature. An

Integer Feature that has a minimum value greater than or equal to 0 is treated as a Count Feature. A Count Feature has a logic state in addition to its numeric value, and if it is set to 0 in the run-time application, its state becomes Unknown, which is displayed in the application UI as an empty box. Count Features can participate in Logic Rules, while Integer and Decimal Features cannot.

β–  Initial Value: Sets a value for this Feature has when your application starts.

True/Falseβ–  Initial Value: Sets a value for this Feature has when your application starts. In

this case, choices are limited to True, False, and None.

Textβ–  Text Value: Sets the initial value for this text Feature.

CountControls the minimum and maximum number of instances of a Product or Component node that can be present in a valid configuration.

8-22 Oracle Configurator Developer User’s Guide

Page 183: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Model Attributes for the Model Module

dev.book Page 23 Wednesday, February 28, 2001 2:09 PM

To make a selection mandatory in your application, set the Minimum to 1 or more. To make a selection optional, set the Minimum to 0 (Zero). The default setting is both a Minimum and Maximum of 1, which enforces configuration of exactly one instance.

PropertiesEnables you to define additional attributes for the node. Properties provide additional about the node, such as weight, diameter, or voltage.

To add a Property, select the Add button. In the Add Property dialog, select an existing Property, or select New Property to create one. Provide a name and default value for the Property.

To modify the value of a Property, select a listed Property and select the Edit button. In the Edit Property dialog, change the value of the Property, or select the Default button to restore the Property’s default value. Note that you cannot modify Properties of an imported BOM Model.

To delete a Property, select a listed Property and select the Delete button.

For a general description of Properties, see Properties on page 3-5.

If you want your modifications to apply to the entire model, use the Tools > Manage Properties dialog. See Manage Properties on page 8-11.

PopulatorsLists the Populators associated with the selected node and allows you to add, edit, or delete them. To add a Populator, select the Add button. To modify the definition of a selected Populator, select the Edit button. To delete a selected Populator, select the Delete button.

See Using Populators on page 3-17 for detailed information about defining Populators.

Violation Message AttributeUse this attribute to customize the violation message for a Rule. This is a message that is displayed to the end user when the Rule is violated. For example, when a resource is over consumed you can display a message such as:

The resource resource-name is over-consumed.

Using Oracle Configurator Developer Model Window Tools 8-23

Page 184: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Model Attributes for the Model Module

dev.book Page 24 Wednesday, February 28, 2001 2:09 PM

Effectivity AttributeThe Effectivity attribute enables you to control the availability of a model node or configuration Rule by assigning a range of effective dates, a Usage, or both. For more information, see Effectivity on page 3-6.

Effectivity SetsTo assign an Effectivity Set to a node:

1. Select the node.

2. Select the Member of Effectivity Set check box

3. Click the dialog (...) button to open the Choose Effectivity Set dialog. This dialog lists all Effectivity Sets you have defined.

4. Select an Effectivity Set from the list and then click OK.

5. Click OK.

To edit an Effectivity Set from the Choose Effectivity Set dialog, click Open. When you modify an Effectivity Set, Configurator Developer displays a message notifying you of how many nodes and Rules use the set. If the change does not break any configuration Rules, you can click OK to make the change.

To create a new Effectivity Set from the Choose Effectivity Set dialog, click New. When you create an Effectivity Set using this method, Configurator Developer creates a new Effectivity Set node at the top level in the Repository window (not in a Folder). If you want to move the Effectivity Set into a Folder, you must do so in the Repository window. All Effectivity Set names must be unique.

You can also create Effectivity Sets in the Repository window. See Create Menu on page 7-6.

DatesClick the Dates dialog (...) button to assign a range of effective dates to the selected node. This option is disabled if the Member of Effectivity Set check box is checked. Select one of the following date options:

β–  Always Effective

β–  Never Effective

β–  Effective From/To - Enter start and end date and time, or No Start Date, or No End Date.

8-24 Oracle Configurator Developer User’s Guide

Page 185: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Item Master Attributes

dev.book Page 25 Wednesday, February 28, 2001 2:09 PM

Although you can specify a very wide range of dates when entering a start and end date, this range is limited. For more information, see the Oracle Configurator Implementation Guide.

UsagesClick the Usages dialog (...) button to open the Model Usages dialog. This dialog lists all of the Usages you have defined. In this window you can:

β–  Click Uncheck All to deselect all Usages, then choose one or more Usages to assign to the selected model node. By default, Configurator Developer assigns any model node or Rule that you create to all Usages.

β–  Click Check All to select all Usages.

β–  Click Edit to modify the selected Usage.

β–  Click Add to create a new Usage. When you create a Usage using this method, Developer creates a new Usage entity at the top level in the Repository window (not in a Folder). If you want to move the Usage into a Folder, you must do so in the Repository window. You can create a maximum of 64 Usages.

You can also create Usages in the Repository window. See Create Menu on page 7-6.

Item Master Attributes The Item Master is a set of your enterprise data, structured into Items and Item Types, that is the primary source of data for your application.

The following table shows the attributes that are available in the Attributes View when you are in the Model Module and select a node in the Item Master tree. Note that different attributes are available for different types of nodes.

Attribute Node Type

Item Types Items

Name on page 8-16 X X

Description on page 8-16 X X

Type/Properties on page 8-26 X

Properties on page 8-26 X

Using Oracle Configurator Developer Model Window Tools 8-25

Page 186: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Tree Views for the Configuration Rules Module

dev.book Page 26 Wednesday, February 28, 2001 2:09 PM

Type/PropertiesControls the Properties of Item and Item Type nodes, and the Item Type of Item nodes.

When you create Items in the Item Master by importing data, Oracle Configurator Developer creates Item Types based on the Import Tables.

To change the Item Type of the selected Item, select the Change button and choose an Item Type from the Item Types dialog. When you close the dialog, the Item is moved to the chosen Item Type. This is the only way to change the Item Type of an Item.

For information about changing the Properties of Item and Item Type nodes, see Properties on page 8-26.

PropertiesSee Properties on page 8-23.

Tree Views for the Configuration Rules ModuleThere are two tree views available for this module, the Model tree view and the Configuration Rules tree view. The attributes available in the Attributes View depend on which Tree view is selected.

Model Tree ViewYou drag-and-drop nodes from the Model tree to the Configuration Rules that you are creating.

Configuration Rules Tree ViewThe Configuration Rules tree view consists of nodes that represent the rules, rule types and rule folders associated with the Model. Rule type nodes group rules by type. You can organize rules in any way that is useful to you by creating rule folders and putting your rules in them. You can create as many rule folders as you need to

Tree View Selected Attributes View Displayed

Model Model Attributes for the Configuration Rules Module on page 8-27

Configuration Rules Configuration Rules Attributes on page 8-28

8-26 Oracle Configurator Developer User’s Guide

Page 187: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Model Attributes for the Configuration Rules Module

dev.book Page 27 Wednesday, February 28, 2001 2:09 PM

organize them in a meaningful manner. Rule folders that you create may contain multiple types of rules. You can use standard drag-and-drop or cut, copy, and paste operations to move or copy a rule from one folder to another. You can view Configuration Rules either by name, by rule type, or by folder.

The icons associated with each of the nodes in the Configuration Rules tree view are:

Model Attributes for the Configuration Rules ModuleThe Model view is available in every module of Oracle Configurator Developer, in the left upper pane, its default location. It provides different sets of attributes for the selected node of your Model, depending on which Module you are working in.

The following table shows the attributes that are available in the Attributes View when you are in the Configuration Rules Module and select a node in the Model tree. Note that different attributes are available for different types of nodes.

Using Oracle Configurator Developer Model Window Tools 8-27

Page 188: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Configuration Rules Attributes

dev.book Page 28 Wednesday, February 28, 2001 2:09 PM

Associated RulesLists the Configuration Rules that involve the selected node.

To edit an associated rule, select it from the list and select the GoTo button. This selects the definition of the rule in the Context Tree View of Configuration Rules.

To create a new rule based on an existing one, select a rule from the list and select the Copy button. This creates a new rule, which you can edit by selecting GoTo.

To delete an associated rule, select it from the list and select the Delete button.

Configuration Rules AttributesThe following table shows the Attributes that are available in the Attributes View when you are in the Configuration Rules Module and select a node in the Configuration Rules tree. Note that different Attributes are available for different types of nodes.

Attribute Node Type

Products Components Features Options Totals Resources

Name on page 8-16 X X X X X X

Description on page 8-16 X X X X X X

Count on page 8-22 X X

Type on page 8-20 X

Initial Value on page 8-19 X X

Visibility in the User Interface on page 8-20

Properties on page 8-23 X

Associated Rules on page 8-28 X X X X X X

Effectivity Attribute on page 8-24 X X X X X X

8-28 Oracle Configurator Developer User’s Guide

Page 189: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Configuration Rules Attributes

dev.book Page 29 Wednesday, February 28, 2001 2:09 PM

* The type of rule definition varies with the type of the selected node (rule type).

ParametersThe Participants list in the Parameters section lists the configurable elements of your Model that are used in a Property-based Compatibility or Explicit Compatibility rule. Participants must be Features of type List of Options, or BOM Option Class nodes.

To add a parameter, drag a Model node for an Option Feature or BOM OptionClass to the Participants list. If you drag and drop with the left mouse button you have the option to cancel the operation.

If you position the cursor over a node name in the Participants list, the full path to the model node appears as a tooltip. This information helps you avoid confusion, especially if the same node names appear in different parts of your Model.

The Effects list functionality is not currently implemented.

DefinitionUsed to define the selected rule. The exact steps for rule definition differ for each type of rule. See the specific sections on building each type of rule.

Attribute

Node Type

Logic Rule

Numeric Rule

ComparisonRule

Property-Based

CompatibilityExplicit

CompatibilityFunctionalCompanion

Design Chart

Name on page 8-16 X X X X X X X

Description on page 8-16 X X X X X X X

Parameters on page 8-29 X X

Definition on page 8-29* X X X X X X X

Violation Message on page 8-30 X X X X X X

Effectivity Attribute on page 8-24 X X X X X X

Using Oracle Configurator Developer Model Window Tools 8-29

Page 190: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Tree Views for the User Interface Module

dev.book Page 30 Wednesday, February 28, 2001 2:09 PM

β–  Logic Rules on page 4-13

β–  Numeric Rules on page 4-14

β–  Comparison Rules on page 4-17

β–  Property-based Compatibilities on page 4-19

β–  Explicit Compatibilities on page 4-21

β–  Design Charts on page 4-23

Whatever rule you are building, if you position the cursor over a node name in the rule definition, the full path to that node appears as a tooltip. This information helps you avoid confusion, especially if you use the same Feature or Option names in different parts of your Model.

Violation MessageControls the message displayed if the end user makes an invalid selection that violates the rule.

Select the rule name, the rule description, or type a customized message that you want to appear in the Oracle run-time configurator User Interface if this rule is violated by a user.

Tree Views for the User Interface ModuleThere are two tree views available for this module, the Model tree view and the User Interface tree view. The attributes available in the Attributes View depend on which Tree view is selected.

Model Tree ViewYou use the Model tree to create and modify the nodes that your application’s User Interfaces are based on.

Tree view Attributes View

Model Model Attributes for the User Interface Module on page 8-31

User Interfaces User Interface Attributes on page 8-32

8-30 Oracle Configurator Developer User’s Guide

Page 191: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Model Attributes for the User Interface Module

dev.book Page 31 Wednesday, February 28, 2001 2:09 PM

User Interface Tree ViewYou use the User Interface tree to organize your the nodes of your User Interface definitions, which are based on the nodes in the Model.

The nodes in the User Interface tree view represent the User Interface, Components Tree, Screens, Pictures, Text, Buttons, Feature Controls, and Tagged Value Displays, and Referenced UIs for each UI. The icons associated with each of these nodes are:

Model Attributes for the User Interface ModuleThe Model view is available in every module of Oracle Configurator Developer, in the left upper pane, its default location. It provides different sets of attributes for the selected node of your Model, depending on which Module you are working in.

The following table shows the attributes that are available in the Attributes View when you are in the User Interface Module and select a node in the Model tree.

Using Oracle Configurator Developer Model Window Tools 8-31

Page 192: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

User Interface Attributes

dev.book Page 32 Wednesday, February 28, 2001 2:09 PM

Associated UI NodesDisplays a list of the User Interface nodes associated with the selected node. Select the GoTo button to view the corresponding node in the User Interface Context Tree View.

User Interface AttributesThe following table shows the attributes that are available in the Attributes View when you are in the User Interface Module and select a node in the User Interface tree. Note that different attributes are available for different types of nodes.

Attribute

Node Type

Product Component Feature Option Total Resource

Name on page 8-16 X X X X X X

Description on page 8-16 X X X X X X

Associated UI Nodes on page 8-32 X X X X X X

AttributeUI Node Type

UserInterface

ProductSelection

ComponentsTree

Screen

Name on page 8-16 X X X X

Model Object on page 8-33 X X

Description on page 8-16 X X X X

Version on page 8-33 X

Defaults on page 8-33 X

Pricing Display on page 8-34 X

Styles on page 8-34 X X

Definition on page 8-35 X

8-32 Oracle Configurator Developer User’s Guide

Page 193: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

User Interface Attributes

dev.book Page 33 Wednesday, February 28, 2001 2:09 PM

Model ObjectA reference to the node in the Model on which a UI node is based. Select the Go To button to move to the Model node corresponding to the selected UI node.

VersionThis attribute provides information about the creation of the UI.

DefaultsThis attribute specifies default values to be used throughout the UI, unless you override them with specific choices for particular screens. The UI attributes for which you can specify default values are:

β–  screen background Color or Picture

β–  text Font, including style, size, and color

β–  logic state display icons and text color

β–  whether unselectable options and controls should be hidden

See also, Customizing the User Interface Default Settings on page 5-11.

Attribute

UI Screen Node Type

Text Picture Button FeatureControl

ValueDisplay

TaggedValue

Display

Name on page 8-16 X X X X X X

Model Object on page 8-33 X X

Description on page 8-16 X X X X X X

Definition on page 8-35 X X X X X

Label on page 8-38 X X X X X

Option Display on page 8-38 X

Layout on page 8-38 X X X X X X

Visibility on page 8-35 X

Using Oracle Configurator Developer Model Window Tools 8-33

Page 194: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

User Interface Attributes

dev.book Page 34 Wednesday, February 28, 2001 2:09 PM

Pricing DisplayThe Pricing Display attribute displays settings at the root node of every customizable User Interface. This section contains the following settings:

Item Price DisplayThis setting determines which prices appear in the run-time UI. Choose one of the following:

β–  List Prices: Display the unit list prices for each item. This price does not change during a configuration session.

β–  Selling Prices: Display the unit selling price of all selected items. Items that are not yet selected display their unit list price. Selling prices can change during a configuration session, depending on the setting of the Price Update option (see below).

β–  None: Choose this option if you do not want to display list prices or selling prices in the UI.

Price UpdateThis setting indicates how often prices are updated in the run-time UI. Choose one of the following:

β–  On Demand: Update prices only upon the end user’s request. This is the default value. If you choose this option, you must add a way for the user to update prices from the UI (for example, create an Update Prices button). See the Oracle Configurator Custom Web Deployment Guide for more information.

β–  On Page Load: Update prices whenever a new Component page is displayed or the user requests an update.

β–  Always: Update prices each time the end user makes a selection, requests a pricing update, or displays a new component page.

StylesThis attribute controls Background Color, Background Picture and Font for the selected node.

8-34 Oracle Configurator Developer User’s Guide

Page 195: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

User Interface Attributes

dev.book Page 35 Wednesday, February 28, 2001 2:09 PM

DefinitionThe information you specify in the Definition Attribute varies depending on the User Interface node you have selected. The following list describes the possibilities.

Tree StyleThis attribute determines how the Components Tree is displayed. Select one of the following:

β–  None - No Components tree structure is displayed.

β–  Icons Only - The Components tree structure displays object-specific icons next to the node name to depict hierarchy.

β–  Treelines Only - The Components tree structure displays with treelines next to the nodes to depict hierarchy.

β–  Icons and Treelines - The Components tree structure displays with icons next to the node name and treelines to further depict hierarchy.

β–  Plus/Minus Only - The Components tree structure displays only a plus sign or a minus sign next to the node name to indicate that the node can be expanded.

β–  Icons and Plus/Minus - The Components tree structure displays object-specific icons and a plus sign or a minus sign next to the node name to indicate that the node can be expanded.

β–  Treelines and Plus/Minus - The Components tree structure displays treelines to depict hierarchy and a plus sign or a minus sign next to the node name to indicate that the node can be expanded.

β–  Icons, Treelines, and Plus/Minus - The Components tree structure displays object-specific icons, treelines to depict hierarchy, and a plus sign or a minus sign next to the node name to indicate that the node can be expanded.

ToolTip TextThis attribute contains text that appears as a tooltip when the end user positions the cursor over the User Interface object in the Oracle run-time configurator that corresponds to the selected node.

FontThis attribute specifies a text font. Select the dialog (...) button in the Font field to open the Font dialog, then select a font and its related attributes.

Using Oracle Configurator Developer Model Window Tools 8-35

Page 196: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

User Interface Attributes

dev.book Page 36 Wednesday, February 28, 2001 2:09 PM

PictureThis attribute specifies the pathname to a graphics file. Select the dialog (...) button in the Picture field to open the standard Windows Open dialog. Select the picture file you want. Select Open. The full path of the file you have selected as the background appears in the Picture field. To remove an image file, highlight the field contents and delete the path. During setup you specify the directory in which graphic files are located. For more information, see the Oracle Configurator Installation Guide.

If you add graphic images to your User Interface, note that Oracle Configurator Developer supports only GIF (*.gif) and JPEG (*.jpg) files.

BordersThis attribute specifies the type of border to use. Select none or fixed single from the dropdown list in the Borders field.

Background ColorThis attribute specifies a color. Select the Use Default option box or select the dialog (...) button in the Color field to open the Color dialog. Select a basic color or select the Custom Color button to define a unique color. Select OK.

ActionThis attribute specifies an action that takes place when the user selects a button or image in the User Interface. Select one of the following options from the Action dropdown list. The default action is None.

β–  None - No action.

β–  Add Component/Model - Add an instance of a Component or Model to the configuration. You can specify an Add Component/Model action only to the UI screen corresponding to the parent Model node of the components or Models you wish to add.

Select the Component or Model to add from the Reference selection list. This list contains Components and Models that:

1. are children of the Model node corresponding to the selected UI screen

2. can have variable numbers of instances, meaning that they have a maximum count greater than their minimum count

β–  .Delete Component/Model - Delete an instance of a Component or Model from the configuration. You can add a Delete Component/Model action only to the

8-36 Oracle Configurator Developer User’s Guide

Page 197: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

User Interface Attributes

dev.book Page 37 Wednesday, February 28, 2001 2:09 PM

UI screen corresponding to the Model node you wish to delete. The Reference selection list for a Delete Component/Model action contains only the Model node corresponding to the current screen.

β–  GoTo Screen - Take the end user to a different screen. Select a screen from the Reference selection list.

β–  Launch - Specify a file or URL to be opened in a new window. Type a filename or URL in the Reference field, or select the dialog (...) button to open the standard Windows Open dialog. For more information, see the Oracle Configurator Installation Guide.

β–  Functional Companion Output - Select the Component the Functional Companion is attached to from the Reference selection list. Select the Functional Companion from the Companion selection list. This type of Functional Companion takes information from Oracle run-time configurator and provides post processing. For example, custom reporting.

β–  Functional Companion AutoConfigure - Select the Component the Functional Companion is attached to from the Reference selection list. Select the Functional Companion from the Companion selection list. This type of Functional Companion queries the state of specific parts of a configuration Model and determines if subsequent parts of the Model should then be changed and makes the changes to the configuration. These are sometimes used instead on logic rules.

β–  Update Prices - Update pricing information displayed in the UI.

DisplayThis attribute specifies a Display object that displays specified data. These are Value Display objects with associated Labels, similar to the objects that display the values of Totals and Resources. Instead of referring to a Model node, a Data Tag specifies what should be displayed. Select a Data Tag from the dropdown list. The choices are:

β–  Total List Price

β–  Total Selling Price

Format StringNot currently implemented.

Using Oracle Configurator Developer Model Window Tools 8-37

Page 198: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

User Interface Attributes

dev.book Page 38 Wednesday, February 28, 2001 2:09 PM

VisibilityThis attribute controls whether the node is hidden when unselectable. The default setting is "Use default", which means defer to the value set in the UI defaults. Select Yes to hide unselectable options, No to leave them visible.

An Option Feature Control has two dropdowns. One controls visibility of the Feature Control and the other controls visibility of the Options of the Feature.

LabelThis attribute controls the text label that identifies the node in your User Interface. Enter the text of the label in the Text field, or use the text that was generated from the corresponding Model node.

You can modify the Font, Background Color, and Background Style if you don’t want to use the Defaults.

Option DisplayThis attribute controls the label used for each selectable Option of the node in your application. Select the corresponding radio button to indicate if you want to Label each option or Display pictures.

If you choose to Label each option, indicate what you want to use to label the option (Name, Description, or Property). The information for this choice is the information you supplied in the Model. If you choose to use a Property, the Option Display section changes to prompt you to select one of the Properties defined for the Feature.

If you choose to Display pictures, type the full path location of the image file you want to use.

LayoutThis attribute specifies the position and layout of a label or a control field in terms of the number of pixels from the Left and Top to position the upper left corner of the object, and the Width and Height in pixels. Values in these fields reflect any changes you make by editing in the Preview window. See Editing in the Preview Window on page 5-19.

In some cases, the Layout attribute enables you to specify the Tab Order. This is the navigation order for the object in regards to the overall tab sequence of the screen.

8-38 Oracle Configurator Developer User’s Guide

Page 199: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

The User Interface Preview Window

dev.book Page 39 Wednesday, February 28, 2001 2:09 PM

The User Interface Preview Window

UI Preview Window File MenuThis menu contains one command, Exit, which closes the preview window.

UI Preview Window Edit Menu

Command Description

Cut Cuts the selected node or value. A selected node is displayed in a disabled state until you Paste it.

Copy Copies the selected node of any type or value.

Paste Pastes the cut or copied node or value.

Delete Prompts you to confirm the deletion, then deletes the selected node.

Bring to Front Sets the z-order of the selected object to the top level.

Send to Back Sets the z-order of the selected object to the lowest level.

Align Line up the selected objects along the dimension chosen from the submenu. All selected objects are lined up with the object chosen last.

The first three selections, Lefts, Centers, Rights, align the objects by moving them horizontally. The next three selections, Tops, Middles, Bottoms, align the objects by moving them vertically

Make Same Size Make the selected objects the same size along the dimension chosen from the submenu, Width, Height, or Both. All selected objects are resized to match the object chosen last.

Horizontal Spacing Adjust the spacing between selected objects on the horizontal axis. Make Equal distributes the objects equally within the width defined by the objects that are farthest away from each other. Remove removes all space between the objects, leaving the object closest to the top of the screen unmoved. The order in which objects are selected does not matter.

Vertical Spacing Adjust the spacing between selected objects on the vertical axis. Make Equal distributes the objects equally within the width defined by the objects that are farthest away from each other. Remove removes all space between the objects, leaving the object closest to the left of the screen unmoved. The order in which objects are selected does not matter.

Using Oracle Configurator Developer Model Window Tools 8-39

Page 200: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

Test Module

dev.book Page 40 Wednesday, February 28, 2001 2:09 PM

Cut, Copy and PasteIf you delete a UI object, such as a Feature Control, that has an associated Label from the Preview window, you delete both the object and its Label. The result is the same as is you had deleted it from the UI Treeview. If you delete just the Label, the label text is set to an empty string and the height and width are set to zero. If you cut a label and paste it on another Screen, two things happen. First, the label is deleted from the source screen. Then a new text object is created on the target screen with the same text, layout, and formatting the label had on the source screen.

Z-OrderThe commands Edit > Bring to Front Edit > Send to Back enable you to control the z-order of objects on the user interface screens. Bring to Front causes the selected object to be displayed in front of, or on top of other objects. Send to Back causes the selected object to be displayed behind other objects.

Both of these commands operate on multiple selections.

Test ModuleThis module launches the test environment specified in the Test tab of the Tools > Options dialog.

The Log Messages WindowYou can activate the Log Messages window through the Options selection on the Tools menu. See Options on page 8-12. For more information on the Log Messages window, see Configurator Developer Messages on page 6-5.

There are two selections available on the Log Messages window menu bar: File and Settings.

File Menu

Command Description

Direct To... Allows the user to select the disk file to which messages are written. Available only when messages are not being written to a file.

8-40 Oracle Configurator Developer User’s Guide

Page 201: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

The Log Messages Window

dev.book Page 41 Wednesday, February 28, 2001 2:09 PM

Settings Menu

Close Stops the recording of messages to a file. Available only when messages are being written to a file.

Keep File Open By default, the log file is opened and closed with each message to ensure that the message is recorded successfully. When this option is checked, the log file is kept open, which speeds logging slightly, but it raises the risk of losing data if Developer terminates unexpectedly.

Hide This item is positioned on the menu where ’Close’ or ’Exit’ is usually found because you cannot actually terminate logging, but you may not want to view the log window. This selection makes the log window invisible. Note that clicking the Close box, or pulling down the control menu and selecting Close also hides the window.

Command Description

Report Milliseconds Ordinarily, log messages are time stamped at one-second intervals; when this option is selected, messages are time stamped to the millisecond.

Report Settings Sets the minimum severity for reporting messages to the log window and to any open log file. The submenu lists the severity levels in ascending order. DetailTrace messages are the least severe; FATAL are most severe. The default is Notification.

Message Box Text Limit Allows you to limit the number of characters stored in the message log window. Appending messages to the Log Window may become a performance issue when the window contains about 2500 characters of text. If you select Unlimited, note that there is an upper limit of 64Kb. This setting does not cause data to be lost from an open log file. All message written to the window are also written to the file and stored.

Command Description

Using Oracle Configurator Developer Model Window Tools 8-41

Page 202: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

The Log Messages Window

dev.book Page 42 Wednesday, February 28, 2001 2:09 PM

8-42 Oracle Configurator Developer User’s Guide

Page 203: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 1 Wednesday, February 28, 2001 2:09 PM

Glossary of Terms

This glossary for Oracle Configurator is followed by a Glossary of Acronyms

Active Model

The part of Oracle Configurator runtime architecture that processes model structure and rules to create configurations. Interfaces dynamically with the end user Active UI and data.

Active User Interface

The part of Oracle Configurator runtime architecture that provides the graphical views necessary to create configurations interactively. Interfaces with the Active Model and data to give users access to customer requirements gathering, product selection, and customer-centric extensions.

Application Architecture

The software structure of an application at runtime. Architecture affects how an application is used, maintained, extended, and changed.

Architecture

The software structure of a system. Architecture affects how a system is used, maintained, extended, and changed. See also Application Architecture.

Beta

An external release, delivered as an installable application, and subject to system, validation, and acceptance testing. Specially selected and prepared end users may participate in beta testing.

Glossary of Terms-1

Page 204: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 2 Wednesday, February 28, 2001 2:09 PM

Bill of Materials (BOM)

A list of component items associated with a parent item (assembly) and information about how each item relates to the parent item.

BOM

See Bill of Material.

BOM Item

The nodes imported into the Oracle Configurator Developer Model that correspond to an Oracle BOM.

BOM Model

A model that you import from Oracle Bills of Material (BOM) into Oracle Configurator Developer. When you import a BOM Model, the effective dates defined for each component in Oracle BOM are also imported into Configurator Developer. You can extend the Structure of the BOM Model in Configurator Developer, but you cannot modify the BOM Model itself or any of its attibutes.

BOM Model Node

The imported Model node in the Oracle Configurator Developer that corresponds to Standard Model in an Oracle Bill of Materials.

BOM OptionClass

The imported Model node in the Oracle Configurator Developer that corresponds to Option Class in an Oracle BOM.

BOM StandardItem

The imported Model node in the Oracle Configurator Developer that corresponds to Standard Item in an Oracle BOM.

Boolean Expression

An element of a component in the Model that has two options: true or false.

Bug

See Defect.

Glossary of Terms-2

Page 205: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 3 Wednesday, February 28, 2001 2:09 PM

Build

A specific instance of an application during its construction. A build must have an install early in the project so that application implementers can unit test their latest work in the context of the entire available application.

CIO

See Oracle Configuration Interface Object.

Client

A runtime program using a server to access functionality shared with other clients.

Comparison Rule

An Oracle Configurator Developer rule type to establish a relationship that determines the selection state of a logical item (option, boolean feature, or list-of-options feature) based on a comparison of two numeric values (numeric features, totals, resources, option counts, or numeric constants). The numeric values being compared can be computed or they can be discrete intervals in a continuous numeric input.

Compatibility Rule

An Oracle Configurator Developer rule type to establish a relationship among features in the Model that specifies the allowable combinations of options. See also, Property-based Compatibility Rule.

Compatibility Table

A type of compatibility relationship where the allowable combination of options are explicitly enumerated.

Component

Represents a configurable element in a product. An element of the Model structure, typically containing features. May correspond to one screen of selections in an Oracle runtime configurator.

Component Set

An element of the Model that contains a number of components of the same type, where each component of the set is independently configured.

Glossary of Terms-3

Page 206: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 4 Wednesday, February 28, 2001 2:09 PM

Configuration

A specific set of specifications for a product, resulting from selections made in an Oracle runtime configurator.

Configuration Model

The model structure and rules-based content of an Oracle runtime configurator. The configuration model is constructed and maintained using Oracle Configurator Developer, and is interpreted at runtime by the Active Model.

Configuration Rules

The Oracle Configurator Developer logic rules and numeric rules available for defining configurations.

Configurator

The part of an application that provides custom configuration capabilities.

Constraint Rule

An Oracle Configurator Developer rule type to create a logical relationship among features and options. See also Rules.

Contributes to

An Oracle Configurator Developer numeric rule type for accumulating a total value.

Consumes from

An Oracle Configurator Developer numeric rule type for specifying the quantity of a resource used.

CRM

Customer Relationship Management. The aspect of the enterprise that involves contact with customers, from lead generation to support services.

Customer

The person or persons for whom products are configured by end users of the Oracle Configurator or other ERP and CRM applications.

Customer-centric Extensions

See Customer-centric Views.

Glossary of Terms-4

Page 207: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 5 Wednesday, February 28, 2001 2:09 PM

Customer-centric Views

Optional extensions to core functionality that supplement product selection with rules for pre-selection, validation, and intelligent views. View capabilities include generative geometry, drawings, sketches and schematics, charts, performance analyses, and ROI calculations.

Customer Requirements

The needs of the customer that serve as the basis for determining the configuration of products, systems, and/or services. Also called Needs Assessment.

Data Import

Populating the Oracle Configurator schema with enterprise data from ERP or legacy systems via import tables.

Data Integration Object

Data Integration Object. A server in the runtime application that creates and manages the interface between the client (usually a user interface like the Active User Interface) and the Oracle Configurator schema.

Data Maintenance Environment

The environment in which the Oracle runtime configurator data is maintained.

Data Replication

The activity of downloading and uploading configuration, quote, and order data between the Oracle Configurator schema on the enterprise server and Oracle Configurator Mobile Database on end-user mobile laptop PCs. See also Data Synchronization.

Datasource

A programmatic reference to a database. Referred to by a datasource name, or DSN.

Data Synchronization

A process for matching the data in the Oracle Configurator schema and the data available to client processes such as the Oracle SellingPoint application. See also Data Replication.

Default

The automatic selection of an option based on the pre-selection rules or the selection of another option.

Glossary of Terms-5

Page 208: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 6 Wednesday, February 28, 2001 2:09 PM

Defaults

An Oracle Configurator Developer logic rule to determine the logic state of features or options in a default relation to other features and options. For instance, if you set A to True by selecting it, B becomes true (selected) if it is available (not false) and can be set to True without contradicting a non-default rule or a previous default setting for B.

Defect

A failure in a product to satisfy the users’ requirements. Defects are prioritized as critical, major, or minor, and fixes range from corrections or workarounds to enhancements. Also known as a β€œbug”.

Defect Tracking

A system of identifying defects for managing additional tests, testing, and approval for release to users.

Deliverable

A work product that is specified for review and delivery.

Demonstration

A presentation of the tested application, showing a particular usage scenario.

Design Chart

An Oracle Configurator Developer rule type for defining advanced Explicit Compatibilities interactively in a chart view.

Design Review

A technical review that focuses on application or system design.

Developer

The tool (Oracle Configurator Developer) used to create configuration models. The person who uses Oracle Configurator Developer to create a configurator. See also Implementer

DIO

See Data Integration Object.

Glossary of Terms-6

Page 209: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 7 Wednesday, February 28, 2001 2:09 PM

End User

The ultimate user of the Oracle runtime configurator. The types of end users vary by project but may include salespeople or distributors, administrative office staff, marketing personnel, order entry personnel, product engineers, or customers directly accessing the application via web or kiosk.

Enterprise

The systems and resources of a business.

Environment

The arena in which software tools are used, such as operating system, applications, and server processes.

ERP

Enterprise Resource Planning. A software system and process that provides automation for the customer’s back-room operations, including order processing.

Excludes

An Oracle Configurator Developer rule type for determining the logic state of features or options in an excluding relation to other features and options. For instance, if you set A to True, B becomes false, since it is not allowed when A is true. If you set A to False, there is no effect on B, meaning it could be true, false, or unknown.

Extended Functionality

A release after delivery of core functionality that extends that core functionality with customer-centric views, more complex proposal generation, discounting, quoting, and expanded integration with ERP, CRM, and third-party software.

Feature

An element of the Model structure. A configurable parameter of a component. Features can either have a value (numeric or boolean) or enumerated options.

Functional Companion

An object associated with a component that supplies methods that can be used to initialize, validate and generate customer-centric views and outputs for the configuration.

Glossary of Terms-7

Page 210: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 8 Wednesday, February 28, 2001 2:09 PM

Functional Specification

Document describing the functionality of the application based on user requirements.

Incremental Construction

The process of organizing the construction of the application into builds, where each build is designed to meet a specified portion of the overall requirements and is unit tested.

Implementation

The stage in a project between defining the problem by selecting a configuration technology vendor, such as Oracle, and deploying the completed sales configuration application. The Implementation stage includes gathering requirements, defining test cases, designing the application, constructing and testing the application, and delivering it to users.

Implementer

The person who uses Oracle Configurator Developer to build the model structure, rules, and UI customizations that make up an Oracle runtime configurator.

Implies

An Oracle Configurator Developer logic rule type that determines the logic state of features or options in an implied relation to other features and options. For instance, if you set A to True by selecting it, B becomes true, since selecting A implies that B is also selected. If you set A to False by deselecting it, there is no effect on B, meaning it could be true false or unknown based on other relations B participates in. And if you set B to True by selecting it, there is no effect on A, meaning it could be true false or unknown based on other relations A participates in. But if you set B to False by deselecting it, the relation of A implies B is preserved only by having A be false (deselected) as well.

Import Tables

Tables mirroring the Oracle Configurator schema Item Master structure, but without integrity constraints. Import Tables allow batch population of the Oracle Configurator schema Item Master. Import Tables are used in conjunction with extractions from Oracle Applications or legacy data to create, update, or delete records in the Oracle Configurator schema Item Master.

Glossary of Terms-8

Page 211: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 9 Wednesday, February 28, 2001 2:09 PM

Install

A program that sets up the local machine and installs the application for testing and use.

Instantiate

To create an instance of a configuration model Component, Feature, or Option in the User Interface.

Integration

The process of combining multiple software components and making them work together.

Integration Testing

Testing the interaction among software programs that have been integrated into an application or system.

Intelligent Views

Configuration output, such as reports, graphs, schematics, and diagrams, that help to illustrate the value proposition of what is being sold.

Item Master

A table in the Oracle Configurator schema containing data used to structure the product. Data in the item master is either entered manually or imported from Oracle Applications or legacy data.

Item Type

A table in the Oracle Configurator schema containing data used to classify the product data in the item master table.

Log File

A file containing errors, warnings and other information output by the running application.

Logic Rules

Logic rules directly or indirectly set the logical state (true, false, or unknown) of features and options in the Model.

There are four (4) primary logic rules: Implies, Requires, Excludes, and Negates. Each of these rules takes a list of features or options as operands. See also Logic, Implies, Requires, Excludes, and Negates.

Glossary of Terms-9

Page 212: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 10 Wednesday, February 28, 2001 2:09 PM

Maintainability

The characteristic of a product or process to allow straightforward maintenance, alteration, and extension. Maintainability must be built into the product or process from inception.

Maintenance

The effort of keeping a system running once it has been deployed, through bug fixes, procedure changes, infrastructure adjustments, data replication schedules, etc.

Maintenance Guide

A guide for maintaining a specific application or system. The maintenance guide covers all aspects of maintenance described in the generic Maintenance Plan.

Maintenance Plan

A document that outlines what is required for successful maintenance, and who is responsible for all the actions and deliverables of carrying out maintenance on a system.

MDUI

See Model-driven UI.

Mobile Database

See Oracle Configurator Mobile Database.

Model

The entire hierarchical β€œtree” view of all the data required for configurations, including model structure, variables such as resources and totals, and elements in support of intermediary rules. May consist of BOM Items.

Model-driven UI

The graphical views of the model structure and rules generated by the Active UI to present end users with interactive product selection based on configuration models.

Model Structure

Hierarchical, β€œtree” view of data in terms of product elements (Models, Products Components, Features, Options, BOM Models, BOM OptionClasses, BOM StandardItems, Resources, and Totals). May include reusable components.

Glossary of Terms-10

Page 213: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 11 Wednesday, February 28, 2001 2:09 PM

MRP

Manufacturing Resource Planning. A software system and process for monitoring and maintaining the customer’s manufacturing systems.

Negates

An Oracle Configurator Developer logic rule type that determines the logic state of features or options in a negating relation to other features and options. For instance, if you set one item in the relationship to True, the other item must be false. And if you set one item to False, the other item must be true.

Node

The place in a Model occupied by a component, feature, option or variable, BOM Model, BOM OptionClass, or BOM StandardItem.

Numeric Rules

Rules that are used to set the global parameters specified in product structuring. See also, Contributes to and Consumes from.

OC

See Oracle Configurator.

Opportunity

The workspace in the Oracle SellingPoint application and Oracle Sales Online in which products, systems, and/or services are configured, quotes and proposals are generated, and orders are submitted.

Option

An element of the Model. A choice for the value of an enumerated feature.

A logical selection made by the end user when configuring a component.

Oracle Configurator

The product family consisting of development tools and runtime applications such as Oracle Configurator schema, Oracle Configurator Developer, run-time Oracle Configurator, and Oracle SellingPoint application. Also the Oracle runtime configurator variously packaged for use in networked, mobile, or web deployments.

Glossary of Terms-11

Page 214: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 12 Wednesday, February 28, 2001 2:09 PM

Oracle Configurator Architecture

The application runtime architecture consists of the Active User Interface, the Active Model, and the Oracle Configurator schema or Oracle Configurator Mobile Database. The application development architecture consists of Oracle Configurator Developer and the Oracle Configurator schema, with test instances of an Oracle runtime configurator.

Oracle Configurator Developer

The suite of tools in the Oracle Configurator product family for constructing and maintaining configurators.

Oracle Configuration Interface Object (CIO)

A server in the runtime application that creates and manages the interface between the client (usually a user interface like the Active User Interface) and the underlying representation of model structure and rules in the Active Model.

CIO protocols support creating and navigating the Model, querying and modifying selection states, and saving and restoring configurations.

Oracle Configurator Mobile Database

The runtime version of the standard Oracle Configurator schema that manages data for the configuration model in a mobile deployment. The runtime schema includes customer, product, and pricing data as well as data created during operation of an Oracle Configurator.

Oracle Configurator Schema

The implementation version of the standard Oracle runtime configurator data-warehousing schema that manages data for the configuration model. The implementation schema includes all the data required for the runtime system as well as specific tables used during the construction of the configurator.

Oracle SellingPoint Application

The test application generated by Oracle Configurator Developer. Also a full configuration environment with opportunity management, quotes, and proposals for networked or mobile deployments.

Output

The output generated by a configurator, such as quotes, proposals, bills of material (BOM), and customer-centric views.

Glossary of Terms-12

Page 215: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 13 Wednesday, February 28, 2001 2:09 PM

PDM

Product Data Management. A software system that manages the version control of product data.

Populator

An entity in the Oracle Configurator Developer that defines how to create a Model from information in the item master.

Pre-selection

The default state in a configurator that defines an initial selection of components, features, and options for configuration.

A process that is implemented to select the initial element(s) of the configuration.

Principal Design Consultant

Member of the project team responsible for architecting the design of the application.

Product

Whatever is subjected to configuration and is the output of the application.

The root element of the Model.

Product Family

A collection of products or product lines, which are organized as a group by a provider or manufacturer.

Project

The workspace in Oracle Configurator Developer in which configurators are constructed

Project Manager

A member of the project team who is responsible for directing the project during implementation.

Project Plan

A document that outlines the logistics of successfully implementing the project, including the schedule.

Glossary of Terms-13

Page 216: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 14 Wednesday, February 28, 2001 2:09 PM

Property

A named value associated with an object in the Model or the item master. A set of properties may be associated with an item type.

Property-based Compatibility Rule

A kind of compatibility relationship where the allowable combinations of options are specified implicitly by relationships among property values of the options.

Prototype

A construction technique in which a preliminary version of the application, or part of the application, is built to facilitate user feedback, to prove feasibility or examine other implementation issues.

Reference

The use of a reusable component within the Model. Not implemented in Release 11i or before.

Regression Test

An automated test that ensures the newest build still meets previously tested requirements and functionality.

Requires

An Oracle Configurator Developer logic rule type that determines the logic state of features or options in a requirement relation to other features and options. For instance, if you set one item in the relationship to True, the other item is required to be true as well. And if you set one item to False, the other item must be false as well.

Resource

Staff or materials available or needed within an enterprise.

A variable in the Model used to maintain the balance of features not consuming more of a specific resource than has been provided by other features.

Reusable Component

A component that is referenced from multiple locations in the Model. Not implemented in Release 11i or before.

Reusability

The extent to and ease with which parts of a system can be put to use in other systems.

Glossary of Terms-14

Page 217: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 15 Wednesday, February 28, 2001 2:09 PM

Rules

Also called business rules or configuration rules. Constraints applied among elements of the product to ensure that defined relationships are preserved during configuration. Elements of the product are components, features, and options. Rules express logic, numeric parameters, implicit compatibility, or explicit compatibility. Rules are used to provide pre-selection and validation capability in an application.

See also Logic Rules and Numeric Rules.

Runtime

The environment and context in which applications are run or used, rather than developed.

Sales Configuration

A part of the sales process to which configuration technology has been applied in order to increase sales effectiveness and decrease order errors. Commonly identifies needs assessment and product configuration.

Server

Centrally located software processes or hardware, shared by clients.

Solution

The deployed system as a response to a problem or problems.

System

The hardware and software components and infrastructure integrated to satisfy functional and performance requirements.

Test Case

A description of inputs, execution instructions, and expected results, which are created for the purpose of determining whether a specific software feature works correctly or a specific requirement has been met.

Total

A variable in the Model used to accumulate a numeric total, such as total price or total weight.

Glossary of Terms-15

Page 218: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 16 Wednesday, February 28, 2001 2:09 PM

Undetermined

The logic state that is neither true nor false, but unknown at the time a logic rule is executed. This logic state is also referred to as Available, especially when considered from the point of view of the Oracle runtime configurator end user.

Unit Test

Execution of individual routines and modules by the application implementer or by an independent test consultant for the purposes of finding defects.

Update

Moving a production configurator to a new version of configuration model.

Upgrade

Moving the configurator to a new release of Oracle Configurator.

User

The person using the Oracle Configurator Developer tools and methods to build an Oracle runtime configurator. See also end user.

User Interface

The visible part of the application, including menus, dialog boxes, and other on-screen elements. The part of a system where the user interacts with the software.

User Requirements

A description of what the Oracle Configurator or Oracle SellingPoint application is expected to do from the end user’s perspective.

User’s Guide

Documentation on using the application or configurator to solve the intended problem.

Validation

Tests that ensure that the configured components will meet specific performance or acceptance criteria.

A type of functional companion that is implemented to ensure that the configured components will meet specific performance or acceptance criteria.

Variable

Parts of the Model that are represented by Totals, Resources, or numeric Features.

Glossary of Terms-16

Page 219: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 17 Wednesday, February 28, 2001 2:09 PM

Verification

Tests that check whether the result agrees with the specification.

Glossary of Terms-17

Page 220: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 18 Wednesday, February 28, 2001 2:09 PM

Glossary of Terms-18

Page 221: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 1 Wednesday, February 28, 2001 2:09 PM

Glossary of Acronyms

API

Application Programming Interface

ATP

Available to Promise

BOM

Bill of Material

CIO

Configuration Interface Object

CM

Configuration Management

COM

Component Object Model

CRM

Customer Relationship Management

DBMS

Database Management System

DCOM

Distributed Component Object Modeling

Glossary of Acronyms-1

Page 222: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 2 Wednesday, February 28, 2001 2:09 PM

DHTML

Dynamic Hypertext Markup Language

DIO

Data Integration Object

DLL

Dynamically Linked Library

DXF

Drawing Exchange Format (AutoCAD drawings)

ECO

Engineering Change Order

ERM

Enterprise Relationship Management

ERP

Enterprise Resource Planning

ESD

Electronic Software Distribution

ESP

External Service Provider

ESS

Enterprise Selling System

HT

High Tech

HTML

Hypertext Markup Language

IP

Industrial Products

Glossary of Acronyms-2

Page 223: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 3 Wednesday, February 28, 2001 2:09 PM

IS

Information Services

ISS

Interactive Selling System

ISV

Independent Software Vendor

LAN

Local Area Network

MAPI

Messaging Application Programming Interface

MC/S

Mobile Client/Server System

MDUI

Model-Driven User Interface

MES

Marketing Encyclopedia System (Catalog)

MIS

Management Information Systems

MRP

Manufacturing Resource Planning

MS

Microsoft

OC

Oracle Configurator

OCX

Object Control File, OLE custom controls

Glossary of Acronyms-3

Page 224: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 4 Wednesday, February 28, 2001 2:09 PM

ODBC

Open Database Connectivity

OLE

Object linking and embedding

OMS

Opportunity Management System

OOD

Object-Oriented Design

ORB

Object Request Broker

PDM

Product Data Management

PIA

Project Impact Assessment

POS

Point of Sale

QA

Quality Assurance

RAD

Rapid Application Development

RDBMS

Relational Database Management System

RFQ

Request for Quote

ROI

Return on Investment

Glossary of Acronyms-4

Page 225: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 5 Wednesday, February 28, 2001 2:09 PM

SAS

Sales Analysis System

SCM

Supply Chain Management

SCS

Sales Configuration System

SE

Sales Engineer

SFA

Sales Force Automation

SI

System Integrator

SOT

Strategic Options Theory

SQA

Software Quality Assurance

SQL

Structured Query Language

TERM

Technology-Enabled Relationship Management

TES

Technology-Enabled Selling

UI

User Interface

VAR

Value-Added Reseller

Glossary of Acronyms-5

Page 226: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 6 Wednesday, February 28, 2001 2:09 PM

VB

Microsoft Visual Basic

WAN

Wide Area Network

WIP

Work In Progress

Glossary of Acronyms-6

Page 227: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 1 Wednesday, February 28, 2001 2:09 PM

Index

Symbols( ) parenthesis, 4–44

precedence, 4–44* multiplication, 4–44

Numeric Rule, 4–15precedence, 4–44

- subtraction, 4–44precedence, 4–44

+ addition, 4–44precedence, 4–44

- unary minus, 4–44precedence, 4–44

, commafunction argument separator, 4–44

< less than, 4–44Comparison Rule, 4–18precedence, 4–45Property-based Compatibilities, 4–20

< less than or equal to, 4–44Comparison Rule, 4–18precedence, 4–45Property-based Compatibilities, 4–20

<> not equal, 4–44Comparison Rule, 4–18precedence, 4–44Property-based Compatibilities, 4–20

<Value>, 4–38= equal, 4–44

Comparison Rule, 4–18precedence, 4–44Property-based Compatibilities, 4–20

> greater than, 4–44Comparison Rule, 4–18

precedence, 4–45Property-based Compatibilities, 4–20

> greater than or equal to, 4–44Comparison Rule, 4–18precedence, 4–45Property-based Compatibilities, 4–20

⁄ division, 4–44Numeric Rule, 4–15precedence, 4–44

dot, 4–44precedence, 4–44

AAction

Add Component/Model, 8–36Reference selection list, 8–36

Delete Component/Model, 8–36Reference selection list, 8–37

Functional Companion AutoConfigure, 8–37Functional Companion Output, 8–37GoTo Screen, 8–37Launch, 8–37None, 8–36

actions for buttons, 5–15Active Model, 1–1, 8–11

compiling configuration rules, 4–2Active User Interface, 1–2Add Component/Model, 8–36Add to Sequence command, 8–6adding a Property, 8–23adding graphics to UI, 5–14adding Item, 3–3adding Item Type, 3–3

Index-1

Page 228: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 2 Wednesday, February 28, 2001 2:09 PM

Advanced button, 4–36Advanced Expression, 4–36

Arithmetic Functions, 4–46Compound Functions, 4–46create, 4–48editor, 4–37errors, 4–47functions, 4–45logical functions, 4–45Model structure, 4–39operands, 4–45operators, 4–38precedence of operators, 4–44Properties, 4–39System Properties, 4–39User Properties, 4–39using All True and Any True, 4–6using NotTrue, 4–46window, 4–38

align commandpreview window edit menu, 8–39

All True logical functionusing, 4–11

AllTrue, logic function, 4–45AND

logical, 4–6, 4–44precedence, 4–45

Any True logical functionusing, 4–6

Any True, logical function, 4–45Apache

configuration file, 6–4, 8–13applicability parameters

definition and listing, 2–8overlapping, 2–10overview, 2–7restrictions, 2–10

Applicationapplicability parameter, 2–9

applying Rules to Project elements, 4–1Arithmetic Functions, 4–46Arithmetic operators, 4–44Assemble to Order, 3–12Associated Rules

Model attribute, 8–28

Associated UI NodesModel attribute, 8–32

ATOimported Rules, 3–12

ATPdates, 5–3display in UI, 5–3

attribute of all nodesDescription, 7–11, 8–16Name, 7–11, 8–16

Attributes View, 8–3sections, 8–4

BBackground Picture, 5–13begins with

Property-based Compatibilities, 4–20BOM

mutually exclusive Rules, 3–12Properties, 3–2, 3–5, 3–9Property values, 3–2, 3–5, 3–9quantity cascade, 3–12representation of Properties in Oracle

Applications, 1–4, 3–2, 3–5, 3–9required Rules, 3–12

BOM Model, 3–9defined, 3–5node icon, 3–10References, 2–2tree view icons, 8–17

BOM Model tree, 5–9BOM OptionClass

defined, 3–5node icon, 3–10

BOM StandardItemdefined, 3–5node icon, 3–10

BooleanFeature type, 3–5, 8–21

bring to front commandpreview window edit menu, 8–39

Build Your Own Laptop, 3–10building a configurator, 1–6building a new Model, 3–4

Index-2

Page 229: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 3 Wednesday, February 28, 2001 2:09 PM

building Functional Companion, 4–48button

adding to UI, 5–15limitations of graphics on, 5–16UI node, 5–8

Ccaching

of Model informationperformance impact, 6–5

Catalog, 1–4, 3–2, 3–5, 3–9Descriptive Element Values, 3–2, 3–5, 3–9Descriptive Elements, 3–2, 3–5, 3–9

Ceilingarithmetic function, 4–46

cell in Design Chartselect, 4–30unselect, 4–30

change button, 3–3, 8–26changing Item Type, 3–3, 8–26characters

escape, 8–7in advanced expressions, 4–38wild card, 8–7

Check Expression buttonin Advanced Expression window, 4–47returned errors, 4–47

childrenvisibility, 8–20

ChildrenOf, compound function, 4–46Close, 8–41comma

function argument separator, 4–44Companion selection list, 8–37Comparison operators, 4–44Comparison Rule

creating, 4–17definition, 4–17

CompatibilitiesExplicit, 4–21Property-based, 4–19

Compatibility rulesdefinition, 4–18property based, 4–18

ComponentAdd, 8–36create, 3–15defined, 3–4Delete, 8–36hiding components in the run-time UI, 5–18icon, 8–17optional, 4–49required, 4–49

Components Treeborders, 5–13customizing, 5–12font, 5–13picture, 5–13screen background, 5–13suppressing, 8–35Tooltip Text, 5–13Tree Style, 5–13UI node, 5–8UI style, 5–9

Compound Functions, 4–46Concurrent program

definition, 2–19Configuration

invalid, 4–9saving, 4–9status pop-up, 4–9

Configuration RulesCreate Menu

New Comparison Rule, 8–9New Design Chart, 8–9New Explicit Compatibility, 8–9New Functional Companion, 8–9New Logic Rule, 8–9New Numeric Rule, 8–9New Property-based Compatibility, 8–9New Rule Folder, 8–9New Rule Sequence, 8–9

disable, 4–12, 6–2enable, 4–12overview, 4–1View Menu (lower), 8–10

Configuration Rules AttributesDefinition, 8–29Parameters, 8–29

Index-3

Page 230: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 4 Wednesday, February 28, 2001 2:09 PM

Configuratordefined, 1–1

Configurator Developer, see Oracle Configurator Developer

Configurator Java appletand Functional Companions, 4–48customer requirements, 5–2customizing the UI, 5–10launching DHTML window, 5–2non-BOM structure in UI, 3–4, 5–2seeing your UI changes, 6–4UI style, 5–9visibility toggle, 5–2

Configurator, prototype, 1–8Constant

Comparison Rule, 4–18Consumes from, 4–14contains

Property-based Compatibilities, 4–20Context Tree View, 8–3context-sensitive pop-up menus, 7–3, 8–5Contributes to, 4–14

negative, 4–16copy

Populators, 8–7preview window, 8–7

Copy command, 7–4, 8–6preview window edit menu, 8–39

Copy with Rules command, 8–6Count, 8–22

Model Attributes, 8–22System Property, 3–6

Counted Options, 8–21Create Menu

for Configuration Rules, 4–13New Comparison Rule, 8–9New Design Chart, 8–9New Explicit Compatibility, 8–9New Functional Companion, 8–9New Logic Rule, 8–9New Numeric Rule, 8–9New Property-based Compatibility, 8–9New Rule Folder, 8–9New Rule Sequence, 8–9

for Item Master

New Item, 8–9New Item Type, 8–9

for Model, 8–8New Component, 8–8New Feature, 8–8New Model Reference, 8–9New Option, 8–8New Product, 7–6, 8–8New Resource, 8–9New Total, 8–8

for Repository, 7–6for User Interface

New Button, 8–10New Picture, 8–10New Text, 8–10New User Interface, 8–10New Value Display, 8–10

custom web application, 1–2customer requirements

Configurator Java applet, 5–2part of Model, 3–10

customizing the User Interface, 5–10cut

Populators, 8–7preview window, 8–7

Cut command, 7–4, 8–6preview window edit menu, 8–39

cut, copy, and pastePicture or Button with action, 8–7Populators, 8–7preview window, 8–7

cut, copy, and paste Populators, 3–20CZ_ prefix, 1–7CZ_XFR_FIELDS, 3–10

Ddatabase, see Oracle Configurator schemadatasource, 1–6Date

applicability parameter, 2–9Decimal Number

Feature type, 3–5, 8–21Default Type, 3–9Defaults

Index-4

Page 231: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 5 Wednesday, February 28, 2001 2:09 PM

effect, 4–5logic relation, 4–5

Defining Feature, 4–23Definition

Configuration Rules Attributes, 8–29Delete

Repository entities, 7–6Delete command, 7–4, 8–6

preview window edit menu, 8–39Delete Component/Model, 8–36Delete from Sequence command, 8–6deleting a Property, 8–23deleting Item, 3–4deleting Item Type, 3–4demonstration configurator, 1–8deploying models

see publishingDescription

attribute of all nodes, 7–11, 8–16Model Attributes, 7–11, 8–16

Descriptive Element Values, 3–2, 3–5, 3–9Descriptive Elements, 3–2, 3–5, 3–9Design Chart, 4–23

Advanced Expression, 4–36create, 4–28customize activation marks, 4–29Defining Feature, 4–23Definition, 4–28effect, 4–26example, 4–24Optional Feature, 4–23Primary Feature, 4–23remove a Secondary Feature, 4–30save, 4–28Secondary Feature, 4–23select cell, 4–30unselect cell, 4–30

design chart, 4–18designing rules in Oracle Configurator

Developer, 1–4Developer, see Oracle Configurator DeveloperDHTML window

ATP dates, 5–3configuration display, 5–3customizing the UI, 5–10

launching from Configurator Java applet, 5–2seeing your UI changes, 6–4summary display, 5–3test environment, 8–12text and gaphics on buttons, 5–16UI Style, 5–9URL of the Servlet, 8–13

dio_shareconfiguration parameter, 6–4, 8–13

Direct To..., 8–40disable Configuration Rules, 4–12, 6–2Display in User Interface

checkbox defined, 8–20display width reserved for navigation

frame, 5–9override, 5–10, 8–20

does not begin withProperty-based Compatibilities, 4–20

does not containProperty-based Compatibilities, 4–20

does not end withProperty-based Compatibilities, 4–20

Down arrow icon, 8–4Dynamic Visibility, 5–4

EEdit button, 4–36Edit Menu, 7–4, 8–5

Add to Sequence, 8–6Copy, 7–4, 8–6Copy with Rules, 8–6Cut, 7–4, 8–6Delete, 7–4, 8–6Delete from Sequence, 8–6Find, 8–6Paste, 7–4, 8–6Refresh, 8–6Rename, 7–4, 8–6Reorder in Sequence, 8–6

editinga Property, 8–23Item, 3–4Item Type, 3–4

Editing Toolbar, 8–15

Index-5

Page 232: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 6 Wednesday, February 28, 2001 2:09 PM

Copy Button, 7–10, 8–15Cut Button, 7–10, 8–15Paste Button, 7–10, 8–15

Editing Toolbar, Repository, 7–10effect

Defaults, 4–5Design Chart, 4–26Excludes, 4–5Implies, 4–4Negates, 4–5Requires, 4–4

Effectivitydefinition, 3–6Effectivity Sets, 3–7References, 2–2Test button, 6–1Test/Debug module, 8–14Usages, 3–8

Effectivity Setscreating, 7–4definition, 3–7modifying, 7–5using with Rule Sequences, 4–31

Effects list, 8–29enable Configuration Rules, 4–12ends with

Property-based Compatibilities, 4–20English language, 1–10error

contradiction, 4–9invalid configuration, 4–9Maximum Exceeded, 4–7name is not in use for a subkey or named

value, 6–6runtime error ’7’, 6–6

escape character, 8–8example

Design Chart, 4–24Excludes

diagram, 4–5effect, 4–5logic relation, 4–5

Exit command, 7–4, 8–5explicit, 4–18Explicit Compatibilities

Advanced Expression, 4–36creating, 4–22described, 4–11

expression, advanced, 4–36

FFeature

create, 3–15defined, 3–5icon, 8–17

Feature ControlUI node, 5–8

Feature typeBoolean, 3–5, 8–21Decimal Number, 3–5, 8–21Float, 3–5, 8–21Integer Number, 3–5, 8–21List of Options, 3–5, 8–21Text, 3–5, 8–21True/False, 3–5, 8–21

FeaturesOf, compound function, 4–46File Menu, 7–3, 8–5

Exit, 7–4, 8–5Log Messages window, 8–40Project Report, 8–5

Find, 8–7Find command, 8–6Find Next, 8–7Float

Feature type, 3–5, 8–21Floor

arithmetic function, 4–46folders

disable and enable Rules, 4–12for Rules, 4–12Rule Sequences, 4–32

foreign language support, 1–10Format String, 5–17, 8–37Functional Companion

Advanced Expression, 4–36building, 4–48definition, 4–48enable and disable, 4–12

Functional Companion AutoConfigure, 8–37

Index-6

Page 233: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 7 Wednesday, February 28, 2001 2:09 PM

Functional Companion Output, 8–37Functions

Arithmetic, 4–46Compound, 4–46

functionsAdvanced Expression, 4–45logical, 4–45

GGenerate Active Model

Tools Menu, 8–11generated UI, 1–6generating logic, 8–11generic User Interface, 5–1, 6–1GIF, 8–36Go To button

UI node to Model View, 5–18, 8–33GoTo Screen, 8–37graphics

adding to UI, 5–14files supported, 8–36on buttons, 5–16

guided sellingadditional model structure, 1–9Order Management, 5–2

HHelp Menu, 7–10, 8–14Hide

hiding components in the runtime UI, 5–18Log Messages window, 8–41

Hide unselectable Controls and Options, 5–4, 5–12horizontal spacing command

preview window edit menu, 8–39

Iicons, 5–11

BOM Model node, 3–10BOM model tree view, 8–17BOM OptionClass node, 3–10BOM StandardItem node, 3–10Component, 8–17

configuration rules tree view, 8–27down arrow, 8–4Feature, 8–17in tree views, 8–16item master tree view, 8–18Model tree view, 8–17Option, 8–17Product, 8–17right arrow, 8–4used in model, 8–17User Interface tree view, 8–31

image files supported, 8–36Implies

diagram, 4–4effect, 4–4logic relation, 4–4

Imported Model, 3–9imported Properties, 3–2, 3–5, 3–9, 3–11importing data

Item Master, 3–2inherited Properties, 3–6Initial Value

Model Attributes, 8–19of Features, 8–22Total, 8–19

initialization file, 4–29initialization message, 2–9InitServletURL parameter, 8–14instantiate

cross component rule example, 4–49Integer Number

Feature type, 3–5, 8–21inventory, see Oracle InventoryiStore, 1–2Item

adding, 3–3changing type, 3–3, 8–26deleting, 3–4editing, 3–4

Item Master, 1–4, 3–1Create Menu

New Item, 8–9New Item Type, 8–9

importing data, 3–2Item Master Attributes

Index-7

Page 234: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 8 Wednesday, February 28, 2001 2:09 PM

Properties, 8–26Type/Properties, 8–26

Item Price Display, 8–34Item Type

adding, 3–3adding properties, 3–9changing, 3–3, 8–26deleting, 3–4editing, 3–4

JJava applet

Code Base URL, 8–13required selections in non-BOM structure, 5–2test environment, 8–12URL of the Servlet, 8–13

Java applet, see Configurator Java appletJPEG, 8–36

KKeep File Open, 8–41Keyboard shortcuts

Model window, 8–8Repository window, 7–3

LLabel

size in generated UI, 5–6language support, 1–10Launch, 8–37Launch parameter, 8–13Layout

UI attribute, 8–38limitations

graphics on buttons, 5–16Preview window, 5–16, 5–19

List of OptionsFeature type, 3–5, 8–21

literaladding to Advanced Expression, 4–48type of numeric operand, 4–45

log file

Oracle Configurator Developer, 8–12Log Messages window, 6–5, 8–40

Close, 8–41Direct To..., 8–40File Menu, 8–40Hide, 8–41Keep File Open, 8–41Message Box Text Limit, 8–41Report Milliseconds, 8–41Report Settings, 8–41Settings Menu, 8–41severity level, 6–6

Log tab, 8–12logic

generating, 8–11Logic Rules

creating, 4–13definition, 4–13summary table, 4–7

logic statedefinition, 4–2display in User Interface, 5–11logic false, 4–2logic true, 4–2unknown, 4–2user false, 4–2user true, 4–2

logic state displayin user interface, 5–11

logicalAND, 4–6functions, 4–45operators, 4–44OR, 4–6

logical functionsAll True and Any True, 4–6

logical relationshipsdefinition, 4–3enforcing, 4–7summary, 4–6

Mmake same size command

preview window edit menu, 8–39

Index-8

Page 235: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 9 Wednesday, February 28, 2001 2:09 PM

Manage Properties, 8–11Tools Menu, 8–11

mandatory Product or Component, 8–23matches

Property-based Compatibilities, 4–20Max

arithmetic function, 4–46System Property, 3–6

Menu bar, 7–2, 8–4Model window, 8–4Repository window, 7–2

Message Box Text Limit, 8–41Min

arithmetic function, 4–46System Property, 3–6

Modeapplicability parameter, 2–9

ModelAdd, 8–36create before customizing UI, 5–1Create Menu, 7–6, 8–8

New Component, 8–8New Feature, 8–8New Model Reference, 8–9New Option, 8–8New Product, 7–6, 8–8New Resource, 8–9New Total, 8–8

defined, 3–4Delete, 8–36from an imported BOM, 3–9prototyping, 1–8publication, 2–6renaming from the Repository window, 7–5tree view icons, 8–17View Menu (lower), 8–10window, 3–1

Model AttributesCount, 8–22Description, 7–11, 8–16Initial Value, 8–19Name, 7–11, 8–16Populators, 8–23Type, 8–20visibility, 8–20

Model Object, 8–33Model Publishing

see PublishingModel References

creating a Reference, 2–4displaying, 2–4modifying, 2–5overview, 2–1viewing in the Repository window, 2–5

Model structureadded to imported BOM model, 3–10in Advanced Expressions, 4–39in Configurator Java applet, 5–2overview, 3–4pane in Configurator UI, 6–3

model structure for guided selling, 1–9Model View, 8–3Model window

overview, 3–1Module Toolbar, 8–14

Model Button, 8–15Rules Button, 8–15Test Button, 8–15UI Button, 8–15

mutex, 3–12mutually exclusive Rules in BOM, 3–12

NName

attribute of all nodes, 7–11, 8–16Model Attributes, 7–11, 8–16System Property, 3–6

naming conventions, 1–3naming conventions and Oracle Configurator

Developer, 1–3needs assessment, see customer requirementsNegates

diagram, 4–5effect, 4–5logic relation, 4–5

Negative contributions, 4–16New Button, 5–15

Create Menu, 8–10New Picture, 5–14

Index-9

Page 236: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 10 Wednesday, February 28, 2001 2:09 PM

Create Menu, 8–10New Text, 5–15

Create Menu, 8–10New User Interface

Create Menu, 8–10New Value Display

Create Menu, 8–10node

finding, 8–7root, 8–16selecting, 7–3, 8–5

non-English language support, 1–10NOT, 4–44

logical, 4–44NotTrue, logic function, 4–46Number of Selections, 8–21

and Design Charts, 4–26, 4–27and Explicit Compatibility, 4–19logic state, 4–3

Numeric Rulesdefinition, 4–14

Numeric rulescreating, 4–14

Ooperands

Advanced Expression, 4–45Comparison Rule, 4–15, 4–18

operatorsAdvanced Expression, 4–38Arithmetic, 4–44Comparison, 4–44logical, 4–44Other, 4–44precedence, 4–44

Optioncreate, 3–16defined, 3–5

Option CountComparison Rule, 4–18

option countdefined, 4–15

Option icon, 8–17Option Property

Comparison Rule, 4–18optional Component, 4–49

Rules that relate, 4–49Optional Feature, 4–23optional Product or Component, 8–23OptionsOf, compound function, 4–46OR

logical, 4–6, 4–44precedence, 4–45

Oracle Configurator Developerbuilding a configurator, 1–6defined, 1–1designing rules, 1–4elements of Oracle Configurator Developer, 1–6generated UI, 1–6log file, 8–12naming conventions, 1–3platform requirements, 1–3project planning, 1–2rule planning, 1–3training, 1–2Username, password, and datasource, 1–6

Oracle Configurator schema, 1–1and product data, 1–4and Project data, 1–7and User Interface customization, 5–10and User Interface data, 5–1imported BOM data, 1–8Item Master subschema, 3–1saving the Project, 1–7

Oracle Inventory, 1–4Oracle Order Management, 1–2, 1–8, 3–10, 5–2

guided selling, 5–2Order Capture, 1–2Other operators, 4–44

PParameters, 8–29

Configuration Rules Attributes, 8–29password, 1–6paste

Populators, 8–7preview window, 8–7

Paste command, 7–4, 8–6

Index-10

Page 237: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 11 Wednesday, February 28, 2001 2:09 PM

preview window edit menu, 8–39performance impact

of caching Model information, 6–5Picture

UI node, 5–8Picture field

UI Attributes View, 5–16pictures

adding to UI, 5–14platform requirements and Oracle Configurator

Developer, 1–3Populators, 3–1, 3–15, 3–16

create, 3–17cut, copy, and paste, 3–20, 8–7Model Attributes, 8–23Preview button, 3–17, 3–20run, 8–11

precedence of operators, 4–44Preview

View Menu (upper), 8–10Preview button

Populators, 3–17, 3–20Preview window

editing UI, 5–19limitations, 5–16, 5–19

preview windowcut, copy, and paste, 8–7

preview window edit menualign, 8–39bring to front, 8–39copy, 8–39cut, 8–39delete, 8–39horizontal spacing, 8–39make same size, 8–39paste, 8–39send to back, 8–39vertical spacing, 8–39

Price Update, 8–34pricing

display in UI, 5–3Primary Feature, 4–23Product

create, 3–14icon, 8–17

Product Support, 1–11Profile Options

CZ Publication Mode, 2–9CZ Usage Name, 2–9

project planning and Oracle Configurator Developer, 1–2

Project Report command, 7–4, 8–5Properties

adding to Item Type, 3–9and changing Item Type, 3–6BOM, 3–2, 3–5, 3–9Comparison Rule, 4–11Explicit Compatibilities, 4–21imported, 3–2, 3–5, 3–9, 3–11in Advanced Expression, 4–39in Populators, 3–18in the Item Master, 3–3inherited, 3–6Item Master Attributes, 8–26managing, 8–11Property-based Compatibilities, 4–11System, 3–6User, 3–6

Property-based Compatibility rulescreating, 4–19

prototype configurator, 1–8publication

applicability parameters, 2–7copy, 2–17copying model data, 2–19creating, 2–15definition, 2–6deleting, 2–20disable, 2–20example of maintaining publications, 2–13initialization message, 2–9maintaining, 2–11modifying, 2–17selecting a publication, 2–9

Publishingcopying a publication, 2–17copying model data, 2–19creating a new publication, 2–15deleting a publication, 2–20example, 2–8

Index-11

Page 238: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 12 Wednesday, February 28, 2001 2:09 PM

example of maintaining publications, 2–13overview, 2–6process overview, 2–7referenced model UI definitions, 5–8republishing a model, 2–17status, 2–12the Model Publishing window, 7–8updating a publication, 2–17

Qquantity cascade

ATO Rules, 3–12calculations, 3–12defined, 3–12example, 3–13in BOM, 3–12

RRange, 8–22Reference

BOM Models, 2–2Configuration Rules, 2–2creating a model reference, 2–4definition, 2–1display in UI, 2–4display of referenced models, 2–4effectivity, 2–2node, 2–1overview, 2–1publishing referenced model with broken UI

link, 5–8referenced model UI definitions, 5–7UI definitions, 2–2updating model references, 2–5updating references, 2–3viewing rules in referenced models, 2–4viewing UI of a referenced model, 2–5

Reference selection list, 8–36, 8–37of pasted node, 8–7

refreshproject data, 1–4referenced model UI, 5–8

Refresh command, 8–6

remove a Secondary Feature, 4–30Rename command, 7–4, 8–6Renaming

Repository entities, 7–5Reorder in Sequence command, 8–6RePopulate, 3–17Report Milliseconds, 8–41Report Settings, 8–41Repository window

entities, 7–2Folders, 7–2keyboard shortcuts, 7–3managing Respository entities, 7–4menu bar items, 7–2overview, 7–1viewing model references, 2–5

required Component, 4–49required Rules in BOM, 3–12required substructure, 4–49Requires

diagram, 4–4effect, 4–4logic relation, 4–4

Resourcecreate, 3–16defined, 3–5Format String, 5–17

Right arrow icon, 8–4root node of tree, 8–16

Effectivity, 2–2Round

arithmetic function, 4–46rule folders, 4–12rule planning and Oracle Configurator

Developer, 1–3Rule Sequences

Add to Sequence, 8–6adding rules to a sequence, 4–33creating, 4–32definition, 4–30Delete from Sequence, 8–6deleting rules, 4–35folders, 4–32modifying effective date ranges, 4–35Reorder in Sequence, 8–6

Index-12

Page 239: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 13 Wednesday, February 28, 2001 2:09 PM

reordering rules in a sequence, 4–33using with Effectivity Sets, 4–31viewing in the Model window, 4–32

Rulesadvanced expressions, 4–36comparison rules, 4–17compatibility rules, 4–18compiling configuration rules, 4–2creating logic rules, 4–13creating numeric rules, 4–14creating property-based compatibility

rules, 4–19Defaults rule, 4–5disable, 4–12display in referenced models, 2–4enable, 4–12enforcing logical relationships, 4–7Excludes rule, 4–5Functional Companions, 4–48Implies rule, 4–4logic state, 4–2logical relationships, 4–3Model References, 2–2Negates rule, 4–5negative contributions, 4–16numeric rules, 4–14Requires rule, 4–4rule folders, 4–12Rule Sequences, 4–30rules that relate optional components, 4–49summary of logical relationships, 4–6types of configuration rules, 4–11unknown values and rule propagation, 4–17

Rules that relate optional Components, 4–49

SSales Online, 1–2save, 1–7Screen

UI node, 5–8search, see findSecondary Feature, 4–23

remove, 4–30Sections of Attributes View, 8–4

See also Rules

select Design Chart cell, 4–30Selection

System Property, 3–6, 4–42send to back command

preview window edit menu, 8–39servlet

test, 8–13Servlet URL, 8–14session, 6–4session initialization message, 2–9Settings Menu

Log Messages window, 8–41severity level, 6–6

performance impact, 6–6Show Datastore Log, 6–5Simple button, 4–36spx.ini file, 4–29, 8–13status

see Publishingsubstructure

required, 4–49System Properties, 3–6

Advanced Expressions, 4–39Selection, 4–42

TTab Order, 8–38Tagged Value Display

UI node, 5–9TeleSales, 1–2test environment

DHTML window, 8–12Java applet, 8–12

Test tab, 8–12test that servlet is running, 8–13Test/Debug

Effectivity, 8–14using, 6–1View Menu (lower), 8–11

testing modelssee publishing

Text

Index-13

Page 240: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 14 Wednesday, February 28, 2001 2:09 PM

Feature type, 3–5, 8–21UI node, 5–8

text colorlogic state display, 5–11

ToolbarsEditing

Copy Button, 7–10, 8–15Cut Button, 7–10, 8–15Paste Button, 7–10, 8–15

Module, 8–14Model Button, 8–15Rules Button, 8–15Test Button, 8–15UI Button, 8–15

Tools MenuGenerate Active Model, 8–11Manage Properties, 8–11Options..., 8–11RePopulate, 8–11

Tools Menu, Modeler, 8–11Tools Menu, Repository, 7–8Tools/Options, 8–11tooltip

changing text, 5–13showing path to Feature or Option, 8–29, 8–30

Totalcreate, 3–16defined, 3–5Format String, 5–17Initial Value, 8–19

Total or Numeric FeatureComparison Rule, 4–18

training for Oracle Configurator Developer, 1–2Tree Style

changing, 5–13UI attribute, 8–35

True/FalseFeature type, 3–5, 8–21

TypeModel Attributes, 8–20

Type/PropertiesItem Master Attributes, 8–26

UUI button, 5–9UI Servlet

caching, 6–4, 8–13undo, 1–7unknown values

and logic state, 4–2and numeric rule propagation, 4–17

unselect Design Chart cell, 4–30Usage

applicability parameter, 2–9creating, 7–4definition, 3–8modifying, 7–5Oracle Applications profile option, 2–9

User Interfaceas test environment, 6–2ATP display, 5–3changing components tree display, 5–12

borders, 5–13display style, 5–12font, 5–13picture, 5–13screen background, 5–13Tooltip Text, 5–13Tree Style, 5–13

changing default settings, 5–11font, 5–11logic state display, 5–11screen background, 5–11

changing screen display settings, 5–13background color, 5–13background picture, 5–13font, 5–13

Create MenuNew Button, 8–10New Picture, 8–10New Text, 8–10New User Interface, 8–10New Value Display, 8–10

creating, 5–8customizing, 5–10customizing screen design, 5–13

adding buttons, 5–15

Index-14

Page 241: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 15 Wednesday, February 28, 2001 2:09 PM

adding graphics, 5–14adding new text, 5–14adding pictures, 5–14

Data Fieldscheckboxes, 5–6Dropdowns, 5–6Labels, 5–6Numeric Edit Controls, 5–6Selection Lists, 5–6Selection Lists with checkboxes, 5–6Text Edit Controls, 5–6

display width for navigation frame, 5–9editing objects

in the Preview Window, 5–19generating, 5–8

BOM Model tree, 5–9Components Tree, 5–9default name, 5–10Show all nodes, 5–10target display resolution, 5–9UI Style options, 5–9

generic, 5–1, 6–1hiding components, 5–18how the Model determines the UI, 5–5making it more interactive

customizing feature nodes, 5–17node

button, 5–8Components Tree, 5–8Feature Control, 5–8Picture, 5–8Screen, 5–8Text, 5–8User Interface, 5–8Value Display, 5–8

overriding end user selections, 4–10pricing and ATP display, 5–3referenced model UI definitions, 5–7refresh, 5–1, 8–6refreshing a referenced model UI, 5–8regenerate, 8–6root node, 5–8style

BOM Model tree, 5–9Components tree, 5–9

testing, 5–8tree view icons, 8–31UI node, 5–8viewing a referenced model UI, 2–5

User Interface BuilderView Menu (lower), 8–10

User InterfacesUI definitions with model references, 2–2

User Properties, 3–6Advanced Expressions, 4–39

username, 1–6

VVal

arithmetic function, 4–46Value button, 4–38Value Display

UI node, 5–8vertical spacing command

preview window edit menu, 8–39View Menu (lower)

Configuration Rules, 8–10Model, 8–10Test/Debug, 8–11User Interface Builder, 8–10

View Menu (upper)Preview, 8–10

violation message, 8–30defined, 8–30in the runtime configurator, 6–4

visibilitychildren, 8–20Configurator Java applet, 5–2Model Attributes, 8–20override, 5–10, 8–20setting dynamic visibility, 5–4

WWebUI Initialization Failure, 6–6wild-card characters, 8–7window

Advanced Expression, 4–38Model, 8–4

Index-15

Page 242: Oracle Configurator DeveloperPlotkin, Helen Reznik, Anil Tandon, Linda Torres, Jeffrey Turner, Bonus Varghese, Lois Whortley The Programs (which include both the software and documentation)

dev.book Page 16 Wednesday, February 28, 2001 2:09 PM

Model Publishing, 7–8Preview, 5–19Repository, 7–1

Zz-order control, 8–39

Index-16