Nouveaux mots-clés

BoTTom |
 
  Exemple d'utilisation de RTNCSRLOC et SFLCSRRRN.
 
 
  l'exemple sera illustré par le pgm de gestion des liens
 
   cours/exemples dans AF400.
 
  Ce pgm gère un sous fichier :
 
   les premières lignes representent le format de controle
    contenant des zones de saisie pour ajouter un nouvel exemple.
 
   les autres lignes sont le sous fichier contenant les exemples
    existants, modifiables.
 
 
 
 
 
 
 
 AF400              * Gérer les liens cours/exemples *        ^   21/09/93 
  WRKAF4LNK                            ----------   Nom du   !              --- 
              Module : COURS       Cours entreprises         ############## 
               Cours  : £APILIST    API remplissant un user  #            #  
 N°  Membre src   Fichier   Bibliothèque  Texte              # Format de  # 
                                                             #  controle  # 
                                        <------------------- ############## 
  1  QSYLATLO    APIFMTL    AF4SRC      Liste les objets protégés par une AUTL
  2  QSYLAUTU    APIFMTL    AF4SRC      Liste les utilisateurs autorisés
  3  QSYLOBJA    APIFMTL    AF4SRC      Liste les objets possédés ou autorisés à
  4  QSYLOBJP    APIFMTL    AF4SRC      Liste les pgms adoptant un profil
  5  QSYLUSRA    APIFMTL    AF4SRC      Liste des utilisateurs autorisés à un ob
  6  QUSLFLD     APIFMTL    AF4SRC      Liste les zones d'un format de fichier
  7  QUSLJOB     APIFMTL    AF4SRC      Liste les job suivant sélection
  8  QUSLMBR     APIFMTL    AF4SRC      Liste les membres d'un fichier
  9  QUSLOBJ     APIFMTL    AF4SRC      Liste les objets d'un bibliothèque
 10  QUSLRCD     APIFMTL    AF4SRC      Liste les formats d'un fichier
 11  QUSLSPLF    APIFMTL    AF4SRC      Liste infos sur fichiers spools
 12  QWCLSCDE    APIFMTL    AF4SRC      Liste infos sur le planning
                                                                            Fin 
 
 F4 = liste, F12 = Retour, F21 = Ligne de commande. 


