IBM Enterprise Records, Version 5.1.+            

Fehlerbehebung für das Aktenplan-Import-/Export-Tool

Sie müssen die häufigen Ursachen von Fehlern, die bei der Verwendung des Aktenplan-Import-/Export-Tools von IBM® Enterprise Records auftreten, sowie Möglichkeiten zur Verringerung der Fehlerhäufigkeit kennen.

Häufige Fehlerursachen

Wenn Sie einen Aktenplan importieren, kann ein Fehler auftreten. In den meisten Fällen hält der Importvorgang nach Entdecken eines Fehlers an, ohne eine Fehlernachricht anzuzeigen. Der Fehler kann die folgenden Ursachen haben: Das Tool für den Import und Export des Aktenplans enthält Optionen, mit denen Sie auf potenzielle Fehler reagieren können. Diese Optionen werden in den folgenden Abschnitten beschrieben.

Manuelles Erstellen einer XML-Datei

In dieser Beschreibung bezieht sich die manuelle Erstellung einer XML-Datei auf das Erstellen einer XML-Datei auf andere Weise als mit dem Tool zum Import und Export des Aktenplans (z. B. über Makros oder andere Programmfunktionen zum Erstellen einer XML-Datei). Bevor Sie einen Aktenplan importieren können, müssen Sie eine XML-Datei erstellen, die den XML-Standard beachtet und mit dem XML-Schema der FileNet-Software kompatibel ist.

Wenn Sie manuell eine XML-Datei erstellen, die beim Importieren eines Aktenplans verwendet werden soll, müssen Sie die Datei auf dem von IBM bereitgestellten XML-Schema basieren.

Wichtig: Die meisten Fehler, die beim Importieren eines Aktenplans auftreten, werden durch inkompatible oder nicht konforme XML-Dateien verursacht. Daher sollten Sie beim manuellen Erstellen einer XML-Datei besonders sorgfältig sein.

Nachdem Sie manuell eine XML-Datei erstellt haben, wird empfohlen, dass Sie das Tool zum Import und Export des Aktenplans im Prüfmodus ausführen. Das Tool liest im Prüfmodus eine XML-Datei und überprüft, ob die Datei Fehler enthält oder Probleme aufgrund von Nichteinhaltung hat. (Details zum Prüfmodus finden Sie in Verwenden des Aktenplan-Import-/Exporttools.)

Einige Optionen, die verfügbar sind, wenn Sie manuell eine XML-Datei erstellen, werden in den Abschnitten Zeitplanvererbung an Unterkategorie und Eigenschaft "ConditionXML" beschrieben.

Überwachen der Funktionalität des Tools für den Import und Export des Aktenplans

Wenn Sie manuell eine XML-Datei erstellen wollen, um einen großen Aktenplan mit benutzerdefinierten Klassen und Objekten zu importieren, wird empfohlen, dass Sie zuerst einen kleinen Aktenplan und zugehörige Metadaten erstellen und das Tool im Exportmodus ausführen. Diese Vorgehensweise ist besonders nützlich, bevor Sie manuell eine XML-Datei für Aktenpläne mit bedingten Rückstellungen, Auslösern für interne Ereignisse und alternativen Aufbewahrungsobjekten erstellen, die alle die komplexe Eigenschaft "ConditionXML" enthalten. Auch wenn Sie eine Datei im richtigen XML-Format erstellen, kann die XML-Datei falsche Eigenschaftswerte oder eine falsche Syntax enthalten, wodurch möglicherweise ein Fehler beim Import verursacht wird. Wenn Sie einen kleinen Aktenplan exportieren, können Sie die vom Tool erstellte XML-Datei prüfen und die Syntax und die Eigenschaftswerte in der XML-Datei überwachen.

Verwenden der Metadatenoption "scope"

Wenn Ihr Aktenplan benutzerdefinierte Klassen oder Eigenschaften enthält, müssen Sie während des Exportprozesses die Metadatenoption "scope" verwenden. Mit der Metadatenoption "scope" wird eine separate XML-Datei für benutzerdefinierte Klassen und Eigenschaften erstellt. Wenn also ein Aktenplan benutzerdefinierte Klassen oder Eigenschaften enthält, bestehen die Export- und Importprozesse aus je zwei Schritten: ein Schritt für die benutzerdefinierten Klassen und Eigenschaften und ein weiterer Schritt für den Rest des Aktenplans. Das Hilfethema Verwenden des Aktenplan-Import-/Exporttools erläutert Vorgehensweisen zur Verwendung der Metadatenoption "scope".

Verwenden der Option "reimport"

