copiar ficheros masivamente

Todo lo relacionado con JCL, manejo de jobs, etc.
Responder
jcdm

copiar ficheros masivamente

Mensaje por jcdm »

Estimados compañeros.

Tengo (en este momento) 400 ficheros catalogados:

FI.**.jc.mensual.130419

Quisiera cambiarlo por

FI.**.jc.anual.130419

En donde ** es una variable.

¿Conoceis alguna utilidad para declarar variables y poderlos copiar? (con los mismos atributos)

Se me ha ocurrido recoger los 400 nombres de fichero y con un sort intentar construir las sentencias, pero posteriormente tendría que ejecutar 400 pasos de copiado...

No vale renombrar.

¿Alguna luz?
f_caballero

Re: copiar ficheros masivamente

Mensaje por f_caballero »

¿Puedes codificar una programa REXX o CLIST?
Si la respuesta es si, bastaría con que le des la lista variable y establezcas un bucle en el que:
- desde el DSN origen compongas el nombre de salida
- hagas los ALLOC de SYSUT1 y SYSUT2 (entrada y salida)
- llamas, dentro del REXX, al programa ICEGENER (u otra utilidad de la que dispongas) para que te vaya copiando los archivos.

Suerte.
Geraldo Freites

Re: copiar ficheros masivamente

Mensaje por Geraldo Freites »

Buen día con el utilitario ADRDSSU se puede, anexo ejemplo y la explicación de los parametros

//STEP1 EXEC PGM=ADRDSSU,REGION=2048K,COND=(0,NE)
//SYSPRINT DD SYSOUT=*
//INVOL1 DD VOL=SER=XXXXXX,UNIT=3390,DISP=SHR
//OUTVOL1 DD VOL=SER=YYYYYY,UNIT=SYSDA,DISP=SHR
//SYSIN DD *
COPY DATASET(INCLUDE( -
FI.**.JC.MENSUAL.130419 -
)) -
RENAMEU( -
(FI.**.JC.MENSUAL.130419 -
FI.**.JC.ANUAL.130419) -
) -
LOGINDDNAME(INVOL1) TOL(ENQF) CANCELERROR ALLDATA(*) ALLEXCP -
RECATALOG(ZZZZZZZZ ) -
OUTDDNAME(OUTVOL1) PROCESS(SYS1,UNDEF)
//
//* XXXXXX VOLUMEN DONDE ESTAN LOS ARCHIVOS DE ENTRADA
//* YYYYYY VOLUMEN DONDE VAN A COPIAR LOS ARCHIVOS DE ENTRADA
//* FI.**.JC.MENSUAL.130419 NOMBRE DE LOS ARCHIVOS A SELECCIONAR
//* PARA RENOMBRAR
//* FI.**.JC.ANUAL.130419 NOMBRE NUEVO DE LOS ARCHIVOS
//* ZZZZZZZZ NOMBRE CATALOGO DONDE VA A RECATALOGAR LOS ARCHIVOS
//* OJO OJO COLOCAR EL GUION EN LA COLUMNA 72
Responder