Hola a tod@s,

detallo "brevemente" lo que he podido averiguar sobre este tema, revisando
documentación, artículos y por experiencia propia.

La variable de entorno QIBM_CCSID aparentemente sólo sirve para asignar
automáticamente el CCSID de los archivos nuevos creados desde QSH. No sirve
para una traducción "al vuelo" desde el CCSID del trabajo al CCSID del
archivo.

La variable de entorno QIBM_QSH_CMD_OUTPUT activa "algún mecanismo" en el
trabajo que redirige la salida a consola (STDOUT) al fichero especificado.
Tengo la sensación de que es un mecanismo ajeno al entorno de ejecución QSH
porque, si el archivo de destino no existe, lo crea siempre con el CCSID
del trabajo, ignorando el valor en QIBM_CCSID. Es más, independientemente
del CCSID que pudiera tener asignado el fichero, siempre guarda los datos
en el CCSID del trabajo. Yo no he sido capaz de enviar al archivo los datos
en otro CCSID.

Por qué digo esto, porque una vez establecida en el trabajo la variable de
entorno QIBM_QSH_CMD_OUTPUT y antes de ejecutar cualquier comando de shell,
el sistema crea el archivo automáticamente. Por ejemplo, si el archivo
/tmp/qsh.log no existe y ejecutamos

ADDENVVAR  ENVVAR(QIBM_QSH_CMD_OUTPUT) VALUE('FILEAPPEND=/tmp/qsh.log')
QSH('touch -C 819 /tmp/qsh.log')

Aquí, el fichero /tmp/qsh.log se crea y se fuerza con el CCSID 819. Además,
este comando "touch" no realiza ninguna salida a STDOUT. Sin embargo, el
archivo se crea vacío con el CCSID del trabajo, en mi caso el 1152.

Podríamos intuir que /tmp/qsh.log NO se creará hasta que el sistema
necesite redirigir algún dato al fichero, pero no es así. El archivo se
crea en el momento que se realiza la llamada al primer QSH y antes de
ejecutar el comando de shell.

Finalmente, si en lugar de utilizar la variable de entorno
QIBM_QSH_CMD_OUTPUT se redirige la salida estándar del comando shell a un
archivo (con > o con >>), QSH transforma correctamente los datos del CCSID
del trabajo (1152) al CCSID del archivo (819).

Y hasta aquí puedo leer. ;-)

Javier Mora



El jue, 2 mar 2023 a las 13:11, datil400 (<[email protected]>) escribió:

