IBM Enterprise Records, Versão 5.1.+            

Resolução de Problemas da Ferramenta de Importação e Exportação de Planos de Arquivos

Você precisa conhecer as informações sobre as causas comuns de erros que podem ser encontrados ao usar a Ferramenta de Importação e Exportação de Planos de Arquivos do IBM® Enterprise Records, bem como saber como reduzir a probabilidade de encontrar erros.

Causas Comuns dos Erros

Você pode encontrar um erro ao importar um plano de arquivo. Na maioria dos casos, o processo de importação para após encontrar um erro e não exibe nenhuma mensagem. A causa do erro pode ser qualquer uma das seguintes: A Ferramenta de Importação e Exportação de Plano de Arquivo inclui opções que podem ser usadas para endereçar erros em potencial. Essas opções são discutidas nas seções a seguir.

Criando Manualmente um Arquivo XML

Para propósitos de discussão, criar manualmente um arquivo XML se refere à criação de um arquivo XML por meios que não incluam a Ferramenta de Importação e Exportação do Plano de Arquivo (por exemplo, usando macros ou outros meios programáticos para criar um arquivo XML). Antes que seja possível importar um plano de arquivo, você deve criar um arquivo XML que seja compatível com o padrão XML e compatível com o esquema XML do software FileNet.

Se você criar manualmente um arquivo XML para usar na importação de um plano de arquivo, será necessário basear o arquivo no esquema XML fornecido pela IBM.

Importante: A maioria dos erros que ocorre durante a importação de um plano de arquivos é causada por arquivos XML incompatíveis ou inconformes. Portanto, deve-se tomar cuidado extra se você estiver criando manualmente um arquivo XML.

Depois de criar manualmente um arquivo XML, é altamente recomendado que execute a Ferramenta de Importação e Exportação do Plano de Arquivo no modo de validação. A ferramenta no modo de validação lê um arquivo XML e verifica se o arquivo não contém algum erro ou problemas de incompatibilidade. (Consulte Usando a Ferramenta de Importação e Exportação de Planos de Arquivos para obter detalhes sobre o modo de validação).

Algumas das opções que estão disponíveis ao criar manualmente um arquivo XML estão incluídas nas seções Herança do Planejamento da Subcategoria e Propriedade ConditionXML.

Observando a Funcionalidade da Ferramenta de Importação e Exportação do Plano de Arquivo

Se você pretende criar manualmente um arquivo XML para importar um grande plano de arquivo com classes e objetos customizados, recomendamos que crie primeiro um pequeno plano de arquivos e metadados relacionados e execute a ferramenta no modo de exportação. Esse exercício é especialmente útil antes de criar manualmente um arquivo XML para planos de arquivos com suspensões condicionais, acionadores de evento internos e objetos de retenção alternativa, todos eles contendo a Propriedade ConditionXML complexa. Mesmo que você crie um arquivo com o formato XML correto, o arquivo XML pode ter valores ou sintaxe de propriedade incorretos, que podem provocar erros durante a importação. A exportação de um pequeno plano de arquivo permite revisar o arquivo XML criado pela ferramenta e observar a sintaxe e os valores de propriedade no arquivo XML.

Usando a Opção de Metadados de Escopo

Se seu plano de arquivo contém classes ou propriedades customizadas, você deve usar a opção de metadados de escopo durante o processo de exportação. A opção de metadados de escopo cria um arquivo XML separado para classes e propriedades customizadas. Portanto, quando um plano de arquivo contém classes ou propriedades customizadas, os processos de exportação e importação consistem em duas etapas cada um: uma etapa para as classes e propriedades customizadas, e outra para o restante do plano de arquivo. O tópico da ajuda do Usando a Ferramenta de Importação e Exportação de Planos de Arquivos inclui procedimentos para usar a opção de metadados de escopo.

Usando a Opção de Reimportação

A opção de reimportação é usada para especificar o comportamento da ação de inclusão no arquivo XML. A opção de reimportação tem três parâmetros: Durante a importação inicial de um plano de arquivos grande, você pode querer usar a opção Ignorar. Em caso de falha e durante a segunda tentativa de importar o mesmo plano de arquivos, use a opção Ignorar para evitar importar novamente as entidades que foram importadas com êxito. Entretanto, se a segunda tentativa de importação exigir pequenas modificações nas entidades que foram importadas com sucesso na primeira vez, você pode querer usar a opção Substituir.

Durante as importações subsequentes de pequenas modificações em um pequeno número de entidades, recomendamos que você especifique Action="Modify" no arquivo XML para as entidades, ao invés de fazer mudanças no arquivo XML original. Além disso, usar o modo Atualizar permite que você identifique mais facilmente as atualizações subsequentes das importações iniciais integrais.

Herança do Planejamento da Subcategoria

Ao criar uma subcategoria, você pode usar a interface com o usuário do IBM Enterprise Records para especificar que a subcategoria herde o planejamento da disposição pai. Se você criar manualmente o arquivo XML para importar o plano de arquivos no qual a subcategoria está contida, há uma opção para especificar que a subcategoria não herde o planejamento do pai e fornecer um planejamento diferente.

No arquivo XML criado, use a propriedade DisposalScheduleInheritedFrom para indicar se a categoria de registro herda o planejamento de descarte do pai. 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>
Há quatro cenários nos quais você pode usar a propriedade DisposalScheduleInheritedFrom, conforme a seguir:
<Property Name="DisposalScheduleInheritedFrom" Value="/myCat1" />

Propriedade ConditionXML

Ao criar manualmente um arquivo XML para importar um plano de arquivos, você tem a opção de especificar valores para a propriedade ConditionXML, que a Ferramenta de Importação de Plano de Arquivos usa para importar o seguinte: Para as entidades Retenções Alternativas, Acionadores de Eventos Internos e Suspensões Dinâmicas (condicionais), a propriedade ConditionXML armazena condições de procura no formato XML. A tag de propriedades no ConditionXML armazena o nome/valor/operador da propriedade para a interface com o usuário do IBM Enterprise Records. A tag sql no ConditionXML armazena a instrução SQL. Ao inserir o valor da propriedade de ConditionXML para a importação de plano de arquivos, os caracteres especiais (< > & " ') precisam ser convertidos para a representação padrão (&lt; &gt; &amp; &quot; &apos;). Abaixo estão XMLs de amostra das entidades contendo a propriedade ConditionXML para Importação e Exportação do Plano de Arquivos.

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

Amostra do Acionador de Descarte 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>

Amostra da Suspensão Dinâmica 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>

Atualização do Período de Retenção

Para atualizar o período de retenção de uma fase existente como nula, as propriedades do período de retenção (RetentionPeriodYears, RetentionPeriodMonths e RetentionPeriodDays) precisam estar incluídas no arquivo XML sem nenhum valor. Abaixo está um XML de amostra de uma entidade de fase para a ferramenta de Importação e Exportação do Plano de Arquivo:
<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 atualização: Agosto 2011


© Copyright IBM Corporation 2011.
Este centro de informações é desenvolvido com tecnologia Eclipse. (http://www.eclipse.org)