editar un fichero desde el JCL

Utilitarios artesanales que desarrollamos para nosotros y deseamos compartir (en REXX)
Responder
elpantanero
Colaborador
Colaborador
Mensajes: 78
Registrado: 25 Oct 2007, 06:31
País: España
Ciudad: Madrid
Ocupación: Técnico en Sistemas

editar un fichero desde el JCL

Mensaje por elpantanero » 19 Nov 2007, 05:45

Hola:
No descubro la pólvora con esta rexx, pero por si alguien no la conoce es muy util

Suponte que te cancela un job, le das un SJ para editarlo,

Command ===> ef
****** ***************************** Top of Data *********
000001 //STEP1 EXEC PGM=IEFBR14
000002 //SYSPRINT DD SYSOUT=X
000003 //SMPPTFIN DD DISP=SHR,DSN=ARIASJA.WORK.JCL

Colocas el comando EF en la línea de comando y el cursor en el fichero que quieres editar

Y al dar al intro, tienes el fichero para editarlo:

La rexx es:

/* REXX */
/*EDIT DE FICHERO SEGUN POSICION DEL CURSOR DSN= */
"ISREDIT MACRO"
"ISREDIT (LIN COL) = CURSOR "
"ISREDIT (LINEA) = LINE " LIN
X=BFILE() /* BUSCA NOMBRE */
X=VFILE() /* VALIDA FILE */
RETURN 0
VFILE:
IF SYSDSN(FILE) ¬= 'OK' THEN
"ISREDIT LINE_AFTER "LIN" = MSGLINE <1>"
ELSE DO
"ISPEXEC EDIT DATASET('"FILE"')"
END
RETURN 0
BFILE: /* BUSCA NOMBRE FICHERO EN LA LINEA */
F = INDEX(LINEA,'DSN=')
IF F = 0 THEN DO
FILE=STRIP(SUBWORD(SUBSTR(LINEA,COL),1,1),T,',')
FILE=STRIP(FILE,,"'")
F=INDEX(FILE,"')")
IF F¬=0 THEN DO
FILE=SUBSTR(FILE,1,F-1)
END
END
ELSE DO
FILE=SUBWORD(SUBSTR(LINEA,F+4),1,1)
F=INDEX(FILE,',')
IF F¬=0 THEN
FILE = SUBSTR(FILE,1,F-1)
END
FILE=STRIP(FILE,,' ')
RETURN 0
El Pantanero (el mas viejo de los dinosaurios del pantano)

jimboviii

Re: editar un fichero desde el JCL

Mensaje por jimboviii » 05 May 2009, 06:21

Una vez tuve una utilidad como esta. Simplemente genial.

Gracias!!!! :arriba: :reverencia: :saludo:

Tallian

Re: editar un fichero desde el JCL

Mensaje por Tallian » 06 Dic 2010, 17:25

Qué alegría!
lo tenía en mi anterior proyecto pero en este no funcionaba el ef...mira tú por qué era... Mañana mismo lo pruebo!

Tallian

Re: editar un fichero desde el JCL

Mensaje por Tallian » 22 Dic 2010, 09:16

Al final tuvimos que hacer unas cuantas cosas para que funcionase, pero lo hemos logrado.
Os dejo el código que nos funciona a nosotros (tanto para ficheros normales como GDG) y como arreglamos los problemas de librerías para ejecutar macros:

http://consultoriocobol.blogspot.com/20 ... desde.html

Responder