Determina el inicio de un paso de trabajo y el programa o procedimiento catalogado a ejecutar . El máximo de sentencias autorizado para un JOB es de 255
//PASO001 EXEC PGM=NAMEPGM,REGION=10M,
// TIME=(30,00),COND=(0,NE),
// ACCT=(contabili.),DYNAMNBR=10,
// PARM=("DESCRIPCON"),RD=NC,
// ADDRSPC=REAL
Sentencia que indica el programa o procedimiento que se desea ejecutar.
- Parametros Posicionales. Se considera parámetro posicional de la sentencia EXEC la especificación del nombre del programa o procedimiento a ejecutar:
- PGM=Nombre_del_programa. Se aplica cuando el paso deberá ejecutar un programa, asociando el nombre del programa a ejecutar.
- PROC=Se aplica cuando el paso deberá ejecutar un procedimiento, asociando el nombre del procedimiento a ejecutar.
- Parametros de Palabra Clave. A diferencia de los parámetros PROC y PGM que decíamos que había de ser uno de los dos el primero en codificarse en la ficha EXEC los restantes pueden codificarse en cualquier orden (Todos ellos son opcionales):
- ACCT - especifica la información contable relativa al paso, exigida por la instalación.
- ADDRSPC - Especifica si debemos ejecutar el paso en memoria real o virtual
- COND - especifica bajo qué condiciones no se ejecutará el paso.Tiene algunas peculiaridades que no se aplican en la sentencia JOB y son:COND={(0,EQ)(0,EQ,PAS01)}COND={EVENONLY}
ONLY - Solo se ejecuta si alguno de los pasos anteriores finalizase de manera incorrecta.
EVEN - El paso se ha de ejecutar siempre, aunque los anteriores acaben de forma incorrecta - //PRUEBA1 JOB PPPPP,’J.MIR’,MSGCLASS=V,CLASS=C,// NOTIFY=T515214//*//PAS01 EXEC PROC=AAAP000...//PAS02 EXEC PROC=FINMALO,COND=(0,EQ,PAS01),....//PAS03 EXEC PROC=FINMALO,COND=ONLY,...//PAS04 EXEC PROC=SIFIN,COND=EVEN,...
- DPRTY - Determina la prioridad de ejecución del JOB en relación a otros en cola de ejecución. El parámetro consta de dos subparámetros posicionales numéricos, el primero con valores comprendidos entre 0 y 14 y el segundo entre 0 y 15. La prioridad final se obtiene del producto de 16x (valor 1)+(valor 2) //TRAB1 JOB DEPEXT,PUIG,MSGCLASS=V,CLASS=C,NOTIFY=T515214,// DPRTY =(10,5),...SE RECOMIENDA NO UTILIZAR ESTE PARÁMETRO A NO SER POR CAUSAS JUSTIFICADAS Y ACEPTAR LA PRIORIDAD QUE ASIGNA EL JES 2 PARA PRIORIDADES SEGÚN LAS CLASES DE EJECUCIÓN.EL PARÁMETRO PRTY PARA LA FICHA JOB ES EL EQUIVALENTE A ESTE Y SU CODIFICACIÓN ANULA LA DE LA FICHA EXEC.
- DYNAMNBR - éste parámetro está asociado con la alocación dinámica de ficheros y no se debe codificar en otras circunstancias. Alocación dinámica es aquella que efectuamos por medio del programa en ejecución que marca la pauta de qué ficheros debe, o no, coger o crear . Cada fichero a crear será una unidad de asignación al parámetro. Debe de asociarse el paso al parámetro para que el JOB sepa en qué momento debe de reservar recursos para la asignación dinámica de ficheros. El número máximo de ficheros a poder asignar de forma dinámica es de 1635.//TRAB1 JOB DEPEXT,PUIG,MSGCLASS=V,CLASS=C,NOTIFY=T515214//*//PAS01 EXE PGM=AAAP000,DYNAMNBR=10,...
La alocación dinámica suele especificarse en la sentencia EXEC o por medio de una DD (dynam).
Este parámetro tiene equivalencia al de igual nombre para la ficha JOB.(la codificación del parámetro en JOB anula la especificada en EXEC).
- PARM - se utiliza para pasar algun tipo de información al programa que está en proceso. Se pueden pasar como máximo 100 caracteres.
- //TRAB1 JOB DEPEXT,PUIG,MSGCLASS=V,CLASS=C,NOTIFY=T515214//*//PAS01 EXEC PGM=AAAP000,PARM=‘/ &CADENA’CODIFICACIÓN EN PGM PL/I DE RECEPCIÓN DE PARÁMETROS:AAAP000: PROC (PARM) OPTIONS(MAIN)DCL PARM CHAR (100) VAR;DCL 1 WPARM BASED(ADDR(PARM)),3 LONGIT BIN FIXED(15),3 CADENA CHAR(8);
- PERFORM - Grupo de rendimiento al que se aplica al paso PERFORM=numero con valores comprendidos entre 1 y 255. Por defecto asume 1 para pasos de JOB no TSO y 2 para JOBs de TSO//TRAB1 JOB DEPEXT,PUIG,MSGCLASS=V,CLASS=C,// PERFORM=2
- RD - controla las posibilidades de rearranque del paso en el que esta codificado.
- RD=R Rearranque automático combinado con la macro CHKPT
- RD=RNC Rearranque automático a nivel de paso (no de checkpoint)
- RD=NC No se permiten rearranques automáticos
- RD=NR No permite arranque automático, pero se puede tomar checkpoint para el arranque posterior
- REGION - especifica la cantidad de memoria que puede utilizar el paso.En el caso de trabajar con memoria real ADDRSPC=REAL indica el total de memoria a utilizarEn el caso de trabajar con memoria virtual ADDRSPC=VIRT evita el exceso de paginación cuando se codifican valores bajosLa medida se expresa en valor superior a cero en número par y como unidad K(1024 octetos)//TRAB1 JOB DEPEXT,PUIG,MSGCLASS=V,CLASS=C,NOTIFY=T515214//*//PAS01 EXEC PGM=AAAP000,REGION=1024K
- TIME - Especifica el tiempo máximo de CPU(tiempo en que el procesador utiliza recursos) autorizado para la ejecución del paso.TIME=([minutos|),[segundos|)Ambos requieren valores numéricos el primero en rango comprendido entre 1y 1439 y el segundo con valor entre 1 y 59 .Ejemplos TIME=1, TIME=(1,20), TIME=(,40)Time=1440 (24 horas) presupone que no hay limite de CPU para ese JOBPara indicar 15 segundos://TRAB1 JOB DEPEXT,PUIG,MSGCLASS=V,CLASS=C//*//PAS01 EXEC PGM=AAAP000,TIME=(,15)La ausencia de codificación de este parámetro presupone el trabajar con el tiempo limitado por la instalación.
3 comentarios:
Se me olvidó comentar, en el parámetro PARM la utilidad DYNALLOC.
Se usa del siguiente modo:
PARM=('DYNALLOC=(SYSALLDA,32)') --> Cantidad de memoria que se da a la ejecución del paso. Si se queda corto, aumentarla en valores de 8,12,32,64,128, 256 (como las memorias RAM)
Muy bueno el post, pero desearía encontrar ejemplos mas completos y prácticos, en donde estén tanto jcl y cobol, muchas gracias por la info
Hola Jose.
En la sección de "Principiantes Cobol" puedes encontrar ejemplos de jobs que ejecutan programas cobol.
http://www.consultoriocobol.com/2011/01/principiantes-cobol.html
Un saludo!