Configuring file loading of system tables

In addition to the Priority attribute, the FileDefinition element also has a Boolean attribute, ExternallyManaged, which sets whether Product Designer or an external system manages a particular system table. It takes the following form:

<FileDefinition Name="..." Priority="..." ExternallyManaged="true">

Possible values of the ExternallyManaged attribute and their meanings are:

  • true – You cannot view or edit the system table in Product Designer. You must use an external editor to view or make changes to the system table.
  • false (or not-specified) – You can edit and manage the system table values in Product Designer.

A typical use case for setting ExternallyManaged to true is when dealing with very large system tables. Very large system tables are not efficient to edit in Product Designer due to its page-at-a-time view of system table data.

Territory codes provide an example use case. Territory codes are a way of encoding a given geographical location for the purpose of rating. Therefore, the territory code system table, territory_codes.xml, can become very large, containing as many as a million entities. If you find that editing this system table is not practical using Product Designer, set the ExternallyManaged attribute for the territory code system table to true, as follows:

<FileDefinition Name="territory_codes.xml" Priority="0" ExternallyManaged="true">
    <Entity Type="DB_Territory"/>
</FileDefinition>

Setting ExternallyManaged to true affects only the ability of Product Designer to load the system table for viewing and editing. It does not affect the way in which PolicyCenter loads the system table during system startup.