Les ordres d'entrée/sortie en RPG/400

BoTTom |    Changer de couleur
               Les ordres d'entrée/sortie en RPG/400
 
LECTURE:
 
FMT C        CL0N01N02N03Factor1+++OpcdeFactor2+++ResultLenDHHiLoEqComments+++++
                                   READ Fichier   (DS)      N  xxyy
                                        Format
 
lecture séquentielle d'un fichier.
 
Si facteur 2 contient un nom de fichier en interne vous pouvez indiquer
   un nom de DATA STRUCTURE (pour placer l'enregistrement).
Si facteur 2 contient un nom de fichier externe,l'enregistrement suivant
   sera lu (quelque soit son format)
Si facteur 2 contient un nom de format, l'enregistrement suivant AYANT LE
   FORMAT demandé sera lu.
 
N en position 53 demande une lecture sans verrouillage (UPDAT impossible)
 
xx = ON en cas d'erreur d'entrée/sortie
yy = ON en fin de fichier
 


|    Changer de couleur
 
FMT C        CL0N01N02N03Factor1+++OpcdeFactor2+++ResultLenDHHiLoEqComments+++++
             C                     READPfichier   (DS)      N  xxyy
                                        Format
 
Même caractéristique que READ,sauf que la lecture est faite en ordre inverse
 (du dernier au premier) et donc yy = début de fichier.
 
FMT C        CL0N01N02N03Factor1+++OpcdeFactor2+++ResultLenDHHiLoEqComments+++++
                         Arg.      CHAINFichier   (DS)      Nzzxx
                                        Format
 
  Accès direct/même caractéristiques pour facteur 2,ZR et N que READ
 
Si le fichier est utilisé sur le rang (sans clé ou non utilisée),
    facteur 1 doit contenir un n° de rang (const. ou zone num. 0 décimales)
 
Si le fichier est utilisé avec clé, facteur 1 doit contenir un argument de
    recherche comparable à la clé du fichier
 
    1/ nom de zone (même si la clé est multiple=recherche sur clé partielle)
    2/ nom de KLIST,pour clé composée


|    Changer de couleur
                                                                            ++++
FMT C        CL0N01N02N03Factor1+++OpcdeFactor2+++ResultLenDHHiLoEqComments+++++
             C           nom       KLIST
                         ^         KFLD           clé1
 à utiliser en --------- !         KFLD           clé2
facteur 1 du CHAIN                 ...
 
Les zones KFLD doivent être comparables une à une avec les clés du fichier
 (même définition, même longueur), le nom n'importe pas.
 
suite du CHAIN
zz = ON si l'enregistrement n'est pas trouvé
      Si plusieurs enregistrements correspondent à l'argument, le premier
      (dans l'ordre des clés) est retourné au programme.
xx = ON en cas d'erreur d'entrée/sortie.
 
FMT C        CL0N01N02N03Factor1+++OpcdeFactor2+++ResultLenDHHiLoEqComments+++++
                         Arg.      SETLLFichier              aabbcc
Positionnement (pas de lecture) sur le premier enregistrement correspondant
 à l'argument de recherche
Si aucun enregistrement ne correspond, positionnement sur le premier enreg.
 ayant une clé supérieure à l'argument.


|    Changer de couleur
 
aa = non positionné (arg. supérieur à la plus grande des clés)
 
bb = erreur E/S
 
cc = positionné par égalité
 
exemple :
                           F1        Codop  F2          >><<==
 ...............           'A1'      SETLLfichier       80  81
 : rang ! clé  :           --> position sur rang 1 (80 = OFF, 81 = ON)
 :  1   ! A1   :
 :  3   ! A2   :           'A3'      SETLLfichier       80  81
 :  2   ! B2   :           --> position sur rang 2 (80 = OFF, 81 = OFF)
 :  5   ! C1   :
 :  6   ! C1   :           'FF'      SETLLfichier       80  81
 :  4   ! D1   :           --> position sur aucun enreg (80 = ON,81 = OFF)
 :.............:
                           'C1'      SETLLfichier       80  81
                           --> position sur rang 5 (80 = OFF, 81 = ON)
 
 


|    Changer de couleur
FMT C        CL0N01N02N03Factor1+++OpcdeFactor2+++ResultLenDHHiLoEqComments+++++
                         Arg.      SETGTFichier              aabb
Positionnement (pas de lecture) sur le premier enregistrement ayant une clé
 supérieure à argument.
(pratique pour lire le dernier enregistrement d'un groupe =SETGT + REDPE)
 
aa = non positionné (arg. supérieur à la plus grande des clés)
 
bb = erreur E/S
 
exemple :                  F1        Codop  F2          >><<==
 ...............           'A1'      SETGTfichier       80
 : rang ! clé  :           --> position sur rang 3 (80 = OFF)
 :  1   ! A1   :
 :  3   ! A2   :           'A3'      SETGTfichier       80
 :  2   ! B2   :           --> position sur rang 2 (80 = OFF)
 :  5   ! C1   :
 :  6   ! C1   :           'FF'      SETGTfichier       80
 :  4   ! D1   :           --> position sur aucun enreg (80 = ON)
 :.............:
                           'C1'      SETGTfichier       80
                           --> position sur rang 4 (80 = OFF)


|    Changer de couleur
 
FMT C        CL0N01N02N03Factor1+++OpcdeFactor2+++ResultLenDHHiLoEqComments+++++
                         Arg.      READEFichier             N  xxyy
 
Lecture séquentielle de l'enregistrement suivant, SI la clé de l'enreg.
 est identique à argument (clé complète ou clé partielle), SINON fin
 de fichier "logique" signalée par yy = ON.
 
FMT C        CL0N01N02N03Factor1+++OpcdeFactor2+++ResultLenDHHiLoEqComments+++++
                         Arg.      REDPEFichier             N  xxyy
 
Idem READE, mais en lecture arrière (yy = "début de fichier")
 
 
FMT C        CL0N01N02N03Factor1+++OpcdeFactor2+++ResultLenDHHiLoEqComments+++++
                                   FEOD Fichier                  yy
 
FERMETURE/OUVERTURE logique du fichier, force l'écriture sur disque des
 opération d'E/S en attente pour ce fichier.
 
Le nombre d'opérations E/S en attente pour ce fichier dépend du facteur
 de groupage. Voir aussi paramètres FRCRATIO sur fichier B de D.


|    Changer de couleur
 
FMT C        CL0N01N02N03Factor1+++OpcdeFactor2+++ResultLenDHHiLoEqComments+++++
                                   POST Fichier   (infds)        yy
 
Force la Màj de l'INFDS (partie I/O feedback area) pour ce fichier
 si une INFDS est déjà associée à ce fichier (via spécif F), le nom de
 l'INFDS en ZR est facultatif.
Par défaut la mise à jour de l'INFDS est réalisée en même temps que le
 transfert PHYSIQUE des données (fonction du facteur de groupage).
 
FMT C        CL0N01N02N03Factor1+++OpcdeFactor2+++ResultLenDHHiLoEqComments+++++
                                   UNLCKFichier                  yy
 
Déverrouille l'enregistrement verrouillé par le programme en cours pour ce
 fichier. Le fichier doit être ouvert en mise à jour (U).
Si aucun enregistrement n'est verrouillé, aucune erreur n'est signalée.
 
FMT C        CL0N01N02N03Factor1+++OpcdeFactor2+++ResultLenDHHiLoEqComments+++++
                         (*NOKEY)  CLEARFormat
Réinitialise une structure de donnée (Format de fichier par exemple)
Si *NOKEY est indiqué en facteur 1, les zones clé de ce fichier NE SONT PAS
 remises à l'état initial.


|    Changer de couleur
 
FMT C        CL0N01N02N03Factor1+++OpcdeFactor2+++ResultLenDHHiLoEqComments+++++
                                   WRITEFormat    (DS)         xxyy
                                        Fichier
Ecriture dans un fichier d'un nouvel enregistrement
Pour les fichiers en interne utiliser Fichier en facteur 2 et un nom de DS
 en zone résultat.
Pour les fichiers en externe, préférer la syntaxe avec nom de format, évitant
les litiges pour les fichiers multi-formats (LF, PRTF, DSPF)
 
FMT C        CL0N01N02N03Factor1+++OpcdeFactor2+++ResultLenDHHiLoEqComments+++++
                                   UPDATFormat    (DS)         xxyy
                                        Fichier
Mise à jour du dernier enregistrement lu (même syntaxe que WRITE)
 
FMT C        CL0N01N02N03Factor1+++OpcdeFactor2+++ResultLenDHHiLoEqComments+++++
                         (arg.)    DELETFormat    (DS)         xxyy
                                        Fichier
Suppression d'un enregistrement (si facteur 1 à blanc = dernier enreg lu)
Si facteur 1 est renseigné = CHAIN + DELET
 
Même syntaxe que WRITE.


|    Changer de couleur
 
FMT C        CL0N01N02N03Factor1+++OpcdeFactor2+++ResultLenDHHiLoEqComments+++++
                                   EXFMTFormat                 xx
 
POUR UN DSPF : lecture puis écriture d'un format.
 
FMT C        CL0N01N02N03Factor1+++OpcdeFactor2+++ResultLenDHHiLoEqComments+++++
                                   READCFormat                 xx
 
POUR UN DSPF : lecture séquentielle des enregistrements MODIFIES d'un format
 d'enregistrement SOUS-FICHIER
 
Il est aussi possible d'accéder à ces enregistrements en accès direct
 avec CHAIN en indiquant en facteur 1, un n° de rang.
 
 
 
et voir COMIT et ROLBK pour les fichiers B de D sous contrôle de validation.
 
 
 
 





©AF400