Pgm de traitement (appel APIs et Affichage)

BoTTom |
     FDSPDBID CF  E                    WORKSTN
     F                                        RF    KSFILE FSFL
     F                                        RZ    KSFILE ZSFL
     F                                        RR    KSFILE RSFL
     E                    RC      4   4  1
     E                    RT      1   4 20
      * ENTETE USER SPACE
     IRTVINF      DS
     I                                    B   1   40FIN
     I                                    B   5   80TAILLE
     I                                    B   9  120NBPOST
     I                                    B  13  160LGPOST
      * DECLARATION DE VARIABLES BINAIRES
     IBINDS       DS
     I                                    B   1   40DEBUT
     I                                    B   5   80LG
     I                                    B   9  120LGRCV
     I I            0                     B  13  160CODER
      * DEFINITION D'UN FORMAT
     ILISTR       DS
     I                                        1  10 FMTDB
     I                                       11  23 FMTID
     I                                       24  24 RESRV
     I                                    B  25  280RCDLEN
     I                                    B  29  320NBRFLD
     I                                       33  77 FTXT
      * DEFINITION D'UNE ZONE
     ILIST        DS
     I                                        1  10 ZONE
     I                                       11  11 TYPE
     I                                       12  12 USAGE
     I                                    B  13  160OUTBUF
     I                                    B  17  200INPBUF
     I                                    B  21  240BLG
     I                                    B  25  280DIGITS
     I                                    B  29  320DECPOS
     I                                       33  82 DESCR
     I                                       83  84 EDTCDE
     I                                    B  85  880EDTLEN
     I                                       89 152 EDTWRD
     I                                      153 172 COLHD1
     I                                      173 192 COLHD2
     I                                      193 212 COLHD3
     ILISTDB      DS


|
     I                                       21  30 WHREFI
     I                                       31  40 WHRELI
     I                                       41  41 WHTYP
     I                                    B  45  480WHJREF
     IFICLIB      DS
     I                                        1  10 FICQ
     I                                       11  20 LIBQ
     IDAT7        DS
     I                                        1   70DATS
     IDSLG        DS
     I                                        1   30ZLG
     I                                        4   4 VIR
     I                                        5   50ZDEC
     I              '£££££FMT  QTEMP'     C         FMTCT
     I              '£££££FLD  QTEMP'     C         FLDCT
     I              '£££££DBR  QTEMP'     C         DBRCT
      *
      * DEBUT DU PGM
      *
     C           *ENTRY    PLIST
     C                     PARM           FIC
     C                     PARM           LIB
     C                     PARM           TXT
     C                     PARM           DAT7
     C                     PARM           CDE
     C                     MOVE FIC       FICQ
     C                     MOVE LIB       LIBQ
     C           DAT7      IFEQ *BLANK
     C                     Z-ADD0         DATS
     C                     ENDIF
      * REMPLISSAGE DU USER SPACE VIA API "LISTE DES FMTS".
     C                     CALL 'QUSLRCD'
     C                     PARM FMTCT     USRSPC 20
     C                     PARM 'RCDL0100'FMT     8
     C                     PARM           FICLIB
     C                     PARM '0'       OVRDBF  1
      * 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           NBPOST    IFGT 0
     C                     Z-ADD0         RF      40
     C                     MOVE *OFF      *IN30
     C                     MOVE *OFF      *IN31
     C                     WRITEFCTL
     C                     MOVE *ON       *IN31
     C           FIN       ADD  1         DEBUT            1ER POSITION
      *
      * BOUCLE SUR NOMBRE DE POSTES EXTRAITS (NBR DE ZONES)
      *
     C                     DO   NBPOST
      * EXTRACTION D'UN POSTE PAR API QUSRTVUS (-> DONNE INFOS SUR UNE ZONE)
     C                     CALL 'QUSRTVUS'
     C                     PARM           USRSPC
     C                     PARM           DEBUT
     C                     PARM 77        LG
     C                     PARM           LISTR
      * ECRITURE DANS SOUS FICHIER
     C                     ADD  1         RF
     C                     WRITEFSFL
      * POSITIONNEMENT SUR PROCHAIN POSTE
     C                     ADD  LGPOST    DEBUT
     C                     ENDDO
     C                     ENDIF
     C           RF        IFGT 0
     C                     MOVE *ON       *IN30
     C                     WRITEGENERAL
     C           *IN03     DOUEQ*ON
     C                     EXFMTFCTL
     C           *IN11     IFEQ *ON
     C                     EXSR LSTR
     C                     ELSE
     C                     READCFSFL                     90
     C           *IN90     DOWEQ*OFF
     C           OPTION    IFEQ '1'
     C                     EXSR LSTZ
     C                     MOVE ' '       OPTION
     C                     UPDATFSFL
     C                     ENDIF
     C                     READCFSFL                     90
     C                     ENDDO
     C                     ENDIF
     C                     ENDDO
     C                     ENDIF


