Managing User Defined Attributes (UDAs)
When you create a component within aPriori, a standard set of attributes are provided by default. These attributes are generally descriptive and are used for aPriori’s search and report features. On the User Defined Attributes tab, you can create additional custom user attributes ("UDA"s) to support your company’s specific design and cost management practices.
Once created, User Defined Attributes can become a central part of user workflow and be found in many areas of the application, including:
SearchUsers can search for components based on UDAs.
Administrative InformationUsers can enter values for UDAs on the Administrative Info tab of the Cost Object Info window or under sections such as "Company Defined Attributes” of the Cost Guide. Users must enter values for required attributes to cost a component.
Part Details/Assembly Details – UDAs can be displayed on new views on the Part Details and Assembly Details tabs.
BOM Loader – Users can map UDAs when loading components via a bill of materials. Users must map and populate required attributes to load components.
Bulk Costing – Users can enter values for UDAs when bulk costing and must provide values for required attributes. Users that want to bulk cost existing components and use existing required attribute values must do one of the following:
o Collect all scenarios into a container (assembly, roll-up, or dynamic roll-up) and use Deep Costing. The existing UDA values will be pulled in for all scenarios.
o If all scenarios have the same scenario name, ensure that that scenario is used when creating the new bulk cost group. All existing UDA values will be pulled into the bulk costing UI.
User Defined Attributes can also perform a number of other useful functions:
CAD properties can be mapped directly to UDAs (see Using CAD Properties).
UDAs can be used to allow scenario-specific site variable overrides. See Using UDAs for Scenario-Specific Site Variable Overrides below, and the “Process Group Site Variables" chapter of the aPriori Professional VPE Administration Guide for more information.
User defined attributes can be evaluated by the aPriori proprietary scripting language that generates cost estimates. This means that attributes can be referenced by cost models and can influence cost estimates. Cost models in your VPEs can reference the values of user defined attributes by appending the Name of the attribute (not the Display Name) to part.customAttributes.
As of Release 2018 R1, UDAs that have pre-defined values can make use of Dependency Contexts so that System Administrators can define behavior based on selected inputs and other attributes. This is a powerful feature for guiding your users through the selection of critical values and preventing them from selecting unavailable or nonsensical options. This capability is described in Understanding Dependent UDAs below.
To manage user defined attributes
Assuming that the aPriori System Administrator window is already displayed, click User Defined Attributes in the Navigation pane to display the User Defined Attributes tab. The screenshot below shows several UDAs. Your display will be blank if you have not yet defined any attributes.
To create a new user attribute
1 Enter information on a blank line in the table in the upper half of the tab. (If you already have several attributes defined, you might need to scroll to the bottom of the table to access a blank line.) Fill in the fields under the columns as described in the table below.
 
Column
Description
Name
Required. Enter the name of the attribute as you want it to be referenced in aPriori’s proprietary scripting language. Characters are limited to numbers, letters, and underscores.
Display Name
Enter the name of the attribute as you want it to appear within the aPriori interface, such as on the Search and Cost Object Info windows.
Type
Required. Double-click in the field and select one of the following types from the drop-down list:
String – Allows the user to enter text into a field. Users can enter text directly or select from predefined values.
Number – Allows the user to enter a number into a field. You must select this type if you want aPriori to use the value in this field for cost calculations.
Date – Allows the user to enter a date with a calendar.
User List – Allows the user to select one or more users from the aPriori user list.
Roles
For Cost Insight Design and future enhancements. As of Release 18.1, the only option is Design (for “Design Engineer”). Do not use this field unless you have been directed to by aPriori personnel or documentation.
Searchable
Check this box to make the attribute searchable within aPriori.
The number of searchable attributes supported within aPriori is limited for performance reasons. Only 75 string attributes, 20 number attributes, and 20 dates can be searchable. (A searchable user list attribute is counted as a string.) This information is displayed at the top of the User Defined Attributes tab.
Note: Once a UDA is marked searchable, it can’t be deleted or made unsearchable
Required
Select an option from this drop-down menu to determine if and when this attribute MUST be set when costing. The options are:
Never – the default
First Cost – the attribute must be set only the first time a component is costed
All Costs – the attribute must be set whenever a component is costed.
Note that First Cost is the behavior found in releases prior to 2018 R1. If you upgrade from a previous version, your existing required UDAs are migrated to this option.
Required attributes display a red asterisk (*) in the Cost Guide and Cost Object Info windows.
aPriori recommends that you use consistent requirement behavior across UDAs to prevent users from being confused about varying behavior. Note: Behavior specified for Dependency Contexts takes precedence over the Required behavior for the UDA, unless all the dependencies evaluate to false, then the UDA Required setting is used.
Predefined Values
Check this box to allow your users to select from a drop-down list. Available only for attributes of type String and User List.
See the step following this table for configuring predefined values.
Note: As of Release 18.1, Predefined values can also be configured with Dependency Contexts to help you guide your users to select logical and correct values when costing. See Understanding Dependent UDAs for details.
Multi-select
Check this box to allow the user to select multiple predefined values. Available only for attributes of type User List and String (when you check the Predefined Values box).
Large Field
Check this box to allow the user to enter unlimited descriptive text into a field. Available only for attributes of type String when you uncheck the Predefined Values box.
# Decimals
Enter the number of decimals you want to display in aPriori. For example, if you enter 2 as the number of decimals for the attribute, and the user enters 1 in the attribute’s field, aPriori will display 1.00.
2 If you are defining Predefined Values, use the Predefined Values panel to enter the values you want to appear in the drop-down list. In the following screenshot, we have defined “CostStatus” to be searchable and required and given it three predefined values.
You can optionally check the Default Value box for a value you want to pre-select in the drop-down list. You must uncheck the selected default value to select a new default value. Use the Up and Down arrows to reorder the members of the list, and the red “x” to remove members from the list.
3 If you are NOT using Predefined Values with Dependency Contexts, you can stop here and select File > Publish Changes from the System Administrator menu bar or click PublishIcon in the tool bar to save your changes.
4 If you ARE defining Predefined Values and wish to further configure them with Dependency Contexts, proceed to Understanding Dependent UDAs for details.
By default, a UDA is considered “Available” but not “Displayed” when first created. So, once your UDA is created, use Dialog Views to determine how and where searchable and/or required UDAs are displayed on the Search, Cost Guide, and Cost Model Info windows. See Managing dialog views for details.
Note: If you have defined a UDA to be “Required” but do not make it “Displayed” with Dialog Views, your users will receive an error message whenever they try to cost a component, saying that a UDA that they cannot see is required, and advising them to contact you.