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 */ |