
|
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.               |