|
 AF400              * Gérer les liens cours/exemples *            21/09/93 
  WRKAF4LNK                            ----------   Nom du client    ---------- 
              Module : COURS       Cours entreprises                        
               Cours  : £APILIST    API remplissant un user space (type "lis 
 N°  Membre src   Fichier   Bibliothèque  Texte
 
                                       
  1  QSYLATLO    APIFMTL    AF4SRC      Liste  ^                    r une AUTL
  2  QSYLAUTU    APIFMTL    AF4SRC      Liste  ! ################## isés
  3  QSYLOBJA    APIFMTL    AF4SRC      Liste  ! # format d'      #  autorisés à
  4  QSYLOBJP    APIFMTL    AF4SRC      Liste  ! #                # rofil
  5  QSYLUSRA    APIFMTL    AF4SRC      Liste  ! # enregistrement # isés à un ob
  6  QUSLFLD     APIFMTL    AF4SRC      Liste  ! #                # de fichier
  7  QUSLJOB     APIFMTL    AF4SRC      Liste  ! # du             # ion
  8  QUSLMBR     APIFMTL    AF4SRC      Liste  ! #                # er
  9  QUSLOBJ     APIFMTL    AF4SRC      Liste  ! # sous           # thèque
 10  QUSLRCD     APIFMTL    AF4SRC      Liste  ! #                # er
 11  QUSLSPLF    APIFMTL    AF4SRC      Liste  ! # fichier        # ols
 12  QWCLSCDE    APIFMTL    AF4SRC      Liste  ! ################## 
                                               v                    
                                                                            Fin 
 F4 = liste, F12 = Retour, F21 = Ligne de commande. 
 AF400              * Gérer les liens cours/exemples *            21/09/93 
  WRKAF4LNK                            ----------   Nom du client    ---------- 
              Module : COURS       Cours entreprises                        
               Cours  : £APILIST    API remplissant un user space (type "lis 
 N°  Membre src   Fichier   Bibliothèque  Texte
 
                                               ############################ 
  1  QSYLATLO    APIFMTL    AF4SRC      Liste  #                          # TL
  2  QSYLAUTU    APIFMTL    AF4SRC      Liste  # la première ligne        # 
  3  QSYLOBJA    APIFMTL    AF4SRC      Liste  #  permet d'ajouter un     # és à
  4  QSYLOBJP    APIFMTL    AF4SRC      Liste  #  nouvel exemple.         # 
  5  QSYLUSRA    APIFMTL    AF4SRC      Liste  # les autres lignes de     # n ob
  6  QUSLFLD     APIFMTL    AF4SRC      Liste  #  modifier les exemples   # er
  7  QUSLJOB     APIFMTL    AF4SRC      Liste  #  existants.              # 
  8  QUSLMBR     APIFMTL    AF4SRC      Liste  #                          # 
  9  QUSLOBJ     APIFMTL    AF4SRC      Liste  # Si l'utilisateur appuie  # 
 10  QUSLRCD     APIFMTL    AF4SRC      Liste  #  sur F4 le pgm affiche   # 
 11  QUSLSPLF    APIFMTL    AF4SRC      Liste  #  une liste(objet ou      # 
 12  QWCLSCDE    APIFMTL    AF4SRC      Liste  #  membre suivant curseur) # 
                                               #                          # 
                                               ############################ Fin 
 F4 = liste, F12 = Retour, F21 = Ligne de commande. 


|
 AF400              * Gérer les liens cours/exemples *            21/09/93 
  WRKAF4LNK                            ----------   Nom du client    ---------- 
              Module : COURS       Cours entreprises                        
    ..................................................................... is 
 N° : 21/09/93             * choix d'un membre *       Bib : AF4SRC     : 
    : 1  nom         texte                             Fic : APIFMTL    : 
 13 :   QALRTVA     Renvoi infos sur une alerte                         : 
  1 :   QCDRCMDI    Renvoi infos sur une commande                       : AUTL
  2 :   QCLRPGMI    Renvoi infos sur un programme                       : 
  3 :   QMHRCVM     Recoit un message                  aussi: QMHRCVPM  : isés à
  4 :   QMHRTVM     Renvoi infos sur un message                         : 
  5 : 1 QMHRTVRQ    Renvoi un message de type *RQS                      :  un ob
  6 :   QSPRJOBQ    Renvoi infos sur une JOBQ                           : hier
  7 :   QSPROUTQ    Renvoi infos sur une OUTQ                           : 
  8 :   QSYLATLO    Liste les objets protégés par une AUTL              : 
  9 :   QSYLAUTU    Liste les utilisateurs autorisés                    : 
 10 :                                                       A suivre... : 
 11 :  F3 = Exit                                                        : 
 12 : Liste terminée.                                                   : 
    :...................................................................: 
                                                                            Fin 
 F4 = liste, F12 = Retour, F21 = Ligne de commande. 
 AF400              * Gérer les liens cours/exemples *            21/09/93 
  WRKAF4LNK                            ----------   Nom du client    ---------- 
              Module : COURS       Cours entreprises                        
               Cours  : £APILIST    API remplissant un user space (type "lis 
 N°  Membre src   Fichier   Bibliothèque  Texte
 
  13   QMHRTVRQ    APIFMTL    AF4SRC     
  1  QSYLATLO    APIFMTL    AF4SRC      Liste  ###########################  TL
  2  QSYLAUTU    APIFMTL    AF4SRC      Liste  # l'endroit où renvoyer   # 
  3  QSYLOBJA    APIFMTL    AF4SRC      Liste  # l'information est       #  és à
  4  QSYLOBJP    APIFMTL    AF4SRC      Liste  # fonction du format      # 
  5  QSYLUSRA    APIFMTL    AF4SRC      Liste  # (format de controle     #  n ob
  6  QUSLFLD     APIFMTL    AF4SRC      Liste  #  ou format d'enreg)     #  er
  7  QUSLJOB     APIFMTL    AF4SRC      Liste  # et s'il s'agit du       # 
  8  QUSLMBR     APIFMTL    AF4SRC      Liste  #  format d'enreg,        # 
  9  QUSLOBJ     APIFMTL    AF4SRC      Liste  #  quel enregistrement ?  # 
 10  QUSLRCD     APIFMTL    AF4SRC      Liste  #                         # 
 11  QUSLSPLF    APIFMTL    AF4SRC      Liste  #                         # 
 12  QWCLSCDE    APIFMTL    AF4SRC      Liste  #                         # 
                                               ########################### 
                                                                            Fin 
 F4 = liste, F12 = Retour, F21 = Ligne de commande. 


|
     A*
     A* définition du fichier écran.
     A*
     A          R FMTSFL                    SFL
     A  43                                  SFLNXTCHG
     A            EXNUM     R        B  8  2TEXT('N°')                      NKP-
     A            EXSRCM    R        B  8  6TEXT('Membre')                  LNK-
     A            EXSRCF    R        B  8 18TEXT('Fichier')                 LNK-
     A            EXSRCL    R        B  8 29TEXT('Bibli')                   LNK-
     A            MBRTXT        40A  O  8 41TEXT('texte')
      *
     A          R FMTCTL                    SFLCTL(FMTSFL)
     A                                      CF04(04 'Liste')
     A                                      RTNCSRLOC(&RTNFMT &RTNZON)
     A                                      OVERLAY
     A                                      SFLCSRRRN(&RTNRG)
     A  30                                  SFLDSP
     A  31                                  SFLDSPCTL
     A N31                                  SFLCLR
     A  30                                  SFLEND(*MORE)
     A                                      SFLSIZ(0015)
     A                                      SFLPAG(0014)
     A                                  5  2'constante'                     iot-
     A            NEWNUM         2Y 0B  7  2
     A            NEWMBR        10A  B  7  6
     A            NEWFIC        10A  B  7 18
     A            NEWLIB        10A  B  7 29
     A            AF4MDL    R        O  3 24                                LNK-
     A            AF4MBR    R        O  4 25                                LNK-
     A            MDLTXT    R        O  3 36                                MDL-
     A            MBRTXT        40A  O  4 37
      *
     A            RTNFMT        10   H
     A            RTNZON        10   H
     A            RTNRG          5S 0H
 
 
 
 
 
 
 
 
 


|
     C           TRTSF     BEGSR
      *
      *  TRAITEMENT DE L'ENTETE (FMTCTL) ==> AJOUT D'UN EXEMPLE
      *
     C           *IN04     IFEQ *ON
     C           RTNFMT    ANDEQ'FMTCTL'
      * F4 SUR CE FORMAT
     C           RTNZON    IFEQ 'NEWLIB'
     C           NEWLIB    OREQ *BLANK
     C                     CALL 'CHXOBJ'
     C                     PARM ' '       OBJ    10
     C                     PARM ' '       LIB    10
     C                     PARM '*LIB'    TYP    10
     C                     PARM           RTNLIB 10
     C           RTNLIB    IFNE *BLANK
     C                     MOVE RTNLIB    NEWLIB
     C                     ENDIF
     C                     ENDIF
     C           RTNZON    IFEQ 'NEWFIC'
     C           NEWFIC    OREQ *BLANK
     C                     CALL 'CHXOBJ'
     C                     PARM ' '       OBJ    10
     C                     PARM           NEWLIB 10
     C                     PARM '*FILE'   TYP    10
     C                     PARM           RTNFIC 10
     C           RTNFIC    IFNE *BLANK
     C                     MOVE RTNFIC    NEWFIC
     C                     ENDIF
     C                     ENDIF
     C           RTNZON    IFNE 'NEWLIB'
     C           RTNZON    ANDNE'NEWFIC'
     C                     CALL 'CHXMBR'
     C                     PARM           NEWFIC 10
     C                     PARM           NEWLIB 10
     C                     PARM '*ALL'    MBR    10
     C                     PARM           RTNMBR 10
     C           RTNMBR    IFNE *BLANK
     C                     MOVE RTNMBR    NEWMBR
     C                     ENDIF
     C                     ENDIF
      *
     C                     ELSE
      *
      * ENTREE


|
     C           NEWMBR    IFNE *BLANK
     C           NEWFIC    ANDNE*BLANK
     C           NEWLIB    ANDNE*BLANK
     C                     ...
      * vérification validité du membre et ajout
     C                     WRITExxxxxxF1               45
     C                     Z-ADD0         NEWNUM
     C                     MOVE *BLANK    NEWMBR
     C                     MOVE *BLANK    NEWFIC
     C                     MOVE *BLANK    NEWLIB
     C                     ENDIF
     C                     ENDIF
      *
      * TRAITEMENT DU SOUS FICHIER (SI NON VIDE)
      *
     C           *IN30     IFEQ *ON
      * enregistrements modifiés
     C                     READCFMTSFL                   91
     C           *IN91     DOWEQ*OFF
     C                     .....
     C                     READCFMTSFL                   91
     C                     ENDDO
      * TRAITEMENT F4 SUR SOUS FICHIER
      *
     C           *IN04     IFEQ *ON
     C           RTNFMT    ANDEQ'FMTSFL'
      *
      * ON RECUPERE L'ENREGISTREMENT PAR SFLCSRRRN(&RTNRG)
      * ==> POSITION CURSEUR QUAND L'UTILISATEUR à appuyé sur F4
      *
     C           RTNRG     CHAINFMTSFL               92
     C           *IN92     IFEQ *OFF
     C           RTNZON    IFEQ 'EXSRCL'
     C           EXSRCL    OREQ *BLANK
     C                     CALL 'CHXOBJ'
     C                     PARM ' '       OBJ    10
     C                     PARM ' '       LIB    10
     C                     PARM '*LIB'    TYP    10
     C                     PARM           RTNLIB 10
     C           RTNLIB    IFNE *BLANK
     C                     MOVE RTNLIB    EXSRCL
     C                     MOVE *ON       *IN43
     C                     ENDIF
     C                     ENDIF


|
     C           RTNZON    IFEQ 'EXSRCF'
     C           EXSRCF    OREQ *BLANK
     C                     CALL 'CHXOBJ'
     C                     PARM ' '       OBJ    10
     C                     PARM           EXSRCL 10
     C                     PARM '*FILE'   TYP    10
     C                     PARM           RTNFIC 10
     C           RTNFIC    IFNE *BLANK
     C                     MOVE RTNFIC    EXSRCF
     C                     MOVE *ON       *IN43
     C                     ENDIF
     C                     ENDIF
     C           RTNZON    IFNE 'EXSRCL'
     C           RTNZON    ANDNE'EXSRCF'
     C                     CALL 'CHXMBR'
     C                     PARM           EXSRCF 10
     C                     PARM           EXSRCL 10
     C                     PARM '*ALL'    MBR    10
     C                     PARM           RTNMBR 10
     C           RTNMBR    IFNE *BLANK
     C                     MOVE RTNMBR    EXSRCM
     C                     MOVE *ON       *IN43
     C                     ENDIF
     C                     ENDIF
     C                     UPDATFMTSFL
     C                     ENDIF
     C                     ENDIF
      * FIN SOUS FICHIER NON VIDE
     C                     ENDIF
      *
     C                     ENDSR
 
 
 Les enregistrements ne sont pas modifiés dans la base de donnée suite à F4.
 
  ==> l'indicateur associé au SFLNXTCHG est positionné ON,ce qui fait
         que cet enregistrement sera traité par la prochaine boucle READC.
 
 
 
 
 
 
 





©AF400