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.
Note: For information on writing programs to create HOLD files, see Writing User-Coded Programs to Create HOLD Files.
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] [MISSING {ON|OFF}][VIA program]
or
hold_field HOLD [AS filename] [FORMAT fmt] [MISSING {ON|OFF}][VIA program]
After a report is executed, use
HOLD [AS filename] [FORMAT fmt] [MISSING {ON|OFF}][VIA program]
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.
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.
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 |