Unique Checkbox with primary address calculation options
Administrators and data managers can choose to have Network recalculate primary addresses that use the Unique Checkbox configuration. This enables you to control the behavior of the primary flag using the options on the primary address custom field.
Primary address calculations can be used for any address on any HCP or HCO. The HCP, HCO, and address objects can be locally managed or managed by Veeva OpenData.
Options for Network calculation
In the Network data model, the Unique Checkbox primary field configuration contains options for allowing Network to calculate primary addresses.
Note: These primary options apply only to address sub-objects. The options are available by default on any primary address field that uses the Unique Checkbox configuration. The options are not available on other sub-objects and relationship objects that use the Unique Checkbox primary field. The Unique Checkbox configuration is available for all standard (address, license, parent HCO) and custom sub-objects and relationship objects.
The options for allowing Network to calculate the primary address support the following situations:
-
The record DOES NOT HAVE a primary address - For records that do not have a primary address defined (the primary value is No Value, Unknown or No/False) Network will set a primary. Only valid, under review, and active addresses are considered.
Before version 20R2.0, if an incoming record had a primary address field value that was defined as No/False, a primary would not be calculated because input data overrode the calculation setting. Now, if the primary value is any value other than Yes/True, a primary will be calculated.
Tip: If you want to retain the previous behavior for your Network instance, contact Veeva Support.
-
The status of the primary address is INACTIVE - For primary addresses where the address status is Inactive, Network will recalculate a primary address.
If there are no active addresses on the record, a primary is not calculated so the record will not have a primary address.
-
Recalculate only if there are active addresses on the record - Network only recalculates the primary if there are active addresses on the record. If there are no active addresses, Network keeps the primary on the address that was last active.
This option ensures that the record has a primary address remains on the record even if the address is inactive.
-
- The record state of the primary address is INVALID or DELETED - For primary address records that have been reviewed and are considered invalid, Network will recalculate a primary address.
By default, none of these options are selected.
If none of the options are selected, the primary setting will not move from an address that uses the Unique Checkbox configuration. Multiple primary address fields can be created using the Unique Checkbox configuration, so you can define primary addresses with each specific behavior to support your business needs.
For information about using the Unique Checkbox configuration without these options, see Unique Checkbox primary fields.
Triggers for calculation
When primary options are selected, Network calculates the primary whenever new addresses are added to your Network instance or specific changes are made to an address.
For detailed information about the events and record changes, see Triggers for Network calculation.
Configuring a primary address field
For detailed instructions on creating a primary address custom field with the options for allowing Network to calculate a primary, see Create primary custom fields.
Setting a primary address on existing records
If you have selected options to allow Network to update a primary, Network will calculate the primary address for records over time as addresses undergo changes. However, to ensure that all existing records in your instance have a primary now to support your business processes, a source must set the field. You can identify the records in your Network instance that do not have an active and valid primary using reporting.
To learn more, see Setting an active and valid primary on existing records.
Setting a primary address in the Network UI
Any Network user can update the primary address value on a record. Changes are submitted and reviewed by local data stewards.
For details and examples, see Setting a primary in the Network UI.
Understanding how Network calculates primary for address updates
Network's calculations for primary when addresses are added or updated depend on the options that you have selected for a primary address field. Any combination of the options can be selected.
Review the sections below to understand how primary is calculated when addresses are added or updated using the following actions:
- source subscriptions
- updates on the profile page
- updates in data change requests
- change request API
Each example includes a number (for example, A1, D2, and so on) in the Workflow Example column to refer to a diagram. You can refer to the diagram in the Workflows section below to see how Network decides whether a primary should be calculated based on the address and the options that are enabled for the primary field.
If you choose not to select any of the primary options, you control which address is primary. After you define the primary, it will not move unless you explicitly move it by submitting a change. Network will not calculate a primary if a primary is defined on a record.
When this option is selected:
- You can control what address is primary. You can define the primary on any address (active, valid, inactive, invalid, deleted, and so on).
- Network calculates primary only if a record does not have a primary defined. Only valid and active addresses are considered.
Examples
Review the examples in the table below to understand when a primary is calculated if this option is selected or not. In the examples, address1, address2, and so on represent different addresses.
These examples refer to the following diagrams in the Workflows section below:
- No source primary (A1, A2, B1, B2, C1, C2)
- One source primary only, no Network primary (G, H,)
- One source, non-matching Network primary (M, N)
- Multiple source primaries only (R, S)
- Multiple matching source and Network primaries (Y)
In Network | Change submitted | Summary of Data | Results | Workflow Example |
---|---|---|---|---|
address1: primary=no value status=Active state=VALID |
address1: primary=Y status=Active state=VALID |
A1, A2 | ||
address1: primary=no value status=Active state=VALID |
address2: primary=no value status=Active state=VALID |
address1: primary=no value status=Active state=VALID source=SAP ordinal=1 address2: primary=no value status=Active state=VALID source=SAP ordinal=2 |
address1: primary=Y status=Active state=VALID address2: primary=no value status=Active state=VALID |
A1, A2 |
address1: primary=N status=Active state=VALID address2: primary=N status=Active state=VALID address3: primary=no value status=Active state=VALID |
address1: primary=N status=Active state=VALID address2: primary=N status=Active state=VALID address3: primary=Y status=Active state=VALID |
A1, A2 | ||
address1: primary=N status=Active state=VALID address2: primary=N status=Active state=VALID address3: primary=no value status=Inactive state=VALID |
address1: primary=N status=Active state=VALID address2: primary=N status=Active state=VALID address3: primary=no value status=Inactive state=VALID |
A1, A2 | ||
address1: primary=Y status=Active state=VALID address2: primary=N status=Active state=VALID |
address1: primary=Y status=Active state=VALID address2: primary=N status=Active state=VALID |
G | ||
address1: primary=N status=Active state=VALID |
address2: primary=Y status=Active state=VALID |
address1: primary=N status=Active state=VALID address2: primary=Y status=Active state=VALID |
G | |
address1: primary=N status=Active state=VALID address2: primary=N status=Active state=VALID |
address1: primary=Y status=Active state=VALID |
address1: primary=Y status=Active state=VALID address2: primary=N status=Active state=VALID |
G | |
address1: primary=Y status=Active state=VALID |
address1: primary=N status=Active state=VALID |
address1: primary=N status=Active state=VALID |
B1, B2 | |
address1: primary=Y status=Inactive state=VALID |
address1: primary=Y status=Inactive state=VALID |
H | ||
address1: primary=Y status=Active state=INVALID |
address1: primary=Y status=Active state=INVALID |
H | ||
address1: primary=Y status=Inactive state=INVALID |
address1: primary=Y status=Inactive state=INVALID |
H | ||
address1: primary=Y status=Active state=VALID |
address1: status=Inactive |
address1: primary=Y status=Inactive state=VALID |
C1, C2 | |
address1: primary=Y status=Active state=VALID |
address1: state=INVALID |
address1: primary=Y status=Active state=INVALID |
C1, C2 | |
address1: primary=Y status=Active state=VALID |
address2: primary=Y status=Active state=VALID |
address2: primary=Y status=Active state=VALID |
M | |
address1: primary=Y status=Active state=VALID |
address2: primary=Y status=Inactive state=INVALID |
address1: primary=N status=Active state=VALID address2: primary=Y status=Inactive state=INVALID |
N | |
address1: primary=Y status=Active state=VALID address2: primary=Y status=Active state=VALID |
address1: primary=Y source=Change Request source rank=1 ordinal=1 address2: primary=Y source=Change Request source rank=1 ordinal=2 |
address1: primary=Y status=Active state=VALID address2: primary=N status=Active state=VALID |
R | |
address1: primary=Y status=Inactive state=INVALID address2: primary=Y status=Inactive state=INVALID |
address1: primary=Y source=SAP source rank=1 ordinal=1 address2: primary=Y source=SAP source rank=1 ordinal=2 |
address1: primary=Y status=Inactive state=INVALID address2: primary=N status=Inactive state=INVALID |
S | |
address1: primary=Y status=Active state=VALID address2: primary=Y status=Active state=INVALID address3: primary=Y status=I state=VALID address4: primary=Y status=I state=INVALID |
address1: primary=Y status=Active state=VALID address2: primary=N status=Active state=INVALID address3: primary=N status=Inactive state=VALID address4: primary=N status=Inactive state=INVALID |
R | ||
address2: primary=Y status=Active state=VALID |
address1: primary=Y status=Active state=VALID address2: primary=Y status=Active state=INVALID address3: primary=Y status=Inactive state=VALID address4: primary=Y status=Inactive state=INVALID |
address1: primary=N status=Active state=VALID address2: primary=Y status=Active state=INVALID address3: primary=N status=Inactive state=VALID address4: primary=N status=Inactive state=INVALID |
Y |
When this option is selected:
- Network calculates primary only if the address is inactive. Only valid and active addresses are considered.
Examples
Review the examples in the table below to understand when a primary is calculated if this option is selected or not. In the examples, address1, address2, and so on represent different addresses.
These examples refer to the following diagrams in the Workflows section below:
- One source primary only, no Network primary (K, I)
- One source, non-matching Network primary (O1, P)
- Multiple source, non-matching Network primary (T, U1, V)
- Multiple matching source and Network primaries (W, X)
- One matching source and Network primary (D1, D1, E1, E2)
In Network | Change submitted | Summary of Data | Results | Workflow Example |
---|---|---|---|---|
address1: primary=Y status=Inactive state=VALID |
address1: primary=N status=Inactive state=VALID |
K | ||
address1: primary=Y status=Active state=INVALID |
address1: primary=Y status=Active state=INVALID |
I | ||
address1: primary=Y status=Active state=VALID |
address1: status=Inactive |
address1: primary=N status=Inactive state=VALID |
F1, F2 | |
address1: primary=Y status=Active state=VALID |
address1: primary=Y status=Inactive state=VALID |
address1: primary=Y status=Inactive state=VALID |
D1, D2 | |
address1: primary=Y status=Inactive state=VALID address2: primary=no value status=Active state=VALID |
address1: primary=Y status=Active state=VALID address3: primary=no value status=Active state=VALID |
address1: primary=Y status=Active state=VALID address2: primary=no value status=Active state=VALID address3: primary=no value status=Active state=VALID |
E1, E2 | |
address1: primary=Y status=Active state=VALID address2: primary=N status=Active state=VALID |
address3: primary=Y status=Active state=VALID address4: primary=N status=Active state=VALID |
address1: primary=N status=Active state=VALID address2: primary=N status=Active state=VALID address3: primary=Y status=Active state=VALID address4: primary=no value status=Active state=VALID |
P | |
address1: primary=Y status=Inactive state=VALID address2: primary=N status=Active state=VALID |
address3: primary=Y status=Inactive state=VALID address4: primary=no value status=Active state=VALID |
address2: primary=N status=Active state=VALID source=SAP source rank=1 address4: primary=no value status=Active state=VALID source=MedPro source rank=2 |
address1: primary=N status=Inactive state=VALID address2: primary=Y status=Active state=VALID address3: primary=N status=Inactive state=VALID address4: primary=no value status=Active state=VALID, |
O1 |
address1: primary=Y status=Active state=VALID |
address2: primary=Y status=Active state=VALID address3: primary=Y status=Active state=INVALID address4: primary=Y status=Inactive state=VALID address5: primary=Y status=Inactive state=INVALID |
address1: primary=N status=Active state=VALID address2: primary=Y status=Active state=VALID address3: primary=N status=Active state=INVALID address4: primary=N status=Inactive state=VALID address5: primary=N status=Inactive state=INVALID |
T | |
address1: primary=Y status=Active state=VALID address2: primary=N status=Active state=VALID |
address3: primary=Y status=Inactive state=VALID address4: primary=Y status=Inactive state=VALID |
address1: primary=Y status=Active state=VALID address2: primary=N status=Active state=VALID address3: primary=N status=Inactive state=VALID address4: primary=N status=Inactive state=VALID |
V | |
address1: primary=Y status=Inactive state=VALID address2: primary=N status=Active state=VALID |
address3: primary=Y status=Inactive state=VALID address4: primary=Y status=Inactive state=VALID address5: primary=no value status=Active state=VALID |
address2: primary=N status=Active state=VALID source=SAP source rank=1 address5: primary=no value status=Active state=VALID source=Concur source rank=2 |
address1: primary=Y status=Inactive state=VALID address2: primary=N status=Active state=VALID source=SAP source rank=1 address3: primary=Y status=Inactive state=VALID address4: primary=Y status=Inactive state=VALID address5: primary=no value status=Active state=VALID source=Concur source rank=2 |
U1 |
address1: primary=Y status=Active state=VALID address2: primary=no value status=Active state=VALID |
address1: primary=Y status=Inactive state=INVALID address3: primary=Y status=Active state=INVALID address4: primary=Y status=Active state=INVALID |
address3: primary=Y status=Active state=INVALID source=SAP source rank=1 address4: primary=Y status=Active state=INVALID source=Concur source rank=2 |
address1: primary=N status=Inactive state=INVALID address2: primary=no value status=Active state=VALID address3: primary=Y status=Active state=INVALID address4: primary=N status=Active state=INVALID |
X |
address1: primary=Y status=Active state=VALID address2: primary=no value status=Active state=VALID address3: primary=no value status=Active state=VALID |
address1: primary=Y status=Inactive state=VALID address4: primary=Y status=Inactive state=VALID address5: primary=Y status=Inactive state=VALID address6: primary=no value status=Active state=VALID |
address2: primary=no value status=Active state=VALID, source=SAP source rank=1 address3: primary=no value status=Active state=VALID source=Concur source rank=2 address6: primary=no value status=Active state=VALID source=MedPro source rank=3 |
address1: primary=N status=Inactive state=VALID address2: primary=no value status=Active state=VALID address3: primary=no value status=Active state=VALID address4: primary=N status=Inactive state=VALID address5: primary=N status=Inactive state=VALID address6: primary=no value status=Active state=VALID |
W |
When this option is selected:
- Network calculates primary only if the address is inactive and there is another active address on the record. Only valid and active addresses are considered. If no other address is active, the existing primary address remain as primary.
Examples
Review the examples in the table below to understand when a primary is calculated if this option is selected or not. In the examples, address1, address2, and so on represent different addresses.
These examples refer to the following diagrams in the Workflows section below:
- One source primary only, no Network primary (K, I)
- One source, non-matching Network primary (O1, P)
- Multiple source, non-matching Network primary (T, U2, V)
- Multiple matching source and Network primaries (W, X)
- One matching source and Network primary (D1, D1, E1, E2)
In Network | Change submitted | Summary of Data | Results | Workflow Example |
---|---|---|---|---|
address1: primary=Y status=Inactive state=VALID |
address1: primary=Y status=Inactive state=VALID |
K | ||
address1: primary=Y status=Active state=INVALID |
address1: primary=Y status=Active state=INVALID |
I | ||
address1: primary=Y status=Aactive state=VALID |
address1: status=Inactive |
address1: primary=Y status=Inactive state=VALID |
F1, F2 | |
address1: primary=Y status=Active state=VALID |
address1: primary=Y status=Inactive state=VALID |
address1: primary=Y status=Inactive state=VALID |
D1, D2 | |
address1: primary=Y status=Inactive state=VALID address2: primary=no value status=Active state=VALID |
address1: primary=Y status=Active state=VALID address3: primary=no value status=Active state=VALID |
address1: primary=Y status=Active state=VALID address2: primary=no value status=Active state=VALID address3: primary=no value status=Active state=VALID |
E1, E2 | |
address1: primary=Y status=Active state=VALID address2: primary=N status=Active state=VALID |
address3: primary=Y status=Active state=VALID address4: primary=N status=Active state=VALID |
address1: primary=N status=Active state=VALID address2: primary=N status=Active state=VALID address3: primary=Y status=Active state=VALID address4: primary=No Value status=Active state=VALID |
P | |
address1: primary=Y status=Inactive state=VALID address2: primary=N status=Active state=VALID |
address3: primary=Y status=Inactive state=VALID address4: primary=no value status=Active state=VALID |
address2: primary=N status=Active state=VALID source=SAP source rank=1 address4: primary=no value status=Active state=VALID source=MedPro source rank=2 |
address1: primary=N status=Inactive state=VALID address2: primary=Y status=Active state=VALID address3: primary=N status=Inactive state=VALID address4: primary=no value status=Active state=VALID, |
O1 |
address1: primary=Y status=Active state=VALID |
address2: primary=Y status=Active state=VALID address3: primary=Y status=Active state=INVALID address4: primary=Y status=Inactive state=VALID address5: primary=Y status=Inactive state=INVALID |
address1: primary=N status=Active state=VALID address2: primary=Y status=Active state=VALID address3: primary=N status=Active state=INVALID address4: primary=N status=Inactive state=VALID address5: primary=N status=Inactive state=INVALID |
T | |
address1: primary=Y status=Active state=VALID address2: primary=N status=Active state=VALID |
address3: primary=Y status=Inactive state=VALID address4: primary=Y status=Inactive state=VALID |
address1: primary=Y status=Active state=VALID address2: primary=N status=Active state=VALID address3: primary=N status=Inactive state=VALID address4: primary=N status=Inactive state=VALID |
V | |
address1: primary=Y status=Inactive state=VALID address2: primary=N status=Active state=VALID |
address3: primary=Y status=Inactive state=VALID address4: primary=Y status=Inactive state=VALID address5: primary=no value status=Active state=VALID |
address2: primary=N status=Active state=VALID source=SAP source rank=1 address5: primary=no value status=Active state=VALID source=Concur source rank=2 |
address1: primary=N status=Inactive state=VALID address2: primary=Y status=Active state=VALID source=SAP source rank=1 address3: primary=N status=Inactive state=VALID address4: primary=N status=Inactive state=VALID address5: primary=no value status=Active state=VALID source=Concur source rank=2 |
U2 |
address1: primary=Y status=Active state=VALID address2: primary=no value status=Active state=VALID |
address1: primary=Y status=Inactive state=INVALID address3: primary=Y status=Active state=INVALID address4: primary=Y status=Active state=INVALID |
address3: primary=Y status=Active state=INVALID source=SAP source rank=1 address4: primary=Y status=Active state=INVALID source=Concur source rank=2 |
address1: primary=N status=Inactive state=INVALID address2: primary=no value status=Active state=VALID address3: primary=Y status=Active state=INVALID address4: primary=N status=Active state=INVALID |
X |
address1: primary=Y status=Active state=VALID address2: primary=no value status=Active state=VALID address3: primary=no value status=Active state=VALID |
address1: primary=Y status=Inactive state=VALID address4: primary=Y status=I state=VALID address5: primary=Y status=Inactive state=VALID address6: primary=no value status=Active state=VALID |
address2: primary=no value status=Active state=VALID, source=SAP source rank=1 address3: primary=no value status=Active state=VALID source=Concur source rank=2 address6: primary=no value status=Active state=VALID source=MedPro source rank=3 |
address1: primary=N status=Inactive state=VALID address2: primary=Y status=Active state=VALID address3: primary=no value status=Active state=VALID address4: primary=N status=Inactive state=VALID address5: primary=N status=Inactive state=VALID address6: primary=no value status=Active state=VALID |
W |
When only this option is selected:
- Network calculates primary only if the address is invalid. Only valid and active addresses are considered.
Examples
Review the examples in the table below to understand when a primary is calculated if this option is selected or not. In the examples, address1, address2, and so on represent different addresses.
These examples refer to the following diagrams in the Workflows section below:
- One source primary only, no Network primary (J, L)
- One source, non-matching Network primary (Q)
In Network | Change submitted | Summary of Data | Results | Workflow Example |
---|---|---|---|---|
address1: primary=Y status=Active state=INVALID |
address1: primary=N status=Active state=INVALID |
L | ||
address1: primary=Y status=Inactive state=VALID |
address1: primary=Y status=Active state=VALID |
J | ||
address1: primary=Y status=Active state=INVALID address2: primary=N status=Active state=VALID |
address3: primary=Y status=Active state=INVALID address4: primary=no value status=Active state=VALID |
address2: primary=N status=Active state=VALID source=SAP source rank=1 address4: primary=no value status=Active state=VALID source=MedPro source rank=2 |
address1: primary=N status=Active state=INVALID address2: primary=Y status=Active state=VALID address3: primary=N status=Active state=INVALID address4: primary=no value status=Active state=VALID |
Q |
Understanding how Network calculates primary for OpenData updates
Network's primary calculation when addresses are downloaded from or synced with Veeva OpenData depend on the options that you have selected for a primary address field. Any combination of options can be selected.
Review the sections below to understand how primary is calculated when addresses are added or updated using the following actions:
- Downloading records from Veeva OpenData (using OpenData subscriptions or the Ad Hoc Download or Download from OpenData buttons).
- Syncing a record with Veeva OpenData (using the Sync with OpenData button).
If you choose not to select any of the primary options, you control which address is primary. After you define the primary, it will not move unless you explicitly move it. Network will not calculate a primary if a primary is not defined on a record.
Examples
Review the examples in the table below to understand when a primary is calculated if this option is selected or not. In the examples, address1, address2, and so on represent different addresses.
These examples refer to the following diagrams in the Workflows section below:
- Veeva OpenData Sync (A)
Your Network instance before sync | Veeva OpenData master instance | Your Network instance after sync | Workflow Example |
---|---|---|---|
hcp1: John Smith address1: status=Active state=VALID address2: status=Active state=VALID |
hcp1: John Smith address1: primary=no value status=Active state=VALID address2: primary=no value status=Active state=VALID |
A | |
hcp1: John Smith address1: primary=no value status=Active state=VALID address2: primary=no value status=Active state=VALID |
hcp1: John Smith
address3: status=Active state=VALID |
hcp1: John Smith
address1: primary=no value status=Active state=VALID address2: primary=no value status=Active state=VALID |
A |
When only this option is selected:
- You can control what address is primary. You can define the primary on any address (active, valid, inactive, invalid, deleted, and so on).
- Network calculates primary only if a record does not have a primary defined. Only valid and active addresses are considered.
Examples
Review the examples in the table below to understand when a primary is calculated if this option is selected or not. In the examples, address1, address2, and so on represent different addresses.
These examples refer to the following diagrams in the Workflows section below:
- Veeva OpenData Sync (B, C, D)
Your Network instance before sync | Veeva OpenData master instance | Summary of data source = OpenData source rank = 1 time = 3pm |
Your Network instance after sync | Workflow Example |
---|---|---|---|---|
hcp1: John Smith
address1: status=Active state=VALID address2: status=Active state=VALID |
address1: status=Active state=VALID ordinal=1 address2: status=Active state=VALID ordinal=2 |
hcp1: John Smith
address1: primary=Y status=Active state=VALID address2: primary=no value status=Active state=VALID |
B | |
hcp1: John Smith
address1: primary=Y status=Active state=VALID address2: primary=no value status=Active state=VALID |
hcp1: John Smith
address3: status=Active state=VALID |
address1: status=Active state=VALID ordinal=1 address2: status=Active state=VALID ordinal=2 address3: status=Active state=VALID ordinal=3 |
hcp1: John Smith
address1: primary=Y status=Active state=VALID address2: primary=no value status=Active state=VALID address3: primary=no value status=Active state=VALID |
B |
hcp1: John Smith
address1: primary=N status=Active state=VALID address2: primary=N status=Active state=VALID |
hcp1: John Smith
address1: status=Inactive |
hcp1: John Smith
address1: primary=N status=Inactive state=VALID address2: primary=Y status=Active state=VALID |
B | |
hcp1: John Smith
address1: primary=N status=Active state=VALID address2: primary=N status=Active state=VALID |
hcp1: John Smith
address1: state=INVALID |
hcp1: John Smith
address1: primary=N status=Active state=INVALID address2: primary=Y status=Active state=VALID |
B | |
hcp1: John Smith
address1: primary=Y status=Active state=VALID address2: primary=N status=Active state=VALID |
hcp1: John Smith
address3: status=Active state=VALID |
hcp1: John Smith
address1: primary=Y status=Active state=VALID address2: primary=N status=Active state=VALID address3: primary=no value status=Active state=VALID |
C | |
hcp1: John Smith
address1: primary=Y status=Inactive state=VALID address2: primary=N status=Active state=VALID |
hcp1: John Smith
address3: status=Active state=VALID |
hcp1: John Smith
address1: primary=Y status=Inactive state=VALID address2: primary=N status=Active state=VALID address3: primary=no value status=Active state=VALID |
D |
When only this option is selected:
- Network calculates primary only if the address is inactive. Only valid and active addresses are considered.
Examples
Review the examples in the table below to understand when a primary is calculated if this option is selected or not. In the examples, address1, address2, and so on represent different addresses.
These examples refer to the following diagrams in the Workflows section below:
- Veeva OpenData Sync (E, F)
Your Network instance before sync | Veeva OpenData master instance | Summary of data source = OpenData source rank = 1 time = 3pm |
Your Network instance after sync | Workflow Example |
---|---|---|---|---|
hcp1: John Smith
address1: primary=Y status=Inactive state=VALID address2: primary=N status=Active state=VALID |
hcp1: John Smith
address3: status=Active state=VALID |
hcp1: John Smith
address3: status=Active state=VALID |
hcp1: John Smith
address1: primary=N status=Inactive state=VALID address2: primary=Y status=Active state=VALID address3: primary=no value status=Active state=VALID |
F |
hcp1: John Smith
address1: primary=Y status=Inactive state=VALID address2: primary=N status=Active state=VALID |
hcp1: John Smith
address1: status=Active address3: status=Active state=VALID |
hcp1: John Smith
address1: primary=Y status=Active state=VALID address2: primary=N status=Active state=VALID address3: primary=no value status=Active state=VALID |
E | |
hcp1: John Smith
address1: primary=Y status=Active state=VALID address2: primary=N status=Active state=VALID |
hcp1: John Smith
address1: status=Inactive address3: status=Active state=VALID |
address2: status=Active state=VALID ordinal=1 address3: status=A state=VALID ordinal=2 |
hcp1: John Smith
address1: primary=N status=Inactive state=VALID address2: primary=Y status=Active state=VALID address3: primary=no value status=A state=VALID |
F |
When only this option is selected:
- Network calculates primary only if the address is invalid. Only valid and active addresses are considered.
Examples
Review the examples in the table below to understand when a primary is calculated if this option is selected or not. In the examples, address1, address2, and so on represent different addresses.
These examples refer to the following diagrams in the Workflows section below:
- Veeva OpenData Sync (G, H)
Your Network instance before sync | Veeva OpenData master instance | Summary of data source = OpenData source rank = 1 time = 3pm |
Your Network instance after sync | Workflow Example |
---|---|---|---|---|
hcp1: John Smith
address1: primary=Y status=Active state=VALID address2: primary=N status=Active state=VALID |
hcp1: John Smith
address1: status=Inactive address3: status=Active state=VALID |
hcp1: John Smith
address1: primary=Y status=Inactive state=VALID address2: primary=N status=Active state=VALID address3: primary=no value status=Active state=VALID |
G | |
hcp1: John Smith
address1: primary=Y status=Inactive state=VALID address2: primary=N status=Active state=VALID address3: primary=no value status=Active state=VALID |
hcp1: John Smith
address1: state=INVALID address3: status=Active state=VALID |
address2:
status=Active state=VALID ordinal=1 address3: status=Active state=VALID ordinal=2 |
hcp1: John Smith
address1: primary=N status=Active state=INVALID address2: primary=Y status=Active state=VALID address3: primary=no value status=Active state=VALID |
H |
Understanding how Network calculates primary for merge and unmerge
Merge
A primary is calculated by Network if neither the merge winner nor the loser contributed a primary and the The record DOES NOT HAVE a primary address option is enabled.
If the winning record contributes a primary address, the winner's address remains primary after the merge. However, if the winner's primary is inactive/invalid and the loser contributed a primary, the loser's address becomes primary after the merge. ]If the loser's address is inactive/invalid, Network will calculate a primary from all the active and valid addresses on the merged entity.
If the winner did not contribute a primary and the loser contributed a primary, the loser's address will remain primary after the merge. However, if the loser's address is inactive/invalid, Network will calculate a primary from all the active and valid addresses on the merged entity.
Unmerge
When records are unmerged from each other, any fields that were set as primary on the original records are recovered.
A primary is calculated in the following situations:
- None of the source views contributed a primary and the following option is on: The record DOES NOT HAVE a primary address.
- An inactive address is primary in the source views and the following option is on: The status of the primary address is INACTIVE.
- An invalid address is primary in the source views and the following option is on: The status of the primary address is INVALID or DELETED.
Workflows
These workflows illustrate how Network determines if a primary should be calculated based on the addresses and the options that you have selected for the primary field. The letters in the purple circles; for example, , correspond to the examples in the tables above, so you can follow the decision points.
Calculating primary from addresses in the source and Network
If Network has to calculate primary, only active and valid addresses on the record are considered in the calculation. Addresses where the primary flag is set to "N" in the current change are filtered out from the calculation. If there are multiple addresses to consider, the following criteria are used as tie-breakers until one primary can be found:
- Source rank on the primary field
- Address rank
- Latest time that the primary field was last updated. This is stored internally.
- Highest Network entity ID (VID)
Impact to downstream systems
Depending on the options that you select for Network calculation, it might impact other business processes.
Changes to incentive compensation
The primary flag will move from an inactive or invalid address in a fiscal quarter if you enable the configuration options. This means that any sales data with the previous primary address that is now inactive or invalid address will not be available in downstream systems where only primary addresses are exported. As a result, sales reps may not get compensated for sampling an HCP at the previous primary address.