Vorgehensweise: Referenz: |
WebFOCUS speichert HOLD-Dateien bei der Verarbeitung in einem temporären Verzeichnis und löscht sie, wenn die Verbindung zum Server unterbrochen wird. Falls Sie diese Dateien zur späteren Verwendung beibehalten möchten, können Sie die HOLD-Datenquelle und die zugehörige Masterdatei mit APP-Befehlen an einer bestimmten Stelle speichern.
Um zu einem späteren Zeitpunkt Reports mit der HOLD-Masterdatei zu erstellen, können Sie die Anwendung Ihrem APP-Pfad hinzufügen, wenn sie sich noch nicht dort befindet, oder Sie können im TABLE FILE-Befehl einen zweiteiligen Namen (appname/mastername) verwenden.
Um Reports mit der gespeicherten HOLD-Datendatei zu erstellen, können Sie einen FILEDEF-Befehl ausgeben, der angibt, wo sich die Datei befindet, bevor Sie den Befehl TABLE FILE ausgeben.
Sie finden eine Abbildung unter Einen Speicherort für HOLD-Daten und -Masterdateien angeben.
APP MAP appname path_to_directory APP HOLDDATA appname APP HOLDMETA appname
Hierbei gilt:
Sie sollten die APP-Befehle einem unterstützten Profil hinzufügen, so dass sie allen Ihren Prozeduren zur Verfügung stehen, anstatt sie in jeder Prozedur auszugeben, die auf das Anwendungsverzeichnis zugreifen muss. Sie sollten außerdem die Anwendung Ihrem Pfad hinzufügen, so dass sie von Ihren Prozeduren gefunden wird.
Das folgenden Beispiel für WebFOCUS auf UNIX illustriert veranschaulicht, wie Sie eine Anwendung namens holdapp erstellen und HOLD-Datendateien und -Masterdateien im Verzeichnis \ggtmp speichern, das dieser Anwendung zugeordnet ist.
Platzieren Sie die folgenden Befehle in ein unterstütztes Profil:
APP MAP holdapp /ggtmp APP HOLDDATA holdapp APP HOLDMETA holdapp
Die folgenden Anfrage erstellt eine HOLD-Masterdatei namens sales.mas und eine HOLD-Datendatei namens sales.ftm, die im Verzeichnis /ggtmp gespeichert werden:
TABLE FILE GGSALES PRINT SEQ_NO CATEGORY PRODUCT ON TABLE HOLD AS SALES END
Um eine TABLE-Anfrage mit der HOLD-Datei auszugeben, müssen Sie zunächst einen FILEDEF-Befehl ausgeben, der auf die HOLD-Datendatei verweist. Der DDNAME für FILEDEF ist der im HOLD-Befehl angegebene AS-Name. Wenn kein AS-Name angegeben wurde, ist HOLD der DDNAME:
FILEDEF SALES DIR \ggtmp\sales.ftm
Sie müssen auch sicherstellen, dass WebFOCUS die Masterdatei finden kann. Dies kann geschehen, indem Sie sicherstellen, dass sich die Anwendung in Ihrem Anwendungspfad befindet. Sie können sie dem Pfad mit dem folgenden Befehl hinzufügen:
APP APPENDPATH holdapp
Sie können dann eine Anfrage mit der HOLD-Datei ausgeben:
TABLE FILE SALES PRINT * END
Alternativ können Sie die TABLE-Anfrage mit der HOLD-Datei ausgeben, indem Sie einen zweiteiligen Namen verwenden (Anwendungsname und Masterdateiname):
TABLE FILE holdapp/sales PRINT * END
Die HOLD-Datei wird dynamisch zugewiesen, wenn sie nicht aktuell in z/OS zugewiesen ist. Dies bedeutet, dass das System die Datei ggf. am Ende der Session löscht, auch wenn Sie dies noch nicht selbst getan haben. Da HOLD-Dateien normalerweise gelöscht werden, ist dies ein gewünschter Default. Wenn Sie die Datei jedoch speichern möchten, empfehlen wir, dass Sie die HOLD-Masterdatei dem ddname HOLDMAST als ein permanentes Datenset zuordnen, und die HOLD-Datendatei auch einem permanenten Datenset zuordnen. Die Zuweisungen können mit dem standardmäßigen Reporting Server CLIST oder Batch-JCL durchgeführt werden oder in einem Profile oder einer Prozedur. Wenn beispielsweise Ihre Prozedur den folgenden Befehl hätte:
ON TABLE HOLD AS SALES
könnten Sie Zuweisungen verwenden, die der folgenden Zuweisung ähneln:
ALLOC F(HOLDMAST) DA('qualif.HOLDMAST.DATA') SHR REUSE ALLOC F(SALES) DA('qualif.SALES.DATA') SHR REUSE
Beachten Sie bitte, dass der ddname HOLDMAST nicht auf die gleiche PDS verweisen muss, auf die die ddnames MASTER und FOCEXEC verweisen.
WebFOCUS |