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.
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, and site. |
Energy |
Company, consumer, external order capture, installed product, order capture, product, contact, and site. |
When you define an attribute, you establish the type of field (edit box or drop-down list box), the default value, and any data validation rules. You also associate it with an attribute group.
You associate attribute groups with PeopleSoft CRM objects. When you make this association, you 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 pagehas 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, upgradability, reporting, and usability in the following ways:
Because attributes are not fields on the base table but appear in a separate attribute table, there is additional SQL for capturing and retrieving attribute data.
There is also additional SQL 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 a type of PeopleTools object. 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 the data to the target database, which can be accomplished by, for example, Data Mover or a similar tool. PeopleSoft CRM does not deliver facilities (for example, data mover scripts) 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. 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.
To identify attribute-enabled objects, use the Object Type component.
This section discusses how to identify components that support attributes.
Page Name |
Object 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.
Object Type |
Displays the attribute-enabled object. The system comes with the 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 delivers several attribute-enabled objects. Enabling additional objects requires familiarity with PeopleTools.
To set up attributes, use the Attribute Definition, Rule and Group components.
This section discusses how to:
Create attribute groups.
Create attribute rules.
Create attribute definitions.
Page Name |
Object 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.
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. |
|
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.
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. |
Run 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. |
Access the Attribute Definition page.
Name |
All PeopleSoft-delivered attributes 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. |
Data Type |
If you selected Edit Box as the field type, 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. |
Default Value |
If you selected Edit Box as the field type, enter a default value to appear in the edit box. |
Drop Down |
Select to make the attribute field a drop-down list box that forces the user to select from predefined values. |
If you selected Drop Down as the field type, select whether to define the attribute values manually or automatically. |
|
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. |
|
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, manually enter these ratings into the Manual Drop Down Items grid. |
To associate attribute groups with objects, use the Object Type Attributes component.
This section discusses how to:
Associate attribute groups with objects.
Define conditions for using attributes.
Page Name |
Object 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.
Note. The name of this page changes based on the object with which you are associating attribute groups. For example, the pictured page 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. |
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.
Access the Group Conditions or Attribute Conditions 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. |
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 |
Object Name |
Navigation |
Usage |
RC_ATTR_CASE RB_ATTR_RUN_COMPRD_PERSON_ATTR 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 |
Varies depending on the object whose attributes you are entering. |
Enter attributes that have been set up for this CRM object. |
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 group box headers; individual attributes within the group appear as fields in the group box. Attribute fields can be either edit boxes or drop-down list boxes. The attribute definition enforces any data validation.