Aller au contenu

OPNDBF

Ouvrir fichier base de données

En bref

La commande OPNDBF (Ouvrir un fichier base de données) permet d'ouvrir un membre de fichier base de données.

OPNDBF se lit OPN (Ouvrir) + DBF. Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.

Syntaxe minimale

OPNDBF FILE(…) OPTION(…)

Paramètres

  • FILE Fichier obligatoire
  • OPTION Option d'ouverture obligatoire
  • MBR Membre à ouvrir
  • OPNID ID ouverture fichier
  • ACCPTH Chemin d'accès à utiliser
  • SEQONLY Limite à séquentiel uniquement
  • COMMIT Contrôle de validation actif
  • OPNSCOPE Portée d'ouverture
  • DUPKEYCHK Vérifier clés en double
  • TYPE Type d'ouverture

Astuce : dans une session 5250, tapez OPNDBF 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 OPNDBF (Ouvrir un fichier base de données) permet d'ouvrir un membre de fichier base de données. Le traitement des enregistrements est effectué ultérieurement par des programmes d'application qui partagent cette ouverture.

Restrictions :

  • Cette commande est à unités d'exécution protégées sous certaines conditions. Dans le cas de travaux à unités d'exécution multiples, cette commande :
    • n'admet pas l'utilisation d'unités d'exécution multiples pour les fichiers répartis utilisant une base de données relationnelle de type *SNA,
    • n'admet pas l'utilisation d'unités d'exécution multiples pour les fichiers DDM (Gestion de fichiers éloignés) de type *SNA,
    • n'admet pas l'utilisation d'unités d'exécution multiples pour les fichiers logiques nécessitant un programme de sélection de format.

Paramètres

Mot-clé Description Valeurs possibles Remarques
FILE Fichier Nom d'objet qualifié Obligatoire, positionnel 1
Qualificatif 1: Fichier Nom
Qualificatif 2: Biblio Nom, *LIBL, *CURLIB
OPTION Option d'ouverture *INP, *OUT, *ALL Obligatoire, positionnel 2
MBR Membre à ouvrir Nom, *FIRST, *LAST Facultatif, positionnel 3
OPNID ID ouverture fichier Nom, *FILE Facultatif, positionnel 4
ACCPTH Chemin d'accès à utiliser *FILE, *ARRIVAL Facultatif
SEQONLY Limite à séquentiel uniquement Liste d'éléments Facultatif
Élément 1: Séquentiel uniquement *NO, *YES
Élément 2: Nombre d'enregistrements Entier
COMMIT Contrôle de validation actif *NO, *YES Facultatif
OPNSCOPE Portée d'ouverture *ACTGRPDFN, *ACTGRP, *JOB Facultatif
DUPKEYCHK Vérifier clés en double *NO, *YES Facultatif
TYPE Type d'ouverture *NORMAL, *PERM Facultatif

Fichier (FILE)

Indique le fichier contenant le membre à ouvrir. Les substitutions en cours sont prises en compte.

Ce paramètre est obligatoire.

Qualificatif 1 : Fichier

nom
Indiquez le nom du fichier.

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 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
Indiquez le nom de la bibliothèque dans laquelle doit s'effectuer la recherche.

Option d'ouverture (OPTION)

Indique les options d'ouverture utilisées. Les options choisies lors de la première ouverture du fichier ne seront pas modifiées par des options de partage ultérieures.

Ce paramètre est obligatoire.

*INP
Le fichier est ouvert uniquement pour des opérations de lecture.
*OUT
Le fichier est ouvert uniquement pour des opérations d'écriture.
*ALL
Le fichier est ouvert pour toutes les opérations (lecture, écriture, mise à jour, suppression).

Membre à ouvrir (MBR)

Indique le membre du fichier base de données qui doit être ouvert.

*FIRST
Le premier membre du fichier indiqué est utilisé.
*LAST
Ouvre le dernier membre du fichier.
nom-membre
Indiquez le nom du membre à ouvrir.

ID ouverture fichier (OPNID)

Identificateur d'ouverture utilisé auquel il pourra être fait référence lors de la fermeture ou du positionnement du membre. Cet identificateur doit être indiqué dans les commandes CLOF (Fermer un fichier) et POSDBF (Positionner un fichier base de données). Cet identificateur ne peut être réutilisé dans une autre commande OPNBDF (Ouvrir un fichier base de données) avant la fermeture du fichier. Si c'est le cas, un message d'arrêt programme est envoyé, indiquant que l'ouverture a échoué.

*FILE
Le nom du fichier est utilisé comme identificateur d'ouverture.
nom
Indiquez le nom utilisé pour identifier l'ouverture.

Chemin d'accès à utiliser (ACCPTH)

Indique le chemin d'accès utilisé pour l'ouverture.

*FILE
Le chemin d'accès du fichier est utilisé qu'il s'agisse d'un chemin d'accès par clé, ou par ordre d'arrivée.
*ARRIVAL
Le chemin d'accès par ordre d'arrivée est utilisé. Tout chemin d'accès par clé est ignoré.

