Citación del post de
Kuk
|
❞
RaulC, puedes hacer lo siguiente:
En tu OUTREC escribe esto:
Código:
REPRO INFILE(NOMBRE.FICHERO.OBTENIDO) -
Luego con IDCAMS copias el fichero el nombre del cual has escrito con OUTREC a uno con nombre definido por ti. Esto te permite reutilizarlo en DSN de los step siguientes:
Para copiar el fichero usa:
Código JCL:
//S2002640 EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //OUT DD DSN=FICHERO.DESTINO, // DISP=(NEW,CATLG,DELETE), // SPACE=(TRK,(10,10),RLSE), // RECFM=FB,LRECL=80 //SYSIN DD DSN=FICHERO.OUTREC // DD * OUTDATASET(OUT) END /*
Ya cuentas qué tal.
|
Estoy teniendo el mismo problema que tuve yo en su momento antes de hacer esta consulta.
Se produce este error:
Código:
IDCAMS SYSTEM SERVICES TIM
REPRO INFILE(nombre.fichero.largo) -
IDC3201I CONSTANT 'nombre.fichero.largo' EXCEEDS LENGTH LIMIT
OUTDATASET(OUT)
IDC3202I ABOVE TEXT BYPASSED UNTIL NEXT COMMAND. CONDITION CODE IS 12
END
IDC0002I IDCAMS PROCESSING COMPLETE. MAXIMUM CONDITION CODE WAS 12
En el INFILE no puede estar el nombre completo de un fichero, o por lo menos no el nombre de un fichero que yo necesito, ya que como en toda instalación, necesito un nombre de fichero bastante largo, debido a la normativa sobre nomenclatura.
Realmente lo que necesito es comprobar si el fichero contenido (F2/nombre.fichero.largo en los ejemplos) tiene o no tiene datos.
En esta instalación se usa este método para ver si el fichero tiene datos o no.
Código JCL:
//**********************************************************
//**********************************************************
//CONTROL2 EXEC PGM=IDCAMS
//FILETEST DD DSN=nombre.fichero.largo,DISP=SHR
//SYSIN DD *
PRINT CHARACTER -
COUNT(1) -
INFILE(FILETEST)
//*
Por eso intento meter el contenido del fichero en una variable, para poder hacer esto
Código JCL:
//**********************************************************
//**********************************************************
//CONTROL2 EXEC PGM=IDCAMS
//FILETEST DD DSN=&&FICH2,DISP=SHR
//SYSIN DD *
PRINT CHARACTER -
COUNT(1) -
INFILE(FILETEST)
//*
Quería informar &&FICH2 con el contenido del fichero contenedor F1, y es lo que no consigo.
Con el LISTCAT no hay problema, porque el parámetro
LISTCAT ENT sí acepta nombre largo.
Me quedo con la idea de intentar copiar el contenido del fichero contenido F2, en otro fichero, con un nombre fijo. A ver si lo consigo.
Muchas gracias.
---------- Post añadido : 17:11 ---------- Post anterior : 12:26 ----------
Al final me han dicho un programa que copia el contenido de los ficheros, cuyo nombre está en el fichero de entrada, al fichero de salida. Parece un travalenguas
Ya con eso puedo comprobar si tiene contenido o no, y ya trabajar con un fichero con nombre fijo.
Saludos y muchas gracias por la ayuda. Espero que esto pueda servirle a alguien, que pena que el programa/utilidad es de la instalación, no de IBM
