PGM PARM(&CMD &FULLOBJ &OBJTYPE &RESTE)
DCL VAR(&CMD) TYPE(*CHAR) LEN(10) /* Contient le +
nom de la cde éxécutée */
DCL VAR(&FULLOBJ) TYPE(*CHAR) LEN(20) /* Objet + +
bibli */
DCL VAR(&OBJTYPE) TYPE(*CHAR) LEN(10) /* Type de +
l'objet */
DCL VAR(&RESTE) TYPE(*CHAR) LEN(20) +
VALUE(' NEWOWN(xxxxxxxxxx)') /* Reste de +
la commande à renvoyer au systeme */
DCL VAR(&BIN) TYPE(*CHAR) LEN(2) VALUE(X'0014') +
/* LG en binaire (20) de &RESTE */
DCL VAR(&OBJ) TYPE(*CHAR) LEN(10)
DCL VAR(&LIB) TYPE(*CHAR) LEN(10)
DCL VAR(&OWN) 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))
RTVOBJD OBJ(&LIB/&OBJ) OBJTYPE(&OBJTYPE) OWNER(&OWN)
CHGVAR VAR(&RESTE) VALUE(&BIN !! 'NEWOWN(' !! &OWN +
!! ')')
RETURN /* FIN NORMALE DU PGM */
 
/* 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
|