Die Option "reimport" wird verwendet, um das Verhalten der Hinzufügeaktion in der XML-Datei anzugeben. Die Option "reimport" hat drei Parameter: Während des ursprünglichen Imports eines großen Aktenplans sollten Sie die Option Skip verwenden. Falls ein Fehler auftritt, verwenden Sie beim zweiten Versuch zum Importieren desselben Aktenplans die Option Skip, um zu vermeiden, dass bereits erfolgreich importierte Entitäten erneut importiert werden. Wenn jedoch beim zweiten Importversuch kleinere Änderungen an Entitäten erforderlich sind, die schon beim ersten Mal erfolgreich importiert wurden, sollte die Option Replace verwendet werden.

Bei nachträglichen Importen von kleineren Änderungen an einer kleinen Anzahl Entitäten wird empfohlen, dass Sie Action=Modify in der XML-Datei für die Entitäten angeben, statt Änderungen an der ursprünglichen XML-Datei vorzunehmen. Wenn Sie den Modus Update verwenden, können Sie nachträgliche Aktualisierungen leichter von ursprünglichen vollständigen Importen unterscheiden.

Zeitplanvererbung an Unterkategorie

Wenn Sie eine Unterkategorie erstellen, können Sie über die IBM Enterprise Records-Benutzerschnittstelle angeben, dass die Unterkategorie den Aussonderungszeitplan des übergeordnetes Elements übernimmt. Beim manuellen Erstellen der XML-Datei zum Importieren des Aktenplans, in dem die Unterkategorie enthalten ist, können Sie angeben, dass die Unterkategorie nicht den Zeitplan des übergeordneten Elements übernimmt, und einen anderen Zeitplan angeben.

Verwenden Sie die Eigenschaft DisposalScheduleInheritedFrom in der erstellten XML-Datei, um anzugeben, ob die Schriftstückkategorie den Aussonderungszeitplan vom übergeordneten Element übernimmt. Beispiel:

<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>
Es gibt die folgenden vier Szenarios, in denen Sie die Eigenschaft DisposalScheduleInheritedFrom verwenden können:
<Property Name="DisposalScheduleInheritedFrom" Value="/myCat1" />

Eigenschaft "ConditionXML"

Wenn Sie manuell eine XML-Datei zum Import eines Aktenplans erstellen, können Sie Werte für die Eigenschaft ConditionXML angeben, die das Aktenplan-Import-Tool verwendet, um Folgendes zu importieren: Für Entitäten mit alternativen Aufbewahrungen, Auslösern für interne Ereignisse und dynamischen (bedingten) Rückstellungen speichert die Eigenschaft ConditionXML Suchbedingungen im XML-Format. Im Tag properties in ConditionXML wird der Name/Wert/Operator der Eigenschaft für die IBM Enterprise Records-Benutzerschnittstelle gespeichert. Im Tag sql in ConditionXML wird die SQL-Anweisung gespeichert. Wenn Sie den Eigenschaftswert von ConditionXML für den Aktenplanimport eingeben, müssen die Sonderzeichen (< > & " ') in die Standarddarstellung (&lt; &gt; &amp; &quot; &apos;) konvertiert werden. Im Folgenden sehen Muster-XML-Code von Entitäten, die die Eigenschaft ConditionXML für den Import und Export des Aktenplans enthalten.

Beispiel von ConditionXML für die alternative Aufbewahrung

<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="&lt;response xmlns=&quot;http://filenet.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">
            <Properties>
              <Property Name="RetentionBase" Value="DateClosed" />
              <Property Name="ConditionXML" Value="&lt;response xmlns=&quot;http://filenet.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>

Beispiel eines Aussonderungsauslösers mit ConditionXML:

<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="&lt;response
xmlns=&quot;http://filenet.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>

Beispiel einer dynamischen Rückstellung mit ConditionXML:

<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="&lt;response
xmlns=&quot;http://filenet.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>

Update des Aufbewahrungszeitraums

Wenn Sie den Aufbewahrungszeitraum einer vorhandenen Phase auf null aktualisieren wollen, müssen die Eigenschaften des Aufbewahrungszeitraums (RetentionPeriodYears, RetentionPeriodMonths und RetentionPeriodDays) ohne Wert in der XML-Datei enthalten sein. Es folgt eine Beispiel-XML einer Phasenentität für das Tool zum Import und Export des Aktenplans:
<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="&lt;response xmlns=&quot;http://filenet.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

Letzte Aktualisierung: August 2011


© Copyright IBM Corp. 2011.
Dieses Information Center basiert auf Eclipse-Technologie. (http://www.eclipse.org)