Limite à séquentiel uniquement (SEQONLY)

Indique, dans le cas de fichiers base de données dont les enregistrements font généralement l'objet d'un traitement séquentiel, si le fichier est traité en mode séquentiel uniquement. Si c'est le cas, ce paramètre indique également le nombre d'enregistrements groupés transférés au fichier base de données ou provenant de celui-ci. Un traitement exclusivement séquentiel attribué par une substitution prévaut sur toute autre valeur indiquée pour ce paramètre.

Remarque :Si *ALL est indiqué pour le paramètre Option d'ouverture (OPTION), ou *YES pour le paramètre Contrôle de validation actif (COMMIT), *NO doit être indiqué pour ce paramètre.

Elément 1 : Séquentiel uniquement

*NO
Un traitement exclusivement séquentiel n'est pas utilisé pour le fichier base de données.
*YES
Un traitement exclusivement séquentiel est prévu pour le fichier base de données.

Elément 2 : Nombre d'enregistrements

entier
Le fichier est traité en mode séquentiel uniquement. La valeur de ce paramètre indique le nombre d'enregistrements groupés dans la mémoire tampon avant l'accès aux données du membre. Ce nombre n'est pas obligatoire. Si cette valeur n'est pas indiquée, une valeur par défaut est prise en compte.

Contrôle de validation actif (COMMIT)

Indique si ce fichier est placé sous contrôle de validation.

Avant d'ouvrir un fichier base de données sous contrôle de validation, l'utilisateur doit s'assurer que tous les fichiers de la transaction de validation sont journalisés. Si seules les images après sont journalisées, le système procède à la journalisation des images avant et après pendant l'intervalle de temps au cours duquel les modifications sont apportées aux fichiers ouverts avec cette définition de validation.

*NO
Ce fichier n'est pas placé sous contrôle de validation.
*YES
Ce fichier est placé sous contrôle de validation.

Portée d'ouverture (OPNSCOPE)

Indique le champ d'application (la portée) de l'opération d'ouverture.

*ACTGRPDFN
Le champ d'application de l'opération d'ouverture est déterminé par le groupe d'activation du programme qui a appelé le programme de traitement de la commande OPNDBF. 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.
*ACTGRP
Le champ d'application du chemin d'ouverture (ODP) correspond au groupe d'activation. Seules les opérations d'ouverture partagées à partir du même groupe d'activation peuvent partager cet ODP. Ce dernier n'est pas récupéré jusqu'à ce que le groupe d'activation soit désactivé ou fermé par la commande CLOF (Fermer un fichier).
*JOB
Le champ d'application de l'opération d'ouverture correspond au travail dans lequel cette dernière est exécutée.

Vérifier clés en double (DUPKEYCHK)

Indique si la vérification des clés en double est effectuée sur les opérations d'entrée-sortie ouvertes par cette commande.

*NO
La vérification des clés en double n'est pas prévue sur les opérations de lecture/écriture.
*YES
La vérification des clés en double est prévue sur les opérations de lecture/écriture.

Type d'ouverture (TYPE)

Indique si la commande RCLRSC (Récupérer des ressources) est efficace.

Remarque :Ce paramètre est incorrect lorsque le paramètre Portée d'ouverture (OPNSCOPE) est indiqué.

*NORMAL
Le fichier peut être fermé à l'aide de la commande RCLRSC (Récupérer des ressources) si le programme s'est terminé sans fermer le fichier.
*PERM
Le fichier reste ouvert jusqu'à ce qu'une fermeture soit effectuée à l'aide de la commande CLOF (Fermer un fichier) ou jusqu'à la fin de la phase d'activation. Le chemin d'ouverture existe toujours même si la commande RCLRSC (Récupérer des ressources) a été utilisée.

Exemples

OPNDBF   FILE(MASTER/PAYROLL)  OPTIONS(*INP)

Cette commande ouvre le premier membre du fichier PAYROLL pour le traitement des entrées. L'identificateur d'ouverture associé à cette opération d'ouverture correspond au nom de fichier. Si le fichier a pour valeur SHARE(*YES), les opérations d'ouverture ultérieures du fichier PAYROLL (dans un programme d'application, par exemple) sont plus performantes et utilisent le même ODP.

Messages d'erreur

Messages *ESCAPE

CPF4125
L'ouverture du membre &3 de &1 dans &2 a échoué.
CPF4174
OPNID(&4) existe déjà pour le fichier &1.
CPF4175
MBR(*ALL) incompatible avec une ouverture en sortie seule.
CPF4176
Le fichier &1 de &2 n'est pas un fichier base de données.
CPF432A
Ouverture non admise sous ctrl de validation (code raison &8).
CPF4327
Limite du contrôle de validation dépassée.
CPF4328
Membre &4 non journalisé dans &6.
CPF4329
Impossible d'associer le journal &6 à la définition de validation &9.
CPF8361
Contrôle de validation impossible pour la ressource ; code raison &1.
CPF8367
Opération de contrôle de validation impossible.

© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.