IBM Enterprise Records, Versión 5.1.+            

Solución de problemas relacionados con la herramienta para importar y exportar planes de archivos

Necesita conocer la información relativa a las causas habituales de error que puede encontrarse al utilizar la herramienta de exportación e importación de plan de archivos de IBM® Enterprise Records, así como el procedimiento para reducir la probabilidad de encontrar errores.

Causas habituales de errores

Cuando importa un plan de archivos, puede encontrar un error. En la mayoría de los casos, el proceso de importación se detiene después de encontrar un error y no muestra ningún mensaje. La causa del error puede ser cualquiera de las siguientes: La herramienta para importar y exportar planes de archivos incluye opciones que puede utilizar para resolver errores potenciales. Estas opciones se explican en las secciones que encontrará a continuación.

Creación manual de un archivo XML

A los efectos de esta explicación, la creación manual de un archivo XML se refiere a la creación de un archivo XML por otros medios distintos a los de la herramienta para importar y exportar planes de archivos (por ejemplo, utilizando macros y otros medios programáticos para crear un archivo XML). Antes de poder importar un plan de archivos, debe crear un archivo XML que sea compatible tanto con el estándar XML y con el esquema XML del software FileNet.

Si crea manualmente un archivo XML para utilizarlo en la importación de un plan de archivos, debe basar el archivo en el esquema XML proporcionado por IBM.

Importante:   Muchos de los errores que se producen al importar un plan de archivos son causados por archivos XML incompatibles o no conformes. Por lo tanto, debe extremar el cuidado si crea manualmente un archivo XML.

Después de crear manualmente un archivo XML, le recomendamos encarecidamente que ejecute la herramienta para importar y exportar planes de archivos en modo de validación. La herramienta en modo de validación lee un archivo XML y comprueba que el archivo no contiene errores o problemas de no conformidad. (Consulte Utilizar la herramienta para importar y exportar planes de archivos para obtener detalles sobre el modo de validación.)

Algunas de las opciones disponibles cuando se crean manualmente archivos XML se incluyen en las secciones Herencia de programas de subcategoría y Propiedad ConditionXML.

Observar la funcionalidad de la herramienta para importar y exportar planes de archivos

Si piensa crear manualmente un archivo XML para importar un plan de archivos grande con clases y objetos personalizados, le recomendamos que primero cree un plan de archivos pequeño y los metadatos relacionados, y ejecute la herramienta en modo de exportación. Este ejercicio es particularmente útil antes de crear manualmente un archivo XML para planes de archivos con retenciones condicionales, activaciones de eventos internos y objetos de retención alternativos, todos ellos conteniendo la propiedad Propiedad ConditionXML compleja. Aunque cree un archivo con el formato XML correcto, puede que el archivo XML tenga valores de propiedad o sintaxis incorrectas, que pueden causar un error durante la importación. La exportación de un plan de archivos pequeño le permite revisar el archivo XML que la herramienta crea y observar la sintaxis y los valores de propiedad del archivo XML.

Usar la opción de metadatos de ámbito

Si el plan de archivos contiene clases o propiedades personalizadas, debe utilizar la opción de metadatos de ámbito durante el proceso de exportación. La opción de metadatos de ámbito crear un archivo XML distinto para las clases y propiedades personalizadas. Por lo tanto, cuando un plan de archivos contiene clases o propiedades personalizadas, los procesos de importación y exportación consisten en dos pasos: un paso para las clases y propiedades personalizadas y otro paso para el resto del plan de archivos. El tema de ayuda Utilizar la herramienta para importar y exportar planes de archivos incluye procedimientos para utilizar la opción de metadatos de ámbito.

Utilizar la opción de reimportación

La opción de reimportación se utiliza para especificar el comportamiento de la acción de agregar en el archivo XML. La opción de reimportación tiene tres parámetros: Durante la importación inicial de un plan de archivos grande, puede utilizar la opción Skip. En caso de fallo y durante el segundo intento de importación del mismo plan de archivos, utilice la opción Skip para evitar la reimportación de entidades que se hayan importado correctamente. Sin embargo, si el segundo intento de importación necesita modificaciones de poca importancia en las entidades que se importaron satisfactoriamente la primera vez, puede utilizar la opción Reemplazar.

En las importaciones posteriores de modificaciones de poca importancia a un número pequeño de entidades, le recomendamos que especifique Action="Modify" en el archivo XML para las entidades, en lugar de hacer cambios en el archivo XML original. Asimismo, el uso del modo Actualización le facilita la identificación posterior de actualizaciones desde importaciones completas iniciales.

Herencia de programas de subcategoría

Cuando cree una subcategoría, puede utilizar la interfaz de usuario de IBM Enterprise Records para especificar que la subcategoría hereda el programa de disposición principal. Si crea manualmente el archivo XML, para importar el plan de archivos en la que está contenida la subcategoría, tiene una opción para especificar que la subcategoría no hereda el programa principal y se proporciona un programa distinto.

En el archivo XML que cree, utilice la propiedad DisposalScheduleInheritedFrom para indicar si la categoría de registro hereda el programa de disposición principal. Por ejemplo:

<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>
Existen cuatro escenarios en los que puede utilizar la propiedad DisposalScheduleInheritedFrom, como se indica a continuación:
<Property Name="DisposalScheduleInheritedFrom" Value="/myCat1" />

Propiedad ConditionXML

Cuando cree manualmente un archivo XML para importar un plan de archivos, tiene la opción de especificar valores para la propiedad ConditionXML, que la herramienta de importación de Plan de archivos utiliza para importar lo siguiente: Para las entidades de retenciones alternativas, activaciones de evento interno y retenciones dinámicas (condicionales), la propiedad ConditionXML almacena condiciones de búsqueda en formato XML. La etiqueta de propiedad de ConditionXML almacena el nombre, valor u operador de propiedad de la interfaz de usuario de IBM Enterprise Records. La etiqueta sql de ConditionXML almacena la sentencia SQL. Cuando especifique el valor de propiedad de ConditionXML para la importación de plan de archivos, los caracteres especiales (< > & " ') deben convertirse a las representaciones estándar (&lt; &gt; &amp; &quot; &apos;). A continuación encontrará ejemplos de XML de entidades que contienen la propiedad ConditionXML para File Plan Import Export.

Ejemplo de ConditionXML para retención 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>

Ejemplo de activación de disposición 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>

Ejemplo de retención dinámica 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>

Actualización del periodo de retención

Para actualizar el periodo de retención de una fase existente en null, las propiedades del periodo de retención (RetentionPeriodYears, RetentionPeriodMonths y RetentionPeriodDays) deben incluirse en el archivo XML sin valor. A continuación encontrará un ejemplo de XML de una entidad de fase para la herramienta File Plan Import Export:
<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

Última actualización: Agosto de 2011


© Copyright IBM Corp. 2011.
Este centro de información se basa en la tecnología Eclipse. (http://www.eclipse.org)