This chapter provides an overview of attributes and discusses how to:
Identify attribute-enabled objects.
Set up attributes.
Associate attribute groups with objects.
Enter attributes at runtime.
Attributes enable you to extend the information stored for an object without modifying that object's base table. This is valuable when you want to capture information about a subset of object instances. For example, you might need to capture the color and size attributes for certain types of products, but not for all products. Because these attributes are relevant only for some products, you do not want to add them as fields to the base table itself.
This section discusses:
Attribute-enabled objects.
Attribute architecture.
Implementation considerations.
Objects must be configured to accept attributes. You can define an unlimited number of attributes for any object that is configured to accept attributes. The following table identifies these objects, and you may add your own.
Market |
Attribute-Enabled Objects |
Global |
Case, company, consumer, external order capture, installed product, lead, marketing campaign, opportunity, order capture line, product, contact (representative), and site. |
Financial Services |
Company, consumer, contract, lead, marketing campaign, opportunity, product, product group, contact, sales product application, and site. |
Communications |
Company, consumer, external order capture, installed product, order capture, product, contact, site, and configurator. |
Energy |
Case, company, consumer, external order capture, installed product, order capture, product, contact, and site. |
When you define an attribute, you establish the field label, the type of field (edit box or drop-down list box), the default value, any data validation rule, and drop-down items if applicable. You also associate it with an attribute group.
You associate attribute groups with PeopleSoft CRM objects. When you make this association, you optionally define the conditions under which the attributes are used.
For example, suppose you want to enter dimensions for products in a certain setID. (If you had wanted to enter dimensions for all products, you probably would have used PeopleSoft Application Designer to modify the product table instead of using attributes.) You would do the following:
Create an attribute group called Dimensions.
Create attributes for height, length, and width and associate them with the Dimensions attribute group.
Associate the Dimensions attribute group with the Product object and set up conditional logic to ensure that these attributes are used only for products in the specified setID.
Assuming that you have not associated any other attribute groups with products, the system behaves as follows:
When you view a product from the specified setID, the Product - Attributes page has three fields: Height, Length, and Width.
When you view a product from a different setID, the Product - Attributes page does not have any fields.
While you can use attributes to add data elements without changing the underlying data model, attributes also affect performance, your ability to upgrade, reporting, and usability in the following ways:
Because attributes appear in a separate attribute table and are not fields on the base table, there is additional SQL and logic for capturing and retrieving attribute data.
There is also additional SQL and PeopleCode for processing the attribute rules, conditions, and page rendering logic.
Attributes do not fall under the normal upgrade capabilities that are provided with PeopleTools.
Although attributes share many characteristics with fields, they are not considered PeopleTools objects. Therefore, you cannot use standard upgrade facilities that are provided by PeopleTools, such as the Upgrade Copy or Upgrade Compare process, to upgrade attribute data from one database to another. To migrate attributes, you extract the data from the source database and move it to the target database, which is usually accomplished through Data Mover or similar tools. PeopleSoft CRM, however, does not deliver facilities for migrating attribute data.
Because attribute data elements are in a separate attribute table (distinct from the base table), it can be difficult to incorporate attribute information into reports.
Usability may be limited because attributes can only reside on a separate page within the transaction.
For example, a product attribute must appear on the Product - Attributes page; it cannot be placed on the Product Definition page. However, you can customize the system to display attributes on a page with non-attribute data elements. In addition, attributes can only be displayed in a name, value pair format.
Performance issues occur if you have too many attributes in the system.
Don't use attributes because they are easier to create than standard PeopleTools fields. Use attributes only if the data elements are truly dynamic in nature, or if they apply to certain instances of an object only.
The decision to add attributes to your application should be based on how applicable the data objects are to instances of the object. If the data elements apply to a significant number of instances of the object, then it may be better to add a field to the table using PeopleSoft Application Designer. If the data elements apply to a much smaller percentage of the objects, then attributes may be the solution.
Multilevel product bundles support the use of attributes. At runtime, attributes are captured for multilevel product bundles during configuration sessions that occur in orders, quotes, and service management orders. The system delivers the Configurator object type that is used to define properties and conditions for attribute groups and attributes to be associated with products within configuration sessions.
In an order where a multilevel product bundle is selected, you enter available attributes for the bundle in the configuration session that is processed by Advanced Configurator. Attributes are displayed and captured based on the Configurator attribute object type setup. When the session is submitted and validated, attribute values are stored in the order and shown in the order line summary. After the order fulfillment process is completed, an installed product is created for the bundle and it displays same attribute values of the bundle that were copied from the order line summary.
Note. Attributes for multilevel product bundles are only modifiable in configuration sessions.
The Configurator object type setup does not support:
The inclusion of attributes that reference automatic retrieval rules in their definitions.
Attributes that use PS functions as validation rules.
These attributes can still be used, but the validation rules are ignored.
Attributes that are included in the Configurator object type setup for use in multilevel product bundles must also be added to the Order Capture and Installed Product object types. Any update to the attribute setup must be exported and deployed in the Advanced Configurator through a delivered batch process to be effective.
See Also
Understanding Design Time Integration and Product Catalogue Synchronization
To identify attribute-enabled objects, use the Object Type (RB_OBJECT_TYPE) component.
This section discusses how to identify components that support attributes.
Page Name |
Definition Name |
Navigation |
Usage |
RB_OBJECT_TYPE |
Set Up CRM, Common Definitions, Attributes, Object Type, Object Type Definition |
Identify which PeopleSoft components support attributes. You should not need to modify the information on this page. |
Access the Object Type Definition page (Set Up CRM, Common Definitions, Attributes, Object Type, Object Type Definition).
Object Type |
Displays the attribute-enabled object. The system comes with several attribute-enabled objects, including customers, contacts, consumers, sites, products, installed products, and additional application-specific objects. |
Component |
Select the component to which you are adding attributes. |
Record |
Select the primary record for the scroll level to which you are adding attributes. |
Note. PeopleSoft software provides several attribute-enabled objects. Enabling additional objects requires familiarity with PeopleTools.
To set up attributes, use the Attribute Definition (RB_ATTRIBUTE), Rule (RB_ATTR_RULE), and Group (RB_ATTR_GROUP) components.
This section discusses how to:
Create attribute groups.
Define attribute rules.
Create attribute definitions.
Page Name |
Definition Name |
Navigation |
Usage |
RB_ATTR_GROUP |
Set Up CRM, Common Definitions, Attributes, Group, Attribute Groups |
Create an attribute group. |
|
RB_ATTR_GRP_ATTR |
Click the Attributes link on the Attribute Groups page. |
Review the attributes associated with a group. |
|
RB_ATTR_RULE |
Set Up CRM, Common Definitions, Attributes, Rule, Attribute Rule Definition |
Create retrieval or validation rules for attribute fields. |
|
RB_ATTRIBUTE_MAIN |
Set Up CRM, Common Definitions, Attributes, Attribute Definition, Attribute Definition |
Create an attribute and associate it with a group. Define the attribute's field type and valid values. |
Access the Attribute Groups page (Set Up CRM, Common Definitions, Attributes, Group, Attribute Groups).
Group Usage |
Select from the following values: Information: The attribute group contains attributes that collect data about the object that they are attached to. Configuration: The attribute group collects data about an object that is defined in another PeopleSoft component. For example, you use a configuration attribute group to define product attributes from within the order component. |
Attributes |
Click this link to access the Group Attributes page and view the list of attributes that are currently associated with the attribute group. You associate attributes with an attribute group on the Attribute Definition page. |
Access the Attribute Rule Definition page (Set Up CRM, Common Definitions, Attributes, Rule, Attribute Rule Definition).
Rule Type |
Select from: Retrieval: The rule obtains a set of values (from an internal database table or external system) that are used as the values for an attribute that does not have a static value list. Validation: The rule validates data against internal database tables, system rules, or external systems. This provides an additional level of validation beyond what you can configure using the attribute pages. |
Rule Mode |
Select from: CI Method (component interface method): Select to use a component interface method to define the rule. Component interfaces provide realtime synchronous access to the PeopleSoft business rules and data associated with a business component. The interface is exposed using standard access methods. If you selected CI Method, the CI Name field appears for you to enter the component interface name. PeopleCode: Select to use a PeopleCode function to define the rule. |
Function Name |
If you selected PeopleCode as the run mode, select a PeopleCode function from the drop-down list box. To make a new PeopleCode function available, make the function name into a translate value for the PC_FUNC_NAME field. Additionally, a validation function must be called from Record Field PeopleCode event FUNCLIB_RB_ATTR.VALIDATION_RULE_ID.FieldFormula, function validateAttribute(). A retrieval function must be called from event FUNCLIB_RB_ATTR.RETRIEVAL_RULE_ID.FieldFormula, function retrieveAttrValues(). This requires some degree of customization. |
Access the Attribute Definition page (Set Up CRM, Common Definitions, Attributes, Attribute Definition, Attribute Definition).
Name |
PeopleSoft-delivered attributes generally have a PS_ prefix. This makes the attributes easy to distinguish from those that you configure yourself. |
Label |
Specify the label text to appear on the page where the attribute is entered. |
Status |
Select Active if the attribute is ready to be used, and Inactive if the attribute is no longer used. |
Group |
Select the group that this attribute belongs to. |
Displays the group usage as defined on the Attribute Groups page. |
|
Select a rule that validates data entered in the attribute field. Create rules on the Attribute Rule Definition page. |
Field Type
Edit Box |
Select to make the attribute field an edit box that allows free-form data entry. |
Drop-Down |
Select to make the attribute field a drop-down list box that forces the user to select from a short list of predefined values. |
Prompt Lookup |
Select to associate the attribute field with a prompt, which allows users to select from a long list of predefined values. Prompt lookup is a preferred field type over the drop-down field type if the predefined value list contains more than 20 items. |
List Details
Data Type, Default Value and Length |
If the selected field type is Edit Box, select the type of data to be entered in the edit box. Values are Date, Number, Password, or String. Password data is displayed and stored in an encrypted form. The key used to encrypt and decrypt the password is stored in the Installation table. In addition, enter a default value to appear in the edit box and specify the maximum number of characters allowed for the default value. |
Retrieval Mode |
If the selected field type is Drop-Down or Prompt Lookup, select whether to define the attribute values manually or automatically. |
Automatic Rule |
If you selected Automatic as the retrieval mode, select a predefined retrieval rule. For example, if you want the user to choose from a list of country names, select the automatic retrieval mode and the GetCountry PeopleCode function. |
Default, Item Code, and Item Value |
If you selected Manual as the retrieval mode, enter an item code and item value for each value to appear in the drop-down list. Select Default to make the associated item the default choice. For example, if you want the user to choose from ratings of Good, Fair, and Poor, enter these ratings into the Manual List Items grid. Note. For attributes with the Drop-Down field type, if you add more than 20 items to the drop-down list, the system displays a warning message when the attribute definition is saved. For performance and usability considerations, it is recommended that a prompt lookup be used if the drop-down list contains more than 20 items. |
To associate attribute groups with objects, use the Object Type Attributes (RB_OBJ_ATTR_GRP) component.
This section discusses how to:
Associate attribute groups with objects.
Define conditions for using attributes.
Page Name |
Definition Name |
Navigation |
Usage |
RB_OBJ_ATTR_GRP |
Set Up CRM, Common Definitions, Attributes, Object Type Attributes, Attributes - <Object Type> |
Associate attribute fields with objects that are set up to accept attributes. |
|
RB_ATTR_GRP_CND |
Click the Group Conditions button next to the Group Conditions are Defined check box on the Attributes - <Object Type> page. |
Define the conditions to determine when a group of attributes should be used. |
|
Attribute Conditions |
RB_ATTR_CND |
Click the Attribute Conditions button of an attribute in the Attributes group box on the Attributes - <Object Type> page. |
Define conditions to determine when an attribute should be used. |
Access the Attributes - <Object Type> page (Set Up CRM, Common Definitions, Attributes, Object Type Attributes, Attributes - <Object Type>).
Note. The name of this page changes based on the object with which you are associating attribute groups. For example, the page example here is entitled Attributes - Product, because the selected object type is Product.
Attribute Groups
Displays all attribute groups and individual attributes associated with the specified object.
Order |
Enter a number to establish the order in which the attribute groups appear on the Attributes page for the specified object. |
Group Conditions are Defined |
Selected if group conditions exist. Click the Group Conditions button to access the Group Conditions page and establish conditions under which the attributes in this group are used. |
Attributes
For each group associated with the object, this scroll area lists all the attributes in the group.
Note. Do not select attributes that use automatic retrieval rules for the Configurator object type. In addition, the object type doesn't support the use of PS functions as validation rules for attributes. In other words, the validation piece of the attribute setup, which is defined by a PS function, is always ignored.
|
Click the Attribute Details button to access the Attribute Definition page and review details for a single attribute. |
Order |
Enter a number to establish the order in which the attributes appear on the Attributes page for the specified object. |
Use |
Select to display the attribute on the Attributes page for the specified object. |
Display-Only |
Select if you do not want user input on the attribute. The Required check box becomes unavailable. |
Required |
Select if the user must enter a value at runtime. |
Allow Change |
Select to allow the attribute to be changed after a user has entered a value in the field. This option applies to the Order Capture applications only and is typically used for service management change orders. If you do not select this check box, the attribute will be display-only and the system will not allow any changes. |
Hide |
Select to hide the attribute from configuration sessions, the order line section of orders and service management orders, and installed products for multilevel product bundles. Hidden attributes can still be stored in these components, but they're not displayed. Note. This field is available only to these delivered object types: Configurator, Order Capture, and Installed Product. |
Name and Label |
Displays the attribute name and the label that you specified on the Attribute Definition page. |
Begin Date and End Date |
Specify the date range for the attribute association. |
Expiration Handling |
Expiration handling determines how an attribute is handled when it expires. Select from: Don't Show: Removes the attribute from the page so that the user does not see it. Full Access: Allows data entry and retrieval of information. Read Only: Leaves the attribute on the page, but makes it unavailable for data entry. |
Attribute Conditions |
Click this button to access the Attribute Conditions page and establish the conditions under which this attribute is used. The green icon indicates that conditions exist for this attribute. Note. Use attribute-specific conditions to create additional conditions beyond those that apply to the entire attribute group. For example, the condition for the Checking group may be that the product must be Checking, while the condition for an individual attribute could be that the description must be Premium Checking. |
Access the Group Conditions page (click the Group Conditions button next to the Group Conditions are Defined check box on the Attributes - <Object Type> page) or the Attribute Conditions page (click the Attribute Conditions button of an attribute in the Attributes group box on the attributes - <Object Type> page).
Note. The Group Conditions and Attribute Conditions pages look and function in a similar fashion. Use the former to set up conditions that apply to an attribute group and the latter to create those that are specific to an attribute within an attribute group.
Validate Conditions |
Click this button to validate the specified condition. A message appears and informs you of the status. |
((... and ))... |
Use parentheses to group clauses in a conditional statement. |
Field, Operator, and Field Value |
Enter the conditions under which the attribute is to be available. You do not need to select a record; the record is always the one associated with the object whose attributes you are setting up. To verify which record is being used, review the Object Type Definition page. |
This section discusses how to enter attributes at runtime.
Page Name |
Definition Name |
Navigation |
Usage |
RC_ATTR_CASE RB_ATTR_RUN_COMP RB_ATTR_PRDGRP_SEC RB_ATTR_RUN_IPROD RSF_ATTR_LEAD_SEC RSF_ATTR_OPP_SEC RD_PERSON_ATTR RB_ATTR_RUN_SITE RB_ATTR_RUN_PROD RB_ATTR_RUNTIME RO_ATTR_RUN_SEC RB_ATTR_RUN_CMPG RBF_ATTR_ACNT RB_ATTR_RUN_PTNR |
Varies depending on the object whose attributes you are entering. |
Enter attributes that have been set up for this CRM object. |
Access the Attributes page (navigation varies depending on the object whose attributes you are entering).
The fields on the page vary depending on how you have set up attributes. The attribute group name (Partner Product Information in this case) is displayed in the group box header. Individual attributes within the group appear as fields in the group box. Attribute fields can be either edit boxes or drop-down list boxes. A drop-down attribute is displayed as an edit box with a prompt button. The attribute definition enforces data validation.
Order Capture Attributes |
This field always appears and is not based on any installation options that may have been selected. Select one of these values to indicate how the system should process attributes:
The system looks for this flag and processes the attribute search accordingly. If the flag is set with Never has attribute then Order Capture bypasses the attribute integration since it can have a negative impact on performance. |