Para definir una variable en un JCL y asignarle valor se utiliza el comando SET:
// SET PROGRAMA=CARGACLI
// SET FICHENT=FF.CLIENTES.ENT
// SET FICHSAL=FF.CLIENTES.SAL
// SET NUEVO='DISP=(NEW,CATLG,DELETE)'
Las variables así definidas se pueden usar en cualquiera de los siguientes pasos del JCL añadiendo un ‘&’ a su nombre:
//CLIENTES EXEC PGM=&PROGRAMA
//SYSOUT DD SYSOUT=*
//ENTRADA DD DSN=&FICHENT,DISP=SHR
//SALIDA DD DSN=&FICHSAL,&NUEVO,
// SPACE=(CYL,(5,1),RLSE),
// DCB=(LRECL=350,RECFM=FB)
Es importante no confundir las variables de JCL con las variables y constantes simbólicas de los planificadores (Control-M, TWS-OPC, etc.). Estas últimas van precedidas por ‘%%’ y se definen dentro de un comentario. Por ejemplo, así se define una variable de Control-M:
//* %%SET %%FECHASTA = 2013-04-03
Esta variable podríamos utilizarla en el INCLUDE de un Sort:
INCLUDE COND=(1,10,LE,C'%%FECHASTA')
Pero a diferencia de las variables de JCL, estas variables solo serán sustituidas por su valor si lanzamos el job a través de Control-M. Si lo lanzamos mediante un SUBMIT se producirá un JCL ERROR.
Deja un comentario