terça-feira, 5 de outubro de 2010

ODI - Carregar um arquivo texto sem identificador de linha, identificando a linha do fisica do arquivo.

Problema: tem-se um arquivo texto sem um identificador de linha e precisa carrega-lo identificando o nº da linha que ele está. Isso normalmente ocorre quando precisa-se carregar um arquivo com as linhas na ordem que estão.
Para resolver esse problema é preciso customizar um LKM. Nesse caso customizei o LKM File to Oracle (SQLLDR) que utiliza o SQLLoader do Oracle para carregar o arquivo. Abaixo os passos para customização do LKM:
1) Criei uma opção no KM para criar uma coluna sequencial na Work Table - C$ . Quando a opção está setada como Não, o KM tem o comportamento padrão.

2) Na opção 91 - Create work Table -  inseri o codigo abaixo

3) No passo 101 - Generate CTL file - inseri o cogido abaixo


4) Finalmente na interface mapeiei uma coluna com o campo criado na work table
É só executar que os dados são carregados para a tabela com um sequencial que representa a linha na qual o dado está no arquivo.