Renombrar fichero con fecha

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

Renombrar fichero con fecha

Mensaje por dhitar » 05 Mar 2019, 05:21

Muy buenas a todos,

Necesito ayuda con lo siguiente:

En una posición concreta de un fichero, hay una fecha. Lo que necesito es renombrar dicho fichero con dicha fecha.

¿Sabéis si es posible hacerlo ya sea por jcl o por un programa cobol?

Muchas gracias de antemano.

Saludos

Avatar de Usuario
LuisFer
Colaborador Senior
Colaborador Senior
Mensajes: 406
Registrado: 27 May 2006, 16:06
País: España
Ciudad: Madrid
Ocupación: Otra

Re: Renombrar fichero con fecha

Mensaje por LuisFer » 06 Mar 2019, 10:18

Desde un JCL no lo creo, con un PGM seguro
No me sigas, puedo no guiarte, no vayas delante , puedo no seguirte, caminemos juntos y sé simplemente, mi amigo.

f_caballero
Usuario avanzado
Usuario avanzado
Mensajes: 61
Registrado: 25 Sep 2007, 16:36
País: España
Ciudad: Madrid
Ocupación: Analista de desarrollo

Re: Renombrar fichero con fecha

Mensaje por f_caballero » 09 Mar 2019, 06:54

Puedes hacerlo "con un JCL" teniendo siempre en cuenta que el JCL se limita a invocar programas.
Los programas a utilizar serían:
1) un SORT que leyera el fichero y generase un segundo fichero de salida con las instrucciones del RENAME para el segundo programa.
2) El segundo programa sería un IDCAMS ejecutando la instrucción generada anteriormente.

Lo que no tengo muy calro es que un program COBOL, de por sí, sea capaz de hacerlo. No conozco instrucciones COBOL que puedan hacer tales cosas.
Lo que si puedes hacer con el programa COBOL es sustituir el SORT para generar la instrucción para el IDCAMS.

Espero que te sirva.
Salud y fortuna.
Fernando Caballero

jgodin01
Usuario
Usuario
Mensajes: 18
Registrado: 20 Nov 2007, 16:39
Ubicación: mexico

Re: Renombrar fichero con fecha

Mensaje por jgodin01 » 09 Mar 2019, 13:51

Tienes dos alternativas, por jcl donde lo tienes que copiar, o desde tu panel en una utilería (3.4). En un cobol es mas que imposible
Ing. Jorge Godínez Rodríguez

Avatar de Usuario
LuisFer
Colaborador Senior
Colaborador Senior
Mensajes: 406
Registrado: 27 May 2006, 16:06
País: España
Ciudad: Madrid
Ocupación: Otra

Re: Renombrar fichero con fecha

Mensaje por LuisFer » 09 Mar 2019, 15:50

f_caballero escribió:
09 Mar 2019, 06:54
..Lo que no tengo muy calro es que un program COBOL, de por sí, sea capaz de hacerlo. No conozco instrucciones COBOL que puedan hacer tales cosas. ..
Se puede con una llamada (externa) a la SVC 99 , un ejemplo https://mainframes.groups.io/g/main/top ... 0,26202408. En C existe una función específica (svc99) que lo realiza sin llamadas externas.

También parece que es posible según este artículo http://www.naspa.net/magazine/2001/Dece ... 112005.pdf hacerlo sin dicha
llamada, aunque sinceramente no he profundizado en su lectura.

También como alternativa se puede hacer una CLIST/Rexx
Saludos
No me sigas, puedo no guiarte, no vayas delante , puedo no seguirte, caminemos juntos y sé simplemente, mi amigo.

jgodin01
Usuario
Usuario
Mensajes: 18
Registrado: 20 Nov 2007, 16:39
Ubicación: mexico

Re: Renombrar fichero con fecha

Mensaje por jgodin01 » 09 Mar 2019, 17:43

Como tal el lenguaje solo usa archivos ya creados por un jcl, vacíos o con información, en los ejemplos solo se hace un write por cada registro leido en un archivo ya creado por el jcl.
Mediante sdsf es posible renombrar, de otra manera el jcl por ebgener o idcams o iefbr14 es posible.
Ing. Jorge Godínez Rodríguez

jgodin01
Usuario
Usuario
Mensajes: 18
Registrado: 20 Nov 2007, 16:39
Ubicación: mexico

Re: Renombrar fichero con fecha

Mensaje por jgodin01 » 09 Mar 2019, 17:49

Como tal el lenguaje solo usa archivos ya creados por un jcl, vacíos o con información, en los ejemplos solo se hace un write por cada registro leido en un archivo ya creado por el jcl.
Mediante sdsf es posible renombrar, de otra manera el jcl por iefbr14 iebgener o iebcopy o idcams es posible.
Ing. Jorge Godínez Rodríguez

Avatar de Usuario
LuisFer
Colaborador Senior
Colaborador Senior
Mensajes: 406
Registrado: 27 May 2006, 16:06
País: España
Ciudad: Madrid
Ocupación: Otra

Re: Renombrar fichero con fecha

Mensaje por LuisFer » 10 Mar 2019, 05:35

No me sigas, puedo no guiarte, no vayas delante , puedo no seguirte, caminemos juntos y sé simplemente, mi amigo.

Geraldo Freites
Usuario
Usuario
Mensajes: 5
Registrado: 13 Ene 2009, 12:29
País: Venezuela
Ciudad: Puerto Ordaz
Ocupación: System Programmer

Re: Renombrar fichero con fecha

Mensaje por Geraldo Freites » 24 Mar 2019, 11:10

Buen día con el utilitario ADRDSSU se puede, anexo ejemplo y la explicación de los parametros, esto se lo envie a otro colega de dinoland, como veras en el/los nombres de archivos puedes colocar la fecha con un * y colocar el resto del nombre igual para la entrada y para renombre colocar * en la fecha y el resto con el nuevo nombre.
Espero este ejemplo sea de utilidad y te resuelva tu inquietud.
Si tiene duda o quieraas hacer una consulta mi correo es geraldo.freites@gmail.com.
Saludos

//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