
|
FSTRDBGE CF E WORKSTN
F CLE KSFILE SFL
I 'Liste des trx actifs'C CTX
I 'STRSRVJOB JOB(' C SRV
I 'STRCPYSCN SRCDEV(' C SCN1
I ') OUTDEV(*REQUESTER)'C SCN2
I '?SNDBRKMSG TOMSGQ(' C SND
I '?STRDBG PGM(' C DBG1
I ') UPDPROD(' C DBG2
I '?STRSEU SRCFILE(' C SEU1
I ') SRCMBR(*PRV' C SEU2
I ') OPTION(5)' C SEU3
I '?CHGJOB JOB(' C CHG
I 'ENDJOB JOB(' C END1
I ') OPTION(*IMMED)' C END2
I 'WRKJOB JOB(' C WRK
I UDS
I 1 4 UPD
I 5 14 PGM
I 15 24 SRC
I SDS
I 244 253 DSJOB
I 254 263 DSUSR
I 264 269 DSNBR
IRTVINF DS
I B 1 40FIN
I B 5 80TAILLE
I B 9 120NBJOB
I B 13 160LGPOST
IERRDS DS
I B 1 40LGDS
I B 5 80LGERR
I 9 15 MSGID
I 16 16 RESERV
IBINDS DS
I B 1 40DEBUT
I B 5 80LG
IUSRDS DS
I I 'USRJOB' 1 10 SPCNAM
I I 'QTEMP' 11 20 SPCLIB
I 1 20 USRSPC
I I 'JOBL0100' 21 28 USRFMT
IINPUT DS
I 1 26 QJOBI
|
I I '*ALL' 1 10 JOBNMI I I '*ALL' 11 20 USRNMI I I '*ALL' 21 26 JOBNOI I I '*ACTIVE' 27 36 STATI IHEADER DS I 1 26 QJOBH I 1 10 JOBNMH I 11 20 USRNMH I 21 26 JOBNOH ILIST DS I 1 26 QJOBL I 1 10 JOBNML I 11 20 USRNML I 21 26 JOBNOL I 27 42 IJOBID I 43 52 STATL * C MOVE 'INI1' TRAIT 4 C *IN03 DOUEQ*ON C TRAIT CASEQ'INI1' SP001 C TRAIT CASEQ'CHG1' SP002 C TRAIT CASEQ'AFF1' SP003 C TRAIT CASEQ'TRT1' SP004 C ENDCS C ENDDO C* C MOVE *ON *INLR C* C*---------------------------------------------------------------* C* * C* DEBUT DES SOUS PROGRAMME * C* * C*---------------------------------------------------------------* C SP001 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 * * CREATION USER SPACE PAR API QUSCRTUS $USR1 * * C CALL 'QUSCRTUS' |
C PARM USRSPC C PARM 'LSTJOB' TYPE 10 C PARM 2048 TAILLE C PARM ' ' INT 10 C PARM '*USE' AUT 10 C PARM CTX TXT 50 * * REMPLISSAGE USER SPACE PAR API QUSLSPL $USR2 * C CALL 'QUSLJOB' C PARM USRSPC C PARM USRFMT C PARM QJOBI C PARM STATI * * EXTRACTION DES INFOS (POSITION DE DEBUT ET NOMBRE DE POSTES) * $USR3 C CALL 'QUSRTVUS' C PARM USRSPC C PARM 125 DEBUT C PARM 16 LG C PARM RTVINF * * INITIALISATION DU SOUS FICHIER * C MOVE '1' *IN30 C WRITECTL C MOVE '0' *IN30 C Z-ADD0 CLE 30 C MOVE ' ' OPT01 * C NBJOB IFGT 0 C MOVE 'CHG1' TRAIT C ELSE C MOVE 'AFF1' TRAIT C ENDIF * C ENDSR * * CHARGEMENT * C SP002 BEGSR C Z-ADDLGPOST LG C FIN ADD 1 DEBUT 1ER POSITION |
* * BOUCLE SUR NOMBRE DE MEMBRES EXTRAITS * C DO NBJOB * EXTRACTION D'UN POSTE PAR API QUSRTVUS C CALL 'QUSRTVUS' C PARM USRSPC C PARM DEBUT C PARM LG C PARM LIST * ECRITURE DU POSTE DANS SOUS FICHIER C USRNML IFNE 'QSYS' C ADD 1 CLE C* SI TRAVAIL DE LA SESSION C JOBNML IFEQ DSJOB C USRNML ANDEQDSUSR C JOBNOL ANDEQDSNBR C MOVE *ON *IN55 C ENDIF C* SERVICE DE MAINTENANCE C CLE IFEQ CLEDBG C MOVE 'SRV' DEBUG C ENDIF C WRITESFL C MOVE *OFF *IN55 C ENDIF * POSITIONNEMENT SUR PROCHAIN POSTE C ADD LG DEBUT C ENDDO * SOUS FICHIER CHARGE ==> AFFICHAGE C MOVE 'AFF1' TRAIT C ENDSR * * AFFICHAGE ECRAN SOUS FICHIER $AFF1 * C SP003 BEGSR * C CLE IFGT 0 C MOVE '1' *IN31 C ELSE C MOVE '0' *IN31 C ENDIF * C WRITECDE |
C EXFMTCTL * C *IN03 IFEQ '0' C *IN05 IFEQ '1' C MOVE 'INI1' TRAIT C ELSE C MOVE 'TRT1' TRAIT C ENDIF C* AUTRES TOUCHES C *IN24 IFEQ '1' C *IN56 IFEQ '1' C MOVE *OFF *IN56 C ELSE C MOVE *ON *IN56 C ENDIF C ENDIF C ENDIF C ENDSR * * TRAITEMENT DU SOUS FICHIER $AFF1 * C SP004 BEGSR * C MOVE 'AFF1' TRAIT * * TOUCHE DE FONCTION * I01 C *IN09 IFEQ '1' C CALL 'QUSCMDLN' X01 C ELSE C MOVE *BLANK CMD S02 C SELEC C *IN06 WHEQ '1' C DBG1 CAT PGM:0 CMD C CMD CAT DBG2:0 CMD C CMD CAT UPD:0 CMD C CMD CAT ')':0 CMD C MOVEL'?STRDBG' CMD C *IN07 WHEQ '1' C MOVEL'?ADDBKP' CMD C *IN08 WHEQ '1' C MOVEL'?ADDTRC' CMD C *IN13 WHEQ '1' C MOVEL'ENDDBG' CMD |
C *IN15 WHEQ '1' C SEU1 CAT SEU2:0 CMD C CMD CAT SEU3:0 CMD C *IN18 WHEQ '1' C MOVEL'ENSRVJOB'CMD C CLEDBG CHAINSFL 91 C *IN91 IFEQ *OFF C MOVE ' ' DEBUG C UPDATSFL C ENDIF C Z-ADD0 CLEDBG 30 C OTHER C* PAS DE TOUCHE DE FONCTIONS C READCSFL 98 F03 C *IN98 IFEQ '0' C MOVE *BLANK CMD C MOVE 'TRT1' TRAIT S04 C SELEC C* Démarrage du télémiroir C OPT01 WHEQ '1' C SCN1 CAT JOBNML:0 CMD C CMD CAT SCN2:0 CMD C* Démarrage du service travail C OPT01 WHEQ '8' C SRV CAT JOBNOL:0 CMD C CMD CAT '/':0 CMD C CMD CAT USRNML:0 CMD C CMD CAT '/':0 CMD C CMD CAT JOBNML:0 CMD C CMD CAT ')':0 CMD C MOVE 'SRV' DEBUG C UPDATSFL C Z-ADDCLE CLEDBG 30 C* modifier le travail C OPT01 WHEQ '2' C CHG CAT JOBNOL:0 CMD C CMD CAT '/':0 CMD C CMD CAT USRNML:0 CMD C CMD CAT '/':0 CMD C CMD CAT JOBNML:0 CMD C CMD CAT ')':0 CMD C* Arrêter le travail C OPT01 WHEQ '4' C END1 CAT JOBNOL:0 CMD |
C CMD CAT '/':0 CMD C CMD CAT USRNML:0 CMD C CMD CAT '/':0 CMD C CMD CAT JOBNML:0 CMD C CMD CAT END2:0 CMD C* Gérer le travail C OPT01 WHEQ '5' C WRK CAT JOBNOL:0 CMD C CMD CAT '/':0 CMD C CMD CAT USRNML:0 CMD C CMD CAT '/':0 CMD C CMD CAT JOBNML:0 CMD C CMD CAT ')':0 CMD c* Envoi d'un message C OPT01 WHEQ '3' C SND CAT JOBNML:0 CMD C CMD CAT ')':0 CMD D04 C ENDSL C CLE CHAINSFL 90 C MOVE ' ' OPT01 C UPDATSFL C ELSE C MOVE 'AFF1' TRAIT D03 C ENDIF D02 C ENDSL C* execution de la commande I02 C CMD IFNE *BLANK C CALL 'QCMDEXC' 99 C PARM CMD 100 C PARM 100 LEN 155 F02 C ENDIF C* F01 C ENDIF C ENDSR * |