
|
Création d'une commande CHGxxx avec programme de substitution d'invite + BUT: Seul les paramètres permettant d'acceder à l'information sont affichés par le système dans un premier temps. (ces paramètres sont indiqués avec PARMKEY(*YES) ) + PUIS appel par le système du POP (Prompt Override Program) |
Modifier propio d'un objet (EDTOBJOWN) Indiquez vos choix, puis appuyez sur Entrée. Objet . . . . . . . . . . . . . OBJ ########## Bibliotheque . . . . . . . . . *LIBL Type d'objet . . . . . . . . . . OBJTYPE ########## Fin F3=Exit F4=Invite F5=Réafficher F12=Annuler F13=Mode d'emploi invite F24=Autres touches |
Modifier propio d'un objet (EDTOBJOWN) Indiquez vos choix, puis appuyez sur Entrée. Objet . . . . . . . . . . . . . OBJ ESSAI Bibliotheque . . . . . . . . . QGPL Type d'objet . . . . . . . . . . OBJTYPE *DTAARA Fin F3=Exit F4=Invite F5=Réafficher F12=Annuler F13=Mode d'emploi invite F24=Autres touches |
Modifier propio d'un objet (EDTOBJOWN) Indiquez vos choix, puis appuyez sur Entrée. Objet . . . . . . . . . . . . . OBJ > ESSAI Bibliotheque . . . . . . . . . > QGPL Type d'objet . . . . . . . . . . OBJTYPE > *DTAARA Nouveau proriétaire . . . . . . NEWOWN QSECOFR Fin F3=Exit F4=Invite F5=Réafficher F12=Annuler F13=Mode d'emploi invite F24=Autres touches |
CMD PROMPT('Modifier propio d''un objet')
/******************************************************************/
/* PARAMETRES DE LA COMMANDE */
/* OBJ ET OBJTYPE SONT DES PARAMETRES CLES */
/* NEWOWN DOIT être RENVOYE AVEC LE NOM DU PROPRIO PAR LE "POP" */
/******************************************************************/
PARM KWD(OBJ) TYPE(Q1) MIN(0) KEYPARM(*YES) +
PROMPT('Objet')
PARM KWD(OBJTYPE) TYPE(*CHAR) LEN(10) RSTD(*YES) +
VALUES(*LIB *FILE *PGM *DTAARA) MIN(1) +
KEYPARM(*YES) PROMPT('Type d''objet')
PARM KWD(NEWOWN) TYPE(*NAME) MIN(1) +
PROMPT('Nouveau proriétaire')
/******************************************************************/
/* QUALIFICATEURS DU PARAMETRE OBJ */
/******************************************************************/
Q1: QUAL TYPE(*NAME) MIN(1)
QUAL TYPE(*NAME) DFT(*LIBL) SPCVAL((*LIBL)) +
PROMPT('Bibliotheque')
|
P O P
PGM PARM(&CMD &FULLOBJ &OBJTYPE &RESTE)
DCL VAR(&CMD) TYPE(*CHAR) LEN(10) /* Contient le +
nom de la cde exé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 système */
DCL VAR(&BIN) TYPE(*CHAR) LEN(2) VALUE(X'0014') +
/* LG en binaire (20) de &RESTE */
/* devant être renvoyée par le POP au système */
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 */
|
P O P 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
|
C P P 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) |
/* RENVOI DES MESSAGES DE TYPE *COMP SI FIN NORMALE */ |