> Lo que hay de por medio es un SFTP.
>
> Estoy preparando unas pruebas antes de abrir una consulta en IBM.
>
> Gracias
>
> Javier
>
> El jue., 2 mar. 2023 11:41, Alex Martínez <[email protected]> escribió:
>
>> Pues lo único que me suena con el CCSID 500 era al transferir archivos al
>> IBMi por FTP, así que sin saber nada más de tu "captura" de QSH no sé
>> decirte si tiene algo de sentido para ti. ¿hay algún FTP de por medio ?
>>
>> Nota: El CCSID 500 es Latin-1 en EBCDIC
>>
>> https://www.google.com/search?q=ccsid+500+FTP
>>
>> El mié, 1 mar 2023 a las 15:51, datil400 (<[email protected]>) escribió:
>>
>>> Lo que me llama la atención es que sea el CCSID 500, que no lo usamos
>>> para nada. Nuestros trabajos utilizan el 1145. En fin, un lío.
>>>
>>> Gracias por tu interés Alex.
>>>
>>> Javier Mora
>>>
>>> El mié, 1 mar 2023 a las 13:21, Alex Martínez (<[email protected]>)
>>> escribió:
>>>
>>>> Nop,
>>>>
>>>> puedes tener definido un CCSID para el archivo (contenedor) y lo que
>>>> está escrito "dentro" (contenido) estar con otro CCSID diferente, y eso es
>>>> justo tu caso, por lo que veo.
>>>>
>>>> Ten en cuenta que si trabajas desde QSH por defecto trabaja en EBCDIC y
>>>> desde PASE por defecto trabaja en ASCII
>>>>
>>>>
>>>>
>>>> El mié, 1 mar 2023 a las 11:38, datil400 (<[email protected]>)
>>>> escribió:
>>>>
>>>>> Gracias Alex, esa es la comprobación que hice inicialmente. De echo es
>>>>> EBCDIC, pero más curioso todavía, si visualizo los atributos del fichero 
>>>>> el
>>>>> CCSID es 819 pero si lo hago desde DSPF + F15 + opción 3, el CCSID que me
>>>>> aparece el es 500.
>>>>>
>>>>> Lo normal es que ambos datos sean el mismo. ¡Estoy alucinando!
>>>>>
>>>>> Según tengo entendido, la variable de entorno QIBM_CCSID la utiliza
>>>>> QSH para asignar el CCSID a los archivos nuevos que se crean. Después,
>>>>> cuando QSH utiliza el archivo (redirección o con la variable de entorno
>>>>> QIBM_QSH_CMD_OUTPUT) es capaz de registrar los datos en el CCSID asignado
>>>>> al archivo, convirtiéndolos desde el CCSID del trabajo.
>>>>>
>>>>> Pero veo que esto no es exactamente así. Sigo investigando.
>>>>>
>>>>> Saludos,
>>>>>
>>>>> Javier Mora
>>>>>
>>>>> El mié, 1 mar 2023 a las 8:01, Alex Martínez (<[email protected]>)
>>>>> escribió:
>>>>>
>>>>>> Hola
>>>>>>
>>>>>>
>>>>>> Con el DSPF puedes ver el contenido en Hexadecimal y simplemente
>>>>>> fijándote en los espacios en blanco ya puedes intuir si está codificado 
>>>>>> en
>>>>>> ASCII x'20' o EBCDIC X'40'
>>>>>>
>>>>>>
>>>>>>
>>>>>> El mar, 28 feb 2023 a las 17:13, datil400 (<[email protected]>)
>>>>>> escribió:
>>>>>>
>>>>>>> Hola a tod@s de nuevo,
>>>>>>>
>>>>>>> cuando quiero "capturar" la salida estándar de mandato QSH (y según
>>>>>>> la documentación de IBM), combino las variables de entorno
>>>>>>> QIBM_QSH_CMD_OUTPUT y QIBM_CCSID=819 para almacenar en formato ASCII 
>>>>>>> esos
>>>>>>> datos en un archivo del IFS.
>>>>>>>
>>>>>>> Hasta ahora yo pensaba que eso era así, porque desde pantalla verde
>>>>>>> veía bien los datos (mandato DSPF) y el archivo venía correctamente
>>>>>>> "etiquetado" con el CCSID 819 (ASCII).
>>>>>>>
>>>>>>> Pero, ¡sorpresa!, si el archivo lo abro desde Windows, lo que
>>>>>>> visualizo es basura (símbolos raros sin sentido). No tengo claro en qué
>>>>>>> ccsid se están grabando los datos, pero intuyo que lo está haciendo en
>>>>>>> EBCDIC (CCSID 1145).
>>>>>>>
>>>>>>> Antes de darle muchas más vueltas a este tema, ¿tenéis experiencia
>>>>>>> con este tema? ¿Qué estoy haciendo mal?
>>>>>>>
>>>>>>> Saludos y gracias por vuestros comentarios.
>>>>>>>
>>>>>>> Javier Mora
>>>>>>> ____________________________________________________
>>>>>>> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
>>>>>>> Forum.Help400 © Publicaciones Help400, S.L.
>>>>>>
>>>>>> ____________________________________________________
>>>>>> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
>>>>>> Forum.Help400 © Publicaciones Help400, S.L.
>>>>>
>>>>> ____________________________________________________
>>>>> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
>>>>> Forum.Help400 © Publicaciones Help400, S.L.
>>>>
>>>> ____________________________________________________
>>>> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
>>>> Forum.Help400 © Publicaciones Help400, S.L.
>>>
>>> ____________________________________________________
>>> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
>>> Forum.Help400 © Publicaciones Help400, S.L.
>>
>> ____________________________________________________
>> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
>> Forum.Help400 © Publicaciones Help400, S.L.
>
>
____________________________________________________
�nete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 � Publicaciones Help400, S.L.

Reply via email to