OVRDBF
Substituer un fichier BD
En bref
La commande OVRDBF (Substituer un fichier base de données) permet de (1) remplacer le fichier désigné dans le programme, (2) remplacer certains paramètres d'un fichier utilisés par le programme, ou (3) remplacer le fichier désigné dans le programme et remplacer certains paramètres du fichier traité.
OVRDBF se lit OVR
(Substituer) + DBF.
Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.
Syntaxe minimale
OVRDBF FILE(…)
Paramètres
-
FILEFichier à substituer obligatoire -
TOFILEFichier BD de substitution -
MBRMembre de substitution -
POSITIONPosition de début -
RCDFMTLCKVerrouillage du format -
FRCRATIONb enreg forcés en écriture -
FMTSLRPgm de sélection de format -
WAITFILETemps d'attente maxi fichier -
WAITRCDTemps d'attente maxi enreg -
REUSEDLTRéutilisation enreg supprimés -
NBRRCDSNombre enreg lus ensemble -
EOFDLYTemps attente sur EOF en sec -
LVLCHKVérification niveau de format -
EXPCHKVérification date péremption -
INHWRTEmpêcher écriture -
SECUREProtection autre substitution -
OVRSCOPEPortée de substitution -
SHAREPartage chemin d'ouverture -
OPNSCOPEPortée d'ouverture -
SEQONLYLimite à séquentiel uniquement -
DSTDTADonnées réparties
Astuce : dans une session 5250, tapez OVRDBF puis F4 pour
l'invite de saisie, et F1 sur un paramètre pour son aide.
Aide IBM i de la commande
Texte du F1, IBM i 7.5 en français
(bibliothèque QSYS)
Où s'exécute : Tous les environnements (*ALL)
Compatible multitâche : Sous conditions
La commande OVRDBF (Substituer un fichier base de données) permet de (1) remplacer le fichier désigné dans le programme, (2) remplacer certains paramètres d'un fichier utilisés par le programme, ou (3) remplacer le fichier désigné dans le programme et remplacer certains paramètres du fichier traité. Les paramètres remplacés par cette commande sont spécifiés dans la description de fichier, dans le programme, ou dans d'autres commandes de substitution de fichiers émises précédemment. Cette commande ne concerne que les fichiers physiques, logiques et DDM.
Pour remplacer un fichier désigné dans le programme, indiquez son nom en regard du paramètre FILE et indiquez le nom du fichier de substitution (qui sera traité par le programme) en regard du paramètre TOFILE. Vous pouvez utiliser les autres paramètres de cette commande pour remplacer les valeurs des paramètres de la description du fichier de substitution.
Pour ne remplacer que certains paramètres du fichier désigné dans le programme, et non la totalité du fichier, indiquez le nom du fichier en regard du paramètre FILE et la valeur *FILE en regard du paramètre TOFILE. Ensuite, utilisez les autres paramètres de la commande pour remplacer des paramètres spécifiques au fichier. Les paramètres qui ne sont pas indiqués n'affectent pas les paramètres indiqués dans la description de fichier, dans le programme ou dans les commandes de substitution de fichier précédemment émises.
Restrictions :
- Dans un travail à unités d'exécution multiples, cette commande ne peut être émise qu'à partir de l'unité d'exécution initiale.
- Dans un travail à unités d'exécution multiples, seules les substitutions de portée Groupe d'activation ou Travail affectent les ouvertures effectuées dans une unité d'exécution secondaire.
Remarque :La substitution n'est pas possible pour toutes les commandes. Vous trouverez la liste des commandes pour lesquelles elle ne peut pas être indiquée dans le manuel Catégorie des fichiers et systèmes de fichiers de l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/.
Remarque :L'émission de cette commande ne provoque pas une substitution immédiate du fichier. Les informations contenues dans la commande sont stockées jusqu'à l'utilisation du fichier, qui est alors remplacé.
Paramètres
| Mot-clé | Description | Valeurs possibles | Remarques |
|---|---|---|---|
| FILE | Fichier à substituer | Nom | Obligatoire, positionnel 1 |
| TOFILE | Fichier BD de substitution | Valeurs uniques: *FILE Autres valeurs: Nom d'objet qualifié |
Facultatif, positionnel 2 |
| Qualificatif 1: Fichier BD de substitution | Nom | ||
| Qualificatif 2: Biblio | Nom, *LIBL, *CURLIB | ||
| MBR | Membre de substitution | Nom, *FIRST, *LAST, *ALL | Facultatif, positionnel 3 |
| POSITION | Position de début | Valeurs uniques: *NONE, *START, *END Autres valeurs: Liste d'éléments |
Facultatif |
| Élément 1: Option de position | *RRN, *KEYB, *KEYBE, *KEY, *KEYAE, *KEYA | ||
| Élément 2: *RRN-rang *KEY-nb zones clés | Entier non signé | ||
| Élément 3: *KEY-format avec clé | Nom | ||
| Élément 4: *KEY-valeur de la clé | Valeur caractère | ||
| RCDFMTLCK | Verrouillage du format | Values (jusqu'à 32 répétitions): Liste d'éléments | Facultatif |
| Élément 1: Format d'enregistrement | Nom | ||
| Élément 2: Etat de verrouillage | *SHRRD, *SHRNUP, *SHRUPD, *EXCLRD, *EXCL | ||
| FRCRATIO | Nb enreg forcés en écriture | Entier, *NONE | Facultatif |
| FMTSLR | Pgm de sélection de format | Nom d'objet qualifié | Facultatif |
| Qualificatif 1: Pgm de sélection de format | Nom | ||
| Qualificatif 2: Biblio | Nom, *LIBL, *CURLIB | ||
| WAITFILE | Temps d'attente maxi fichier | Entier, *IMMED, *CLS | Facultatif |
| WAITRCD | Temps d'attente maxi enreg | Entier, *IMMED, *NOMAX | Facultatif |
| REUSEDLT | Réutilisation enreg supprimés | *NO | Facultatif |
| NBRRCDS | Nombre enreg lus ensemble | Entier | Facultatif |
| EOFDLY | Temps attente sur EOF en sec | 1-99999, *NONE | Facultatif |
| LVLCHK | Vérification niveau de format | *NO | Facultatif |
| EXPCHK | Vérification date péremption | *YES, *NO | Facultatif |
| INHWRT | Empêcher écriture | *YES, *NO | Facultatif |
| SECURE | Protection autre substitution | *NO, *YES | Facultatif |
| OVRSCOPE | Portée de substitution | *ACTGRPDFN, *CALLLVL, *JOB | Facultatif |
| SHARE | Partage chemin d'ouverture | *NO, *YES | Facultatif |
| OPNSCOPE | Portée d'ouverture | *ACTGRPDFN, *JOB | Facultatif |
| SEQONLY | Limite à séquentiel uniquement | Valeurs uniques: *NO Autres valeurs: Liste d'éléments |
Facultatif |
| Élément 1: Séquentiel uniquement | *YES | ||
| Élément 2: Nombre d'enregistrements | Entier, *BUF32KB, *BUF64KB, *BUF128KB, *BUF256KB | ||
| DSTDTA | Données réparties | *BUFFERED, *PROTECTED, *CURRENT | Facultatif |
Fichier à substituer (FILE)
Désigne le fichier auquel s'applique cette commande de substitution. Il doit s'agir d'un fichier base de données si la valeur *FILE est spécifiée au paramètre TOFILE (Fichier BD de substitution). Sinon, n'importe quel nom de fichier d'unité ou de fichier base de données peut être indiqué.
Ce paramètre est obligatoire.
- nom
- Indiquez le nom du fichier.
Fichier BD de substitution (TOFILE)
Indique le fichier base de données utilisé à la place du fichier spécifié au paramètre FILE (Fichier à substituer) ou si *FILE est spécifié, indique que certains attributs seront remplacés par des paramètres précisés dans cette commande. Les valeurs des paramètres de cette commande remplacent celles des paramètres identiques indiqués dans le fichier base de données, le programme ou d'autres commandes OVRDBF émises précédemment.
Valeurs uniques
- *FILE
- Certains paramètres du fichier base de données indiqué au paramètre FILE (Fichier à substituer) sont remplacés par des valeurs de cette commande.
Qualificatif 1 : Fichier BD de substitution
- nom
- Indiquez le nom du fichier base de données de substitution.
Qualificatif 2 : Biblio
- *LIBL
- La recherche porte sur toutes les bibliothèques de la liste des bibliothèques de l'unité d'exécution en cours jusqu'à ce que la première occurrence soit trouvée.
- *CURLIB
- Le fichier base de données est recherché dans la bibliothèque en cours du travail. Si celle-ci n'est pas précisée, QGPL est prise par défaut.
- nom
- Entrez le nom de la bibliothèque contenant le fichier base de données.
Membre de substitution (MBR)
Désigne les membres du fichier base de données. Ce paramètre ne s'applique pas aux fichiers DDM concernant des systèmes éloignés autres que l'AS/400 ou l'IBM 38.
- *FIRST
- Le premier membre du fichier base de données est utilisé.
- *LAST
- Le dernier membre du fichier base de données est utilisé.
- *ALL
- Tous les membres de votre fichier sont traités de façon séquentielle et sont ouverts successivement avec des paramètres de substitution identiques à ceux du premier membre. Seules les substitutions demandées avant l'ouverture du premier membre sont prises en compte. EOFDLY, FMTSLR, INHWRT ainsi que le paramètre POSITION ne peuvent pas être indiqués lorsque MBR(*ALL) a été indiqué dans une commande précédemment émise et dont l'effet est toujours actif pour ce fichier. Un message d'arrêt programme est envoyé si l'un de ces paramètres incompatibles est indiqué.
- nom
- Indiquez le nom du membre devant remplacer (à l'ouverture du fichier) le membre désigné dans le programme ou dans d'autres commandes OVRDBF. Si le membre n'est pas précisé et qu'une valeur différente de *FILE est indiquée au paramètre TOFILE, le premier membre du fichier est utilisé.
Position de début (POSITION)
Désigne, dans le fichier base de données, la position à partir de laquelle doit s'effectuer la lecture des enregistrements. Le premier enregistrement à lire peut être : au début (*START) ou à la fin (*END) du fichier, le énième enregistrement du fichier (*RRN), l'enregistrement indiqué par une valeur de clé ou l'un des enregistrements correspondant aux valeurs de recherche par clé (*KEY, *KEYA, *KEYAE, *KEYB ou *KEYBE). Ce paramètre remplace la valeur indiquée dans le programme ou dans les autres commandes OVRDBF appelées.
Remarque :Ce paramètre ne peut pas être utilisé si la valeur *ALL a été indiquée au paramètre MBR (Membre de substitution).
Valeurs uniques
- *NONE
- Aucune position de départ n'est demandée. La première opération d'entrée-sortie désigne l'enregistrement à lire.
- *START
- La position de départ se situe sur le premier enregistrement du fichier base de données. Si une instruction de lecture de l'enregistrement précédent est indiquée dans le programme, une fin de fichier est détectée.
- *END
- La position de départ se situe sur le dernier enregistrement du fichier. Si l'enregistrement suivant est lu, une fin de fichier est détectée. Si une instruction de lecture de l'enregistrement précédent est spécifiée dans le programme, le dernier enregistrement du fichier est lu.
Elément 1 : Option de position
- *RRN
- La position de début est le numéro relatif d'enregistrement indiqué pour le second élément de ce paramètre.
- *KEYB
- Le premier enregistrement lu est celui qui précède l'enregistrement répondant aux autres critères de recherche (nombre de zones, nom du format d'enregistrement et valeur de la clé).
- *KEYBE
- Le premier enregistrement lu est celui qui répond aux critères de recherche. Si aucun enregistrement ne correspond à ces valeurs, l'enregistrement avec la valeur précédente la plus grande est sélectionné.
- *KEY
- Le premier enregistrement lu est celui qui répond aux critères de recherche. Si une instruction de lecture de l'enregistrement précédent est spécifiée dans le programme, c'est l'enregistrement précédent qui est lu.
- *KEYAE
- Le premier enregistrement lu est celui qui répond aux critères de recherche. Si aucun enregistrement ne correspond à ces valeurs, l'enregistrement avec la valeur suivante la plus grande est sélectionné.
- *KEYA
- Le premier enregistrement lu est celui qui suit l'enregistrement répondant aux critères de recherche (nombre de zones, nom de format d'enregistrement et valeur de la clé).
Elément 2 : *RRN-rang *KEY-nb zones clés
- numéro-relatif-enregistrement
- Indiquez le numéro relatif de l'enregistrement à lire en premier (c'est-à-dire sa position dans le fichier). La valeur *RRN doit être spécifiée pour le premier élément de ce paramètre. Par exemple, POSITION(*RRN 480) indique que la position de départ est située sur l'enregistrement 480 ou sur l'enregistrement 479 si une demande de lecture de l'enregistrement précédent est émise.
- nombre-zones-clés
- Indiquez le nombre de zones clés à utiliser pour la recherche si la valeur *KEYB, *KEYBE, *KEY, *KEYAE ou *KEYA est spécifiée pour le premier élément de ce paramètre. Ce nombre ne doit pas nécessairement être identique au nombre réel de zones dans chaque clé du fichier. Par exemple, si vous indiquez POSITION(*KEY 1 FMT1 A), le premier enregistrement lu est celui dont le nom de format est FMT1 et dont la valeur de la première clé est A. Si vous spécifiez une valeur de clé égale à zéro, la recherche s'effectue sur toutes les zones clés. Dans ce cas, la valeur de clé a la longueur maximum. Sinon, il n'y a pas de correspondance.
Elément 3 : *KEY-format avec clé
- nom
- Indiquez le nom du format d'enregistrement du fichier base de données où se trouve la valeur de clé indiquée. Si aucun format d'enregistrement n'est spécifié, la recherche s'effectuera sur tous les enregistrements afin de trouver celui correspondant aux autres valeurs spécifiées.
Elément 4 : *KEY-valeur de la clé
- valeur-caractère
- Indiquez le premier enregistrement lu. La valeur de clé est indiquée sous forme d'une chaîne de caractères entre apostrophes ou de chiffres décimaux étendus positifs, ou sous forme hexadécimale (x'valeur'). La longueur de cette chaîne ne doit pas dépasser 2000 caractères.
Par exemple, POSITION(*KEY 1 FMT2 X'123F') indique que :
- Le système recherche un enregistrement de format FMT2.
- Une zone clé unique est utilisée dans la recherche (même si la clé peut comporter plusieurs zones).
- L'enregistrement contient la valeur hexadécimale 123F (l'équivalent en hexadécimal de la valeur décimale condensée 123,0). C'est l'enregistrement que vous obtenez.
Le manuel Rubriques Programmation d'une base de données répartie de l'IBM i Information Center (http://www.ibm.com/systems/i/infocenter/) contient davantage d'informations sur l'utilisation du paramètre POSITION en ce qui concerne les fichiers DDM.
Verrouillage du format (RCDFMTLCK)
Indique l'état de verrouillage du format d'enregistrement utilisé par le programme. Cet état indique comment les données associées à chaque format sont verrouillées. L'exemple suivant illustre l'état de verrouillage qui est précisé pour chaque format d'enregistrement et les opérations permises aux autres programmes quand le verrouillage est actif :
Etat de verrouillage Opérations permises autres pgm,
--------------------- -------------------------
*SHRRD (partagé en lecture) Lecture/mise à jour permises
*SHRNUP (partagé en lecture Lecture permise,
sans mise à jour) mise à jour non permise
*SHRUP (partagé en MAJ) Lecture/mise à jour permises
*EXCLRD (exclusif avec Lecture permise,
lecture permise) mise à jour non permise
*EXCL (exclusif) Lecture et mise à jour
non permises
Chaque état de verrouillage est décrit dans le manuel Rubriques CL de la catégorie Programmation de l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/.
Pour chaque format d'enregistrement, indiquez le nom du format suivi d'une valeur de verrouillage. Si le verrouillage précisé dans la commande ALCOBJ (Allouer un objet) est plus restrictif que celui spécifié dans ce paramètre, ce dernier n'est pas pris en compte. Ce paramètre ne peut donc imposer qu'un verrouillage plus restrictif.
Vous pouvez indiquer 32 valeurs pour ce paramètre.
Elément 1 : Format d'enregistrement
- nom
- Indiquez le nom du format d'enregistrement.
Elément 2 : Etat de verrouillage
- état-verrouillage
- Indiquez l'une des valeurs d'état de verrouillage contenues dans le tableau ci-dessus.
Nb enreg forcés en écriture (FRCRATIO)
Indique le nombre d'ajouts, de suppressions ou de mises à jour appliqués à des enregistrements avant que ceux-ci ne soient forcés en mémoire secondaire (permanente). Si ce fichier physique est journalisé, vous devez indiquer soit un nombre élevé, soit la valeur *NONE. Cependant, celle-ci peut ralentir la synchronisation du journal et des fichiers physiques. L'annexe A du manuel Rubriques CL de la catégorie Programmation de l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/ contient davantage d'informations sur ce paramètre. Pour plus d'informations sur la gestion des journaux, reportez-vous au manuel Reprise du système, SC41-5304.
Ce paramètre remplace la valeur indiquée dans le fichier base de données, le programme ou d'autres commandes OVRDBF émises précédemment.
- *NONE
- Les enregistrements ne sont pas forcés en écriture ; l'écriture des enregistrements dans la mémoire secondaire est déterminée par le système.
- entier
- Indiquez le nombre de modifications d'enregistrements à admettre avant leur écriture forcée sur disque. Si un fichier physique associé à ce fichier base de données est journalisé, précisez une valeur plus élevée.
Pgm de sélection de format (FMTSLR)
Indique le programme de sélection de formats d'enregistrement, appelé lorsqu'un membre de fichier logique comporte plusieurs formats d'enregistrements logiques. Le programme de sélection utilisateur est appelé lorsqu'un enregistrement est inséré dans le fichier base de données, mais qu'aucun nom de format n'est indiqué dans le programme en langage évolué. Pour plus de détails sur l'utilisation des programmes de sélection de format, consultez le manuel Rubrique Base de données de l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/. Ce paramètre remplace la valeur indiquée dans le fichier base de données et dans les commandes OVRDBF précédemment émises.
Un programme défini en tant que sélecteur de format ne peut pas être créé avec le paramètre USRPRF(*OWNER) indiqué dans la commande CRTCLPGM.
Remarque :Ce paramètre ne peut pas être utilisé si la valeur *ALL a été indiquée au paramètre MBR (Membre de substitution).
Qualificatif 1 : Pgm de sélection de format
- nom
- Indiquez le nom du programme de sélection.
Qualificatif 2 : Biblio
- *LIBL
- La recherche porte sur toutes les bibliothèques de la liste des bibliothèques de l'unité d'exécution en cours jusqu'à ce que la première occurrence soit trouvée.
- *CURLIB
- Le programme est recherché dans la bibliothèque en cours du travail. Si celle-ci ne figure pas dans la liste des bibliothèques, QGPL est prise par défaut.
- nom
- Indiquez le nom de la bibliothèque contenant le programme.
Temps d'attente maxi fichier (WAITFILE)
Indique le délai d'attente (en secondes) par le programme pour l'allocation des ressources fichier lors de l'ouverture du fichier, ou pour l'allocation des ressources unité ou session lors de l'exécution d'une opération d'acquisition sur le fichier. Si les ressources fichier ne peuvent pas être allouées dans le délai spécifié, le système envoie un message d'erreur au programme.
Ce paramètre remplace le temps d'attente indiqué dans le fichier base de données, le programme ou d'autres commandes OVRDBF émises précédemment.
L'annexe A du manuel Rubriques CL de la catégorie Programmation de l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/, contient davantage d'informations sur ce paramètre.
- *IMMED
- Le programme n'attend pas. A l'ouverture du fichier, l'allocation des ressources du fichier doit être immédiate.
- *CLS
- Le temps d'attente par défaut précisé dans la description de classe est utilisé.
- entier
- Indiquez, en secondes, le temps d'attente maximal. Les valeurs possibles sont comprises entre 1 et 32767 secondes.
Temps d'attente maxi enreg (WAITRCD)
Indique, en secondes, le temps d'attente maximal observé par un programme pour la mise à jour ou la suppression d'un enregistrement, ou pour sa lecture dans le cadre d'un contrôle de validation, le paramètre LCKLVL(*ALL) étant précisé. Le manuel Rubrique Base de données de l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/ contient davantage d'informations sur le verrouillage d'enregistrements. Si l'allocation de l'enregistrement n'a pas abouti dans le temps imparti, un message d'erreur est envoyé au programme.
Remarque :Ce paramètre remplace le temps d'attente indiqué dans le fichier base de données, le programme ou d'autres commandes OVRDBF émises précédemment. Le délai minimum pour les fichiers DDM est de 60 secondes. Ce délai peut dépasser celui précisé pour les fichiers base de données locaux.
- *NOMAX
- Le temps d'attente est illimité.
- *IMMED
- Le programme n'attend pas. L'allocation doit être immédiate.
- entier
- Indiquez, en secondes, le temps d'attente maximal. Les valeurs possibles sont comprises entre 1 et 32767 secondes.
Réutilisation enreg supprimés (REUSEDLT)
Indique si l'espace utilisé par les entrées de données supprimées peut être récupéré au titre de demandes d'insertion ultérieures. La réutilisation d'espace supprimé n'est possible que si le fichier a été créé avec un paramétrage en conséquence : REUSEDLT(*YES). Dans cette commande, il n'est pas possible de passer de la valeur *NO à la valeur *YES pour la réutilisation de l'espace supprimé.
- *NO
- Le fichier ne récupère pas l'espace utilisé par les entrées de données supprimées.
Nombre enreg lus ensemble (NBRRCDS)
Indique le nombre d'enregistrements lus en bloc à partir de la mémoire secondaire pour être traités en mémoire principale. Le volume de données lues est égal au nombre d'enregistrements multiplié par la longueur de l'enregistrement physique, et non par la longueur de l'enregistrement logique.
Ce paramètre est valable pour les traitements séquentiels ou sélectifs, et lorsque les enregistrements sont situés physiquement en mémoire secondaire, dans l'ordre du traitement. Ce paramètre remplace le nombre d'enregistrements indiqué dans le programme ou dans d'autres commandes OVRDBF émises précédemment.
- entier
- Indiquez le nombre d'enregistrements. Les valeurs possibles sont comprises entre 1 et 32767 secondes.
Temps attente sur EOF en sec (EOFDLY)
Indique, en secondes, le temps que doit attendre le programme une fois arrivé à la fin du fichier, avant d'essayer de lire d'autres enregistrements. Ce délai d'attente permet à d'autres travaux d'ajouter des enregistrements au fichier et à ceux-ci d'être traités sans qu'il soit nécessaire de relancer le travail. Lorsque le temps d'attente est écoulé, le travail devient actif et le gestionnaire de données détermine si de nouveaux enregistrements ont été ajoutés. Si ce n'est pas le cas, le travail attend un nouveau délai sans en informer le programme d'application. Lorsqu'un délai est indiqué, aucune condition de fin de fichier ne se produit sur le fichier base de données concerné, à moins que la commande ENDJOB (Arrêter un travail) ne soit entrée ou qu'une fin de données forcée (FEOD) ne soit effectuée.
Remarque :Ce paramètre ne peut pas être utilisé si la valeur *ALL a été indiquée au paramètre MBR (Membre de substitution).
Il existe plusieurs façons d'arrêter un travail qui est en attente d'enregistrement suite à un EOFDLY. Vous pouvez notamment :
- Ecrire dans le fichier indiqué un enregistrement qui soit reconnu par le programme d'application comme étant un dernier enregistrement. Le programme d'application effectue ensuite une fin de données forcée (FEOD) pour lancer le traitement de fin de fichier ou pour fermer le fichier.
- Arrêter le travail de façon contrôlée (ENDJOB OPTION(*CNTRLD)) en indiquant un temps d'attente supérieur au délai indiqué pour EOFDLY. Le délai indiqué au paramètre DELAY doit inclure le délai EOFDLY, le délai nécessaire au traitement des enregistrements éventuellement ajoutés au fichier ainsi que le délai nécessaire à tout traitement de fin de fichier exécuté par l'application utilisateur. La fin de fichier est définie par la base de données, puis une fin de fichier normale se produit après extraction des nouveaux enregistrements.
- Arrêter le travail immédiatement (ENDJOB OPTION(*IMMED)).
- Si le travail est interactif, effectuer un appel système et arrêter la demande précédente.
- *NONE
- Le traitement normal de fin de fichier est effectué.
- 1 à 99999
- Indiquez le temps que doit attendre le programme une fois arrivé à la fin du fichier, avant d'essayer de lire un autre enregistrement. Aucune fin de fichier n'est signalée, à moins qu'une fin de données forcée ne soit effectuée ou que le travail ne soit arrêté avec l'option *CNTRLD.
Vérification niveau de format (LVLCHK)
Indique si les identificateurs de niveau des formats d'enregistrement du fichier base de données doivent être vérifiés à l'ouverture du fichier. Au cours de cette opération, le système compare les identificateurs de chaque format d'enregistrement utilisé par le programme avec les identificateurs correspondants du membre base de données. La vérification de niveau ne peut être effectuée que si le programme contient les identificateurs des formats d'enregistrement. Cette commande ne permet pas de remplacer la valeur de vérification de niveau *NO par *YES.
- *NO
- Les identificateurs de niveau ne sont pas vérifiés lors de l'ouverture du fichier.
Vérification date péremption (EXPCHK)
Indique si la date de péremption du membre doit être vérifiée. Ne concerne que les membres de fichiers physiques. Ce paramètre remplace la valeur indiquée dans le programme ou dans les autres commandes OVRDBF appelées.
- *YES
- La date de péremption du membre physique est vérifiée. Si la date en cours est postérieure à cette date, un message d'arrêt programme est envoyé au programme.
- *NO
- La date de péremption n'est pas vérifiée.
Empêcher écriture (INHWRT)
Indique si les enregistrements traités sont écrits, supprimés ou mis à jour dans le fichier base de données. Ce paramètre vous permet de tester un programme sans stocker les enregistrements traités dans la base de données. Il remplace le paramètre INHWRT indiqué dans d'autres commandes OVRDBF précédemment émises.
Remarque :Ce paramètre ne peut pas être utilisé si la valeur *ALL est indiquée au paramètre MBR (Membre de substitution).
- *YES
- Les enregistrements traités ne sont pas écrits dans la base de données. Ils ne peuvent l'être que sur une unité de sortie.
- *NO
- Tous les enregistrements nouveaux et modifiés sont écrits dans la base de données, à moins que le programme ne soit en mode de débogage avec la valeur *NO indiquée au paramètre UPDPROD (MàJ fichiers de production) et que le fichier soit dans une bibliothèque de production. Dans ce cas, un message d'arrêt programme est envoyé au programme.
Protection autre substitution (SECURE)
Indique si ce fichier est protégé contre les effets des commandes de substitution utilisées dans des appels précédents.
- *NO
- Ce fichier n'est pas protégé des substitutions précédentes. Ses valeurs peuvent, par conséquent, être remplacées par des substitutions précédentes.
- *YES
- Ce fichier est protégé des substitutions précédentes.
Portée de substitution (OVRSCOPE)
Indique le champ d'application (la portée) de la substitution.
- *ACTGRPDFN
- Le champ d'application de la substitution est déterminé par le groupe d'activation du programme qui appelle cette commande. Lorsqu'il s'agit du groupe d'activation par défaut, le champ d'application est égal au niveau d'appel du programme appelant. Dans le cas contraire, le champ d'application correspond au groupe d'activation du programme appelant.
- *CALLLVL
- Le champ d'application de la substitution est déterminé par le niveau d'appel en cours. Toutes les opérations d'ouverture effectuées à un niveau d'appel identique ou supérieur au niveau en cours sont concernées par cette substitution.
- *JOB
- Le champ d'application de la substitution correspond au travail dans lequel cette dernière est exécutée.
Partage chemin d'ouverture (SHARE)
Indique si le chemin d'ouverture (ODP) est partagé avec d'autres programmes dans la même phase d'activation. Dans l'affirmative, les programmes accédant au fichier partagent des fonctions telles que l'état du fichier et la mémoire tampon.
Le manuel Rubrique Base de données de l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/ contient davantage d'informations sur les fichiers base de données partagés.
- *NO
- Le chemin d'ouverture (ODP) n'est pas partagé avec d'autres programmes au cours de cette phase d'activation. Un nouvel ODP est créé pour le fichier et utilisé chaque fois qu'un programme ouvre ce fichier.
- *YES
- Si le membre est ouvert plusieurs fois, le même chemin d'ouverture est partagé par tous les programmes du travail pour lesquels SHARE(*YES) (Partage chemin d'ouverture) est également précisé. Ceci est également valable dans le cas de plusieurs ouvertures par le même programme.
Portée d'ouverture (OPNSCOPE)
Indique la portée de l'opération d'ouverture.
- *ACTGRPDFN
- La portée de l'opération d'ouverture est déterminée par le groupe d'activation du programme qui a appelé le programme de traitement de la commande OVRDBF. S'il s'agit du groupe d'activation par défaut, la portée correspond au niveau d'appel du programme appelant. S'il ne s'agit pas du groupe d'activation par défaut, la portée correspond au groupe d'activation du programme appelant.
- *JOB
- La portée de l'opération d'ouverture est le travail dans lequel cette dernière est exécutée.
Limite à séquentiel uniquement (SEQONLY)
Indique, pour un fichier base de données dont les enregistrements sont traités de façon séquentielle uniquement, si un traitement séquentiel doit être appliqué au fichier par le système. Ce paramètre indique également le nombre d'enregistrements transférés en groupe depuis ou vers un fichier base de données, si un tel traitement est utilisé. Si aucun nombre n'est précisé, le système fournit un nombre par défaut. Ce paramètre permet d'améliorer les performances des programmes traitant séquentiellement des fichiers base de données. Il remplace la valeur indiquée dans le programme ou dans d'autres commandes OVRDBF émises précédemment.
Pour les fichiers uniquement ouverts en entrée dans un programme, le nombre d'enregistrements indiqué est transféré en groupe depuis la base de données vers une mémoire tampon interne de gestion de données.
Pour les fichiers uniquement ouverts en sortie dans un programme, un groupe d'enregistrements est transféré vers la base de données chaque fois que la mémoire tampon interne de gestion de données reçoit du programme le nombre indiqué d'enregistrements traités. Pour les fichiers en sortie, le traitement séquentiel est uniquement admis pour les membres de fichier physique et les membres de fichier logique correspondant à un seul membre de fichier physique.
Si SEQONLY(*YES) est indiqué et si l'une des conditions suivantes est remplie, le paramètre SEQONLY est ignoré et un message est émis.
- Le membre a été ouvert en sortie seulement par le programme et SEQONLY(*YES) est indiqué avec le nombre d'enregistrements par défaut, et le membre ouvert est un membre logique ou un membre physique avec clé unique ou bien d'autres chemins d'accès sont construits sur le membre physique.
- Le membre n'a été ouvert ni en entrée, ni en sortie par le programme.
- Le membre ouvert en sortie par le programme est basé sur plusieurs autres membres.
- La somme longueur de l'enregistrement plus zone d'informations en retour dépasse 32 767 octets.
Remarque :Des résultats imprévisibles surviennent lorsque ce paramètre est utilisé pour les fichiers d'index secondaire pour DDM sur un système autre que l'iSeries ou l'AS/400.
Valeurs uniques
- *NO
- Le fichier base de données n'est pas limité au traitement séquentiel.
Elément 1 : Séquentiel uniquement
- *YES
- Le fichier base de données effectue un traitement séquentiel uniquement. Le système définit une valeur par défaut pour le nombre d'enregistrements transférés en groupe en fonction du mode d'utilisation du fichier, du type de chemin d'accès utilisé et de la longueur d'enregistrement du fichier.
- La valeur par défaut correspond approximativement au nombre d'enregistrements contenus dans une mémoire tampon de 4 ko pour :
- tout fichier base de données ouvert en entrée uniquement,
- les fichiers physiques ouverts en sortie traités par ordre d'arrivée ou par ordre sans clé unique et auxquels aucun membre de fichier logique n'est associé.
- La valeur par défaut correspond à 1 enregistrement pour :
- tout fichier logique ouvert en sortie uniquement,
- les fichiers physiques ouverts en sortie ayant un chemin d'accès par ordre de clé unique ou au moins un fichier logique dépendant ayant un chemin d'accès par ordre de clé ne partageant pas celui du membre de fichier physique.
- La valeur par défaut correspond approximativement au nombre d'enregistrements contenus dans une mémoire tampon de 4 ko pour :
Elément 2 : Nombre d'enregistrements
- entier
- Indiquez le nombre d'enregistrements transférés à chaque fois. Les valeurs possibles sont comprises entre 1 et 32767 secondes. Précisez une valeur indiquant le nombre d'enregistrements contenus dans chaque groupe transféré entre la base de données et la mémoire tampon interne.
- *BUF32KB
- La taille de mémoire tampon est de 32 kilooctets.
- *BUF64KB
- La taille de mémoire tampon est de 64 kilooctets.
- *BUF128KB
- La taille de mémoire tampon est de 128 kilooctets.
- *BUF256KB
- La taille de mémoire tampon est de 256 kilooctets.
L'utilisateur doit s'assurer que la taille de la mémoire tampon indiquée est toujours réservée pour le programme dans le pool mémoire où celui-ci s'exécute. Il s'agit d'un traitement séquentiel.
Pendant que les enregistrements sont dans la mémoire tampon de gestion de données interne, des modifications peuvent être effectuées sur ces enregistrements par d'autres travaux sans que le programme qui effectue le traitement des entrées de façon séquentielle soit informé de ces mises à jour. Pour vous assurer qu'aucune autre mise à jour n'est effectuée sur les enregistrements lorsque ceux-ci figurent dans la mémoire tampon, lancez la commande ALCOBJ (Allouer un objet) pour définir un verrouillage *EXCLRD ou *EXCL sur le fichier.
Lorsqu'un programme effectue le traitement des sorties de façon séquentielle sans gérer les erreurs en sortie pouvant survenir lors de l'écriture des enregistrements de la mémoire tampon dans la base de données (telles que les clés dupliquées et les erreurs liées au mappage de conversion), les enregistrements suivant l'enregistrement erroné ne sont pas écrits.
Si le fichier est ouvert en sortie et que la valeur indiquée pour ce paramètre est différente de la valeur de forçage en écriture indiquée pour le fichier, la valeur utilisée par le système est la plus faible des deux. Un message mentionnant la valeur modifiée est envoyé à l'utilisateur.
Lors de l'utilisation de SEQONLY(*YES) pour l'écriture d'enregistrements dans un fichier base de données, les informations en retour correspondant à chaque enregistrement (telles que le numéro relatif de l'enregistrement) ne sont pas modifiées systématiquement. Si ces informations sont importantes, précisez SEQONLY(*NO) ou SEQONLY(*YES 1).
Pour plus d'informations sur les fichiers base de données traités de façon séquentielle uniquement, reportez-vous au manuel Rubrique Base de données de l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/.
Données réparties (DSTDTA)
Indique la méthode d'extraction de données utilisée pour un fichier réparti. Ce paramètre n'a aucun effet sur un fichier non réparti. D'autres paramètres, tels que SEQONLY, continuent cependant d'avoir une incidence sur la manière dont les données sont extraites de chaque système. Ce paramètre définit la façon dont toutes les données sont gérées lors de l'accès à un fichier réparti. Il remplace la méthode d'extraction choisie par le système pour un fichier réparti ou celle indiquée dans toute autre commande OVRDBF antérieure. Pour plus d'informations sur DSTDTA, reportez-vous au manuel Ensemble de rubriques DB2 Multisystem dans l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/.
- *BUFFERED
- Afin d'optimiser les performances, les données en provenance du système éloigné ou du système local peuvent être stockées dans une mémoire tampon jusqu'à leur extraction par l'utilisateur.
- *PROTECTED
- Les données peuvent être stockées en mémoire tampon, mais le fichier est verrouillé pour empêcher toute mise à jour par d'autres travaux. Les performances sont équivalentes à celles obtenues avec le paramètre *BUFFERED mais les données sont à jour. Lorsqu'un seul travail utilise cette option, aucun autre travail ne peut mettre à jour les données du fichier.
- *CURRENT
- Les données ne sont pas stockées en mémoire tampon. Cette option permet d'obtenir systématiquement des données à jour avec un maximum d'accès simultanés. Cependant, elle ne permet pas d'obtenir des performances optimales.
Exemples
Exemple 1 : substitution d'un membre existant
OVRDBF FILE(ORDERSIN) MBR(MONDAY)
Cette commande permet de remplacer le membre existant par le membre MONDAY. Lorsque la substitution est effectuée, le membre MONDAY est traité à l'ouverture du fichier ORDERSIN.
Exemple 2 : substitution d'une spécification de partage
OVRDBF FILE(ORDERSIN) SHARE(*YES)
Cette commande permet de substituer la spécification de partage pour le fichier ORDERSIN. Du fait de cette substitution, toutes les ouvertures suivantes de ce fichier pendant la phase d'activation partageront le chemin d'ouverture du fichier.
Exemple 3 : substitution d'un fichier, d'un membre et d'un état de verrouillage
OVRDBF FILE(INPUT) TOFILE(PAYROLL) MBR(MBR1)
RCDFMTLCK((EMPDATA *EXCL))
Cette commande permet de substituer le fichier, le membre et l'état de verrouillage du format d'enregistrement EMPDATA. Cette substitution entraînera les événements suivants à l'ouverture du fichier INPUT :
- le fichier PAYROLL sera traité à la place du fichier INPUT,
- le membre MBR1 sera traité à la place du membre indiqué précédemment,
- le verrou *EXCL sera placé sur le format d'enregistrement EMPDATA à la place du verrou existant (*EXCL empêche un autre programme d'utiliser le format d'enregistrement pendant l'application de la substitution).
© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.