PreviousNext
Help > Développement > Accès aux données de l'AS/400 > Bibliothèques et objets AS/400 > Bibliothèques
Bibliothèques

 Ce point est particulièrement important pour comprendre et contrôler où se trouvent les fichiers ouverts sur l'AS400.

 

Import DDS

 

Au moment de l'importation des DDS, la liste des fichiers par défaut correspond à la LIBL de l'utilisateur. Les fichiers sélectionnés directement et synchronisés ensuite pour mettre à jour les infos étendues ne comporte pas de nom de bibliothèque, ils seront recherchés dans la LIBL (voir ci-dessous).

Mais si vous tapez le nom d'une bibliothèque dans l'utilitaire d'importation des DDS, le nom de cette bibliothèque sera ajouté aux infos étendues du fichier (option MAIN), ce sera donc toujours le fichier de cette bibliothèque qui sera ouvert.

 

Bibliothèque explicite

 

Le nom de la bibliothèque peut être spécifié explicitement :

·     dans les infos étendues du fichier (MAIN) ou de la clé (LF),

·     dans les requêtes SQL (en mode HRequêteSansCorrection).

 

Bibliothèque implicite

 

Si le nom de la bibliothèque n'est pas explicitement renseigné dans les infos étendues, il va dépendre :

·     de la liste des bibliothèques initiales éventuellement renseignées dans easycom.ini ou

·     de la liste des bibliothèques initiales des infos étendues de la connexion (INITLIBL),

·     des librairies issues de la JOBD de l’utilisateur,

·     des librairies issues de EACJOBD (si différente de *NONE),

·     de la librairie EASYCOM.

 

(voir aussi LIBL par défaut )

 

Dans ce cas il peut être géré en programmation par l'envoi de commandes :

AsExec("ADDLIBL nom_biblio"),

AsExec("RMVLIBL nom_biblio")

ou toute autre commande de gestion des bibliothèques (CHGCURLIB).

 

Le changement ne s’applique qu’aux fichiers ouverts après l’opération.

 

OVRDBF

 

Il est également possible d'utiliser la commande OVRDBF sur un fichier en particulier, sans oublier qu'une lecture ou un filtre se feront toujours sur le logique associé.

Ainsi une OVRDBF sur le physique uniquement ne s'appliquera pas à une lecture séquentielle qui utilise un fichier logique et qui doit donc faire également l'objet d'un OVRDBF.

 

ASExec("OVRDBF FILE(BIBLIO1/FICHIER1) TOFILE(BIBLIO2/FICHIER2) MBR(MEMBRE) OVRSCOPE(*JOB)")

 

 

Bibliothèque et requête SQL en mode HRequêteDéfaut

 

Seul le nom du fichier est passé dans la requête, il sera recherché dans le LIBL du job. Pour choisir la bibliothèque le mieux est de faire précéder l'exécution par un CHGCURLIB via la fonction ASExec.

 

ASExec("CHGCURLIB MABIBLIO")

HExécuteRequête(REQ_Requête3,hRequêteDéfaut)