CPP de la commande CHKRLS

BoTTom |
     FCHKRLSD CF  E                    WORKSTN      KINFDS INFODS
     F                                        RANG  KSFILE FMTSFL
     I              'VERIF VERSION'       C         CTX
     I              'Liste en cours..'    C         MTX
     I              'Liste terminée  '    C         MTX2
     I              '? STRSEU'            C         SEU1
     I              '?*OPTION(2)'         C         SEU2
     I              '?*OPTION(5)'         C         SEU5
     I              '??TGTRLS(*PRV)'      C         TGTRLS
     I              'vrm'                 C         MI
     I              'VRM'                 C         MA
      * 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
     I I            273                   B  13  160LGPGMI
      * QUALIF/ USER SPACE ET PGME
     IQUALDS      DS
     I                                        1  10 SPCNAM
     I                                       11  20 SPCLIB
     I                                        1  20 USRSPC
     I                                       21  30 PGME
     I                                       31  40 BIBLI
     I                                       21  40 PGMQUA
      * 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                                       42  66 TEXT1
     I                                       67  91 TEXT2
      * 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
     I****************************************************************
     IRCVVAR      DS
     I                                    B   1   40BYTRTN
     I                                    B   5   80BYTAVA
     I                                        9  18 PGMNAM
     I                                       19  28 PGMLIB
     I                                       29  38 PGMOWN
     I                                       39  48 ATTR
     I                                       49  61 CRTDT
     I                                       50  550DATCRT
     I                                       62  71 SRCFIC
     I                                       72  81 SRCLIB
     I                                       82  91 SRCMBR
     I                                       92 104 SRCUDT
     I                                      105 105 OBSINF
     I                                      106 106 USRPRF
     I                                      107 107 ADPAUT
     I                                      108 108 LOGCMD
     I                                      109 109 ALWRTV
     I                                      268 273 VER
     C           *ENTRY    PLIST
     C                     PARM           RCVBIB 10
     C                     PARM           RCVVER  6
     C                     PARM           RCVOBS  5
      *
     C                     MOVEL'*ALL'    PGME
     C                     MOVELRCVBIB    BIBLI
     C           BIBLI     IFEQ *BLANK
     C                     MOVEL'*USRLIBL'BIBLI
     C                     ENDIF
     C                     MOVEL'*PGM'    OBJTYP


|
     C           MI:MA     XLATERCVVER    RCVVER
      *
     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           *IN31     IFEQ *OFF
     C                     EXFMTRIEN
     C                     ELSE
     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                     ENDIF
     C                     MOVE *ON       *INLR
     C                     EXSR DLTUS
      *
     C           CHGT      BEGSR
     C                     MOVEL'CHKVER'  SPCNAM
     C                     MOVEL'QTEMP'   SPCLIB
     C                     MOVEL'LISTPGM '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
     C                     CALL 'QUSLOBJ'              99
     C                     PARM           USRSPC
     C                     PARM 'OBJL0200'FMT     8
     C                     PARM           PGMQUA
     C                     PARM           OBJTYP
     C           *IN99     IFEQ *ON
     C                     Z-ADD0         NBOBJ


|
     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           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 91        LGDS
     C                     PARM           LIST
      * RECHERCHE INFOS / PGM
     C                     CALL 'QCLRPGMI'
     C                     PARM           RCVVAR
     C                     PARM           LGPGMI
     C                     PARM 'PGMI0100'FMT
     C                     PARM           OBJQ
     C                     PARM           ERRDS
     C                     SELEC
     C           OBSINF    WHEQ 'A'
     C                     MOVEL'*ALL'    OBS       P
     C           OBSINF    WHEQ 'N'
     C                     MOVEL'*NONE'   OBS       P
     C                     OTHER
     C                     MOVELOBSINF    OBS       P
     C                     ENDSL
     C                     MOVE 'O'       LISTER  1


|
      * VERSION CIBLE > À VERSION DEMANDÉE
     C           RCVVER    IFNE '*ANY'
     C           VER       ANDLERCVVER
     C                     MOVE 'N'       LISTER
     C                     ENDIF
     C           RCVOBS    IFNE '*ANY'
     C           OBS       ANDNERCVOBS
     C                     MOVE 'N'       LISTER
     C                     ENDIF
     C           LISTER    IFEQ 'O'
     C                     MOVE *ON       *IN31
     C                     ADD  1         RANG
     C                     WRITEFMTSFL
     C                     ENDIF
      * 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                     MOVE *BLANK    EXEC
     C                     SELEC
     C           OPT       WHEQ '2 '
     C           OPT       OREQ ' 2'
     C           SEU1      CAT  SRCLIB:1  EXEC  256 P
     C                     CAT  '/':0     EXEC
     C                     CAT  SRCFIC:0  EXEC
     C                     CAT  SRCMBR:1  EXEC
     C                     CAT  SEU2:1    EXEC
     C           OPT       WHEQ '5 '
     C           OPT       OREQ ' 5'
     C           SEU1      CAT  SRCLIB:1  EXEC  256 P
     C                     CAT  '/':0     EXEC
     C                     CAT  SRCFIC:0  EXEC
     C                     CAT  SRCMBR:1  EXEC
     C                     CAT  SEU5:1    EXEC
     C           OPT       WHEQ '14'
     C           ATTR      IFEQ 'CLP'
     C                     MOVEL'CRTCLPGM'COMPIL 10 P


|
     C                     ELSE
     C           'CRT'     CAT  ATTR:0    COMPIL    P
     C           'SQL'     SCAN ATTR                     96
     C           *IN96     IFEQ *OFF
     C                     CAT  'PGM':0   COMPIL
     C                     ENDIF
     C                     ENDIF
     C           '?'       CAT  COMPIL:1  EXEC  256 P
     C                     CAT  OBJLIB:1  EXEC
     C                     CAT  '/':0     EXEC
     C                     CAT  OBJNAM:0  EXEC
     C                     CAT  SRCLIB:1  EXEC
     C                     CAT  '/':0     EXEC
     C                     CAT  SRCFIC:0  EXEC
     C                     CAT  SRCMBR:1  EXEC
     C                     CAT  TGTRLS:1  EXEC
     C                     ENDSL
     C           EXEC      IFNE *BLANK
     C                     CALL 'QCMDEXC'              97
     C                     PARM           EXEC
     C                     PARM 256       EXECL  155
     C                     MOVE ' '       OPT
     C                     ENDIF
     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




©AF400