Em raras situações nas quais os limites de registro de registros de comprimento variável não podem ser estabelecidos a partir das APIs do sistema operacional, você pode selecionar
Variável
para o formato de registro e
VS
(fluxo de comprimento variável) como o tipo de arquivo de dados de comprimento variável.
O processamento de dados de fluxo de comprimento variável funciona da seguinte maneira:
O PowerExchange lê um bloco de dados que é grande o suficiente para armazenar o maior registro.
O PowerExchange tenta mapear os dados para cada tipo de registro na sequência em que os tipos de registro são definidos no mapa de dados.
Quando uma correspondência for encontrada, esse tipo de registro é usado e o ponteiro dentro do buffer é movido para o número necessário de bytes.
A Informatica recomenda que você use o processamento de dados de fluxo de comprimento variável apenas como último recurso devido às seguintes restrições:
O processamento de dados de fluxo de comprimento variável não se dimensiona bem se muitos tipos de registros forem usados.
Você deve definir todos os tipos de registro antes de tentar ler o arquivo. Como resultado, definir o mapa de dados é lento.
O erro do usuário é possível se os registros não forem sequenciados corretamente. As condições de ID de registro são baseadas na sequência de registros no mapa de dados e o PowerExchange não valida o sequenciamento para evitar erros do usuário.
O tempo de CPU considerável é consumido, porque a maioria dos tipos de registro foram totalmente mapeados antes de o PowerExchange determinar se deseja selecionar esse registro.
Embora a gravação seja permitida usando um mapa de dados de fluxo de comprimento variável, tais mapas são destinados apenas para leitura. Ao gravar, o PowerExchange usa o formato de registro padrão.
Em um mapeamento que contém campos de sequência de usuário, talvez seja possível gravar com êxito usando um mapa de dados de fluxo de comprimento variável em sistemas operacionais z/OS e i5/OS, que não adicionam terminadores de registros. Mas gravar pode resultar em caracteres terminadores de registro indesejados no Linux, UNIX e Windows.