Comment : Référence : |
Dans WebFOCUS, les fichiers HOLD sont sauvegardés dans un répertoire temporaire lors du traitement et sont supprimés suite à la déconnexion du serveur. Si vous souhaitez conserver ces fichiers pour une utilisation ultérieure, vous pouvez enregistrer la source de données HOLD et son fichier maître associé dans un emplacement particulier en utilisant la commande APP.
Pour faire un rapport contre le fichier maître HOLD ultérieurement, vous pouvez ajouter l'application à votre chemin APP, s'il n'y figure pas déjà, ou vous pouvez utiliser un "nom composé" appname mastername dans la commande TABLE FILE.
Pour faire un rapport contre le fichier de données HOLD, vous pouvez lancer une commande FILEDEF qui spécifie où vous pouvez trouver le fichier avant de lancer la commande TABLE FILE.
Pour voir une illustration, consultez Spécifier un emplacement de stockage pour les fichiers maîtres et les données HOLD.
APP MAP appname path_to_directory APP HOLDDATA appname APP HOLDMETA appname
où :
Vous devez ajouter les commandes APP au profil qui est pris en charge pour qu'elles soient disponibles lors de toutes vos procédures au lieu de les lancer à chaque procédure qui a besoin d'accéder au référentiel de l'application. En outre, vous devez ajouter l'application à votre chemin pour que vos procédures la trouvent.
L'exemple suivant pour WebFOCUS sur UNIX illustre comment créer une application nommée holdapp et stocke les fichiers de données HOLD et les fichier maîtres dans le référentiel \ggtmp qui est lié à cette application.
Placer les commandes suivantes dans tout profil pris en charge :
APP MAP holdapp /ggtmp APP HOLDDATA holdapp APP HOLDMETA holdapp
La requête suivante crée un fichier maître HOLD nommé sales.mas et un fichier de données HOLD nommé sales.ftm qui sera stocké dans le référentiel /ggtmp :
TABLE FILE GGSALES PRINT SEQ_NO CATEGORY PRODUCT ON TABLE HOLD AS SALES END
Pour lancer une requête TABLE contre le fichier HOLD vous devez d'abord lancer une commande FILEDEF qui pointe vers le fichier de données HOLD. Le DDNAME pour le FILEDEF est le nom AS spécifié dans la commande HOLD. Si aucun nom AS n'a été spécifié, le DDNAME est HOLD :
FILEDEF SALES DIR \ggtmp\sales.ftm
Vous devez également vous assurez que WebFOCUS peut trouver le fichier maître. Vous pouvez le faire en vous assurant que l'application se trouve dans le chemin de votre application. Vous pouvez l'ajouter au chemin avec la commande suivante :
APP APPENDPATH holdapp
Alors vous pouvez lancer une requête contre le fichier HOLD :
TABLE FILE SALES PRINT * END
Vous pouvez également lancer la requête TABLE contre le fichier HOLD à l'aide d'un "nom composé" (nom d'application et nom de fichier maître) :
TABLE FILE holdapp/sales PRINT * END
Le fichier HOLD est alloué dynamiquement s'il n'est pas actuellement alloué dans z/OS. Cela veut dire que le système peut supprimer le fichier à la fin de la session, même si vous ne l'avez pas fait. Puisque les fichiers HOLD sont généralement supprimés, ceci est une valeur par défaut souhaitée. Cependant, si vous souhaitez enregistrer le fichier, il vous faut allouer le fichier maître HOLD au ddname HOLDMAST en tant qu'ensemble de données permanent, et allouer le fichier de données HOLD à un ensemble de données permanent. Les allocations peuvent être effectuées dans le serveur de rapport standard CLIST ou JCL de lot dans un profil ou dans une procédure. Par exemple, si votre procédure comprenait la commande suivante :
ON TABLE HOLD AS SALES
Vous pouvez également utiliser les allocations similaires aux éléments suivants :
ALLOC F(HOLDMAST) DA('qualif.HOLDMAST.DATA') SHR REUSE ALLOC F(SALES) DA('qualif.SALES.DATA') SHR REUSE
Notez que l'utilitaire ddname HOLDMAST ne doit pas faire référence au même PDS auquel les noms MASTER et FOCEXEC font référence.
WebFOCUS |