/ / Control del aspecto de las nuevas líneas en el mainframe de IBM - c #, texto, formato, mainframe

Control del aspecto de las nuevas líneas en el mainframe de IBM - c #, texto, formato, mainframe

Todas,

Así que estoy cargando un archivo de texto de C # a un IBMMVS mainframe. El archivo se convierte a ebcdic mediante bibliotecas C # y funciona bien, ya que puedo leer los datos en el mainframe. El problema son las nuevas líneas. El archivo de texto tiene 10 filas de datos y mientras lo visualiza en el entorno de mainframe, todos los datos están presentes. Pero no hay nuevas líneas, ya que traduce cada nueva línea del archivo de texto como 0D25, que es CRLF. Este segmento aparece como ... en la pantalla.
No quiero los 2 puntos que tienen el hex.lectura de 0D25 porque lo necesito para colocar los datos en la siguiente línea tal como está en el archivo de texto. El archivo tiene una longitud de bloque variable una vez en el mainframe por cierto. ¿Cómo puedo lograr el mismo formato que el archivo de texto mientras veo el archivo cargado en MVS?

ejemplo: VISTA DE ARCHIVO DE TEXTO

12345
23456
12346


Vista de IBM MAinFrame

12345..23456..12346

o si se ha alcanzado la longitud del bloque ..

12345..2345
6..12346

Gracias

Respuestas

4 para la respuesta № 1

Si está haciendo la traducción ASCII-EBCDIC fuera del proceso de transferencia FTP, debo asumir que está transfiriendo en modo binario (de lo contrario, la traducción se haría de nuevo y tus datos serían malos).

Si ese es el caso, entonces estoy bastante segurousted también es responsable de la conversión de los finales de línea. Las transferencias binarias no intentarán convertir los finales de línea. Deberá rellenar las líneas a las longitudes deseadas y eliminar los finales de línea por completo, antes de enviarlos al anfitrión.

A modo de ejemplo, si transfieres este archivo:

12345
67890

arriba en modo binario usando literal site recfm=vb, obtendrás lo siguiente (mostrado en el editor ISPF con hex on)

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

Puede ver que simplemente se transfirieron los bytes tal como están, incluido el CR / LF. Si cambia al modo ASCII en FTP y vuelve a cargar, obtendrá:

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

Aquí, los caracteres se han convertido a los puntos de código EBCDIC correctos y los finales de línea se han transformado en relleno con espacios EBCDIC.

Supongo que mi primera pregunta para usted sería: "¿Por qué está haciendo la traducción fuera de FTP?"

IBM invierte mucho dinero para garantizar queaceptará todo tipo de codificaciones diferentes y las traducirá a la página de códigos correcta. Es muy poco probable que una solución independiente funcione en todas las versiones internacionalizadas de z / OS, así como en las de IBM.

Si tu debe Convertir en el cliente y transferir en binario.En este modo, tendrá que hacer que el cliente realice la conversión y el relleno de la línea, o bien, que procese el archivo después de la transferencia, por ejemplo, con un script REXX.

Si no lo haces saber cuáles serán las propiedades del conjunto de datos de destino (por ejemplo, si está transfiriendo a un miembro en un PDS), la última opción puede ser la única viable.