¿ Quieres imprimir esta página ? Volver a la página principal de Recursos iSeries AS400 ¿ Necesitas ayuda ? En pruebas
Recursos iSeries AS400. Compartiendo generamos conocimiento
Novedades en Recursos iSeries AS400
Últimas noticias del iSeries AS400
Recupera Entradas del Scheduler

Categoria : Administración
Autor : Leonardo Villalobos
Título : Recuperar entradas del Scheduler del OS/400

Descripción del truco:
Este programa CLP, utiliza la API Qwclscde , para recuperar las "entradas" del Planificador de Trabajos del OS/400. Entre otras cosas, envia un mensaje, si no existen entradas.
Código en formato texto
Fecha 09-01-2004

/* =================================================================== */ /* Nombre Del Programa: QWCLSCDE */ /* Tipo De Programa: */ /* Nombre Del Autor..: LEONARDO VILLALOBOS */ /* E-mail: */ /* Fecha De Creacion..: */ /* */ /* Proposito............: Recupera Entradas del Scheduler */ /* Para AS/400 */ /* */ /* Sumario Del Programa */ /* ------------------------------------------------------------------*/ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* Revision Del Sumario */ /* ------------------------------------------------------------------*/ /* */ /* */ /* */ /* */ /* ====================================================================*/ PGM /* Variables para Manejo de Errores */ DCL &msgid *CHAR 7 DCL &msgf *CHAR 10 DCL &msgflib *CHAR 10 DCL &msgdta *CHAR 100 /* Variables de Trabajo */ DCL &BytesAv *DEC 5 DCL &Handle *CHAR 16 DCL &Err *CHAR 24 DCL &Err1 *CHAR 24 DCL &Usrspc *CHAR 20 + Value('SCHE QTEMP ') DCL &GenHd *CHAR 140 DCL &Offsetb *CHAR 4 DCL &StrPosb *CHAR 4 DCL &Hdroffb *CHAR 4 DCL &Hdrlenb *CHAR 4 DCL &Hdrinfo *CHAR 26 DCL &Lststs *CHAR 1 DCL &Infosts *CHAR 1 DCL &Jobnam *CHAR 10 DCL &Usrnm *CHAR 10 DCL &Entry *CHAR 6 DCL &Loop *DEC 8 DCL &Elenb *CHAR 4 DCL &Ljobe *CHAR 1156 /* =================================================================== */ /* Ejecuta Rutina de Manejo de Error */ /* =================================================================== */ MONMSG Cpf0000 EXEC(GOTO Error) /* =================================================================== */ /* Elimina El Espacio de Usuario, Si existe */ /* =================================================================== */ CALL Qusdltus Parm(&Usrspc &Err1) MONMSG Cpf0000 /* =================================================================== */ /* Crea El Espacio de Usuario */ /* =================================================================== */ CALL Quscrtus Parm(&Usrspc 'Listscde' + X'00000100' ' ' '*ALL ' 'Sched. Job + List Temp User Space ') /* =================================================================== */ /* Ejecuta la Api para Las Entradas del Planificador de Trabajos */ /* =================================================================== */ Partlist: CALL Qwclscde PARM(&Usrspc 'SCDL0200' + '*ALL ' &handle &Err) /* =================================================================== */ /* Valida si existe un Error en la Ejecuci¢n de la API */ /* =================================================================== */ CHGVAR &BytesAv (%Bin(&Err 5 4)) IF (&BytesAv > 0) DO CHGVAR &Msgid (%Sst(&Err 9 7)) CHGVAR &Msgdta (%Sst(&Err 17 8)) SNDPGMMSG MSGID(&msgid) + MSGF(Qsys/Qcpfmsg) + MSGDTA(&msgdta) + MSGTYPE(*Escape) + TOPGMQ(*PRV) RETURN ENDDO /* =================================================================== */ /* Ejecuta la Api para Recuperar las Entradas */ /* =================================================================== */ CALL Qusrtvus PARM(&Usrspc X'00000001' + X'0000008C' &Genhd) /* =================================================================== */ /* Recupera Informaci¢n de "Status" */ /* =================================================================== */ CHGVAR (&Lststs) (%Sst(&Genhd 104 1)) IF (&Lststs = 'I') (DO) SNDPGMMSG MSGID(CPF9897) + MSGF(QSYS/QCPFMSG) + MSGDTA('Lista Incompleta en el "User Space",' + |>'Visualice las Anotaciones......' + ) + TOPGMQ(*PRV) + MSGTYPE(*ESCAPE) GOTO Alldone ENDDO /* =================================================================== */ /* Recupera # de Ent. desde "Header" */ /* =================================================================== */ CHGVAR &Loop (%Bin(&Genhd 133 4)) /* =================================================================== */ /* Comprueba Si existen Entradas en el Scheduler */ /* =================================================================== */ IF (&Loop = 0) (DO) SNDPGMMSG MSGID(CPF9897) + MSGF(QSYS/QCPFMSG) + MSGDTA('No Existen Entradas el "Scheduler"') + TOPGMQ(*PRV) + MSGTYPE(*ESCAPE) CALL Qusdltus Parm(&Usrspc &Err1) MONMSG Cpf0000 ENDDO /* =================================================================== */ /* Recupera Longitud de la Entrada y el "Offset", Estos Valores se */ /* utilizan para configurar la Posici¢n Inicial */ /* =================================================================== */ CHGVAR &Elenb (%Sst(&Genhd 137 4)) CHGVAR &Offsetb (%Sst(&Genhd 125 4)) CHGVAR (%Bin(&StrPosb)) (%Bin(&Offsetb) + 1) /* =================================================================== */ /* Recuperan "Entradas" del "Scheduler", si Existen */ /* =================================================================== */ Startloop: IF (&Loop = 0) (GOTO PARTCHK) CALL Qusrtvus (&Usrspc &StrPosb &Elenb &Ljobe) CHGVAR (&Infosts) (%Sst(&Ljobe 1 1)) CHGVAR (&jobnam) (%Sst(&Ljobe 2 10)) CHGVAR (&Entry) (%Sst(&Ljobe 12 10)) CHGVAR (&Usrnm) (%Sst(&Ljobe 547 10)) IF (&Infosts *EQ ' ') (DO) CHGVAR (%Bin(&Strposb)) (%Bin(&Strposb) + %Bin(&Elenb)) CHGVAR &Loop (&Loop -1) GOTO Startloop ENDDO RETURN /* =================================================================== */ /* No Existen Entradas en el "Scheduler OS/400" */ /* =================================================================== */ Partchk: IF (&Lststs = 'C') (DO) GOTO Alldone ENDDO CHGVAR &Hdroffb (%Sst(&Genhd 121 4)) CHGVAR &Hdrlenb (%Sst(&Genhd 117 4)) CALL Qusrtvus (&Usrspc &Hdroffb &Hdrlenb &Hdrinfo) CHGVAR &Handle (%Sst(&Hdrinfo 11 16)) GOTO Partlist /* =================================================================== */ /* Rutina de Error */ /* =================================================================== */ Error: RCVMSG MSGTYPE(*Last) + MSGDTA(&msgdta) + MSGID(&msgid) + MSGF(&msgf) + SNDMSGFLIB(&msgflib) /* =================================================================== */ /* Evita un Ciclo */ /* =================================================================== */ MONMSG CPF0000 SNDPGMMSG MSGID(&msgid) + MSGF(&msgflib/&msgf) + MSGDTA(&msgdta) + MSGTYPE(*Escape) /* =================================================================== */ /* Evita un Ciclo */ /* =================================================================== */ MONMSG CPF0000 /* ====================================================================*/ /* Elimina El Espacio de Usuario Temporal que fue Creado */ /* ====================================================================*/ Alldone: CALL Qusdltus PARM(&usrspc &Err) MONMSG Cpf0000 ENDPGM
¿Tienes algún truco que quieras compartir con todos los profesionales de Recursos iSeries AS400?. Envianoslo y si resulta seleccionado te enviaremos un vale de Amazon por valor de 50$

Comentarios de usuarios

Nombre:
Mail:
Comentario:
 

Subir a la parte superior de la web

Symtrax
Dossiers técnicos iSeries y AS400
- Dossier de seguridad
- Alta disponibilidad.
¿Buscas trabajo ?
Inscríbete en nuestra lista laboral y recibirás las ofertas de trabajo en tu buzón de correo electrónico.
Nuestros links preferidos
- Tendencias tecnologías de la información
Expertos en materías relacionadas con las tecnologías de la información, nos dan su punto de vista sobre las tendencias actuales y futuras
- Los últimos anuncios sobre hardware-software para iSeries AS400 realizados por IBM
- Freeware. Software gratuito para el iSeries AS400
- Utilidades para el iSeries AS400 realizadas por profesionales
- Documentos. Trucos e ideas para resolver tus problemas
- Manuales. Los manuales y links más interesantes del iSeries AS400

  Links patrocinados
  •  
  •  

[ Soy nuevo |   Profesionales |   AS qué |   Empresas |    Foros |   Recomiéndanos |    Productos ]
 
Recursos iSeries AS400 es una web de: Poliedric, s.c.p. CIF:G63005011 Urgell 143 1º1ª 08036 - Barcelona - Tel.+34.902.361.344