Accéder et stocker une fonction externe

Dans cette section :

Les fonctions internes sont intégrées et ne nécessitent aucun travail supplémentaire pour y accéder. Les fonctions externes sont stockées dans des bibliothèques de chargement, à partir desquelles elles doivent être obligatoirement extraites. La méthode d'accès de ces fonctions externes est déterminée par votre plate-forme. Ces techniques ne sont pas forcément utilisées à chaque fois qu'une fonction est accédée. Il est possible que l'accès à une bibliothèque de chargement ne soit utilisé qu'une seule fois, à l'installation.

Vous pouvez aussi accéder à des sous-routines privés écrites par utilisateur. Si vous disposez d'une collection privée de sous-routine (en l'occurrence, des sous-routines que vous avez créées vous-même ou si vous utilisez des sous-routines personnalisées), ne les stocker pas dans la bibliothèque de fonctions. Stocker-les séparément pour éviter de les remplacer quand votre site installe une nouvelle version. Pour plus d'informations sur la création d'une sous-routine, consultez Créer une sous-routine.


Haut de page

x
Stockage et accès pour une fonction sous z/OS

Comment :

Sous z/OS, les bibliothèques de chargement sont des jeux de données partitionnés contenant des modules de liaison/édition. Ces bibliothèques sont stockées en tant que EDALIB.LOAD ou FUSELIB.LOAD. De plus, il se peut que votre site ait des collections de sous-routines privées stockées dans des bibliothèques de chargement séparées. Si c'est le cas, vous devez allouer ces bibliothèques.



x
Comment : Allouer une bibliothèque de chargement dans un Batch z/OS

Pour utiliser une fonction stockée dans une bibliothèque de chargement, allouez celle-ci sur le ddname USERLIB dans votre JCL ou CLIST.

L'ordre de recherche est USERLIB, STEPLIB, JOBLIB, link pack area, et linklist.

Le serveur ajoute aussi le mot-clé TASKLIB à la recherche pour les bibliothèques non-APF autorisées. Pour plus d'informations, consultez le manuel Installation Serveur, Configuration et Opérations pour MVS.



Exemple : Allocation de la bibliothèque de chargement BIGLIB.LOAD dans Batch z/OS (JCL)
//USERLIB DD DISP=SHR,DSN=BIGLIB.LOAD


x
Syntaxe : Allouer une bibliothèque de chargement
DYNAM ALLOC FILE USERLIB DA lib SHR

où :

USERLIB

est le ddname auquel vous allouez une bibliothèque de chargement.

lib1 lib2 lib3...

sont les noms des bibliothèques de chargement, concaténés sur USERLIB.



Exemple : Allouer la bibliothèque de chargement FUSELIB.LOAD
DYNAM ALLOC FILE USERLIB DA MVS.FUSELIB.LOAD SHR 


Exemple : Allouer une bibliothèque de chargement sur USERLIB dans TSO

Supposons qu'une requête de rapport invoque de fonction : BENEFIT stockée dans la bibliothèque SUBLIB.LOAD, et EXCHANGE stockée dans la bibliothèque BIGLIB.LOAD. Pour concaténer les bibliothèques de chargement BIGLIB et SUBLIB dans l'allocation pour ddname USERLIB, exécutez les commandes suivantes :

DYNAM ALLOC FILE USERLIB DA SUBLIB.LOAD SHR
DYNAM ALLOC FILE BIGLIB  DA BIGLIB.LOAD SHR
DYNAM CONCAT FILE USERLIB BIGLIB 

Les bibliothèques de chargement sont recherchées dans l'ordre dans lequel elles sont spécifiées dans la commande ALLOCATE.



Exemple : Concaténer une bibliothèque de chargement sur STEPLIB dans Batch (JCL)

Concaténer la bibliothèque de chargement sur le ddname STEPLIB dans votre JCL :

//FOCUS EXEC PGM=FOCUS
//STEPLIB     DD DSN=FOCUS.FOCLIB.LOAD,DISP=SHR
//            DD DSN=FOCUS.FUSELIB.LOAD,DISP=SHR
                           .
                           .
                           .

Haut de page

x
Stockage et accès pour une fonction sous UNIX

Aucun travail supplémentaire n'est nécessaire.


Haut de page

x
Stockage et accès pour une fonction sous Windows

Aucun travail supplémentaire n'est nécessaire.


Haut de page

x
Accéder à une fonction dans Developer Studio

Dans Developer Studio, les fonctions externes ne sont pas construites dans WebFOCUS et sont stockées dans des fichiers connus sous le nom de bibliothèques lien dynamique. Pour les utiliser, identifiez l'emplacement du fichier bibliothèque de fonctions lien dynamique avec la variable d'environnement IBICPG, ou bien stockez la bibliothèque dans le répertoire \CONF\USER et WebFOCUS le trouvera automatiquement.


WebFOCUS