IBM Enterprise Records, version 5.1.2    

Felsöka verktyget för import/export av arkiveringsplaner

Du behöver känna till vanliga orsaker till fel som kan uppstå när du använder IBM® Enterprise Records-verktyget för att importera eller exportera arkiveringsplaner. Du behöver också veta hur du kan minska risken för fel.

Vanliga felorsaker

När du importerar en arkiveringsplan kan du råka ut för fel. I det flesta fall stoppar importprocessen när ett fel påträffas utan att något felmeddelande visas. Felorsaken kan vara något av följande: I verktyget för import/export av arkiveringsplaner finns alternativ som du kan använda till att rätta potentiella fel. Läs mer om dessa alternativ finns i följande avsnitt.

Skapa en XML-fil manuellt

Att skapa en XML-fil manuellt innebär att skapa en XML-fil utan att använda verktyget för import/export av arkiveringsplaner. Exempel: Skapa en XML-fil genom att använda makron eller andra programmerade metoder. Innan du kan importera en arkiveringsplan måste du först skapa en XML-fil som överensstämmer med XML-standarden och är kompatibel med XML-schemat.

Om du skapar en XML-fil manuellt för att använda den för import av arkiveringsplaner måste du basera filen på XML-schemat från IBM.

Viktigt: De flesta fel som inträffar under importen av en arkiveringsplan orsakas av XML-filer som inte följer standarden eller är inkompatibla. Du bör därför vara extra noga när du skapar XML-filer manuellt.

Kör verktyget för import/export av arkiveringsplaner i valideringsläge när du har skapat en XML-fil manuellt. När verktyget är i valideringsläge läser det XML-filen och kontrollerar att filen inte innehåller några fel eller inkompatibiliter. Mer information om valideringsläget finns i ämnet om arkiveringsplansverktyget.

Vissa av de alternativ som är tillgängliga när du skapar en XML-fil ingår i avsnitten Hur ärver underkategorier scheman och Egenskapen ConditionXML av det här hjälpämnet.

Granska hur verktyget för import/export av arkiveringsplaner fungerar

När du ska skapa en XML-fil för att importera en stor arkiveringsplan med anpassade klasser skapa r du först en liten arkiveringsplan och relaterade metadata. Kör sedan verktyget i exportläge. Det är en särskilt bra praxis innan du skapar en XML-fil för arkiveringsplaner med villkorliga spärrar, interna händelseutlösare och alternativa kvarhållningsobjekt. Alla dessa åtgärder innehåller komplexa Egenskapen ConditionXML. Även om du skapar en fil med korrekt XML-format, kan XML-filen ha felaktiga egenskapsvärden eller ogiltig syntax. Denna felaktiga information kan orsaka fel under importen. Du kan granska den XML-fil som verktyget skapar när du exporterar en liten arkiveringsplan. Granska XML-filen för att se syntax- och egenskapsvärden i XML-filen.

Använda alternativet scope metadata

Om arkiveringsplanen innehåller anpassade klasser eller egenskaper måste du använda alternativet scope metadata under exporten. Alternativet scope metadata skapar en separat XML-fil för anpassade klasser och egenskaper. Om en arkiveringsplan innehåller anpassade klasser eller egenskaper består export- och importprocesserna därför av två steg vardera: ett steg för de anpassade klasserna och egenskaperna och ett annat steg för resten av arkiveringsplanen. Mer information om procedurer för att använda alternativet för metadataomfattning finns i ämnet om att använda arkiveringsplansverktyget.

Använda alternativet reimport

Med alternativet reimport styr du hur tilläggsåtgärden fungerar i XML-filen. Alternativet reimport har tre parametrar: Under den första importen av en stor arkiveringsplan kan du använda alternativet Hoppa över. Använd alternativet Hoppa över under det andra försöket att importera samma arkiveringsplan för att undvika att importera om entiteter som redan har importerats. Om det andra försöket att importera kräver smärre ändringar av entiteter som gör att de entiteter som du lyckades importera vid första försöket måste importeras på nytt kanske du vill använda alternativet Ersätt i stället.

Under följande importer av smärre ändringar av ett litet antal entiteter anger du Action="Modify" XML-filen för entiteterna, i stället för att ändra den ursprungliga XML-filen. I uppdateringsläget kan du enklare identifiera senare uppdateringar av ursprungliga fullständiga importer.

Hur ärver underkategorier scheman

