In WebFOCUS, HOLD files are saved to a temporary directory during processing and deleted after the connection to the server is broken. If you wish to retain these files for later use, you can save the HOLD data source and its associated Master File to a specific location using APP commands.
To report against the HOLD Master File at a later time, you can add the application to your APP path, if it is not already there, or you can use a two-part name (appname/mastername) in the TABLE FILE command.
To report against the saved HOLD data file, you can issue a FILEDEF command that specifies where to find the file before you issue the TABLE FILE command.
APP MAP appname path_to_directory APP HOLDDATA appname APP HOLDMETA appname
You should add the APP commands to a supported profile so that they will be available to all of your procedures rather than issuing them in every procedure that needs to access the application directory. In addition, you should add the application to your path so that it will be found by your procedures.
The following example for WebFOCUS on UNIX illustrates how to create an application named holdapp and store HOLD data files and Master Files in the \ggtmp directory that is mapped to that application.
Place the following commands in any supported profile:
APP MAP holdapp /ggtmp APP HOLDDATA holdapp APP HOLDMETA holdapp
The following request creates a HOLD Master file named sales.mas and a HOLD data file named sales.ftm that will be stored in the /ggtmp directory:
TABLE FILE GGSALES PRINT SEQ_NO CATEGORY PRODUCT ON TABLE HOLD AS SALES END
To issue a TABLE request against the HOLD file, you must first issue a FILEDEF command that points to the HOLD data file. The DDNAME for the FILEDEF is the AS name specified in the HOLD command. If no AS name was specified, the DDNAME is HOLD:
FILEDEF SALES DIR \ggtmp\sales.ftm
You must also make sure that WebFOCUS can find the Master File. One way to do this is to make sure that the application is in your application path. You can add it to the path with the following command:
APP APPENDPATH holdapp
Then you can issue a request against the HOLD file:
TABLE FILE SALES PRINT * END
Alternatively, you can issue the TABLE request against the HOLD file using a two-part name (application name and Master File name):
TABLE FILE holdapp/sales PRINT * END
The HOLD file is dynamically allocated if it is not currently allocated on z/OS. This means the system may delete the file at the end of the session, even if you have not. Since HOLD files are usually deleted, this is a desired default. However, if you want to save the file, we recommend that you allocate the HOLD Master File to the ddname HOLDMAST as a permanent data set, and allocate the HOLD data file to a permanent data set as well. The allocations can be performed within the standard Reporting Server CLIST or batch JCL or in a profile or procedure. For example, if your procedure had the following command:
ON TABLE HOLD AS SALES
you could use allocations similar to the following:
ALLOC F(HOLDMAST) DA('qualif.HOLDMAST.DATA') SHR REUSE ALLOC F(SALES) DA('qualif.SALES.DATA') SHR REUSE
Note that ddname HOLDMAST must not refer to the same PDS referred to by the MASTER and FOCEXEC ddnames.