Exemplo: Leitura de arquivos do z/OS baixados pelo IBM Sterling Connect:Direct
Exemplo: Leitura de arquivos do z/OS baixados pelo IBM Sterling Connect:Direct
Embora um arquivo do z/OS transferido pelo IBM Sterling Connect:Direct contenha um comprimento de registro à esquerda e um byte terminador de registro à direita, o PowerExchange pode ter dificuldades em ler esse arquivo pelas seguintes razões:
O formato de registro padrão trunca as leituras se X'0A' ocorrer dentro dos dados binários, como em um campo de caracteres inteiros ou multibyte.
O comprimento do registro esquerdo é muito pequeno porque não conta os bytes do terminador do registro. O primeiro registro pode ser lido com o tipo de variável VBP2, mas o limite de registro não está correto para o segundo registros e subsequentes.
Uma solução inclui os seguintes elementos:
Um mapa de dados com o tipo de método de acesso USER especifica os parâmetros para o nome do arquivo, o tamanho do inteiro do comprimento e o número de bytes a serem retirados do final de cada registro.
A biblioteca de métodos de acesso do usuário lê o arquivo, obtém o comprimento dos dois primeiros bytes, remove o número especificado de bytes do final do registro e grava o registro com um comprimento que corresponde ao tamanho real do registro de acordo com o tipo de variável VBP2.
O mapa de dados pode ler os dados em um único passo se apenas um registro estiver sendo usado.
Mapeamentos de registros múltiplos requerem dois passos. O primeiro passo usa o mapa de dados com o método de acesso USER para corrigir os comprimentos de registro e o segundo passo usa um mapa de dados com o tipo de método de acesso SEQ para ler o arquivo usando o tipo de variável VBP2.