När du skapar en underkategori kan du genom att använda användargränssnittet i IBM Enterprise Records ange att underkategorin ärver det överordnade avvecklingsschemat. Om du manuellt skapar den XML-fil som ska användas för import av arkiveringsplanen som innehåller underkategorin, anger du att underkategorin inte ska ärva den överordnade kategorins schema. Ange att underkategorin tillhandahåller ett annat schema.

I den XML-fil som du skapar använder du egenskapen DisposalScheduleInheritedFrom till att ange om postkategorin ärver avvecklingsschemat från sin överordnade. Exempel:

<RecordCategory Name="myCat2" Level="2" ParentPath="/myCat1">
    < Egenskaper>
        <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>
Det finns fyra scenarier där du kan använda egenskapen DisposalScheduleInheritedFrom:
<Property Name="DisposalScheduleInheritedFrom" Value="/myCat1" />

Egenskapen ConditionXML

När du skapar en XML-fil manuellt för att importera en arkiveringsplan kan du välja värden för egenskapen ConditionXML. Verktyget för att importera arkiveringsplanen använder den här egenskapen till att importera följande objekt: För alternativa kvarhållningar, interna händelseutlösare och dynamiska (villkorliga) spärrar lagrar egenskapen ConditionXML sökvillkoren i XML-format. Egenskapsmärkordet i ConditionXML lagrar egenskapen name/value/operator för användargränsnittet för IBM Enterprise Records. Märkordet sql i ConditionXML lagrar SQL-satsen. När du anger egenskapsvärdet ConditionXML för importen av arkiveringsplanen behöver specialtecknen (< > & " ') konverteras till standardåtergivningen. Standardrepresentationen är &lt;, &gt;, &amp;, &quot; och &apos;. Se XML-exemplen som innehåller egenskapen ConditionXML för import/export av arkiveringsplaner i följande avsnitt.

Exempel på ConditionXML för alternativ kvarhållning

<Phases>
  <RMEntity Type="Phase" Name="myPhase1">
    < Egenskaper>
        <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">
            < Egenskaper>
              <Property Name="RetentionBase" Value="CutoffDate" />
              <Property Name="ConditionXML" Value="&lt;response xmlns=&quot;http://www.ibm.com/namespaces
              /wcm/apps/1.0&quot;&gt;&ltobjectset&gt;&ltcount&gt;1&lt
              /count&gt;&ltcustomobject&gt;&ltproperties&gt;&ltproperty&gt;&ltsymname&gt;ClosedBy&lt
              /symname&gt;&ltoperator&gt;IEQUAL&lt;/perator&gt;&ltvalue&gt;Administrator&lt/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">
            < Egenskaper>
              <Property Name="RetentionBase" Value="DateClosed" />
              <Property Name="ConditionXML" Value="&lt;response xmlns=&quot;http://www.ibm.com/namespaces
              /wcm/apps/1.0&quot;&gt;&ltobjectset&gt;&ltcount&gt;1&lt
              /count&gt;&ltcustomobject&gt;&ltproperties&gt;&ltproperty&gt;&ltsymname&gt;
              RMEntityDescription&lt/symname&gt;&ltoperator&gt;LKE&lt;/perator&gt;&ltvalue&gt;something&lt
              /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>

Exempel på avvecklingsutlösare med ConditionXML:

<DisposalTriggers>
  <RMEntity Type="DisposalTrigger" Name="Date Created">
   < Egenskaper>
     <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="&lt;response
      xmlns=&quot;http://www.ibm.com/namespaces/wcm/apps/1.0&quot;&gt;&lt;objectset&gt;&lt;count&gt;1&lt;
      /count&gt;&lt;customobject&gt;&lt;properties&gt;&lt;property&gt;&lt;symname&gt;DateCreated&lt;
      /symname&gt;&lt;displayname&gt;Date Created&lt;/displayname&gt;&lt;propertytype&gt;3&lt;
      /propertytype&gt;&lt;value/&gt;&lt;operator&gt;IS NOT NULL&lt;/operator&gt;&lt;jointype&gt;AND&lt;
      /jointype&gt;&lt;/property&gt;&lt;/properties&gt;&lt;aggregation&gt;RecordInfo&lt;
      /aggregation&gt;&lt;sql&gt; SELECT OIID , ID , RMENTITYTYPE FROM RecordInfo WHERE ( DateCreated IS 
      NOT NULL )&lt;/sql&gt;&lt;/customobject&gt;&lt;/objectset&gt;&lt;/response&gt;"/>
     <Property Name="CycleMonths" Value="0" />
   </Properties>
  </RMEntity>
</DisposalTriggers>

Sample of Dynamic Hold with ConditionXML:

<Holds>
  <RMEntity Type="RecordHold" Name="dynamic Hold">
   < Egenskaper>
     <Property Name="Active" Value="true" />
     <Property Name="HoldName" Value="dynamic Hold" />
     <Property Name="HoldReason" Value="dynamic Hold" />
     <Property Name="ConditionXML" Value="&lt;response
      xmlns=&quot;http://www.ibm.com/namespaces/wcm/apps/1.0&quot;&gt;&lt;objectset&gt;&lt;count&gt;
      2&lt;/count&gt;&lt;customobject&gt;&lt;properties&gt;&lt;property&gt;&lt;symname&gt;
      RecordCategoryName&lt;/symname&gt;&lt;displayname&gt;Record Category Name&lt;
      /displayname&gt;&lt;propertytype&gt;8&lt;/propertytype&gt;&lt;selectable&gt;true&lt;
      /selectable&gt;&lt;value&gt;dynamic&lt;/value&gt;&lt;operator&gt;like&lt;
      /operator&gt;&lt;jointype&gt;AND&lt;/jointype&gt;&lt;/property&gt;&lt;
      /properties&gt;&lt;aggregation&gt;RecordCategory&lt;/aggregation&gt;&lt;sql&gt; 
      SELECT ro.[RecordCategoryName] , ro.[RecordCategoryName] FROM RecordCategory ro 
      Where ro.[RecordCategoryName] like &apos;%dynamic%&apos; &lt;/sql&gt;&lt;
      /customobject&gt;&lt;customobject&gt;&lt;properties&gt;&lt;property&gt;&lt;symname&gt;
      RecordFolderName&lt;/symname&gt;&lt;displayname&gt;Record Folder Name&lt;
      /displayname&gt;&lt;propertytype&gt;8&lt;/propertytype&gt;&lt;selectable&gt;true&lt;
      /selectable&gt;&lt;value&gt;dynamic&lt;/value&gt;&lt;operator&gt;like&lt;
      /operator&gt;&lt;jointype&gt;AND&lt;/jointype&gt;&lt;/property&gt;&lt;
      /properties&gt;&lt;aggregation&gt;RecordFolder&lt;/aggregation&gt;&lt;sql&gt; 
      SELECT ro.[RecordFolderName] , ro.[RecordFolderName] FROM RecordFolder ro 
      Where ro.[RecordFolderName] like &apos;%dynamic%&apos; &lt;/sql&gt;&lt;/customobject&gt;&lt;
      /objectset&gt;&lt;/response&gt;" />
     <Property Name="HoldType" Value="Audit" />
   </Properties>
  </RMEntity>
</Holds>

Uppdatering av kvarhållningsperioder

To update the retention period of an existing phase to null, the retention period properties (RetentionPeriodYears, RetentionPeriodMonths, and RetentionPeriodDays) need to be included in the XML file with no value. I följande exempel visas XML för en fasentitet för verktyget för import/export av arkiveringsplaner:
<RMEntity Type="Phase" Name="phase 1">
          < Egenskaper>
             <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">
                   < Egenskaper>
                      <Property Name="RetentionBase" Value="CutoffDate" />
                      <Property Name="ConditionXML" Value="&lt;response xmlns=&quot;
                          http://www.ibm.com/namespaces/wcm/apps/1.0&quot;&gt;&lt;objectset&gt;
                          &lt;count&gt;1&lt;/count&gt;&lt;customobject&gt;&lt;properties&gt;&lt;
                          property&gt;&lt;symname&gt;CurrentActionType&lt;
                          /symname&gt;&lt;operator&gt;IS EQUAL&lt;/operator&gt;&lt;value&gt;6&lt;
                          /value&gt;&lt;/property&gt;&lt;/properties&gt;&lt;aggregation&gt;&lt;
                          /aggregation&gt;&lt;sql&gt; AND ([CurrentActionType] = 6)&lt;/sql&gt; &lt;
                          /customobject&gt;&lt;/objectset&gt;&lt;/response&gt;" />
                      <Property Name="RetentionPeriodMonths" Value="0" />
                      <Property Name="RetentionPeriodYears" Value="2" />
                      <Property Name="RetentionPeriodDays" Value="0" />
                   </Properties>
                </ObjectValue>
             </Property>
          </Properties>
       </RMEntity>


Feedback

Senast uppdaterat: November 2013
file_plan_import_export_tips.htm

© Copyright IBM Corp 2013