Déclaration de fichiers en RPG (spécif F) Col ! INTERNE ! EXTERNE ---------!----------------------------!------------------------------------- 6 ! F ! F 7-14 ! nom du fichier ! nom du fichier externe ! ! 15 ! type d'ouverture ! idem interne ! I input ! ! O output ! ! U update (I+ màj/sup) ! ! C combiné (I + O) ! ! (sert aux écrans sur AS)! ! ! 16 ! type de traitement RPG ! idem interne ! P = primaire (cycle) ! ! S = secondaire ! ! (cycle + concordance)! ! F = Full procédure ! ! (logique libre) ! ! lectures à la charge du pgm! ! T = fichier table. ! |
! ! 17 ! E= fin de fichier ! idem ! anticipée (concordance)! ! ! 18 ! séquence : A ou D ! idem ! (concordance)! ! ! 19 ! format F (interne) ! E (externe) ! ! 20-23 ! lg de block ! BLANC ! inutilisé sur AS ! ! ! 24-27 ! lg des enregs ! BLANC ! ! 28 ! traitement entre limites ! BLANC ! ! 29-30 ! lg de la clé ! BLANC ! ! 31 ! type de clé BLANC = sans ! BLANC = sans clé ! A = car. ! ! P = packéd ! K = avec clé (keyed) ! ! |
! ! 32 ! organisation ! ! BLANC = n° de rang ! BLANC ! I = indexed ! ! ! 33-34 ! indicateur d'overflow ! ! OA-OG,OV ! ! 01 à 99 ! 01 à 99 uniquement ! ! 35-38 ! pos de début de la clé ! ! BLANC= sans clé ! BLANC ! 1-9999 = pos de début ! ! ! 39 ! code extension ! idem ! BLANC pas d'extension ! ! E = une spécif E suit ! ! (pour les fichiers tables) ! ! L = une spécif L suit ! (bien que pour les prtf on ! (pour les fichiers PRINTER)! préfèrera la cde OVRPRTF) ! ! ! ! ! ! |
40-46 ! Unité ! ! ! ! DISK = fichier B de D. ! ! ! ! PRINTER = impression ! ! ! ! WORKSTN = écran ou ICFF ! ! ! 53 ! ligne de continuation ! idem ! (voir spécif F de ! ! continuation) ! ! ! 66 ! Ajout d'enregistrement ! idem ! (pour les fichiers ! ! ouverts en I ou U) ! ! BLANC = non ! ! A = ajout (écriture)! ! ! 71-72 ! ouverture conditionnée ! idem !BLANC = non (ouvert par RPG)! !U1àU8 = ouvert si Ux vrai ! !UC = ouvert par pgm (OPEN) |
Il est possible d'apporter des compléments d'information à une spécif F par l'intermédiaire d'une spécif F de continuation juste en-dessous. Col ! INTERNE ! EXTERNE ---------!----------------------------!------------------------------------- 6 ! F ! F ! ! 53 ! K ! K ! ! 54-59 ! mot-clé de continuation ! idem ---------------------------------------------------------------------------- mot-clé ! signification ! 19-28 ! 47-52 ! 60-67 COMIT ! contrôle de validation ! ! ! ! ! ! ! IGNORE ! ignore un format du fichier !nom-format ! ! ! ! ! ! INFDS ! nom DS contenant les infos ! ! ! nom DS ! fichier (feed-back aréa) ! ! ! (60-65) ! ! ! ! INFSR ! nom d'un sous-programme à ! ! ! nom SR ! appeller en cas d'erreur E/S ! ! ! (60-65) ! ! ! !*PSSR admis |
NUM ! nbr maxi d'unités ! ! ! nombre !(pour gérer plusieurs écrans ! ! ! (60-65) ! avec un seul DSPF) ! ! ! cadré à dr ! ! ! ! PRTCTL ! nom d'une DS contenant indic ! ! ! nom DS ! -ations d'espace et de saut ! ! ! (60-65) ! pour un fichier PRINTER ! ! ! ! ! ! ! RECNO ! nom d'une zone recevant le ! ! ! nom zone ! dernier rang (PF sans clé) ! ! ! (60-65) ! ! ! ! RENAME ! renomme un format pour un !nom-externe! ! nom-pgm ! fichier en externe ! ! ! ! ! ! ! SFILE ! indique la zone contenant ! ! nom-zone ! format SFL ! le n° de rang pour écriture ! ! (0 déc.) ! ! dans un sous-fichier ! ! ! ! (WORKSTN uniquement) ! ! ! ! ! ! ! SLN ! gestion de lignes variables ! ! ! nom zone ! ==> DSPF = SLNO(*VAR) ! ! ! ------------------------------------------------------------------------------ |
Structure de la DS PRTCTL IDSCTL DS * espace avant I 1 1 SPACEB * espace après I 2 2 SPACEA * saut (au n° de ligne) avant I 3 4 SKIPB * saut (au n° de ligne) après I 5 6 SKIPA * n° de ligne actuel (non modifiable) I 7 90NOLIGN |