Abundando en la soluci�n de alocar/desalocar aqu� tienes un CL que submite
un objeto una sola vez (se debe ejecutar siempre el programa desde aqu�, en
caso contrario puedes tener m�s de una instancia del programa ejecurtandose
simult�neamente)
*************** Beginning of data *************************************
PGM PARM(&NAMELIB &NAMEPGM)
DCL VAR(&NAMEPGM) TYPE(*CHAR) LEN(10) /* Name of +
the program to execute */
DCL VAR(&NAMELIB) TYPE(*CHAR) LEN(10) /* Name of +
the library of the program */
DCL VAR(&LIBPGM) TYPE(*CHAR) LEN(21) /* Name of +
the library + the program */
CHGVAR VAR(&LIBPGM) VALUE(&NAMELIB *TCAT '/' *TCAT +
&NAMEPGM) /* Concatenate lib + pgm */
ALCOBJ OBJ((&NAMELIB/&NAMEPGM *PGM *EXCL)) WAIT(0) +
/* First of all we try to allocate the +
program */
MONMSG MSGID(CPF1002 CPF0952 CPF0939 CPA0701 +
CPF1085 CPF0001) EXEC(GOTO +
CMDLBL(THATSALL)) /* The allocate Fails +
-> The program is running -> That's all +
folks */
DLCOBJ OBJ((&NAMELIB/&NAMEPGM *PGM *EXCL)) /* The +
allocate success, so des-allocate */
SBMJOB CMD(CALL PGM(&NAMELIB/&NAMEPGM)) +
JOB(&NAMEPGM) JOBQ(QNECK) LOG(0 30 +
*NOLIST) LOGCLPGM(*NO) INQMSGRPY(*RQD) +
MSGQ(*NONE) /* The program is not running +
and the program is des-allocated, now you +
can run the program. THE FIRST +
INSTRUCTION OF THE PROGRAM MUST BE +
'ALCOBJ MYSELF *PGM *EXCL'*/
MONMSG MSGID(CPD0028 CPD0170) EXEC(GOTO +
CMDLBL(THATSALL)) /* The Program is not +
in the disk -> That's all folks */
THATSALL: ENDPGM
****************** End of data ****************************************
No es necesario desalocar el objeto al salir pues se desaloca el solo.
Este CL ha funcionado durante bastante tiempo sin ning�n problema.
Saludos. Tono
-----Original Message-----
From: Juan Ram�n Garcia [mailto:[EMAIL PROTECTED]
Sent: lunes 24 de febrero de 2003 10:11
To: [EMAIL PROTECTED]
Subject: RE: IF ACTIVE .....
Hola, en el siguiente enlace tienes un art�culo sobre este tema
http://www.recursos-as400.com/wrk400/150999/maquinista.shtml
Un saludo.
Juanra
----- Original Message -----
From: j_losada losada <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Saturday, February 22, 2003 2:34 AM
Subject: IF ACTIVE .....
> Buenas noches foro,
>
> tal vez alguno de la vieja escuela (sist. 36) me pueda ayudar en el
AS/400,
> necesito hacer una CL que haga en si lo que en RPG II se controlaba con un
> IF ACTIVE.
> Es decir, tengo un trabajo (ej.: AAAA) que ha de estar permanente activo,
en
> caso de que falle por alguna causa se ha de arrancar automaticamente con
un
> mandato (ej.: XXXX)
> Esto en RPG II sobre sist. 36 se podia controlar con un procedimiento del
> tipo:
>
> INICIO TAG
> IF ACTIVE AAAA GOTO FIN
> XXXX
> FIN TAG
> GOTO INICIO
>
> Mas o menos,... no se si me explico, pues bien, como lo hariais con una
CL?
>
> Gracias a todos
_____________________________________________________
Forum.HELP400 es un servicio m�s de NEWS/400.
� Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________
Para darte de baja, env�a el mensaje resultante de pulsar
mailto:[EMAIL PROTECTED]
_____________________________________________________
Forum.HELP400 es un servicio m�s de NEWS/400.
� Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________
Para darte de baja, env�a el mensaje resultante de pulsar
mailto:[EMAIL PROTECTED]