Gestion des travaux

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




©AF400