IBM Enterprise Records, Versão 5.1.+            

Resolução de problemas da Ferramenta de importação e exportação do plano de ficheiros

É necessário ter conhecimento das informações sobre as causas comuns de erros que poderão surgir ao utilizar a Ferramenta de importação e exportação do plano de ficheiros do IBM® Enterprise Records bem como reduzir a probabilidade de ocorrência de erros.

Causas comuns de erros

Ao importar um plano de ficheiros, podem ocorrer erros. Na maioria dos casos, o processo de importação pára após ocorrer um erro e não é apresentada nenhuma mensagem. A causa do erro poderá ser uma das seguintes: A Ferramenta de importação e exportação do plano de ficheiros inclui opções que pode utilizar para lidar com potenciais erros. Estas opções são apresentadas nas secções seguintes.

Criar um ficheiro XML manualmente

Criar um ficheiro XML manualmente refere-se a criar um ficheiro XML sem recorrer à Ferramenta de importação e exportação do plano de ficheiros (por exemplo, utilizando macros ou outras formas programáticas para criar um ficheiro XML). Antes de importar um plano de ficheiros, tem de criar um ficheiro XML compatível com a norma XML e compatível com o esquema XML do software FileNet.

Se criar um ficheiro XML manualmente para utilizar ao importar um plano de ficheiros, tem de basear o ficheiro no esquema XML fornecido pela IBM.

Importante: A maior parte dos erros que ocorre ao importar um plano de ficheiros é causada por ficheiros XML incompatíveis. Por isso, a criação manual de um ficheiro XML deve ser cuidada.

Após criar um ficheiro XML manualmente, é recomendado executar a Ferramenta de importação e exportação do plano de ficheiros no modo de validação. A ferramenta no modo de validação lê o ficheiro XML e verifica se o ficheiro não contém erros ou problemas de conformidade. (Consulte o tópico Utilizar a ferramenta de importação e exportação do plano de ficheiros para obter mais informações sobre o modo de validação.)

Algumas das opções disponíveis ao criar um ficheiro XML manualmente estão incluídas nas secções Herdar agendas de subcategorias e Propriedade ConditionXML.

Observar a funcionalidade da Ferramenta de importação e exportação do plano de ficheiros

Se pretender criar um ficheiro XML manualmente para importar um plano de ficheiros de grandes dimensões com classes personalizadas e objectos, é recomendado criar primeiro um plano de ficheiros e metadados relacionados de dimensões mais reduzidas e executar a ferramenta no modo de exportação. Tal exercício é particularmente útil antes de criar um ficheiro XML manualmente para planos de ficheiros com prazos de retenção condicionais, activadores de eventos internos, e objectos de retenções alternativos, em que todos incluem a complexa Propriedade ConditionXML. Mesmo que o ficheiro seja criado com o formato de XML correcto, o ficheiro XML pode incluir valores de propriedades ou sintaxe incorrectos, o que pode causar erros durante a importação. Exportar um plano de ficheiros pequeno permite rever o ficheiro XML que a ferramenta criou e observar a sintaxe e valores de propriedades no ficheiro XML.

Utilizar a opção de determinar o âmbito de metadados

Se o plano de ficheiros contém classes ou propriedades personalizadas, tem de utilizar a opção de determinar o âmbito de metadados durante o processo de exportação. Esta opção cria um ficheiro XML separado para as classes e propriedade personalizadas. Por isso, quando um plano de ficheiros inclui classes ou propriedades personalizadas, o processo de exportação e importação é constituído por dois passos: um passo para as classes e propriedades personalizadas e outro para o restante plano de ficheiros. O tópico de ajuda Utilizar a ferramenta de importação e exportação do plano de ficheiros inclui os procedimentos para utilizar a opção de determinar o âmbito dos metadados.

Utilizar a opção para voltar a importar

A opção para voltar a importar é utilizada para especificar o comportamento da acção de adição no ficheiro XML. A Opção para voltar a importar inclui três parâmetros: Durante a importação inicial de um plano de ficheiros de grandes dimensões, é recomendado utilizar a opção Ignorar. Em caso de falha e ao efectuar a segunda tentativa de importar o mesmo plano de ficheiros, utilize a opção Ignorar para evitar voltar a importar entidades que já foram correctamente importadas. Contudo, se a segunda tentativa de importação requerer pequenas modificações nas entidades que foram importadas correctamente na primeira importação, deverá utilizar a opção Substituir.

Durante as importações subsequentes de pequenas modificações num número reduzido de entidades, é recomendado especificar Action="Modify" no ficheiro XML das entidades, em vez de efectuar alterações ao ficheiro XML original. Utilizar o modo Actualização permite identificar mais facilmente as actualizações subsequentes às importações iniciais completas.

Herdar agendas de subcategorias

Ao criar uma subcategoria, pode utilizar a interface do utilizador do IBM Enterprise Records para especificar que a subcategoria herda a agenda de eliminação ascendente. Se criar o ficheiro XML manualmente para importar o plano de ficheiros no qual a subcategoria está incluída, tem a opção de especificar que a subcategoria não herda a agenda ascendente e pode indicar outra agenda.

No ficheiro XML que criar, utilize a propriedade DisposalScheduleInheritedFrom para indicar se a categoria de registo herda a agenda de eliminação do elemento ascendente. Por exemplo:

<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>
Existem quatro cenários em que pode utilizar a propriedade DisposalScheduleInheritedFrom:
<Property Name="DisposalScheduleInheritedFrom" Value="/myCat1" />

Propriedade ConditionXML

Ao criar um ficheiro XML manualmente para importar um plano de ficheiros, tem a opção de especificar valores para a propriedade ConditionXML, que a Ferramenta de importação do plano de ficheiros utiliza para importar o seguinte: Para as entidades de Retenções alternativas, Activadores de eventos internos e Retenções dinâmicas (condicional), a propriedade ConditionXML guarda as condições de pesquisa no formato XML. O controlo de propriedades em ConditionXML armazena o nome/valor/operador da propriedade para a interface do utilizador do IBM Enterprise Records. O controlo sql em ConditionXML guarda a instrução SQL. Quando introduz o valor de propriedade de ConditionXML para a importação do plano de ficheiros, os caracteres especiais (< > & " ') têm de ser convertidos para a representação padrão (&lt; &gt; &amp; &quot; &apos;). Seguem-se exemplos de XMLs de exemplo de entidades com a propriedade ConditionXML para a exportação e importação do plano de ficheiros.

Exemplo de ConditionXML para Retenção 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>

Exemplo de Activador de eliminação com 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>

Exemplo de Prazo de retenção dinâmico com 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>

Actualização do período de retenção

Para actualizar o período de retenção de uma fase existente para um valor nulo, as propriedades do período de retenção, (RetentionPeriodYears, RetentionPeriodMonths and RetentionPeriodDays) têm de ser incluídas no ficheiro XML sem qualquer valor. É indicado em seguida XML de exemplo de uma entidade de fase para a Ferramenta de importação e exportação do plano de ficheiros:
<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>


Comentários

Última actualização: Agosto de 2011


© Copyright IBM Corp. 2011.
Este Information Center é baseado na tecnologia Eclipse. (http://www.eclipse.org)