IBM Enterprise Records, Versió 5.1.+            

Resolució de problemes amb l'Eina d'importació i exportació de plans de fitxers

Heu de conèixer la informació sobre les causes comunes dels errors que es poden trobar quan s'utilitza l'Eina d'importació i exportació de plans de fitxers de l'IBM® Enterprise Records, així com reduir la probabilitat de trobar errors.

Causes comunes d'errors

Quan importeu un pla de fitxers, és possible que trobeu un error. En la majoria dels casos, el procés d'importació s'atura després de trobar un error i no mostra cap missatge. La causa de l'error pot ser qualsevol de les següents: L'Eina d'importació i exportació de plans de fitxers inclou opcions que es poden utilitzar per fer front a possibles errors. Aquestes opcions es descriuen als apartats següents.

Creació manual d'un fitxer XML

Per a aquesta descripció, crear manualment un fitxer XML significa crear un fitxer XML amb un mitjà diferent de l'Eina d'importació i exportació de plans de fitxer (per exemple, amb macros o altres mitjans de programació per crear un fitxer XML). Per poder importar un pla de fitxers, cal que creeu un fitxer XML que compleixi amb l'estàndard XML i sigui compatible amb l'esquema XML del programari FileNet.

Si creeu manualment un fitxer XML per utilitzar-lo en importar un pla de fitxers, cal que baseu el fitxer en l'esquema XML que proporciona IBM.

Important: La majoria dels errors que tenen lloc en importar un pla de fitxers es produeixen per fitxers XML incompatibles o que no compleixen l'estàndard. Per tant, s'ha de tenir més crua si creeu manualment un fitxer XML.

Després de crear manualment un fitxer XML, és molt recomanable executar l'Eina d'importació i exportació de plans de fitxer en mode de validació. L'eina en mode de validació llegeix un fitxer XML i verifica que el fitxer no contingui errors o problemes de no compliment. (Consulteu Utilització de l'Eina d'importació i exportació de plans de fitxers per obtenir informació detallada sobre el mode de validació).

Algunes de les opcions que estan disponibles quan es crea manualment un fitxer XML es detallen als apartats Herència de planificacions de subcategoria i Propietat ConditionXML.

Observació de la funcionalitat de l'Eina d'importació i exportació de plans de fitxers

Si preteneu crear un fitxer XML per importar un pla de fitxers gran amb classes i objectes personalitzats, recomanem que creeu, en primer lloc, un pla de fitxers petit i les metadades relacionades i que executeu l'eina en mode d'exportació. Aquesta acció és especialment útil abans de crear manualment un fitxer XML per a plans de fitxers amb retencions condicionals, activadors d'incidències internes i objectes de retenció alternatius, que contenen tots la complexa Propietat ConditionXML. Encara que creeu un fitxer amb el format XML correcte, és possible que el fitxer XML tingui valors de propietat o una sintaxi incorrectes, cosa que pot ocasionar un error durant la importació. L'exportació d'un pla de fitxers petit permet revisar el fitxer XML que ha creat l'eina i observar la sintaxi i els valors de propietat del fitxer XML.

Utilització de l'opció de metadades d'àmbit

Si el pla de fitxers conté classes o propietats personalitzades, cal que utilitzeu l'opció de metadades d'àmbit durant el procés d'exportació. L'opció de metadades d'àmbit crea un fitxer XML independent per a les classes i les propietats personalitzades. Per tant, quan un pla de fitxers conté classes o propietats personalitzades, els processos d'exportació i importació consten de dos passos cadascun: un pas per a les classes i les propietats personalitzades i l'altre per a la resta del pla de fitxers. El tema d'ajuda Utilització de l'Eina d'importació i exportació de plans de fitxers inclou els procediments per utilitzar l'opció de metadades d'àmbit.

Utilització de l'opció reimport

L'opció reimport s'utilitza per especificar el comportament de l'acció d'addició al fitxer XML. L'opció reimport té tres paràmetres: Durant la importació inicial d'un pla de fitxers gran, és possible que vulgueu utilitzar l'opció Skip. En cas d'error i durant el segon intent d'importar el mateix pla de fitxers, utilitzeu l'opció Skip per evitar reimportar les entitats que s'han importat correctament. Tot i això, si el segon intent d'importació exigeix petites modificacions a les entitats que s'han importat correctament la primera vegada, és possible que vulgueu utilitzar l'opció Replace.

Durant les importacions de modificacions menors en un nombre petit d'entitats, recomanem especificar Action="Modify" al fitxer XML per a les entitats, en lloc de fer canvis al fitxer XML original. A més a més, si s'utilitza el mode Update es podrà identificar més fàcilment les actualitzacions posteriors a partir de les importacions inicials completes.

Herència de planificacions de subcategoria

Quan es crea una subcategoria, es pot utilitzar la interfície d'usuari de l'IBM Enterprise Records per especificar que la subcategoria hereta la planificació de disposició pare. Si creeu manualment el fitxer XML per importar el pla de fitxers que conté la subcategoria, teniu una opció per especificar que la subcategoria no hereti la planificació del pare i proporcionar una altra planificació.

Al fitxer XML que creeu, utilitzeu la propietat DisposalScheduleInheritedFrom per indicar si la categoria de registres hereta la planificació de disposició del pare: Per exemple:

<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>
Hi ha quatre situacions en les quals es pot utilitzar la propietat DisposalScheduleInheritedFrom, com s'indica tot seguit:
<Property Name="DisposalScheduleInheritedFrom" Value="/myCat1" />

Propietat ConditionXML

Quan es crea manualment un fitxer XML per importar un pla de fitxers, teniu l'opció d'especificar valors per a la propietat ConditionXML, que l'Eina d'importació de plans de fitxers utilitza per importar el següent: En el cas de les entitats de retencions alternatives, activadors d'incidències internes i retencions dinàmiques (condicionals), la propietat ConditionXML emmagatzema les condicions de cerca en format XML. L'etiqueta properties de ConditionXML emmagatzema el nom/valor/operador de la propietat per a la interfície d'usuari de l'IBM Enterprise Records. L'etiqueta sql de ConditionXML emmagatzema la sentència SQL. Quan introduïu el valor de propietat de ConditionXML per a la importació de plans de fitxers, els caràcters especials (< > & " ') s'han de convertir a la seva representació estàndard (&lt; &gt; &amp; &quot; &apos;). Tot seguit hi ha XML d'exemple d'entitats que contenen la propietat ConditionXML per a l'Eina d'importació i exportació de plans de fitxers.

Exemple de ConditionXML per a una retenció alternativa

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

Exemple d'activador de disposició amb 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>

Exemple de retenció dinàmica amb 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>

Actualització de període de retenció

Per actualitzar el període de retenció d'una fase existent a nul, les propietats del període de retenció (RetentionPeriodYears, RetentionPeriodMonths i RetentionPeriodDays) s'han d'incloure al fitxer XML sense cap valor. Tot seguit s'ofereix un exemple d'XML d'una entitat de fase per a l'Eina d'importació i exportació de plans de fitxers:
<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>


Comentaris

Darrera actualització: Agost de 2011


© Copyright IBM Corp. 2011.
Aquest Information Center està basat en tecnologia Eclipse. (http://www.eclipse.org)