The CreatorCon Call for Content is officially open! Get started here.

Carlos Camacho
Mega Sage
Mega Sage

     Para garantir a performance de uma instância, a ServiceNow define uma série de propriedades de sistema para impor limites em algumas operações.

     Uma operação que certamente é capaz de causar lentidão para os usuários é a importação de um número muito grande de registros. Nesse artigo vamos analisar como importar um arquivo CSV para a sua tabela e também como é possível alterar temporariamente esse limite.

     Para início de conversa precisamos ter em mãos um arquivo com 100.000 registros a ser importado para uma tabela no nosso projeto. Clique aqui para fazer o download de um CSV contendo esses registros com os campos nome e email.

Criando uma tabela para o carregamento de dados


      Dentro do seu Aplicativo crie uma tabela com apenas dois campos: nome e email.

find_real_file.png

      Para carregar os dados do arquivo CSV para a nossa tabela de destino, há uma sequência lógica a ser executada:

      1) Carregar o arquivo para uma tabela Stage (temporária);
      2) Criar um Transform Map para mapear os campos do arquivo com os campos da tabela target (destino);
      3) Executar a transformação.
      
      1) Carregar o arquivo para uma tabela Stage (temporária)

      A primeira coisa a ser feita é clicar em System Import Sets > Load Data
      Aqui é basicamente selecionar:
      - Create table
      - Preencher o nome da tabela temporária no campo Label
      - Em Source of the import, selecione File
      - No campo File clique em [Choose File] para selecionar o arquivo CSV que contém os 100.000 registros

find_real_file.png

      - Clique em [Submit]

      2) Criar um Transform Map para mapear os campos do arquivo com os campos da tabela target (destino)

      Após o passo 1 você precisa aguardar até a conclusão da importação de dados. Quando a importação terminar você verá uma tela como a seguir:
      Clique em [Create transform map]

find_real_file.png

     Em Name defina um nome para esse Mapa de Transformação;
      Em Source table informe a tabela Temporária já criada;
      Em Target table informe a tabela oficial criada dentro do Studio para receber os dados;
      Desmarque "Run business rules";
      Antes de clicar em Submit, clique em [Mapping Assist] para relacionar os campos.

find_real_file.png

      Utilize as seta Add > da esquerda para colocar o campo nome da tabela de relacionamento. Depois utilize Add < da direita para colocar o campo nome da tabela Target na tabela de relacionamento. Assim mapeamos que o campo nome da tabela temporária será gravado no campo nome da tabela oficial.
      Repita o processo para o campo email e depois clique em [Save]

find_real_file.png

      3) Executar a transformação.
      Nessa tela basta clicar em [Transform]

find_real_file.png

      Coloque o Transform Map para a tabela da direita e clique em [Transform]

find_real_file.png

      Ao término do processo, clique em [Transform history] para conferir os detalhes do processamento.

find_real_file.png

      Confira o total de registros inseridos, atualizados, etc.

find_real_file.png

      Consultando a tabela oficial é possível ver os registros inseridos.

find_real_file.png

     Instâncias corporativas geralmente possuem limites mais rígidos com relação ao número máximo de registros importados.

     Conforme documentação oficial, criando o parâmetro glide.ui.export.limit na tabela sys_properties é possível aumentar esse limite. A ServiceNow cria propriedades por um motivo, então tenha cuidado ao alterar esses parâmetros.



Version history
Last update:
‎04-16-2022 06:58 AM
Updated by: