HOLD-Dateien speichern und abrufen

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.


Nach oben

x
Syntax: Einen Speicherort für eine HOLD-Masterdatei angeben (Windows, UNIX, OpenVMS)
APP MAP appname path_to_directory APP HOLDDATA appname APP HOLDMETA appname

Hierbei gilt:

APP MAP
Assoziiert ein Verzeichnis mit einem Anwendungsnamen.
APP HOLDDATA
Gibt den Anwendungsnamen für HOLD-Datendateien an.
APP HOLDMETA
Gibt den Anwendungsnamen für HOLD-Masterdateien an.
path_to_directory
Gibt das Verzeichnis an, in dem die Dateien gespeichert werden sollen.
appname
Ist ein Anwendungsname.

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.



Beispiel: Einen Speicherort für HOLD-Daten und -Masterdateien angeben

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


Nach oben

x
Referenz: HOLD-Dateien auf z/OS zuordnen

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