/ / Controlando a aparência de novas linhas no mainframe IBM - c #, texto, formatação, mainframe

Controlando a aparência de novas linhas no mainframe IBM - c #, texto, formatação, mainframe

Todos,

Então, eu estou carregando um arquivo de texto de C # para um IBMMainframe do MVS. O arquivo é convertido para ebcdic usando bibliotecas C # e funciona bem, pois eu posso ler os dados no mainframe. O problema são as novas linhas. O arquivo de texto tem 10 linhas de dados e, ao visualizá-lo no ambiente de mainframe, todos os dados estão presentes. Mas não há novas linhas, pois traduz cada nova linha do arquivo de texto como 0D25, que é CRLF. Este segmento aparece como .. na tela.
Eu não quero os 2 pontos que têm o hexleitura de 0D25, porque eu preciso colocar os dados na próxima linha como está no arquivo de texto. O arquivo é de comprimento de bloco variável uma vez no mainframe btw. Como posso obter a mesma formatação do arquivo de texto enquanto visualizo o arquivo carregado no MVS?

exemplo: VISTA DE ARQUIVO DE TEXTO

12345
23456
12346


IBM MAinFrame View

12345..23456..12346

ou se o comprimento do bloco foi atingido ..

12345..2345
6..12346

obrigado

Respostas:

4 para resposta № 1

Se você está fazendo a tradução ASCII-EBCDIC fora do processo de transferência FTP, eu tenho que assumir que você está transferindo em modo binário (caso contrário a tradução seria feita novamente e seus dados seriam ruins).

Se esse é o caso, então eu tenho certezavocê é responsável pela conversão de terminações de linha também. Transferências binárias não tentarão converter terminações de linha. Você precisará preencher as linhas com os comprimentos desejados e remover as terminações de linha por completo, antes de enviá-las para o terminal. hospedeiro.

Por exemplo, se você transferir este arquivo:

12345
67890

no modo binário usando literal site recfm=vb, você receberá o seguinte (mostrado no editor do ISPF com hex on):

000001
3333300333330044444
12345DA67890DA00000
--------------------------

Você pode ver que ele acabou de transferir os bytes como estão, incluindo o CR / LF. Se você alternar para o modo ASCII no FTP e fazer o upload novamente, você terá:

000001 12345
FFFFF44444444
1234500000000
--------------------
000002 67890
FFFFF44444444
6789000000000
--------------------

Aqui, os caracteres foram convertidos nos pontos de código EBCDIC corretos e os finais de linha foram transformados em preenchimento com espaços EBCDIC.

Suponho que minha primeira pergunta a você seria: "Por que você está fazendo a tradução fora do FTP?"

A IBM investe bastante dinheiro para garantir queele aceitará todos os tipos de codificações diferentes e as converterá na página de códigos correta. É muito improvável que uma solução independente funcione em todas as versões internacionalizadas do z / OS e também da própria IBM.

Se vocês devo converter no cliente e transferir em bináriomodo, você terá que fazer com que o cliente faça a linha finalizar conversão e preenchimento também ou pós-processar o arquivo após a transferência, como com um script REXX.

Se você não conhecer Quais são as propriedades do conjunto de dados de destino (como se você estivesse transferindo para um membro em um PDS), a última opção pode ser a única viável.