|
     C                     MOVE *ON       *INLR
      *
      * SOUS PROGRAMME "LISTE DES ZONES"
      *
     C           LSTZ      BEGSR
     C           DEJAZ     IFEQ ' '
     C                     MOVE 'O'       DEJAZ   1
      * REMPLISSAGE DU USER SPACE VIA API "LISTE DES ZONES".
     C                     CALL 'QUSLFLD'
     C                     PARM FLDCT     USRSPC
     C                     PARM 'FLDL0100'FMT     8
     C                     PARM           FICLIB
     C                     PARM           FMTDB  10
     C                     PARM '0'       OVRDBF  1
      * 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           NBPOST    IFGT 0
     C                     Z-ADD0         RZ      40
     C                     MOVE *OFF      *IN40
     C                     MOVE *OFF      *IN41
     C                     WRITEZCTL
     C                     MOVE *ON       *IN41
     C           FIN       ADD  1         DEBUT            1ER POSITION
      *
      * BOUCLE SUR NOMBRE DE POSTES EXTRAITS (NBR DE ZONES)
      *
     C                     DO   NBPOST
      * EXTRACTION D'UN POSTE PAR API QUSRTVUS (-> DONNE INFOS SUR UNE ZONE)
     C                     CALL 'QUSRTVUS'
     C                     PARM           USRSPC
     C                     PARM           DEBUT
     C                     PARM 212       LG
     C                     PARM           LIST
      * ECRITURE DANS SOUS FICHIER
     C           DIGITS    IFNE 0
     C                     Z-ADDDIGITS    ZLG
     C                     MOVE ','       VIR
     C                     Z-ADDDECPOS    ZDEC


|
     C                     ELSE
     C                     MOVE '    '    DSLG
     C                     Z-ADDBLG       ZLG
     C                     ENDIF
     C                     ADD  1         RZ
     C                     WRITEZSFL
      * POSITIONNEMENT SUR PROCHAIN POSTE
     C                     ADD  LGPOST    DEBUT
     C                     ENDDO
     C                     ENDIF
     C                     ENDIF
     C           RZ        IFGT 0
     C                     MOVE *ON       *IN40
     C                     ENDIF
     C                     EXFMTZCTL
     C                     ENDSR
      *
      * SOUS PROGRAMME "LISTE DES RELATIONS B DE D"
      *
     C           LSTR      BEGSR
     C           DEJAR     IFEQ ' '
     C                     MOVE 'O'       DEJAR   1
     C                     Z-ADD0         RR      40
     C                     MOVE *OFF      *IN50
     C                     MOVE *OFF      *IN51
     C                     WRITERCTL
     C                     MOVE *ON       *IN51
      *
      * REMPLISSAGE DU USER SPACE VIA API "LISTE DES RELATIONS DB"
     C                     CALL 'QDBLDBR'              96
     C                     PARM DBRCT     USRSPC
     C                     PARM 'DBRL0100'FMT     8
     C                     PARM           FICLIB
     C                     PARM '*ALL'    DBRM   10
     C                     PARM '*ALL'    DBRF   10
     C                     PARM           CODER
     C           *IN96     IFEQ *ON
     C                     Z-ADD0         NBPOST
     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           FIN       ADD  1         DEBUT            1ER POSITION
     C                     ENDIF
      *
      * BOUCLE SUR NOMBRE DE POSTES EXTRAITS (NBR DE ZONES)
      *
     C                     DO   NBPOST
      * EXTRACTION D'UN POSTE PAR API QUSRTVUS (-> DONNE INFOS SUR UNE ZONE)
     C                     CALL 'QUSRTVUS'
     C                     PARM           USRSPC
     C                     PARM           DEBUT
     C                     PARM 48        LG
     C                     PARM           LISTDB
      * ECRITURE DANS SOUS FICHIER
     C                     Z-ADDWHJREF    WHJR
     C                     ADD  1         RR
     C                     WRITERSFL
      * POSITIONNEMENT SUR PROCHAIN POSTE
     C                     ADD  LGPOST    DEBUT
     C                     ENDDO
     C                     ENDIF
     C           RR        IFGT 0
     C                     MOVE *ON       *IN50
     C                     ENDIF
      * AFFICHAGE
     C           *IN12     DOUEQ*ON
     C                     EXFMTRCTL
     C           *IN12     IFEQ *OFF
     C                     READCRSFL                     91
     C           *IN91     DOWEQ*OFF
     C           OPTR      IFNE ' '
     C           'DSPFD'   CAT  WHRELI:1  FDCMD  80 P
     C                     CAT  '/':0     FDCMD
     C                     CAT  WHREFI:0  FDCMD
     C                     Z-ADD1         RX      20
     C           OPTR      LOKUPRC,RX                    93
     C           *IN93     IFEQ *ON
     C                     MOVELRT,RX     RTYPE  20
     C                     CAT  RTYPE:1   FDCMD
     C                     ENDIF
     C                     CALL 'QCMDEXC'              92
     C                     PARM           FDCMD


|
     C                     PARM 80        FDCMDL 155
     C                     UPDATRSFL
     C                     ENDIF
     C                     READCRSFL                     91
     C                     ENDDO
     C                     ENDIF
     C                     ENDDO
     C                     ENDSR
**
KSJ5
**
TYPE(*ACCPTH)
TYPE(*SELECT)
TYPE(*JOIN)
 




©AF400