Creating Attributes – CPQ Online Help

Creating Attributes

Attributes are the building blocks of a product’s configuration. They can can be used as a list of values selected by the user, a calculation, a free input by the user, a display of text to the user, and many other uses. An attribute is defined by a name, value(s), and type. User can create new attributes in a few ways. They can be created individually through the Product Setup Wizard or through the Attribute administrative section. Both will allow user to create one attribute at a time. If user needs to create many attributes at a time, he can use the Import Attribute administrative section (discussed in the Import Attributes chapter). All attributes created in the system are available to all products. They are then added to the product where further definition is done, such as pricing, part numbers, etc. An attribute can only be added to a product if it has been first added to the category that the product is in. Only then you are able to use it in the product.

Although this is default behavior, within PSWProduct Setup Wizard, administrator can choose between the following options:
- Show attributes used by this product
- Show attributes from category …
- Show all attributes

If the attribute is created through the Product Setup Wizard, though, then it is added to the category and the product in the single step of creating the attribute.
The Attribute administration section allows managing all attributes that exist in the system. To access this section select the Attributes link under the Products admin menu. This displays the Attributes Administration page as shown in Figure A.

Figure A - Attributes List

From this screen Attributes can be added, copied, deleted, edited or translated. Clicking the Add New button brings up a blank attribute definition page as shown in Figure B.

Figure B - Adding New Attribute

Attribute Name - Enter the name that describes the attribute
Attribute Type - Specifies attribute data type and how the attribute will be used. Choices are:

  • User Selection w/ Quantity Inputs for each Attribute Value – Used for an attribute with a list of values that each have a quantity input field. This attribute type can only be used on attributes that are set as a check box.
  • User Input or Computed - Date – Used for attributes that will be set as a free input or calculation. The result of the calculation or the value inputted by the user must be a date.
  • External Value – Used in attributes that retrieve a value from an external source or another product, such as a child product.
  • User Selection – Most commonly used attribute type, this type is used for attributes that contain a list of values that will be selected by the user. This type can also be used for calculations and other uses for attributes if you prefer that it not be restricted to any specific data type.
  • User Input or Computed - Number – Used for attributes that will be set as a free input or calculation. The result of the calculation or the value inputted by the user must be a number.
  • User Selection w/ Attribute Quantity Input – Used for an attribute with a list values. There will be a quantity input field for the entire attribute. This attribute type is not restricted to any specific display type.
  • User Input or Computed - String – Used for attributes that will be set as a free input or calculation. The result of the calculation or the value inputted by the user must be a string.

Attribute Value – Value shown on screen to user.
Attribute Value Code – Typically this is an abbreviation that can be related to the attribute (display) value. Most often used in configuration rules. This value is usually unseen by the user and is strictly used in the definition of the product.

If Value Code or Attribute Value is used in the rules of a product, any changes made to these values in the attribute administration will be made in the rules also. A change is not pushed to every area of the product definition, though. So it is recommended that user always use the Value Code of an attribute value in rules and calculations. Then any changes should be done only on the Attribute (Display) Value.

Rank - This value is used to prepopulate value rank when an attribute is added to some product. The order of available attribute values within the configurator depends on this value.
Delete - If the value can be deleted a check-box will be displayed.
Referenced Product - Referenced product name, as read-only text, will be displayed. There will be a ‘Remove’ icon near the referenced product name. When it is pressed, link between attribute value and referenced product will be deleted from database. Connection will not be broken for attribute values that have been so far connected to products.
Add Values Manually - When this button is pressed, new pop-up is opened with 5 new empty attribute values (Attribute Value, Attribute Value Code and Rank). There will be a button ‘Add Rows’ at the bottom of the table. When user clicks on 'Add Rows', 5 new rows will be added.

Add Products as Values - When pressed, a new pop-up table with the following columns will be opened : Product Name, Part Number, Category, Description and Active (values for this column are True/False). User will be able to select several products – next to each product there will be a check box. For each selected product, new attribute value will be added using product name as 'display value' and product part number as 'value code'.

External ID

External ID in Attributes Administration allows administrators to create one more attribute identifier independent of CPQ-specific identifiers. The identifier can be contingent on the identification system used in the client’s internal software. In other words, the External ID field will be populated with the logic from the client’s external system. Once a new attribute has been created in CPQ a system administrator will be able to populate the “Attribute External ID” (Figure 1.1 )

Things to know about External ID:

  • It is not a required field.
  • The value in this field doesn’t have to be unique. This means that there can be more than two attributes in the system with the same Attribute External ID value.
  • The value of this field can be changed only in Attribute administration.
  • This field is not present when an attribute is administered in a certain product (Figure 1.2).

  • It is not possible to access the value of this field with CPQ tags such as <*AttributeExetrnalID*>.
  • Having two or many attributes with the same Attribute External ID value in one configuration is matter of product model. When this happens, the product administrator will remodel a product attribute in order to have unique External IDs per product.
  • CPQ allows having two or many attributes with the same External ID value in one product. CPQ will not check for duplicates since this field is populated with logic from an external system.
  • Each attribute can have External ID regardless of attribute’s type.
  • Attribute “External ID” value is shown on the product attributes page.

This information will help out the administrators easily find if Attribute External ID duplicates exist in a single product configuration.

Creating Attribute in Product Administration

Once the new attribute has been created in Product Administration the administrator will be able to populate the Attribute External ID field (Figure 1.4).

Attribute import

When attributes are created through CPQ import functionaly the system administrator has the possibility to fill the “Attribute External ID”. Attribute import template is expanded through a new column, “Attribute External ID.” This column must be placed after the “Attribute name” column (Figure 1.5).

Other important points about External ID:

  • When attributes are imported through Product import functionality, Attribute External ID field is not present in the product import template.
  • When products are deployed from one CPQ environment to the other, “Attribute External ID” field will be sent as well.
  • When an attribute is created via Simple product administration API, attribute field “Attribute External ID” will be available on API call.
  • To execute the activity described above, a new child node: <ExternalID> will be added to the <Attribute> input XML node. The full XPATH is as follows: Products/Product/Attributes/Attribute/ExternalID