Creating a HOLD File

How to:

You can use the HOLD command to create report output files for a range of purposes:

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 Reporting Applications manual.


Top of page

x
Syntax: How to Create a HOLD File

From a report request, use

ON TABLE HOLD [AS filename] [FORMAT fmt] [MISSING {ON|OFF}]

or

hold_field HOLD [AS filename] [FORMAT fmt] [MISSING {ON|OFF}]

where:

HOLD
Extracts and saves report output. BINARY is the default format used when the HOLD command is issued without an explicit format. The output is saved with an associated Master File.

Note: Change the default output format to ALPHA by issuing the SET HOLDFORMAT command.

hold_field
Is the name of the last display field in the request.
AS filename
Specifies a name for the HOLD file. If you do not specify a file name, HOLD becomes the default. Since each subsequent HOLD command overwrites the previous HOLD file, it is advisable to code a distinct file name in each request to direct the extracted data to a separate file, thereby preventing it from being overwritten by the next HOLD 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 With WebFOCUS Language manual.

FORMAT fmt
Specifies the format of the HOLD output file. BINARY is the default format for reporting servers.
  • To display as a Web page, choose: HTML, HTMTABLE, DHTML
  • To display as a printed document, choose: PDF, PS
  • To use in a text document, choose: ALPHA, DOC, WP

    In addition, Developer Studio supports: CLIP

  • To use in a spreadsheet application, choose: DIF, EXCEL, EXL97, EXL2K [PIVOT], LOTUS, SYLK
  • To use in a database application, choose: COMMA, COM, COMT, DB2, DFIX, FOCUS, INGRES, REDBRICK, SQL, SQLDBC, SQLORA, SQLINF, SQLMSS, SQLSYB, SQLODBC, TAB, TABT, XFOCUS

    In addition, Developer Studio supports: SQLMAC

  • To use with a 3-GL program, choose: INTERNAL
  • To use for additional reporting, choose: ALPHA, BINARY, FOCUS
  • To use as a transaction file for modifying a data source, choose: ALPHA, BINARY
  • To use for interactive analysis without connection to a server, choose: AHTML , APDF, FLEX

For details about all available formats, see Choosing Output File Formats.

MISSING
Controls whether fields with the attribute MISSING=ON in the Master File are carried over into the HOLD file. MISSING ON is the default attribute. If the HOLD command specifies MISSING OFF, fields with the MISSING attribute are not carried over. For related information, see Handling Records With Missing Field Values. Also see the Developing Reporting Applications manual for the SET HOLDMISS, SET NULL, and SET HNODATA parameters, which control how missing values are propagated to alphanumeric and comma-delimited files.

Top of page

x
Syntax: How to Set the Default HOLD Format
SET HOLDFORMAT = {BINARY|ALPHA}

or

ON TABLE SET HOLDFORMAT {BINARY|ALPHA}

where:

BINARY
Sets the default HOLD file format to BINARY.
ALPHA
Sets the default HOLD file format to ALPHA.


Example: Extracting Data to a HOLD File

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

To display the report generated by this request issue a report request against the HOLD file.

Tip: If you wish to view the information in the HOLD Master File before reporting against it, you can issue the query command ? HOLD.


Top of page

x
Syntax: How to Query a HOLD Master File

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.



Example: Reporting Against a HOLD Master File

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

WebFOCUS