Lenguaje de control de trabajos (JCL) OS/390 El JCL tienen la sintaxis general siguiente: Identificador Las sentencias comienzan con // nombre Identifica la sentencia JCL y es opcional en la sentencia EXEC y las sentencias DD concatenadas. operacin Especifica el tipo de sentencia JCL y debe ser precedido seguido por uno o m!s espacios en blanco. operando Es una lista de par!metros con palabra cla"e y/o posicionales separados por comas. Los par!metros posicionales se deben consignar en una orden particular# los par!metros con palabra cla"e se pueden consignar en cual$uier orden. Este Es te campo se debe preceder y seguir por uno o m!s espacios en blanco# los espacios en blanco no se permiten entre los par!metros. El campo de operando debe comenzar antes de la columna %& y no debe extenderse m!s all! de la columna '%# sin embargo( el campo se puede continuar sobre otra sentencia separando con una coma y consignando // en las columnas % y ) de la sentencia siguiente( seguida por lo menos de un blanco y del resto de los par!metros. comentarios *on opcionales si se codifican los operandos# los comentarios deben comenzar m!s all! de la columna %' si el/los operando+s, no son codificados. //DDNAME DD DSN!"9999A#$%O&%AM#DA DSN!"9999A#$%O&%AM#DA' 'ADS$S*% Co+entar,os
DD-E es el nombre DD es la operacin D*-01%2222.34564.D7 D*-01%2222.34564.D 7(DI*30*84 es el operando Los par!metros de posicin se deben poner en una posicin espec9fica dentro del campo operando( si se desea omitir un operando de posicin debe ser reemplazado por una coma.
Sentenc,a de Co+entar,o
La sentencia de C5E-7 permite $ue el usuario inserte declaraciones de comentario entre los rdenes JCL para clarificar la funcin de los rdenes JCL. La forma general de la sentencia de C5E-7 es: //
comentario
Sentenc,a de 'rabajo La sentencia ;ob nombra un ;ob( pro"ee la informacin de accounting( y pro"ee las opciones $ue afectan el proceso del ;ob. //Jobna+e JO- (.)userna+e'ME(nnn )NO'. // CLASSaMS&LE1EL(nn)MS&CLASS2 a'$%!Naaaa, // RESTART=PASO40 a representa un "alor alfanum
-ombre de ;ob El primer car!cter debe ser alfab( ?( y @. 3ara "er la salida por 7*5 es necesario incluir el userid en el ;obname. Informacin de accounting //122222 J5A +,(B -6EL C55 B En este e;emplo( los dos par!metros de posicin son separados por una coma. El primer par!metro( (.)( permite $ue el sistema determine la informacin de accounting del usuario $ue se loge al 7*5. +la informacin de accounting se coloca siempre como el primer par!metro despu
El par!metro de clase se utiliza para agrupar ;obs similares segn re$uerimientos de tiempo y cinta o necesidades de recurso de la impresora. *ubstituya a por una de las opciones siguientes.
5pciones de la par!metro CL** C ningn l9mite +restringidos al uso de la produccin del I**, D menos de un minuto sin m!s de un monta;e de cinta +restringido al uso del desarrollo del I**, 6 menor o igual a un minuto con un m!ximo de tres monta;es de cinta +a la "ez, disponible menor o igual a cinco minutos con un m!ximo de tres monta;es de cinta +a la "ez, 7 disponible sin ningn l9mite de tiempo con un m!ximo de tres monta;es de cinta +a la "ez, disponibles Actual,8ar
3ar!metro 7IE *e "e mas adelante en la sentencia EXEC 3ar!metro -57IF NO'.
El par!metro de la notificacin especifica a $ui
El par!metro del ni"el de mensa;e controla la impresin de los mensa;es de alocacin y de JCL. *ubstituya el primer subpar!metro posicional( n( por una de las opciones del subparámetro del JCL. *ubstituya el segundo subpar!metro posicional( n( por una de las opciones del subparámetro de la alocación 5pciones del subpar!metro de JCL %. 7odo el JCL pro"isto por el usuario y el JCL usado en procedimientos catalogados e;ecutados( ser!n impresos. ). +de:ault, solamente el JCL pro"isto por el usuario ser! impreso. 5pciones del subpar!metro de la alocacin %. +de:ault, no se imprime ningn mensa;e de la asignacin a menos $ue el traba;o termine anormalmente. ). *e imprimen todos los mensa;es de la alocacin y de la desalocacin de los data set
3ar!metro de clase de mensa;e *6CL** MS&CLASSa
El par!metro de clase de mensa;e se utiliza para especificar el formato de la salida. lgunas clases de mensa;e especial especifican formatos de la impresora laser. *e definen en este mdulo en la seccin titulada los datasets del SSO!'. *ubstituya a por una de las opciones siguientes. 5pciones de clase de mensa;e 1na salida ser! impresa en la impresora de impacto o en cual$uier otra impresora dependiendo del destino de la impresin especificada. 6 La salida ser! retenida ba;o 7*5 para poderla escanear antes de ser lanzado a la impresin a tra"
Este par!metro es opcional. *i usted elige incluirlo en su sentencia de ;ob( substituya el aaaa por una de las opciones siguientes 5pciones del par!metro 7F3E41*OLD El traba;o no se programa para procesar =asta $ue se lanza. SCAN El JCL ser! explorado para determinar si la sintaxis es correcta. La nica salida ser! el JCL y cual$uier mensa;e de error $ue sur;a. El proceso real del traba;o no ser! comenzado =asta $ue el traba;o se resubmita sin la opcin de la exploracin. 3ar!metro 4E*747 %ES'A%'nombre de stepname
*e debe indicar el nombre de stepname +"er sentencia EXEC, del paso a partir del cual se $uiere e;ecutar E;emplo de la sentencia J5A //SAM$LE;< JO- (.)=5A%EN A# *OL'='ME(0>) // CLASS"'$%!N*OLDMS&LE1EL("")NO'.
El nombre de traba;o es SAM$LE;<# La informacin de accounting es pro"ista autom!ticamente desde el userid de 7*5 por el uso del asterisco. El username es 5A%EN A# *OL'. *e incluyen apstrofes por$ue contiene espacios y un punto. El par!metro del tiempo solicita $ue el tiempo de transformacin m!ximo asignado a este traba;o sea de cinco segundos. *e utiliza el par!metro de clase % por$ue no =ay monta;es de la cinta y la asignacin m!xima del tiempo para la clase % es de cinco segundos. El par!metro 7F341- y la peticin del designador de cambio ;< re$uiere $ue este ;ob sea retenido =asta el principio del segundo cambio +&: 3..,. El par!metro *6LEEL solicita $ue todos los mensa;es del JCL y de la asignacin est
El par!metro 7IE solicita $ue el tiempo de e;ecucin m!ximo asignado a este ;ob sea dos minutos. *e utiliza el par!metro CL**0 por$ue no =ay monta;es de la cinta y no =ay l9mite de tiempo para la clase . El par!metro 7F3E41- re$uiere $ue este JCL realice la bs$ueda de errores.
Sentenc,a E6EC 1na sentencia EXEC se utiliza para in"ocar el JCL en un procedimiento catalogado o para in"ocar un programa espec9fico +load module,. Los procedimientos catalogados contienen JCL a ser utilizados por muc=os usuarios# los procedimientos catalogados residen en *F*%.345C)LIA. 1na sentencia EXEC es la primera sentencia en un paso de un ;ob# un ;ob puede tener pasos mltiples y por lo tanto mltiples sentencias EXEC. El formato para una sentencia de EXEC es: //S'E$NAME E6EC $&MnombrepgmCOND(nu+ero cond,c,?n @aso###) // $A%M 4alor4%E&ON n5 'ME(+s)
*tepname Especifica el nombre del paso. Es enteramente opcional# sin embargo( en un traba;o de mltiples pasos( es con"eniente especificar un Stepname nica para cada paso. El nombre debe ser % a M caracteres comenzando con una letra.
EXEC Identifica la sentencia como una sentencia EXEC. 36 *i no se especifica el par!metro 36 el nombre $ue figura a continuacin de EXEC es el nombre de un procedimiento catalogado C5-D Especifica la condicin+s, para e;ecutar procesos subsecuentes. Cada nmero se compara contra el cdigo de retorno de un paso anterior( y s, cualBu,er co+@arac,?n es :alsa se saltea el @aso. 1n m!ximo de oc=o comparaciones se permite. número
Es un nmero $ue se compara contra el cdigo de retorno de un paso anterior. condición
3ueden ser EN +igual,( -E +no igual,( 6E +mayor o igual $ue,( LE +menor o igual $ue,( 67 +mayor $ue,( o L7 +menor $ue,. paso
Es el nombre de un Stepname espec9fico del cual se testea el cdigo de retorno# s, se o+,te el no+bre del @aso se ealua en el test el c?d,go de retorno de @aso ,n+ed,ato anter,or# C?d,gos de cond,c,?n +s co+unes
Los cdigos de condicin m!s comunes son: -o se detect ningn error o ad"ertencia O 3osible error detectado +ad"ertencia, pero la e;ecucin es posible. M Error serio detectado( probable falla. %) Error se"ero detectado( es imposible su e;ecucin. %& Error terminal( la e;ecucin no puede continuar. 34 Especifica la informacin de control $ue se pasar! a un proceso( donde el Pvalor P puede contener m!s de una expresin separada por comas.
4E6IQEspecifica la memoria para un proceso particular# n es un mltiplo de &O. Esta regin no debe ser mayor $ue la regin total del traba;o. 7IE Especifica el tiempo m!ximo de C31 $ue el proceso utilizar!# m es minutos +de a 2, y s es segundos +de a &,. El tiempo no debe ser mayor o igual $ue el tiempo total del ;ob. E;emplos: Esta sentencia e;ecuta un programa llamado IEA6E-E4 //EXEC 360IEA6E-E4 Esto e;ecuta un procedimiento catalogado para el **. //EXEC ** El ;ob siguiente contiene dos pasos. El primer paso e;ecuta el procedimiento catalogado 547CL $ue compila un programa 5474- y lo linRedita creando un load module. El segundo paso e;ecuta el procedimiento catalogado 5476( el cual corre la compilacin y linRedicin del programa almacenado en 1*E4.5-E ba;o el nombre de 7E*7. 1sando par!metros con palabra cla"e en *7E3%( usted puede especificar $ue el load module 7E*7 debe ser almacenada en una load library llamada 1*E4.5-E. La load library es un dataset particionado. En *7E3)( el load module 7E*7 $ue reside en la biblioteca load library 1*E4.5-E ser! e;ecutado. El cdigo de condicin de la par!metro =ace $ue este @aso sea salteado s, el c?d,go de cond,c,?n de cualBu,er @aso anter,or es +aor Bue #
//*7E3% EXEC 547CL(3D*0P1*E4.5-EP(-E07E*7 //*7E3) EXEC 5476(3D*0P1*E4.5-EP(-E07E*7( // C5-D0+M(LE, La sentencia siguiente compila y linRedita un programa 5474- llamado 7S5 y lo almacena en una load library llamada 1*E4.7S5.L5D. La .L inmediatamente despu
// EXEC 547CL(3D*0P1*E4.7S5.L5DP(-E07S5( // C5-D.L0P+O(L7(*7E3X,P
La sentencia siguiente e;ecuta un programa llamado 451-D( y solicita un espacio de %)M para el *7E3% del ;ob. //*7E3% EXEC 360451-D(4E6I5-0%)M La sentencia siguiente e;ecuta la compilacin de L65LS y limita el proceso a T minutos y a segundos de tiempo de la C31. //*7E3% EXEC L65LS(7IE0+T( , El par!metro del 7IE se puede utilizar en mltiples pasos del ;ob. 5tros E;emplos //S'E$"
E6EC DCAMS
El stepname es *7E3%. El procedimiento IDC* es e;ecutado por este paso del ;ob //CO$
E6EC 'A$ECO$'A$EN'"<3F>'A$EO!''GH90
El stepname es C53F El procedimiento 73EC53F es e;ecutado por este paso del ;ob. Los par!metros despu
Sentenc,a de De:,n,c,?n de Datos (DD) La sentencia de DD describe un dataset( solicita la alocacin de recursos de entrada y salida( y proporciona informacin para la recuperacin y el almacena;e de datos. El formato de una sentencia de DD puede ser uno de los siguientes: //ddname DD //ddname DD D7(DL0 xx //ddname DD D1F //ddname DD *F*5170+class,,forms, //ddname DD DSNdataset.name // DC-(-L5S7EbDENd L%ECLn%ECMr '%'C*t ) // DS$(current-status,normal-disposition,abnormal-disposition ) // LA-EL( ile,label-t!pe,,processing-t!pe) // S$ACE(t!pe( primar!,secondar!,director!-bloc"s)%LSE) // !N'de#ice // 1OLSE%name //stepname#ddna+e DD dsname
Los programas tales como 5474-( C5A5L( etc. re$uieren a "eces un prefi;o para la identificacin adicional. El nombre de DD entonces ser9a precedido por el nombre del calificador( de Stepname( y de un punto. nombre de DD
Identifica la sentencia de DD. *u "alor es determinado por el programa $ue est! siendo e;ecutado +**6-,. DD Identifica la sentencia como una sentencia de definicin de datos( $ue le siguen datos inmediatamente. Especifica $ue a continuacin se especificar!n los datos de entrada# ningn par!metro con palabra cla"e puede seguir. Los datos no pueden contener ningn registro $ue comience con // o /. Los datos $ue siguen a esta sentencia ingresan en el paso de la compilacin. //C.*F*I- DD D7 Especifica $ue a continuacin se especificar!n los datos de entrada# par!metros de palabra cla"e pueden seguir al par!metro posicional D7. Los datos pueden contener los registros $ue comienzan con //( pero ninguno $ue comience con /. DL Cambia el delimitador del JCL / a un "alor especificado =asta $ue esos caracteres sean encontrados en las columnas % y )# el delimitador es luego reseteado a /. xx
3ueden ser cual$uiera de dos letras( nmeros( o los caracteres nacionales +@ ? >,. 1sted debe poner estos ) caracteres como la ltima l9nea de su input para este arc=i"o. La sentencia siguiente indica $ue le siguen datos inmediatamente. El par!metro de DL informa al sistema $ue / es reemplazado por como indicador de fin de la entrada de datos# el delimitador in"ierte / =asta encontrar un en las posiciones % y ) de un registro con datos. //*F*I- DD D7(DL0 D1F Especifica $ue si el arc=i"o es un arc=i"o de salida( la salida debe ser desec=ada. *i el arc=i"o es un fic=ero de entrada( especifica $ue est! "ac9o.
*F*517 Especifica la disposicin de un dataset de salida. E;emplos del *F*517: *F*5170 especifica la impresora standard. *F*5170+( %, especifica el papel es fondo blanco *F*570 El output "a a ser impreso utilizando el default Clases de salida para impresoras laser and X DuplexDrilled C *implexDrilled D Duplex-on Drilled E *implex-on Drilled Duplex5t=er & *implex5t=er Du@leI imprime en ambos lados del papel. S,+@leI imprime en la parte delantera del papel. Dr,lled perfora tres agu;eros en el lado iz$uierdo +retrato, o arriba +apaisado, del
papel. No dr,lled indica $ue no se perforar! ningunos agu;eros. Oter indica $ue se est! solicitando un mane;o especial. 1na
sentencia de mensa;e JE*) se debe utilizar para informar al operador cmo mane;ar la salida D*dataset.name especifica el nombre de un dataset $ue "a a ser utilizado.
DCA Escribe el dataset. AL*IUE Especifica el nmero de bytes +caracteres, por blo$ue( donde b es un múltiplo del L4ECL. DEEspecifica la densidad de la cinta +%& A3I o &)T A3I,( donde d es para %& A3I y O para &)T A3I. *i se omite la DE-0 d ( el default para escribir en el primer arc=i"o de una cinta es DE-0O +&)T A3I,. L4ECL Especifica la longitud del registro lgico+n, para los arc=i"os de longitud fi;a o "ariable# omitir L4ECL para los arc=i"os de longitud indefinida. 4EC Especifica el formato de registro. Los "alores comunes para r son 1( para los arc=i"os de longitud indefinida( o A( para los arc=i"os de longitud "ariable o
"ariable blo$ueados( o A( para los arc=i"os de longitud fi;a o fi;o blo$ueados( y ( A( o A( para los arc=i"os fi;os( fi;o blo$ueados( o "ariable blo$ueados con un car!cter de control de impresora como el primer byte de datos. 747C8 3or default( las cintas de cartuc=o son escritas en formato comprimido. *i usted necesita crear una cinta de cartuc=o noVcomprimida debe especificar 747C80-5C53. Esto es aplicable solamente a las cintas de cartuc=o y no a las cintas del carrete. DI*3 Especifica el estado actual de un data set e indica la disposicin del dataset al finalizar un paso de un J5A. current-status estado actual!
3uede ser -ES para un dataset $ue deba ser creado en ese momento( 5LD para un dataset $ue existe pre"iamente y el actual proceso lo re$uiere utilizar de manera exclusi"a( *84 para un dataset $ue existe pre"iamente y se pueda compartir por m!s de un ;ob( y 5D para un dataset $ue existe y debe ser modificado agregando sobre el final del dataset +re$uiere uso exclusi"o del data set,. Estado Actual
/O/! EI,ste !so $re,a+enteEIclus,o
-ES 5LD *84 5D
5 I/5/1 I/5/1 5/1
-o *i *i *i
VV *i -o *i
Obserac,ones
grega registros al final
Cu!l es el defaultHH normal-disposition
Especifica la disposicin del dataset despu
DELE7E EE3 3** C7L6 1-C7L6
*uprime el dataset Conser"a el dataset *e conser"a el dataset para un paso posterior *e conser"a el dataset y se crea o act. una entrada en el cat!logo *e conser"a el dataset y se remue"e la entrada en el cat!logo
Estado Actual
,nal,8ac,?n Nor+al @or De:ault
-ES 5D( 5LD( *84
DELE7E EE3
abnormal-disposition
Especifica la disposicin del dataset para los traba;os $ue terminan anormalmente. Los "alores para la disposición anormal son iguales $ue la disposición normal a menos $ue 3** no sea permitido. El default de disposición anormal es el "alor de la disposición normal . DELE7E el data set se suprime en este proceso. EE3 el dataset se mantiene intacto. C7L6 el dataset es mantenido y se crea o actualiza una entrada en el cat!logo 1-C7L6 el data set es mantenida y es remo"ida la entrada en el cat!logo. $ara arc,os O/! ,nal,8ac,?n Obserac,ones Anor+al
DELE7E EE3 3** C7L6 1-C7L6
*uprime el dataset Conser"a el dataset *e conser"a el dataset para un paso posterior *e conser"a el dataset y se crea o act. una entrada en el cat!logo *e conser"a el dataset y se remue"e la entrada en el cat!logo
Estado Actual
-ES 5D( 5LD( *84
,nal,8ac,?n Anor+al @or De:ault
DELE7E EE3
LAEL Especifica el nmero de arc=i"o y el tipo de rtulo para un data set de cinta. dem!s( el par!metro LAEL puede tambi
Especifica un nmero $ue describe la posicin del dataset relati"o a otros datasets de la cinta. eti#ueta-tipo
Incluye el *L para los rtulos est!ndar de IA( el L para los rtulos del est!ndar -*I( -L cuando no existen rtulos( y AL3 para baipasear el procesamiento de los rtulos. procesamiento-tipo
3uede ser I- u 517. I- especifica $ue un dataset debe ser procesado como input solamente. 517 especifica $ue un dataset debe ser procesado como output solamente. *3CE Especifica el espacio de disco para un dataset. tipo
Es la unidad en $ue se mide el espacio y puede ser CFL +cilindros,( 74 +pistas,( o bytes por blo$ue. primario
Es la cantidad de espacio $ue se asignar! inicialmente para el dataset. secundario
Es la cantidad de espacio adicional $ue se reser"ar! si la asignacin primaria no es suficiente. La cantidad especificada por secundario ser! agregada a la cantidad especificada por el primario =asta $uince "eces si es $ue =ay suficiente espacio en el "olumen. 3or e;emplo( *3CE0+74( +T( %,, re$uiere un m!ximo de TW%T+%,0%TT pistas para un dataset secuencial. $lo#ue-de-directorio Es el nK+ero de los bloBues de d,rector,o Bue se ut,l,8arn en un data set @art,c,onado ($DS) $lo#ue-de-directorio se omite para un dataset secuencial. !na buena regla es es@ec,:,car un bloBue de d,rector,o @ara cada se,s +,e+bros en un $DS#
El par!metro del 4L*E libera cual$uier espacio no usado despu
En un ;ob $ue cuenta con mltiples pasos donde una cinta "a a ser accedida en "arios de dic=os pasos( usted debe utilizar el formato siguiente: 5L0+(4E7I-(*E40name, El par!metro de la 4E7I- e"ita desmontar una cinta $ue deba ser nue"amente montada en un paso posterior. E;emplo de sentencias de definicin de datos //&O#SSN
DD DSN!"9999A#$%O&%AM#DA'ADS$S*%2 /-
Esta sentencia de definicin de datos informa al sistema operati"o $ue los datos de entrada de *F*I- est!n situados en un data set catalogado 1%2222.34564.D7 y el data set pueden ser accedidos por otros ;obs. +el par!metro DI*3 es el nico par!metro re$uerido para un dataset catalogado( prealocado., El Calificador 65. Nue precede el nombre de DD *F*I- indica $ue esta sentencia de definicin de datos es utilizada en un paso de ;ob con el stepname 65. //O!'$!' DD SSO!'(A 90<")
Esta sentencia de definicin de datos especifica $ue los datos definidos ba;o el nombre O!'$!' son dirigidos a la impresora laser Los datos ser!n impresos en la forma 90<" +M %/) Kx el %%K( paisa;e( %) caracteres por l9nea( papel de barra negra,. CL** A especifica $ue los datos est>)) // DC-(L%ECL0-L5S7E90F0%ECM-)
El nombre de la sentencia de definicin de datos es NEDA'A. El nombre del dataset es !99999A#NEDA'A#CN'L. El par!metro DI*3 manda al sistema operati"o para crear un nue"o dataset y catalogarlo. El par!metro 1-I7 especifica $ue el dataset est< situado en uno de los discos del sistema.
El par!metro *3CE especifica $ue cinco pistas iniciales de espacio de disco estLA-EL>
El nombre de la sentencia de definicin de datos es SS!'<. Este nombre de DD es re$uerido a "eces por los programas utilitarios de IA tales como IEA6E-E4. El nombre del dataset es !99999A#OLDDA'A#CN'L. El par!metro DI*3 comunica al sistema operati"o $ue este dataset ya existe y $ue "a a ser retenido luego de $ue finalice este paso del ;ob. El par!metro 1-I7 indica $ue el dataset est! situado en una cinta de cartuc=o. El par!metro 5L indica $ue el nmero de serie de "olumen de la cinta es C%)OT. El par!metro LAEL indica $ue el dataset es el $uinto dataset en la cinta. Declarac,ones de DD Es@ec,ales
J5ALIA DD Define una librer9a pri"ada $ue es la primera $ue se accede para buscar un programa especificado en el EXEC 36 0 pro%rama. *e coloca inmediatamente despu
ste es un e;emplo de una sentencia de definicin de datos $ue crea un dataset particionado cuyo nombre es 1*E4.3456.LIA. //-ES-E DD D*-01*E4.3456.LIA(DI*30+-ES(C7L6(DELE7E,( // 1-I70*F*D(DCA0+AL*IUE0&)(L4ECL0M(4EC0A,( // *3CE0+CFL(+%(%(%,(4L*E, El par!metro del DI*3 especifica $ue el dataset en nue"o +-ES,( se cataloga si la terminacin del ;ob es satisfactoria y se borra si tiene un final anormal. 1-I70*F*D indica $ue este dataset debe ser creado en disco. Los par!metros del DCA describen las caracter9sticas del dataset. El comando *3CE especifica % cilindro de espacio primario( % cilindro de espacio secundario( y % blo$ue de directorio. El 4L*E libera cual$uier espacio no utilizado.
Sentenc,a /. La sentencia / significa fin de datos *i se omite( cual$uier sentencia $ue comience con // se toma como fin de datos
Sentenc,a // La sentencia // significa el final de un J5A.