HP 3000 Manuals

XEQ [ QUERY/V Reference Manual ] MPE/iX 5.0 Documentation


QUERY/V Reference Manual

XEQ 

Executes QUERY commands from a file instead of the standard input device.

Syntax 

     X[EQ] filename [,NODATA]

For example:

     XEQ CFILE,NODATA

Where filename = FILE and option = ,NODATA

Parameters 

filename               is the name of an ASCII file containing commands
                       and parameters.

NODATA                 if specified, QUERY prompts for null data values
                       and any command parameters when the XEQ file is
                       executed.

Discussion 

When the XEQ command is entered, QUERY reads the specified file and
executes the commands until an end-of-file or another XEQ command is
encountered.  Any command input is also read from filename unless NODATA
is specified.  When an end-of-file is reached, control returns to the
original command input device (in session mode, the terminal, or in job
mode, the job input device).

Only the first 72 characters of each record are read.  You can continue a
command on the next record by entering an ampersand (&) as the last
non-blank character in the current record.

If an error occurs while opening the data base in session mode, QUERY
will close the XEQ file and prompt for another command.  In job mode,
QUERY closes the XEQ file and the job is terminated.

An XEQ command within another XEQ file will close the first file and open
the new one.  The initial file is never reopened.  QUERY performs an
end-of-file on the first file and control transfers to the new file.

The NODATA option specifies that the XEQ file only contains commands and
does not contain any data needed by the command.  QUERY will prompt you
for the data.

Control Y 

When you enter CONTROL Y during the execution of an XEQ file, QUERY will
terminate the command currently executing, close the XEQ file and prompt
for another command.

If a FIND, MULTIFIND, or SUBSET command is executing when CONTROL Y is
entered, QUERY will print the following message.

     x ENTRIES HAVE QUALIFIED, DO YOU WANT TO CONTINUE SEARCHING?

If you respond YES, QUERY will complete the search and execute the rest
of the commands in the XEQ file.  If you respond NO, QUERY will terminate
the retrieval command, close the XEQ file, and prompt for another
command.

If you enter CONTROL Y in response to a value prompt, as in the case of
null values and the NODATA option, QUERY will terminate the command,
close the XEQ file, and prompt for another command.  In some cases, a
retrieval command with null values will create an execution loop where
the only way to terminate the command is with CONTROL Y.

The following is an example of an XEQ file which will create an execution
loop.  The XEQ file is named FINDACCT and contains:

     FIND ACCT#=""
     REPORT ALL
     XEQ FINDACCT,NODATA

Examples 

Example 1 

In this example, an XEQ file called FISET is used to define a particular
QUERY session environment.  The FISET file contains these records:

     DEFINE
     ORDERS
     CLERK
     5
     CUSTOMER,SALES
     PROCX
     TERM

QUERY executes the DEFINE command and uses the other records as data in
response to the DEFINE command prompts.  If the NODATA option had been
specified, QUERY would prompt you for each DEFINE prompt.

     >XEQ FISET 
     DEFINE
     DATA-BASE = ORDERS
     PASSWORD = CLERK
     MODE = 5
     DATA-SETS = CUSTOMER,SALES
     PROC-FILE = PROCX
     OUTPUT = TERM
     OUTPUT = TERM
     END OF XEQ FILE

Example 2 

This example shows how an XEQ file, PRXFIL, can be used to store and
execute a pre-planned find-and-report sequence.  It also shows the use of
null data values and how the FIND CHAIN command can be used to access two
data sets.  Here, the information from CUSTOMER and SALES is used to
prepare a bill.

     >XEQ PRXFIL,NODATA 

     FIND CHAIN CUSTOMER.ACCOUNT,SALES.ACCOUNT="" END
     WHAT IS THE VALUE OF - ACCOUNT
     >>2 
     2  ENTRIES QUALIFIED
     REPORT BILL
          .
          .
          .
_________________________________________________________________________________
|                                                                               |
|                               BOBO'S MERCANTILE                               |
|                                                                               |
|                                                                               |
|                                                                               |
|                                                                               |
|     ACCOUNT #:   2                                 BILLING DATE:  06/19/85    |
|                                                                               |
|                                                                               |
|             HARLEY     W       LOND                                           |
|                       1362 16TH AVE                                           |
|            SAN FRANCISCO,  CA 94122                                           |
|                                                                               |
|                                                                               |
|     PURCHASE DATE                                                 PURCHASE    |
|                                                                      TOTAL    |
|                                                                               |
|                                                                               |
|     85/05/05                                                       $418.22    |
|                                                                               |
|                                                                               |
|     TOTAL DUE                                                      $418.22    |
|                                                                               |
_________________________________________________________________________________

          Figure 3-5.  Billing Report From an XEQ File 

The XEQ file PRXFIL contains:

     FIND CHAIN CUSTOMER.ACCOUNT,SALES.ACCOUNT="" END
     REPORT BILL

Since you want to be prompted for a value when the FIND CHAIN command
containing a null data value is called, you use the NODATA option in the
XEQ command.  Note that if REPORT were called directly from the file, XEQ
NODATA would prompt you for report statements instead of reading them
from the file.  Therefore, the REPORT command is stored as a procedure,
BILL, in the current Proc-file, and is initiated from PRXFIL after the
FIND CHAIN command.

The procedure BILL contains:

     REPORT
     H1,"BOBO'S MERCANTILE",43,SPACE A4
     H2,"ACCOUNT #:",10
     H2,ACCOUNT,14
     H2,"BILLING DATE:",60,SPACE A2
     H2,DATE,70
     H3,FIRST-NAME,14
     H3,INITIAL,20
     H3,LAST-NAME,31
     H4,STREET-ADDRESS,31
     H5,CITY,20
     H5,STATE,25
     H5,ZIP,31,SPACE A2
     H7,"PURCHASE-DATE",13
     H7,"PURCHASE,"70,SPACE B3
     H8,"TOTAL",70,SPACE A2
     D,PURCH-DATE,8,E1
     E1,"XX/XX/XX"
     R4,LOAD,QUANTITY
     R4,MULT,PRICE
     R4,ADD,TAX
     D,R4,70,E2
     E2,"$$$,$$$.99"
     R0,ADD,R4
     TF,"TOTAL DUE",9,SPACE B2,SKIP A
     TF,R0,70,E2
     S,PURCH-DATE
     END



MPE/iX 5.0 Documentation