You need to know the information about the common causes of errors that you might encounter when using the IBM® Enterprise Records File Plan Import Export Tool as well as how to reduce the likelihood of encountering errors.
If you manually create an XML file to use in importing a file plan, you must base the file on the XML schema provided by IBM.
After you manually create an XML file, we highly recommend that you run the File Plan Import Export Tool in validate mode. The tool in validate mode reads an XML file and verifies that the file does not contain any errors or non-compliance issues. (See Using the File Plan Import and Export Tool for details about the validate mode.)
Some of the options that are available when you manually create an XML file are included in the sections Subcategory schedule inheritance and ConditionXML property.
During subsequent importations of minor modifications to a small number of entities, we recommend that you specify Action="Modify" in the XML file for the entities, instead of making changes to the original XML file. Also, using the Update mode allows you to more easily identify subsequent updates from initial full imports.
In the XML file you create, use the DisposalScheduleInheritedFrom property to indicate whether the record category inherits the disposal schedule from the parent. For example:
<RecordCategory Name="myCat2" Level="2" ParentPath="/myCat1"> <Properties> <Property Name="AGGREGATION" Value="RecordCategory" /> <Property Name="IsPermanentRecord" Value="false" /> <Property Name="IsVitalRecord" Value="false" /> <Property Name="CurrentPhaseExportFormat"></Property> <Property Name="IsDeleted" Value="false" /> <Property Name="HomeLocation"></Property> <Property Name="VitalRecordReviewAction"></Property> <Property Name="IncrementedBy" Value="1" /> <Property Name="RecordCategoryName" Value="myCat2" /> <Property Name="DisposalScheduleInheritedFrom" Value="/myCat1" /> <Property Name="Reviewer" Value="ylin" /> <Property Name="RecordCategoryIdentifier" Value="myCat2" /> <Property Name="VitalRecordDisposalTrigger"></Property> <Property Name="Inactive" Value="false" /> <Property Name="Location"></Property> <Property Name="DateOpened" Value="2006-03-07T14:16:00-08:00" /> <Property Name="DisposalSchedule"> <ObjectRef ClassId="DisposalSchedule" ObjectId="myDispSchedule" /> </Property> </Properties> </RecordCategory>There are four scenarios under which you can use the DisposalScheduleInheritedFrom property, as follows:
<Property Name="DisposalScheduleInheritedFrom" Value="/myCat1" />
<Phases> <RMEntity Type="Phase" Name="myPhase1"> <Properties> <Property Name="PhaseAction"></Property> <Property Name="RetentionPeriodDays" Value="0" /> <Property Name="RetentionPeriodYears" Value="10" /> <Property Name="RMEntityDescription"> Value="my phase 1" /> <Property Name="RetentionPeriodMonths" Value="0" /> <Property Name="PhaseNumber" Value="1" /> <Property Name="ExportFormat"></Property> <Property Name="IsScreeningRequired" Value="true" /> <Property Name="DisposalSchedulePtr"> <ObjectRef ClassId="DisposalSchedule" ObjectId="myDispSchedule" /> </Property> <Property Name="PhaseName" Value="myPhase1" /> <ObjectValue Type="AlternateRetention"> <Properties> <Property Name="RetentionBase" Value="CutoffDate" /> <Property Name="ConditionXML" Value="<response xmlns="http://filenet.com/namespaces/wcm/apps/1.0"><objectset><count>1</count><customobject><properties><property><symname>ClosedBy</symname><operator>IEQUAL</perator><value>Administrator</value></property></properties><aggregation></aggregation><sql> AND ([ClosedBy] = 'Administrator')</sql> </customobject></objectset></response>" /> <Property Name="RetentionPeriodMonths" Value="0" /> <Property Name="RetentionPeriodYears" Value="5" /> <Property Name="RetentionPeriodDays" Value="0" /> </Property> </ObjectValue> <ObjectValue Type="AlternateRetention"> <Properties> <Property Name="RetentionBase" Value="DateClosed" /> <Property Name="ConditionXML" Value="<response xmlns="http://filenet.com/namespaces/wcm/apps/1.0"><objectset><count>1</count><customobject><properties><property><symname>RMEntityDescription</symname><operator>LKE</perator><value>something</value></property></properties><aggregation></aggregation><sql> AND ([RMEntityDescription] LIKE '%something%')</sql> </customobject></objectset></response>" /> <Property Name="RetentionPeriodMonths" Value="0" /> <Property Name="RetentionPeriodYears" Value="5" /> <Property Name="RetentionPeriodDays" Value="0" /> </Properties> </ObjectValue> </Property </Properties> <RMEntity> </Phases>
<DisposalTriggers> <RMEntity Type="DisposalTrigger" Name="Date Created"> <Properties> <Property Name="DisposalTriggerName" Value="Date Created" /> <Property Name="EventType" Value="3" /> <Property Name="CycleYears" Value="0" /> <Property Name="CycleDays" Value="0" /> <Property Name="AGGREGATION" Value="RecordInfo" /> <Property Name="ConditionXML" Value="<response xmlns="http://filenet.com/namespaces/wcm/apps/1.0"><objectset><count>1</count><customobject><properties><property><symname>DateCreated</symname><displayname>Date Created</displayname><propertytype>3</propertytype><value/><operator>IS NOT NULL</operator><jointype>AND</jointype></property></properties><aggregation>RecordInfo</aggregation><sql> SELECT OIID , ID , RMENTITYTYPE FROM RecordInfo WHERE ( DateCreated IS NOT NULL )</sql></customobject></objectset></response>"/> <Property Name="CycleMonths" Value="0" /> </Properties> </RMEntity> </DisposalTriggers>
<Holds> <RMEntity Type="RecordHold" Name="dynamic Hold"> <Properties> <Property Name="Active" Value="true" /> <Property Name="HoldName" Value="dynamic Hold" /> <Property Name="HoldReason" Value="dynamic Hold" /> <Property Name="ConditionXML" Value="<response xmlns="http://filenet.com/namespaces/wcm/apps/1.0"><objectset><count>2</count><customobject><properties><property><symname>RecordCategoryName</symname><displayname>Record Category Name</displayname><propertytype>8</propertytype><selectable>true</selectable><value>dynamic</value><operator>like</operator><jointype>AND</jointype></property></properties><aggregation>RecordCategory</aggregation><sql> SELECT ro.[RecordCategoryName] , ro.[RecordCategoryName] FROM RecordCategory ro Where ro.[RecordCategoryName] like '%dynamic%' </sql>< /customobject><customobject><properties><property><symname>RecordFolderName</symname><displayname>Record Folder Name</displayname><propertytype>8</propertytype><selectable>true</selectable><value>dynamic</value><operator>like</operator><jointype>AND</jointype></property></properties><aggregation>RecordFolder</aggregation><sql> SELECT ro.[RecordFolderName] , ro.[RecordFolderName] FROM RecordFolder ro Where ro.[RecordFolderName] like '%dynamic%' </sql></customobject></objectset></response>" /> <Property Name="HoldType" Value="Audit" /> </Properties> </RMEntity> </Holds>
<RMEntity Type="Phase" Name="phase 1"> <Properties> <Property Name="PhaseAction"></Property> <Property Name="PhaseNumber" Value="1" /> <Property Name="ExportFormat"></Property> <Property Name="IsScreeningRequired" Value="false" /> <Property Name="DisposalSchedulePtr"> <ObjectRef ClassId="DisposalSchedule" ObjectId="mySchedule" /> </Property> <Property Name="PhaseName" Value="phase 1" /> <Property Name="RMEntityDescription" /> <Property Name="RetentionPeriodMonths" /> <Property Name="RetentionPeriodYears" /> <Property Name="RetentionPeriodDays" /> <Property Name="AlternateRetentions"> <ObjectValue Type="AlternateRetention"> <Properties> <Property Name="RetentionBase" Value="CutoffDate" /> <Property Name="ConditionXML" Value="<response xmlns="http://filenet.com/namespaces/wcm/apps/1.0"><objectset><count>1</count><customobject><properties><property><symname>CurrentActionType</symname><operator>IS EQUAL</operator><value>6</value></property></properties><aggregation></aggregation><sql> AND ([CurrentActionType] = 6)</sql> </customobject></objectset></response>" /> <Property Name="RetentionPeriodMonths" Value="0" /> <Property Name="RetentionPeriodYears" Value="2" /> <Property Name="RetentionPeriodDays" Value="0" /> </Properties> </ObjectValue> </Property> </Properties> </RMEntity>