Pgm de traitement (renvoi liste des spools)

BoTTom |
      *
      * Ce pgm dialogue avec un pgm sur micro via fichier ICF
      *
      * il recoit le code "DEBUT" OU "SUITE"
      *    --> renvoi la LISTE DES SPOOLS
     H
     FSPLICF  CF  E                    WORKSTN
     F                                              KNUM        1
     F                                              KINFDS FEEDBK
     F                                              KINFSR EXCPTH
     IFEEDBK      DS
     I                                       38  45 FMTNM
     I                                      401 404 MAJMIN
     I                                      401 402 MAJCOD
     I                                      403 404 MINCOD
     IPAGA        DS
     I                                        1   50PAGDEC
      * QUSLSPL ******************************************************
     ILIST        DS
     I                                       51  66 JOBID
     I                                       67  82 SPLFID
      * QUSRSPLA *****************************************************
     IRCVVAR      DS
     I                                    B   1   40BYTRTN
     I                                    B   5   80BYTVAL
     I                                       67  76 NOM
     I                                       91 100 USRDTA
     I                                      101 110 ETAT
     I                                    B 141 1440PAGEB
     I                                      183 192 OUTQ
      ****************************************************************
      * ENTETE USER SPACE
     IRTVINF      DS
     I                                    B   1   40OFFS
     I                                    B   5   80TAILLE
     I                                    B   9  120NBSPL
     I                                    B  13  160LGPOST
      * DECLARATION DE VARIABLES BINAIRES
     IBINDS       DS
     I                                    B   1   40DEBUT
     I                                    B   5   80LG
     I                                    B   9  120LGRCV
     I I            192                   B  13  160LGVAR
     I I            0                     B  17  200RCVSPN


|
      * QUALIF/ USER SPACE ET CMDE
     IQUALDS      DS
     I I            'SPLAF4'                  1  10 SPCNAM
     I I            'QTEMP'                  11  20 SPCLIB
     I                                        1  20 USRSPC
      * CODE ERREUR API
     IERRDS       DS
     I                                    B   1   40LGDS
     I                                    B   5   80LGERR
     I                                        9  15 MSGID
     I                                       16  16 RESERV
     C* DEBUT DU PGM                                                  *
     C           'SPLDEV'  ACQ  SPLICF
     c* lecture du fichier ICF (==> reception du code article)
     C                     EXSR CRTUS
     C                     READ CODEF                    88
     C           *IN82     DOWEQ*OFF
     C           *IN66     ANDEQ*OFF
      *
     C           CODE      CASEQ'DEBUT'   INIT
     C                     ENDCS
     C                     EXSR LECTUR
     C                     WRITEENVOIF
      *
     C                     READ CODEF                    88
     C                     ENDDO
     C* END OF JOB                                                    *
     C           'SPLDEV'  REL  SPLICF
     C                     CLOSE*ALL
     C           ARRET     TAG
     C                     EXSR DLTUS
     C                     SETON                         LR
     C                     RETRN
      *
      *
     C* ICF FILE ERROR HANDLER                                        *
     C           EXCPTH    BEGSR
     C           MAJCOD    IFGT '00'
     C                     GOTO ARRET
     C                     ENDIF
     C                     ENDSR
      *
     C           CRTUS     BEGSR
     C                     MOVEL'LISTSPL 'EXT    10


|
     C                     Z-ADD1024      TAILLE
     C                     MOVE ' '       INT    10
     C                     MOVEL'*USE'    AUT    10
     C                     MOVEL' '       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
     C                     ENDSR
     C           INIT      BEGSR
      * REMPLISSAGE DU USER SPACE VIA API
     C                     CALL 'QUSLSPL'              99
     C                     PARM           USRSPC
     C                     PARM 'SPLF0100'FMT     8
     C                     PARM '*CURRENT'PROFIL 10
     C                     PARM '*ALL'    POUTQ  20
     C                     PARM '*ALL'    PFORM  10
     C                     PARM '*ALL'    PUSRD  10
     C           *IN99     IFEQ *ON
     C                     Z-ADD0         NBSPL
     C                     ELSE
      * EXTRACTION DES INFOS D'ENTETE
     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           NBSPL     IFGT 0
     C                     Z-ADDLGPOST    LG
     C           OFFS      ADD  1         DEBUT            1ER POSITION
     C                     ENDIF
     C                     Z-ADD0         NBLU    50
     C                     ENDSR
      *
      * LECTURE D'UN SPOOL


|
      *
     C           LECTUR    BEGSR
     C                     ADD  1         NBLU
     C           NBLU      IFGT NBSPL
     C                     MOVE 'O'       FIN
     C                     ELSE
     C                     MOVE 'N'       FIN
      * 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                     CALL 'QUSRSPLA'             98
     C                     PARM           RCVVAR
     C                     PARM           LGVAR
     C                     PARM 'SPLA0100'FMT
     C                     PARM '*INT'    RCVJOB 26
     C                     PARM           JOBID
     C                     PARM           SPLFID
     C                     PARM '*INT'    RCVSPL 10
     C                     PARM           RCVSPN
      *
     C           *IN98     IFEQ *OFF
     C                     Z-ADDPAGEB     PAGDEC
     C                     ELSE
     C                     MOVEL' *ERR'   NOM
     C                     MOVE *BLANK    PAGA
     C                     MOVE *BLANK    USRDTA
     C                     MOVE *BLANK    ETAT
     C                     MOVE *BLANK    OUTQ
     C                     ENDIF
      *
     C                     ADD  LG        DEBUT
     C                     ENDIF
     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





©AF400