How to: |
You can use the HOLD command to create report output files for a range of purposes:
The output Master File contains only the fields in the report request. The fields in a HOLD file have the original names specified in the Master File that are retrieved if the report is displayed or printed. You can alter the field names in the output Master File using the AS phrase in conjunction with the command SET ASNAMES. See Controlling Field Names in a HOLD Master File.
If your environment supports the SET parameter SAVEMATRIX, you can preserve the internal matrix of your last report in order to keep it available for subsequent HOLD, SAVE, and SAVB commands when the request is followed by Dialogue Manager commands. For details on SAVEMATRIX, see the Developing Applications manual.
From a report request, use
ON TABLE HOLD [AS filename] [FORMAT fmt] [DATASET dataset] [MISSING {ON|OFF}][VIA program] [PERSISTENCE {STAGE|PERMANENT}]
or
hold_field HOLD [AS filename] [FORMAT fmt] [DATASET dataset] [MISSING {ON|OFF}][VIA program] [PERSISTENCE {STAGE|PERMANENT}]
After a report is executed, use
HOLD [AS filename] [FORMAT fmt] [DATASET dataset] [MISSING {ON|OFF}][VIA program] [PERSISTENCE {STAGE|PERMANENT}]
where:
Note: Change the default output format to ALPHA by issuing the SET HOLDFORMAT command.
The name can contain up to the maximum number of characters supported by your operating system. For information, see the section Naming a Master File in the Describing Data manual.
For details about all available formats, see Choosing Output File Formats.
Can be a fully-qualified data set or file name or an n-part name (app/.../filename.ext).
You can specify a data set or file to contain the report output within the request itself, rather than relying on an external or default specification. This allows you to place a permanent hold file in any folder, directory or data set that you can write to, whether or not that location is included in your APP PATH. The accompanying HOLD Master File will have the DATASET attribute pointing to the file that was generated.
The case in which the data set name is added in the Master File depends on the value of the FILECASE parameter. By default, lowercase is used. The actual data set is created with its name in the case that conforms to the standards of your operating environment.
Note:
Applies only to Relational HOLD files (FORMAT sqlengine). Specifies how to create intermediate tables that will be used only during UPLOAD and EBL requests to accelerate performance by keeping all processing on the DBMS server instead of downloading data into a HOLD file. The actual type of the intermediate table will be determined at run time, based on specific DBMS-supported features and the data-populating mechanisms being used. Valid values are:
From the FOCUS command line or from Hot Screen, use the following after the report is executed
HOLD [AS filename][FORMAT fmt][MISSING {ON|OFF}][VIAprogram]
where:
You can issue HOLD from the Hot Screen command line at any time while a report is displayed and on any page of the report. Regardless of the page from which you issue the command, the entire report is saved, and a data source and Master File are created for that report (just as when you issue the HOLD command from within a TABLE request, or after exiting Hot Screen).
You can issue multiple HOLD commands for a single TABLE request; however, once you specify the FOCUS format with a HOLD command from Hot Screen, you cannot issue another HOLD command during that Hot Screen session.
Note that you cannot use the SAVE or SAVB commands from Hot Screen. You must include these commands in a report request, or issue them from the FOCUS command level after exiting Hot Screen.
The following request generates the file ggsum.ftm in the application named test1.
APP HOLD test1 TABLE FILE GGSALES SUM UNITS DOLLARS BY CATEGORY BY PRODUCT ON TABLE HOLD AS GGCOMT FORMAT COMT DATASET test1/ggsum.ftm END
The generated Master File includes the DATASET attribute.
FILENAME=GGCOMT , SUFFIX=COMT , DATASET=test1/ggsum.ftm (LRECL 80 RECFM V, $ SEGMENT=GGCOMT, SEGTYPE=S2, $ FIELDNAME=CATEGORY, ALIAS=E01, USAGE=A11, ACTUAL=A11, $ FIELDNAME=PRODUCT, ALIAS=E02, USAGE=A16, ACTUAL=A16, $ FIELDNAME=UNITS, ALIAS=E03, USAGE=I08, ACTUAL=A08, $ FIELDNAME=DOLLARS, ALIAS=E04, USAGE=I08, ACTUAL=A08, $
The following request generates the data set USER1.GGHOLD.FTM on z/OS.
TABLE FILE GGSALES SUM UNITS DOLLARS BY CATEGORY BY PRODUCT ON TABLE HOLD AS GGCOMT FORMAT COMT DATASET user1.gghold.ftm END
The generated Master File includes the DATASET attribute.
FILENAME=GGCOMT , SUFFIX=COMT , DATASET=user1.gghold.ftm (LRECL 80 RECFM V, $ SEGMENT=GGCOMT, SEGTYPE=S2, $ FIELDNAME=CATEGORY, ALIAS=E01, USAGE=A11, ACTUAL=A11, $ FIELDNAME=PRODUCT, ALIAS=E02, USAGE=A16, ACTUAL=A16, $ FIELDNAME=UNITS, ALIAS=E03, USAGE=I08, ACTUAL=A08, $ FIELDNAME=DOLLARS, ALIAS=E04, USAGE=I08, ACTUAL=A08, $
SET HOLDFORMAT = {BINARY|ALPHA}
or
ON TABLE SET HOLDFORMAT {BINARY|ALPHA}
where:
The following request extracts data from the EMPLOYEE data source and creates a HOLD file.
TABLE FILE EMPLOYEE SUM CURR_SAL AND ED_HRS BY DEPARTMENT LIST CURR_SAL AND ED_HRS AND BANK_ACCT BY DEPARTMENT BY LAST_NAME BY FIRST_NAME ON TABLE HOLD END
The following message appears:
NUMBER OF RECORDS IN TABLE= 12 LINES= 12
You then see the message:
HOLDING...
To display the report generated by this request, either issue a report request against the HOLD file or issue the RETYPE command.
Tip: If you wish to view the information in the HOLD Master File before reporting against it, you can issue the query command ? HOLD.
If the HOLD format option you select creates a Master File, you can issue the following command to display the fields, aliases, and formats in the HOLD Master File:
? HOLD
This command shows field names up to 32 characters. If a field name exceeds 32 characters, a caret (>) in the 32nd position indicates a longer field name.
If you have renamed the HOLD file using AS filename, use the following syntax:
? HOLD filename
Tip: You must issue the ? HOLD query in the same session in which the HOLD file is created.
In the following HOLD file, the formats shown are the values of the FORMAT attribute. You can see the values of the ACTUAL attribute by displaying the HOLD Master File using TED or any text editor. USAGE and ACTUAL formats for text fields specify only the length of the first line of each logical record in the HOLD file. The USAGE format is the same as the field format in the original Master File. The ACTUAL format is rounded up to a full (internal) word boundary, as is done for alphanumeric fields.
The following request contains the query command ? HOLD, which displays the fields, aliases, and formats in the associated Master File and creates a HOLD file.
TABLE FILE EMPLOYEE SUM CURR_SAL AND ED_HRS BY DEPARTMENT LIST CURR_SAL AND ED_HRS AND BANK_ACCT BY DEPARTMENT BY LAST_NAME BY FIRST_NAME ON TABLE HOLD END ? HOLD
The output is:
NUMBER OF RECORDS IN TABLE= 12 |
LINES= |
12 |
||
DEFINITION OF HOLD FILE: HOLD |
||||
FIELDNAME |
ALIAS |
FORMAT |
||
DEPARTMENT |
E01 |
A10 |
||
CURR_SAL |
E02 |
D12.2M |
||
ED_HRS |
E03 |
F6.2 |
||
LAST_NAME |
E04 |
A15 |
||
FIRST_NAME |
E05 |
A10 |
||
LIST |
E06 |
I5 |
||
CURR_SAL |
E07 |
D12.2M |
||
ED_HRS |
E08 |
F6.2 |
||
BANK_ACCT |
E09 |
I9S |
You can now issue the following report request against the HOLD file:
TABLE FILE HOLD PRINT E07 AS 'SALARY OF,EMPLOYEE' AND LAST_NAME AND FIRST_NAME BY HIGHEST E03 AS 'TOTAL,DEPT,ED_HRS' BY E01 BY HIGHEST E08 AS 'EMPLOYEE,ED_HRS' END
The output is:
TOTAL DEPT EMPLOYEE SALARY OF ED_HRS DEPARTMENT ED_HRS EMPLOYEE LAST_NAME FIRST_NAME ------ ---------- -------- --------- --------- ---------- 231.00 MIS 75.00 $21,780.00 BLACKWOOD ROSEMARIE 50.00 $18,480.00 JONES DIANE 45.00 $27,062.00 CROSS BARBARA 36.00 $13,200.00 SMITH MARY 25.00 $9,000.00 GREENSPAN MARY .00 $18,480.00 MCCOY JOHN 120.00 PRODUCTION 50.00 $16,100.00 MCKNIGHT ROGER 30.00 $26,862.00 IRVING JOAN 25.00 $11,000.00 STEVENS ALFRED 10.00 $9,500.00 SMITH RICHARD 5.00 $21,120.00 ROMANS ANTHONY .00 $29,700.00 BANNING JOHN
|
Information Builders |