
|
FCHXCMDD CF E WORKSTN KINFDS INFODS F RANG KSFILE FMTSFL I 'LISTE DES CDES' C CTX I 'Liste en cours..' C MTX I 'Liste terminée ' C MTX2 * RANG DU PREMIER ENREG AFFICHé (==> SFLRCDNBR) IINFODS DS I B 378 3790L2 * ENTETE USER SPACE IRTVINF DS I B 1 40FIN I B 5 80TAILLE I B 9 120NBOBJ I B 13 160LGPOST * DECLARATION DE VARIABLES BINAIRES IBINDS DS I B 1 40DEBUT I B 5 80LG I B 9 120LGRCV * QUALIF/ USER SPACE ET CMDE IQUALDS DS I 1 10 SPCNAM I 11 20 SPCLIB I 1 20 USRSPC I 21 30 CMDE I 31 40 BIBLI I 21 40 CMDQ * DEFINITION D'UN OBJET ILIST DS I 1 10 OBJNAM I 11 20 OBJLIB I 1 20 OBJQ I 21 30 OBJTYP I 42 91 TEXTE I 92 108 FILLER * CODE ERREUR API IERRDS DS I B 1 40LGDS I B 5 80LGERR I 9 15 MSGID I 16 16 RESERV * VAR POUR API ENVOI DE MESSAGE IMSGDS DS I 1 10 MSGF |
I 11 20 MSGL I 1 20 MSGFL I B 21 240LENTXT I B 25 280STACK I B 29 320KEY C *ENTRY PLIST C CMDQ PARM OBJBIB 20 * C CMDE IFEQ *BLANK C MOVEL'*ALL' CMDE C ENDIF C BIBLI IFEQ *BLANK C MOVEL'*USRLIBL'BIBLI C ENDIF C MOVEL'*CMD' OBJTYP * C WRITECDE * ENVOI MESSAGE STATUS "LISTE EN COURS" C Z-ADD16 LGDS C MOVEL'QCPFMSG' MSGF C MOVEL'*LIBL' MSGL C MOVELMTX MSGTXT C CALL 'QMHSNDPM' C PARM 'CPF9898' ID 7 C PARM MSGFL C PARM MSGTXT 50 C PARM 50 LENTXT C PARM '*STATUS' MSGTYP 10 C PARM '*EXT' PGMQ 10 C PARM 0 STACK C PARM KEY C PARM ERRDS * CHARGEMENT SOUS FICHIER C EXSR CHGT * C NBOBJ IFGT 0 * ENVOI MESSAGE STATUS "LISTE TERMINEE" C MOVELMTX2 MSGTXT C CALL 'QMHSNDPM' C PARM 'CPF9898' ID 7 C PARM MSGFL C PARM MSGTXT 50 C PARM 50 LENTXT C PARM '*STATUS' MSGTYP 10 |
C PARM '*EXT' PGMQ 10 C PARM 0 STACK C PARM KEY C PARM ERRDS * C MOVE *ON *IN40 C MOVEL'*' SFLQ * C *IN03 DOUEQ*ON C WRITEERRCTL C EXFMTFMTCTL C *IN03 IFEQ *OFF C Z-ADDL2 LIGNE * REMOVE DES MESSAGES RECUS C CALL 'QMHRMVPM' C PARM '*' PGMQ C PARM 0 STACK C PARM ' ' KEYC 4 C PARM '*OLD' RMVTYP 10 C PARM ERRDS C EXSR TRT C ENDIF C ENDDO C* USER SPACE NON VIDE C ENDIF C MOVE *ON *INLR C EXSR DLTUS * C CHGT BEGSR C MOVEL'CHXCMD' SPCNAM C MOVEL'QTEMP' SPCLIB C MOVEL'LISTFMT 'EXT 10 C Z-ADD1024 TAILLE C MOVE ' ' INT 10 C MOVEL'*USE' AUT 10 C MOVELCTX TXT 50 * dlt du user space si présent dans QTEMP C EXSR DLTUS * CREATION USER SPACE PAR API QUSCRTUS C CALL 'QUSCRTUS' C PARM USRSPC C PARM EXT C PARM TAILLE C PARM INT |
C PARM AUT C PARM TXT * REMPLISSAGE DU USER SPACE VIA API (LISTE DES OBJETS) C CALL 'QUSLOBJ' 99 C PARM USRSPC C PARM 'OBJL0200'FMT 8 C PARM CMDQ C PARM OBJTYP C *IN99 IFEQ *ON C Z-ADD0 NBOBJ C ELSE * EXTRACTION DES INFOS D'ENTETE (POUR RETROUVER DEBUT DE LA LISTE) C Z-ADD125 DEBUT C Z-ADD16 LG C CALL 'QUSRTVUS' C PARM USRSPC C PARM DEBUT C PARM LG C PARM RTVINF C ENDIF C NBOBJ IFGT 0 C Z-ADD0 RANG 40 C MOVEA'00' *IN,30 C WRITEFMTCTL C MOVE *ON *IN30 C Z-ADD1 LIGNE C Z-ADDLGPOST LG C FIN ADD 1 DEBUT 1ER POSITION * * BOUCLE SUR NOMBRE DE MEMBRES EXTRAITS * C DO NBOBJ * EXTRACTION D'UN POSTE PAR API QUSRTVUS (-> DONNE LE NOM ) C CALL 'QUSRTVUS' C PARM USRSPC C PARM DEBUT C PARM LG C PARM LIST C MOVE *ON *IN31 C ADD 1 RANG C WRITEFMTSFL * POSITIONNEMENT SUR PROCHAIN POSTE C ADD LG DEBUT C ENDDO |
* C ENDIF C ENDSR * * C TRT BEGSR C READCFMTSFL 41 C *IN41 DOWEQ*OFF C SELEC C OPT WHEQ '1' C '?' CAT OBJLIB:1 EXEC 256 P C CAT '/':0 EXEC C CAT OBJNAM:0 EXEC C CALL 'QCMDEXC' 97 C PARM EXEC C PARM 256 EXECL 155 C OPT WHEQ '5' C '?' CAT OBJLIB:1 EXEC 256 P C CAT '/':0 EXEC C CAT OBJNAM:0 EXEC C CALL 'QCMDCHK' 97 C PARM EXEC C PARM 256 EXECL 155 C OPT WHEQ '8' C 'DSPCMD' CAT OBJLIB:1 EXEC 256 P C CAT '/':0 EXEC C CAT OBJNAM:0 EXEC C CALL 'QCMDEXC' 97 C PARM EXEC C PARM 256 EXECL 155 C ENDSL C MOVE ' ' OPT C UPDATFMTSFL C READCFMTSFL 41 C ENDDO C ENDSR * C DLTUS BEGSR * DLT DU USER SPACE (Y COMPRIS EN CAS DE PLANTUS) API QUSDLTUS C Z-ADD16 LGDS C CALL 'QUSDLTUS' 99 C PARM USRSPC C PARM ERRDS C ENDSR |
* C *PSSR BEGSR C *IN98 IFEQ *ON C MOVE *ON *INLR C RETRN C ELSE C MOVE *ON *IN98 C EXSR DLTUS * RENVOI LE DERNIER MESSAGE *ESCAPE C CALL 'QMHRSNEM' C PARM ' ' KEYC C PARM ERRDS C ENDIF C ENDSR |