The Value Method field in the DynamicValue table defines the actions that occur when the Attribute Assistant is enabled and features are modified or created in ArcMap. Four fields in the DynamicValue table (Value Method, Table Name, Field Name, and Value Info) must be configured to use an Attribute Assistant method. The remaining fields define when the Attribute Assistant method should be applied.
The following four Attribute Assistant methods can be configured in your DynamicValue table:
Method | Description |
Autonumber | Finds the largest value in a field and calculates the next sequential value. |
Generate ID | Increments a row in an unversioned table and stores that newly incremented value. |
Generate ID By Intersect | Generates unique identifiers for features based on the identifiers of intersecting grid features. |
GUID | Creates a globally unique identifier (GUID). |
Autonumber
Finds the largest value in a field and calculates the next sequential value.
To configure this method, populate the following in the DynamicValue table:
Table Name | Field Name | Value Method | Value Info |
Table or Feature class | Field to autonumber | AUTONUMBER | Null or Blank |
This rule can only be configured on an Integer field.
Parameters
There are no parameters for this method.
Examples
Populates the ASSETNUM field in wMain with the largest value incremented by one:
- Table Name: wMain
- Field Name: ASSETNUM
-
Value Info:
<Null>
Generate ID
Increments a row in an unversioned table and stores that newly incremented value.
To configure this method, populate the following in the DynamicValue table:
Table Name | Field Name | Value Method | Value Info |
Table or feature class | The field to contain the identifier | GENERATE_ID | Name|{Width}|{Format}[SEQ]|{Keep Existing} |
This rule can be configured on any field type, but the format of the field should be coordinated with the format of your identifier.
Parameters
The method parameters are as follows:
Parameter | Value | Description |
Name | String | The name of the sequence. |
Width (Optional) | Integer | The minimum length of the identifier. If the current value of [SEQ] is shorter than this value, zeros will be added to the left of [SEQ] to create the specified width. This is only valid for string fields. |
Format (Optional) | String | Static portion of the identifier. |
[SEQ] | Placeholder for the iterated value; [SEQ] may appear anywhere in the format string. | |
Keep Existing (Optional) | True | Limit the rule to only be triggered when the field is null. This will prohibit overwriting existing IDs. |
False (Default) | Trigger the rule to generate a new ID or overwrite the current ID, if it exists. |
Examples
Increments the HYDSEQ value in the GenerateID table and stores this new value in the HYDID field in the hydrants layer:
- Table Name: hydrants
- Field Name: HYDID
- Value Info: HYDSEQ
Left-pads the HYDSEQ value. In this example, if the HYDSEQ is 7, 39, or 1234 then the HYDID will be 0007, 0039, or 1234, respectively:
- Table Name: hydrants
- Field Name: HYDID
- Value Info: HYDSEQ|4
Appends the HYDSEQ value to the text "Hydrant-". In this example, if the HYDSEQ is 7, 39, or 1234 then the HYDID will be Hydrant-7, Hydrant-39, or Hydrant-1234, respectively:
- Table Name: hydrants
- Field Name: HYDID
- Value Info: HYDSEQ||Hydrant-[SEQ]
Do not overwrite existing HYDID values when this rule is executed:
- Table Name: hydrants
- Field Name: HYDID
- Value Info: HYDSEQ||Hydrant-[SEQ]|True
Generate ID By Intersect
Generates unique identifiers for features based on the identifiers of intersecting grid features.
To configure this method, populate the following in the DynamicValue table:
Table Name | Field Name | Value Method | Value Info |
Table or feature class | The field to contain the identifier | GENERATE_ID_BY_INTERSECT | Source|Source Field|Name|{Width}|{Format}[ID][SEQ]|{Keep existing} |
This rule can be configured on any field type, but the format of the field should be coordinated with the format of your identifier.
Parameters
The method parameters are as follows:
Parameter | Value | Description |
Source | Polygon feature class or feature layer | Grid features. |
Source Field | Field name | Field containing grid identifiers. |
Name | String | The name of the sequence. |
Width (Optional) | Integer | The minimum length of the identifier. If the current value of [SEQ] is shorter than this value, zeros will be added to the left of [SEQ] to create the specified width. This is only valid for string fields. |
Format (Optional) | String | Static portion of the identifier. |
[ID] | Placeholder for the grid identifier in the generated ID; [ID] may appear anywhere in the formatted string. | |
[SEQ] | Placeholder for the iterated value; [SEQ] may appear anywhere in the format string. | |
Keep existing (Optional) | True | Limit the rule to only be triggered when the field is null. This will prohibit overwriting existing IDs. |
False (Default) | Trigger the rule to generate a new ID or overwrite the current ID, if it exists. |
Examples
Increments the GRIDSEQ value in the GenerateID table and concatenates it with the GRIDID field value of the intersecting feature in the fireDistrict layer; this new value is stored the HYDID field in the hydrants layer. In this example, if the GRIDID of fireDistrict feature is 1 and the GRIDSEQ is 27, then the HYDID will be 127:
- Table Name: hydrants
- Field Name: HYDID
- Value Info: fireDistrict|GRIDID|GRIDSEQ
Left-pads the GRIDSEQ value before concatenating with the intersecting GRIDID value. In this example, if the GRIDID of fireDistrict feature is 1 and the GRIDSEQ is 27, then the HYDID will be 10027:
- Table Name: hydrants
- Field Name: HYDID
- Value Info: fireDistrict|GRIDID|GRIDSEQ|4
Concatenates the GRIDID and GRIDSEQ values and appends to the text "Hydrant ". In this example, if the GRIDID of fireDistrict feature is 1 and the GRIDSEQ is 27, then the HYDID will be "Hydrant 1-27":
- Table Name: hydrants
- Field Name: HYDID
- Value Info: fireDistrict|GRIDID|GRIDSEQ||Hydrant [ID]-[SEQ]
Do not overwrite existing HYDID values when this rule is executed:
- Table Name: hydrants
- Field Name: HYDID
- Value Info: fireDistrict|GRIDID|GRIDSEQ||Hydrant [ID]-[SEQ]|True
GUID
Creates a globally unique identifier (GUID).
To configure this method, populate the following in the DynamicValue table:
Table Name | Field Name | Value Method | Value Info |
Table or feature class | String field long enough to store the specified GUID format. | GUID | {Format} |
Parameters
The method parameters are as follows:
Parameter | Value | Description |
Format (Optional) | N | GUID with no special characters and length of 32 00000000000000000000000000000000 |
D | GUID with dashes and length of 36 00000000-0000-0000-0000-000000000000 | |
B (Default) | GUID with dashes, braces, and length of 38 {00000000-0000-0000-0000-000000000000} | |
P | GUID with dashes, parentheses, and length of 38 (00000000-0000-0000-0000-000000000000) |
Examples
Stores a 38 character GUID in the PRIMARYKEY field in the wHydrant layer:
- Table Name: wHydrant
- Field Name: PRIMARYKEY
-
Value Info:
<Null>
Stores a 32 character GUID in the PRIMARYKEY field in the wHydrant layer:
- Table Name: wHydrant
- Field Name: PRIMARYKEY
- Value Info: N