Ver Mensaje Individual
  #7
Antiguo 4 de abril de 2018, 08:23
RaulC
Forero Junior
Última Actividad 21.01.2026 09:48
Posts Posts: 5
Likes enviados Enviados: 4
Likes recibidos Recibidos: 2

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 Ver Mensaje
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:
  1. //**********************************************************
  2. //CONTROL2 EXEC PGM=IDCAMS                              
  3. //FILETEST DD DSN=nombre.fichero.largo,DISP=SHR              
  4. //SYSIN DD *                                            
  5.    PRINT CHARACTER -                                        
  6.         COUNT(1)  -                                        
  7.         INFILE(FILETEST)                                    
  8. //*


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.
RaulC is offline   Responder Con Cita