http://www.teknodatips.com.ar Ayuda Visual AS/400 – System i - iSeries Work Management Recorrido de trabajos Copyright 2011 - Teknoda S.A. Todos los derechos reservados 1 Recorrido de un trabajo interactivo QINTER Pools SBS: QINTER USUARIO: TEKM5 Dispositivos pantallas 1 *BASE *ALL 2 *INTERACT *CONS Entradas de Direccionamiento 1 Nro Valor Comp Clase 20 QCMDI Pool Programa 6 TEKM5 MAIN QINTER 2 QCMD INLPGM(*NONE) INLMNU(MAIN) JOBD(QDFTJOBD) *SBSD 2 QDFTJOBD *USRPRF RTGDTA(QCMDI) 3 4 QINTER 5 Pool número 2 de la Descripción del Subsistema (*INTERACT) RUNPTY(20) TIMESLICE(2000) *CLS *JOBD 1) El usuario TEKM5 inicia sesión en una pantalla donde el subsistema QINTER muestra pantalla de signon. El sistema accede al objeto *USRPRF correspondiente para buscar los parámetros Programa Inicial (INLPGM), Menú Inicial (INLMNU) y Descripción de Trabajo (*JOBD) necesarios para el comienzo del nuevo job. 2) El parámetro Descripción de Trabajo (JOBD) permite acceder al objeto de tipo *JOBD que almacena las características requeridas para el job que arranca. Uno de los datos relevantes utilizados en esta instancia es Dato de Direccionamiento (RTGDTA). 3) Con el valor del Dato de Direccionamiento almacenado en la Descripción de Trabajo, se ingresa a la Descripción de Subsistema (*SBSD). Las Entradas de Direccionamiento allí guardadas posibilitan al trabajo conocer la Clase de Procesamiento (*CLS), el Pool y el Programa Inicial asignado a los trabajos que posean ese Dato de Direccionamiento. 4) Accede a la Clase de Procesamiento (*CLS) que el trabajo utilizará, que contiene, entre otros valores, la Prioridad de Ejecución (RUNPTY) y el Time Slice (TIMESLICE). 5) Determina el Pool de Almacenamiento Principal donde se ejecutará el trabajo. Recordar que el valor corresponde a la numeración dentro del subsistema. 6) Ejecuta el programa QCMD. Cuando QCMD está especificado como programa de la entrada de direccionamiento, busca los valores Programa Inicial (INLPGM) y Menú Inicial (INLMNU) del Perfil de Usuario (*USRPRF). En este ejemplo no hay programa y el menú es el MAIN. A partir de aquí, el usuario puede utilizar la línea de comandos. 2 1 Recorrido de un trabajo batch SBMJOB QBATCH CMD(CALL PGMX) 3 JOB(PRUEBA) RTGDTA JOBQ(*JOBD) QCMDB 2 JOBD(*USRPRF) *JOBQ USER(*CURRENT) QBATCH 7 Colas de Trabajos Pools QBATCH 1 *BASE QS36EVOKE RTGDTA(QCMDB) Entradas de Direccionamiento 4 Nro Valor Comp Clase 20 QCMDB Pool Programa TEKM5 QBATCH 1 QCMD 10 JOBD(QDFTJOBD) TRABAJO EN 6 *SBSD 5 QDFTJOBD *USRPRF JOBQ(QBATCH) 8 EJECUCION QBATCH 9 RUNPTY(50) TIMESLICE(5000) *CLS Pool número 1 de la Descripción del Subsistema (*BASE) *JOBD 1) El comando SBMJOB genera en el sistema trabajos batch. Los principales parámetros relacionados con el sometimiento están detallados en el esquema. 2) El parámetro JOBQ indica el nombre de la cola de trabajos donde el trabajo batch será sometido. El valor *JOBD indica que el nombre de la *JOBQ está almacenado dentro de la Descripción de Trabajo. 3) El parámetro JOBD especifica la Descripción de Trabajo que se utilizará en la ejecución de este trabajo batch. El valor *USRPRF especifica que la JOBD debe tomarse del parámetro correspondiente del Perfil de Usuario. 4) El parámetro USER indica bajo que Perfil de Usuario correrá el trabajo batch. Recordar que el nombre del job incluye el del usuario bajo el cual se ejecuta. El valor *CURRENT especifica que el usuario corriente será el “titular” del trabajo batch. 5) Consulta el Perfil de Usuario para conocer el nombre de la JOBD involucrada. 6) Busca en la JOBD el nombre de la Cola de Trabajo en la cual se someterá el job. 7) Si la JOBQ está capturada por un subsistema y el trabajo está en estado RLS, el job batch entra en ejecución. Deben verificarse también los máximos de trabajos arrancados desde la cola de trabajos y los máximos por prioridad. 8) Accede a la Clase de Procesamiento (*CLS) que el trabajo utilizará, que contiene, entre otros valores, la Prioridad de Ejecución (RUNPTY) y el Time Slice (TIMESLICE). 9) Determina el Pool de Almacenamiento Principal donde se ejecutará el trabajo. Recordar que el valor corresponde a la numeración dentro del subsistema. 10)QCMD es el encargado de ejecutar el contenido del parámetro CMD del comando SBMJOB. 3 JOBD asociada a una entrada de WS SUBX SBS: SUBX Dispositivos pantallas 1 Pools DSPXX DSPXX USUARIO:TEKM5 1 *BASE JOBD(LIBX/OTRA) 2 *INTERACT 3 1500Kb Entradas de Direccionamiento 2 Nro Valor Comp Clase 80 CONS Pool Programa 6 OTRA 3 QINTER 2 CONSULTA CONSULTA RTGDTA(CONS) *SBSD 4 QINTER *JOBD 5 Pool número 2 de la Descripción del Subsistema (*INTERACT) RUNPTY(20) TIMESLICE(2000) *CLS 1) Cuando se inicia sesión en un dispositivo tomado por un subsistema, se busca el nombre de la Descripción de Trabajo que se utilizará para el job que se inicia. Si el valor indica *USRPRF, entonces el nombre del objeto de tipo *JOBD será buscado dentro del perfil de usuario que inició la sesión. Si figura el nombre calificado de una Descripción de Trabajo, significa que independientemente del usuario que inicie la sesión, siempre se usará la misma JOBD. 2) Accede a la JOBD para buscar, entre otros valores, el dato de direccionamiento. 3) Ingresa al subsistema. Chequea el dato de direccionamiento tomado desde el objeto JOBD con la columna Valor de Comparación. 4) 5) 6) Utiliza la clase QINTER con prioridad 20 y time slice 2000 milisegundos. Determina el Pool de Almacenamiento Principal donde se ejecutará el trabajo. Recordar que el valor corresponde a la numeración dentro del subsistema. Ejecuta el programa CONSULTA. PANTALLA DEDICADA A LA EJECUCION DEL PROGRAMA CONSULTA, INDEPENDIENTEMENTE DEL USUARIO QUE INICIE SESION. QUE OCURRIRIA SI EL PROGRAMA DE LA ENTRADA DE DIRECCIONAMIENTO FUERA QCMD ? 4 1 Agregado de un nuevo pool SUBn Agregar nuevo pool a la Descripción del Subsistema. Pools Comando CHGSBSD 6 Dispositivos pantallas 1 *BASE 2 1500Kb 1 3 *SHRPOOLn 2 Comando CRTUSRPRF Entradas de Direccionamiento Dimensionar y definir el nivel de actividad del pool Nro Valor Comp Clase 50 NUEVO Pool Crear o cambiar perfiles de usuarios, especificando en el parámetro adicional JOBD, la creada en el paso anterior. Programa USUARIO1 Comando WRKSHRPOOL CLASE30 3 QCMD 3 Crear la clase de procesamiento a utilizar (puede usarse una ya creada). *SBSD 5 Definir prioridad y time slice. Comando CRTCLS CLASE30 RUNPTY(30) TIMESLICE(2000) *CLS JOBD(USERJOBD) 4 Agregar entrada de direccionamiento al subsistema. Definir valor de comparación, clase a utilizar y pool al cual se rutea. Crear una Descripción de Trabajo donde el Dato de Direccionamiento sea el Valor de Comparación ingresado en la entrada de direccionamiento (puede utilizarse una ya creada). Comando ADDRTGE Comando CRTJOBD *USRPRF USERJOBD RTGDTA(NUEVO) *JOBD 5