Exclude entities reachable through two paths

Base data copy can produce incorrect results in the following situation:

  • If an entity is not excluded, and
  • That entity is reachable by foreign key or array through two paths, one of which is through an excluded entity and the other is not.
Note: Guidewire recommends that you exclude an entity reachable through two paths if one of the paths is through an excluded entity. Guidewire especially recommends that an entity reachable through two paths be excluded if the foreign key is non-nullable.

In personal auto, VehicleDriver entity provides an example as shown in the following illustration of an incorrect configuration.



  1. The VehicleDriver entity can be reach through PolicyDriver and PersonalVehicle. However, only PersonalVehicle is excluded from base data copy.
  2. Initially, PersonalVehicle and VehicleDriver in Version #1 and Version #2 have the same values.

    The following illustration shows changes that happen when the agent edits policy Version #2.



  3. The agent edits Version #2 and makes the following changes:
    • Removes the Ford and the VehicleDriver connecting Susan to the Ford.
    • Adds a Chevy and a VehicleDriver connecting Susan to the Chevy.

    The following illustration shows the problems that base data copy encounters.



  4. When the agent saves the edits, PolicyCenter does the base data copy.

Removing the Ford and adding the Chevy is not a problem because PersonalVehicle is side-by-side data and does not affect other versions. However, VehicleDriver is a base data entity and must be the same in all versions. In Version #1, the Vehicle field points to the Ford. In Version #2, it points to the Chevy. Version #1 would contain bad data if base data copies Vehicle=Chevy to Version #1.

The VehicleDriver entity is reachable through two paths. Therefore, Guidewire recommends making the VehicleDriver entity side-by-side data by excluding it from base data copy, as shown in the following illustration.



  1. Base data copy excludes both the PersonalVehicle and VehicleDriver entities.
  2. It does not matter that the PersonalVehicle and VehicleDriver differ between the versions because base data copy excludes them.