PGM PARM(&FULLOBJ &OBJTYPE &NEWOWN)
DCL VAR(&FULLOBJ) TYPE(*CHAR) LEN(20) /* Objet + +
bibli */
DCL VAR(&OBJTYPE) TYPE(*CHAR) LEN(10) /* Type de +
l'objet */
DCL VAR(&NEWOWN) TYPE(*CHAR) LEN(10) /* Nouveau +
proprio */
DCL VAR(&OBJ) TYPE(*CHAR) LEN(10)
DCL VAR(&LIB) TYPE(*CHAR) LEN(10)
/* VARIABLES UTILISEES PAR LA GESTION DE MESSGAES */
DCL &MSGID *CHAR LEN(7) /* ID MSG */
DCL &MSGDTA *CHAR LEN(100) /* DATA */
DCL &MSGF *CHAR LEN(10) /* FICHIER */
DCL &MSGFLIB *CHAR LEN(10) /* BIBLI */
MONMSG MSGID(CPF0000) EXEC(GOTO ERREUR)
 
CHGVAR VAR(&OBJ) VALUE(%SST(&FULLOBJ 1 10))
CHGVAR VAR(&LIB) VALUE(%SST(&FULLOBJ 11 10))
CHGOBJOWN OBJ(&LIB/&OBJ) OBJTYPE(&OBJTYPE) +
NEWOWN(&NEWOWN) CUROWNAUT(*REVOKE)
 
/* RENVOI DES MESSAGES DE TYPE *COMP SI FIN NORMALE */
COMPMSG: RCVMSG MSGTYPE(*COMP) MSGDTA(&MSGDTA) MSGID(&MSGID) +
MSGF(&MSGF) MSGFLIB(&MSGFLIB)
IF (&MSGID *EQ ' ') RETURN /* FIN DU PGM */
SNDPGMMSG MSGID(&MSGID) MSGF(&MSGFLIB/&MSGF) +
MSGDTA(&MSGDTA) MSGTYPE(*COMP)
GOTO COMPMSG /* BOUCLE SUR MESSAGES *COMP */
 
/* RENVOI DU MESSAGE D'ERREUR RECU */
ERREUR: RCVMSG MSGTYPE(*EXCP) MSGDTA(&MSGDTA) MSGID(&MSGID) +
MSGF(&MSGF) MSGFLIB(&MSGFLIB)
SNDPGMMSG MSGID(&MSGID) MSGF(&MSGFLIB/&MSGF) +
MSGDTA(&MSGDTA) MSGTYPE(*ESCAPE)
ENDPGM
|