يجب أن تتعرف على بعض المعلومات الخاصة بالأسباب العامة للأخطاء التي تحدث أثناء استخدام الأداة File Plan Import and Export Tool من IBM® Enterprise Records بالاضافة الى التعرف على كيفية تقليل مواجهة مثل هذه الأخطاء.
واذا تم يدويا تكوين ملف XML ليتم استخدامه في استقبال مخطط الحفظ، فيجب أن تقوم بتأسيس الملف على XML schema المتاح من خلال IBM.
بعد أن تقوم يدويا بتكوين ملف XML، فمن المفضل بشدة أن تقوم بتشعيل الأداة File Plan Import Export Tool في نمط التحقق. حيث تقوم الأداة في نمط التحقق بقراءة ملف XML والتحقق من الملفات التي لا تتضمن أي أخطاء أو مشاكل تتعلق بعدم التوافق. (أنظر استخدام الأداة File Plan Import and Export Tool للتعرف على تفاصيل عن نمط التحقق.)
يتم اتاحة بعض الاختيارات عند تكوين ملف XML بطريقة يدوية ويتم تضمينها في الأقسام توارث الجدول للتصنيفات الفرعية و الخاصية ConditionXML.
وأثناء عمليات الاستقبال المتتابعة للتعديلات البسيطة في عدد صغير من العناصر، فمن المفضل أن تقوم بتحديد Action="Modify" في الملف XML للعناصر، بدلا من عمل التغييرات في ملف XML الأصلي. وأيضا، قم باستخدام النمط تحديث لجعل التحديثات المتتابعة أسهل من عمليات الاستقبال المبدئية الكاملة.
في ملف XML الذي تقوم بتكوينه، يمكنك استخدام الخاصية DisposalScheduleInheritedFrom لتوضيح ما اذا كان تصنيف السجل سيقوم بتوارث الجدول الزمني للتخلص من العنصر الرئيسي. على سبيل المثال:
<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>هناك أربعة سيناريوهات يمكن استخدام الخاصية DisposalScheduleInheritedFrom تحتها كما يلي:
<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>