Ya tengo el problema resuelto, pero voy a intentar dejar esto lo mejor posible para el que se encuentre con este problema en el futuro.
Citación del post de
Kuk
|
❞
No lo entiendo. Si el límite de la longitud del nombre de fichero para IDCAMS es el mismo que para z/OS, creo que eran 44 caracteres y también un máximo de 8 entre los puntos. O sea qeu si el SO lo acepta, lo debería aceptar también IDCAMS.
IBM Knowledge Center
|
Pues da el error
CONSTANT 'nombre.fichero.largo' EXCEEDS LENGTH LIMIT
En este ejemplo, el fichero es nombre.fichero.largo, que se referencia en la ficha FILETEST, y en la sentencia INFILE lo que espera es el nombre de la ficha DD del fichero sobre el que se va a trabajar ¿no?
Código JCL:
//**********************************************************
//CONTROL2 EXEC PGM=IDCAMS
//FILETEST DD DSN=nombre.fichero.largo,DISP=SHR
//SYSIN DD *
PRINT CHARACTER -
COUNT(1) -
INFILE(FILETEST)
//*
Cita:
|
❞
Yo lo que había entendido es que el problema era acceder a ese fichero extrayendo su nombre desde el fichero Nº1.
|
Sí, tienes razón. Lo que yo quería en primera instancia es comprobar si el fichero contenido(F2), cuyo nombre está en el fichero contenedor(F1), está vacío o no.
Para ello quería sacar el nombre del fichero F2 a una variable jcl, para poder meterlo en el INFILE del control de si está vacío y para todo lo que me pudiera hacer falta.
El tema es que al conseguir volcar el contenido del fichero F2 a un fichero cuyo nombre conozco, ya no me hace falta pasar el contenido del F1 a una variable JCL.
Cita:
|
❞
Una variable que empieza por && es una variable de fichero temporal, es decir es el JES es que gestiona y asigna un nombre temporal de un dataset que se eliminará al finalizar el JOB.
Un variable normal empieza por un solo &.
|
Estoy muy pez con lo de las variables JCL, me lo apunto, gracias.
Cita:
|
❞
Lo veo muy raro. ¿Puedes ejecutar el step que te pasé poniendo un fichero de nombre más corto a mano y ver si hace lo que esperábamos? Para cerciorarnos de que el método funciona.
|
Yo creo que es lo que te he comentado unas líneas antes, que en el
INFILE lo que espera no es un nombre de fichero sino una ficha DD. Y
LISTCAT ENT espera un nombre de fichero, con lo que ya tiene más sentido.
Aunque lo haya resuelto de otra manera, muchas gracias por tu ayuda, de verdad.