Product Administration Guide > Product Attributes >
About Product Attributes
Product attributes, also called dynamic attributes, are customer-facing, configurable characteristics of a product. For example, you sell a product in three colors. As part of creating this product, you would define an attribute called Color and assign it the three colors. As part of purchasing the product, customers would choose one of the colors.
Components of a product are not attributes. For example, you sell a desktop computer. Customers can select one of several types of CD-ROMs when configuring this product. Having a CD-ROM is a characteristic of this product, but the CD-ROMs are components, not attributes.
Product attributes and product features are similar concepts. They both describe characteristics of the product that are of interest to customers. However, feature definitions do not create configurability. For example, you could define a feature: "Comes in three colors, red, green, and blue." This feature definition can be displayed to the user as a message only. It does not create the mechanism for choosing the color. To create that, you must define a product attribute and assign it the values red, green, and blue.
A product attribute has two parts: the name of the attribute and the value of the attribute. For example, you could define an attribute with the name Color and the values red, green, or blue. The allowable values for an attribute are called the attribute domain. In a configuration session, the user can select only one value for an attribute.
You can define attributes directly in the administration interface. You do not need to create database table extensions or new field definitions in Siebel Tools.
Attributes are implemented in a way that allows users to select the desired attribute value when they configure the product. For example, when a user creates a quote, the Color attribute displays in the interface, and the user can select the desired value.
Classes are the way you organize and administer product attributes. The key to understanding classes is inheritance. Attributes defined at the class level are automatically inherited by all the class members. When you assign a product to a class, it automatically inherits all the attributes defined for that class. Classes let you define what attributes are maintained for products, propagate those attributes to the products, and maintain those attributes in a consistent fashion.
You can define attributes at the class or subclass level. You cannot define an attribute at the product level. At the product level, users can only select the attribute's value.
When you define an attribute, you must define the domain of allowable values for the attribute. There are two methods for defining the domain:
- List of values. A list of values domain is a list of the specific values the attribute can have. When the user configures a product, they select one of the values from a drop-down menu. For example, the attribute Color could have the list of values red, green, or blue.
A special case of a list of values domain is a list of values that contains only one value. This is useful for creating attributes that you use for managing resources. For example, you could create an attribute called slots-consumed for a class of computer expansion cards. Typically, each card requires one expansion slot. You would create a list of values containing only the number 1, and would set 1 as the default value. You could then write rules that subtract the value of this attribute from a resource called slots-available each time the user picks an expansion card.
Parametric search can be used to search for attribute values.
Attribute-based pricing can only use attribute values that have been defined as elements in a list of values (LOV). Attribute-based pricing requires the discrete values that appear in an LOV.
- Range of values. A range of values is defined by upper and lower limits. Rather than selecting a value, the user enters a value within the range. For example, the attribute Length could have the range 1 inch to 60 inches. When the user configures the product, they would enter a value between 1 and 60 in the field provided.
Parametric search cannot be used to search for attribute values.
Attributes that have a range of values domain cannot be used for attribute-based pricing.
- Business Component (Buscomp) field. This domain is defined by a field in a business component. For example, you can define an attribute called Account and associate it with the Name field in the Account business component. When users configure a product, they see an attribute called Account. They can then open a picklist and select the desired account. This domain type can be used only for products that are configured in eConfigurator selection pages.
Parametric search cannot be used to search for attribute values.
Attributes that have a buscomp field domain cannot be used for attribute-based pricing.
Domain Data Types
The data type you specify in the attribute definition determines how the system interprets the values in the domain. For example, you define an attribute with a list of values domain. You define the attribute values to be 1, 5, 10. To write configuration rules that perform numeric computations using these values, you must select the data type Integer or Number when defining the attribute.
The domain of an attribute can be one of the following data types:
- Boolean. Use this data type when the user's input is true or false, yes or no. If you specify the Integer data type for these inputs, the system assigns 1 for True or Yes inputs. False and No are assigned 0.
- Number. The attribute value can be any positive or negative real number. In Boolean expressions, numbers greater than 0 are interpreted as true. Omit commas when specifying the domain. For example, enter 10,000 as 10000.
- Integer. The attribute value can be any positive or negative whole number. If a computation results in a fractional amount, the result is rounded to the nearest whole number. In Boolean expressions, integers greater than 0 are interpreted as true. Omit commas when specifying the domain. For example, enter 10,000 as 10000.
- String. The attribute value can be letters, numbers, or any combination. Attributes with this data type cannot be used as operands in a computation or as the result of a computation. The only arithmetic operator that can be used with this data type is = (equals). For example, you can write rules that test if the user has picked a specific string from a list of values.
- Date. The attribute value is interpreted as a date and must be in the correct date format. The system administrator sets date format defaults. Arithmetic computations using dates is not supported. For example, you cannot increase or decrease a date using a computation. All comparison operations are supported for dates. For example, you can compare two dates and determine whether one is earlier than (<), later than (>), or the same as (=) another date. Data type mismatches cause the user's input to be rejected, or can cause indeterminate results. For example, comparing a date data type to an integer data type.
- Time. The attribute value is interpreted as a time and must be in the correct time format. The system administrator sets the time format defaults. The time data type has the same restrictions as the Date data type. Data type mismatches cause the user's input to be rejected, or can cause indeterminate results. For example, comparing a time data type to an integer data type.
- DateTime. The attribute value is interpreted as both a date and time and must be in the correct format. The system administrator sets the format for this data type. Arithmetic computations using this data type are not supported. For example, you cannot increase or decrease a DateTime value by using a computation. The only comparison operation that is supported is = (equals). Data type mismatches cause the user's input to be rejected, or can cause indeterminate results. For example, comparing a DateTime data type to an integer data type.
Attribute Definition Fields
An attribute definition includes the following fields:
- Name. The attribute's name. Use the attribute name to search for the attribute.
- Data Type. The types are Boolean, Date, Integer, Number, and Text. The data type refers to how the system will interpret the attribute value.
- LOV Type. This field specifies the name of the list of values for attributes with a list of values domain.
- Default Value. This field specifies the default value that the customer sees. If you write rules that manipulate the attribute value, the eConfigurator engine can override the default value.
- Validation. This field specifies the range of acceptable attribute values. Specify the range using Siebel query-by-example syntax. For example, a component can be purchased in sizes ranging from 1 to 20 inches inclusive. You would specify this range by entering >=1 AND <=20.
One of the most important uses of the Validation field is to specify the range of acceptable inputs for attributes that have a range of values domain. However, you can also specify a validation expression for list of values domains. For example, you define a list of values that are of type number. This list of numbers may contain numbers that you do not want the user to select. You can create an expression, that limits the choices to a subset of those specified in the list of values.
- Required. Enter a Y (yes) or N (no) in this field. When you enter a Y, the field displays a check mark when the record is not highlighted. A Y means the user must choose the attribute value.
- Display Name. The attribute name that the user sees. If not specified, the user sees the name specified in the Name field.
- Unit of Measure. Select a unit of measure from the drop-down menu. This selection is displayed to the user.
- Description. Make an entry in this field to describe the attribute. Users do not see this description.
- Hidden. Prevents the attribute from displaying in Quote, Agreement, Order, or Asset views. Attribute still displays in customizable product selection pages.
- Searchable. A check mark in this field means this attribute and its values can be used in parametric searches. For example, if the attribute is Color, you can search for products that have Color = Red.
- Unit of Measure. Allows you to select the unit of measure, such as day, month, dollar, dozen.
- Analytics Sequence #. Assigning a number to this field makes the attribute visible for use by Siebel Analytics. The sequence number does not control the order of display of the attribute in selection pages. If this field is not displayed, open the list menu and select Columns Displayed to add the field to the display. Assign a positive whole number. Attributes defined on a class must have unique sequence numbers. Assigning a sequence number is highly recommended.