IBM Enterprise Records, Versione 5.1.+            

Risoluzione dei problemi relativi allo strumento di importazione ed esportazione dei piani file

È necessario conoscere le informazioni sulle cause comuni di errori rilevati durante l'utilizzo dello strumento di importazione ed esportazione piano file IBM® Enterprise Records nonché sapere come ridurre la probabilità di errori.

Cause di errori comuni

Si possono verificare errori durante l'importazione di un piano file. Nella maggior parte dei casi, l'importazione si arresta in seguito a un errore e non viene visualizzato alcun messaggio. La causa dell'errore può essere una delle seguenti: Lo strumento di importazione ed esportazione piano file include opzioni che è possibile utilizzare per risolvere potenziali errori. Queste opzioni sono illustrate nelle sezioni seguenti.

Creazione manuale di un file XML

In questo contesto, la creazione manuale di un file XML si riferisce all'utilizzo di mezzi diversi dallo strumento di importazione ed esportazione piano file (ad esempio, macro o altri programmi) per creare un file XML. Prima di poter importare un piano file, è necessario creare un file XML conforme agli standard XML e compatibile con lo schema XML del software FileNet.

Se si crea un file XML manualmente per utilizzarlo nell'importazione di un piano file, è necessario usare come base per il file lo schema XML fornito da IBM.

Importante: la maggior parte degli errori che si verificano durante l'importazione di un piano file sono causati da incompatibilità o non conformità dei file XML. Pertanto, è necessaria un'attenzione particolare se il file XML viene creato manualmente.

Dopo aver creato manualmente un file XML, si consiglia di eseguire lo strumento di importazione ed esportazione piano file in modalità di convalida. Lo strumento in modalità di convalida legge il file XML e verifica che non contenga errori o problemi di non conformità. Per informazioni dettagliate sulla modalità di convalida, vedere Utilizzo dello strumento di importazione ed esportazione piano file.

Alcune delle opzioni disponibili durante la creazione manuale di un file XML sono incluse nelle sezioni Ereditarietà di pianificazione della sottocategoria e Proprietà ConditionXML.

Osservazione della funzionalità dello strumento di importazione ed esportazione piano file

Se si intende creare manualmente un file XML per importare un piano file esteso con classi e oggetti personalizzati, si consiglia di creare prima un piano file ridotto con i metadati correlati e di eseguire lo strumento in modalità esportazione. Questa pratica è particolarmente utile prima di creare manualmente un file XML per piani file con attese condizionali, trigger evento interno e oggetti di contenimento alterno, che contengono tutti la Proprietà ConditionXML complessa. Anche se si crea un file con il formato XML corretto, questo potrebbe contenere valori proprietà o sintassi non corretti, che possono causare errori durante l'importazione. L'esportazione di un piano file ridotto consente di riesaminare il file XML creato dallo strumento e osservarne la sintassi e i valori proprietà.

Uso dell'opzione di ambito metadati

Se il piano file contiene classi o proprietà personalizzate, è necessario utilizzare l'opzione di ambito metadati durante il processo di esportazione. L'opzione di ambito metadati crea un file XML separato per le classi e proprietà personalizzate. Pertanto, se un piano file contiene classi e proprietà personalizzate, i processi di esportazione e importazione sono costituiti da due fasi: una fase per classi e proprietà personalizzate e l'altra per il resto del piano file. L'argomento della guida Utilizzo dello strumento di importazione ed esportazione piano file include le procedura per l'utilizzo dell'opzione di ambito metadati.

Uso dell'opzione di reimportazione

L'opzione di reimportazione viene utilizzata per specificare il comportamento dell'azione di aggiunta nel file XML. L'opzione di reimportazione possiede tre parametri: Durante l'importazione iniziale di un piano file esteso, è preferibile utilizzare l'opzione Ignora. In caso di errore, nel corso del secondo tentativo di importazione dello stesso piano file, l'opzione Ignora consente di evitare di reimportare le entità la cui importazione è riuscita. Se però il secondo tentativo di importazione richiede modifiche secondarie alle entità che sono già state importate la prima volta, è preferibile utilizzare l'opzione Sostituisci.

Nel corso delle successive importazioni di modifiche secondarie a un numero ridotto di entità, specificare Action="Modify" nel file XML per le entità, anziché apportare modifiche al file XML originale. Utilizzare inoltre la modalità Aggiorna per distinguere più facilmente gli aggiornamenti successivi dalle importazioni iniziali complete.

Ereditarietà di pianificazione della sottocategoria

Quando si crea una sottocategoria, è possibile utilizzare l'interfaccia utente di IBM Enterprise Records per specificare che la sottocategoria eredita la pianificazione di disposizione del padre. Se si crea manualmente il file XML per importare il piano file in cui è contenuta la sottocategoria, è possibile specificare che la sottocategoria non eredita la pianificazione del padre e fornire una pianificazione diversa.

Nel file XML creato, utilizzare la proprietà DisposalScheduleInheritedFrom per indicare se la categoria record eredita la pianificazione smaltimento dal padre. Esempio:

<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>
Di seguito sono illustrati quattro scenari in cui è possibile utilizzare la proprietà DisposalScheduleInheritedFrom:
<Property Name="DisposalScheduleInheritedFrom" Value="/myCat1" />

Proprietà ConditionXML

Quando si crea manualmente un file XML per importare il piano file, è possibile specificare valori per la proprietà ConditionXML, utilizzata dallo strumento di importazione piano File per importare: Per entità contenimenti alterni, trigger evento interno e attese dinamiche (condizionali), la proprietà ConditionXML memorizza le condizioni di ricerca nel formato XML. Il tag properties in ConditionXML memorizza il nome proprietà/valore/operatore per l'interfaccia utente di IBM Enterprise Records. Il tag sql in ConditionXML memorizza l'istruzione SQL. Quando si immette un valore proprietà di ConditionXML per l'importazione del piano file, i caratteri speciali (< > & " ') devono essere convertiti nella rappresentazione standard (&lt; &gt; &amp; &quot; &apos;). Di seguito sono riportati XML di esempio per entità contenenti la proprietà ConditionXML per l'importazione ed esportazione piano file.

Esempio di ConditionXML per contenimento alterno

<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>

Esempio di trigger smaltimento con 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>

Esempio di attesa dinamica con 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>

Aggiornamento del periodo di contenimento

Per annullare il periodo di contenimento di una fase esistente, le proprietà del periodo di contenimento (RetentionPeriodYears, RetentionPeriodMonths e RetentionPeriodDays) devono essere incluse nel file XML prive di valore. Di seguito viene riportato un XML di esempio per un'entità fase per lo strumento di importazione ed esportazione piano file:
<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

Ultimo aggiornamento: Agosto 2011


© Copyright IBM Corp. 2011.
Questo centro informazioni è basato su tecnologia Eclipse. (http://www.eclipse.org)