background image

FIND Statement

Statements

4–18

058057 Tandem Computers Incorporated

3.

If you omit output-field-name, ENFORM assumes that it is the same as the input
field name (including any subscripts or qualifications that apply to the input field
name).  Consider, for example, the following record descriptions and FIND
statements:

RECORD OLD.                     RECORD new.

FILE IS old KEY-SEQUENCED.      FILE IS new UNSTRUCTURED.

02 A            PIC XX.         02 A    PIC XX.

02 B            PIC 99.         02 B    PIC 99.

02 C         OCCURS 2 times     02 D1   PIC AA.

  04 DD         PIC AA.         02 D2   PIC AA.

  04 EE         PIC XX.         02 E1   PIC XX.

KEY 0 IS A.                     02 E2   PIC XX.

END                             END

OPEN old, new;

FIND new ( A, B, C);

The preceding FIND statement omits the output-field-names.  Therefore, ENFORM
assumes that the name of the output fields are new.A, new.B, and new.C.  Since
the new record description does not contain a field named C, the query fails and
ENFORM issues an error message.

4.

Output-field-name can be a group name; however, ENFORM might not store the
fields within the group in the manner you expect.  To understand the way that
ENFORM stores group elements, you must first understand what a group is.  A
group is defined in DDL as any field whose level number (03, 04, ...) is less than
that of the next field in the record.  Consider, for example, the following DDL
record description:

RECORD findfl.

FILE IS $mkt.sample.findfl key-sequenced.

02 account-num.

  05 type        PIC 9(4).

  05 num         PIC BINARY 16.

02 custnum       PIC 9(4).

Within this record, account-num is a group.  The data type of a group is always
alphanumeric.  When a group name is specified as output-field-name within a FIND
statement, ENFORM stores each element within the group as alphanumeric data.  If
one of the fields within the group is defined as binary, using a group name as output-
field-name
 results in an output record that might contain undesirable data. (The
undesirable results occur because the binary representation of some numbers does not
correspond to the ASCII representation of these same numbers.)

Before the FIND statement executes, the dictionary must include a record description
that defines the structure of the input record.  This record description also defines the
file type (key-sequenced, relative, entry-sequenced, or unstructured) of any data file
that can be associated with the record description.  The actual file type of the data file
must be the same as the file type specified in the record description; otherwise, your
query might return incorrect results.

Summary of Contents for ENFORM

Page 1: ...Data Management Library Tandem Computers Incorporated ENFORM Reference Manual Abstract This manual provides detailed information about the syntax of the ENFORM language Part Number 058057...

Page 2: ...057 GUARDIAN B00 E08 July 1991 The second edition of this manual including updates 1 and 2 was reformatted in July 1991 no changes were made to the manual s content at that time The reformatted manual...

Page 3: ...ARS Computer Software Restricted Rights clause RESTRICTED RIGHTS NOTICE Use duplication or disclosure by the Government is subject to the restrictions as set forth in subparagraph c 1 ii of the Rights...

Page 4: ...areas have been clarified and examples have been added Reserved words Subscript ranges Qualification aggregates and target records BEGINS WITH and CONTAINS Aggregates and scale Display format and sca...

Page 5: ...New and Changed Information iv 058057 Tandem Computers Incorporated This page left intentionally blank...

Page 6: ...New and Changed Information 058057 Tandem Computers Incorporated v...

Page 7: ...ommand 2 8 The Command Interpreter PARAM Command 2 8 The Command Interpreter QP Command 2 9 Example of Server Query Processor Creation 2 9 Generic Files 2 10 Generic Files and a Dedicated Query Proces...

Page 8: ...ate with Embedded WHERE Clause 3 21 Aggregates and Scale 3 21 Literals 3 22 Numeric Literals 3 22 String Literals 3 22 Arithmetic Expressions 3 23 Evaluation Order of Arithmetic Expressions 3 23 Scale...

Page 9: ...laring a User Aggregate 4 9 Declaring a User Variable or User Table 4 10 DELINK Statement 4 11 DICTIONARY Statement 4 12 Identifying the Location of the Dictionary 4 12 Clearing the Internal Table 4 1...

Page 10: ...ENFORM Treats Parameters 4 41 SET Statement 4 42 Initializing User Defined Elements 4 43 Redefining Option Variables 4 43 SUBFOOTING Statement 4 44 Specifying Field Names within a SUBFOOTING Statemen...

Page 11: ...iptor 5 15 Modifiers 5 15 Field Blanking Modifiers 5 16 Fill Character Modifier 5 16 Overflow Character Modifier 5 17 Justification Modifiers 5 17 Symbol Substitution Modifier 5 18 Decorations 5 19 Co...

Page 12: ...ause 5 35 CUM with OVER ALL 5 35 CUM with OVER 5 35 CUM Clause Used with User Variable 5 36 Restrictions 5 36 FOOTING Clause 5 37 Specifying a Field Name within a FOOTING Clause 5 37 Spacing Considera...

Page 13: ...rget item or By item 5 58 SPACE Clause with a Print List 5 58 SUBFOOTING Clause 5 59 Specifying Field Names in a SUBFOOTING Clause 5 59 Spacing Considerations 5 59 Subfooting for Current Report or All...

Page 14: ...lause to Establish a LINK 5 72 Section 6 Commands ASSIGN Command 6 2 ATTACH Command 6 5 COMPILE Command 6 6 DICTIONARY Command 6 7 Identifying the Dictionary 6 7 Clearing Internal Tables 6 7 EDIT Comm...

Page 15: ...a LINK Statement C 1 Links Initiated by a LINK OPTIONAL Statement C 1 Links Initiated by a WHERE Clause C 2 How ENFORM Handles a WHERE Clause C 2 When a WHERE Clause Establishes a Link C 3 Comparison...

Page 16: ...e of Qualification Aggregate with OVER Over item Syntax 3 20 Figure 3 6 Qualification Aggregate with Embedded WHERE Clause 3 21 Tables Table 2 1 ENFORM Generic Files and Their Uses 2 11 Table 2 2 ENFO...

Page 17: ...s For other information about ENFORM and related products refer to the publications listed below Data Definition Language DDL Reference Manual EDIT Manual ENFORM User s Guide ENSCRIBE Programming Manu...

Page 18: ...Preface xvi 058057 Tandem Computers Incorporated This page left intentionally blank...

Page 19: ...Preface 058057 Tandem Computers Incorporated xvii...

Page 20: ...kets enclose all optional syntax elements A vertically aligned group of elements enclosed in brackets represents a list of selections from which to choose one or none Braces A vertically aligned group...

Page 21: ...Notation Conventions xviii 058057 Tandem Computers Incorporated This page left intentionally blank...

Page 22: ...of ENFORM such as using the host language interface writing an ENFORM server or redefining ENFORM reserved words and message text are not discussed For this information and for information about usin...

Page 23: ...ata Base The important terms are Query specifications The language elements statements clauses commands that you specify to provide ENFORM with the information it needs to retrieve data and to establi...

Page 24: ...ithin the record the record and field length the name of any primary or alternate key fields and the name of the physical file associated with the record description The dictionary is created by the D...

Page 25: ...ENFORM Terminology Introduction 1 4 058057 Tandem Computers Incorporated This page left intentionally blank...

Page 26: ...specifies the name of the physical file to which output is directed If this option is omitted ENFORM directs the output to the current output listing file explained later in this section dict subvol n...

Page 27: ...the functions of the Edit process are available for your use Either the RUN or the SOURCE command can be used to execute the source code created in the Edit process These commands are described in Se...

Page 28: ...le is the home terminal As the session progresses the current output listing file might change as follows If a QUERY COMPILER LISTING file is specified that file becomes the current output listing fil...

Page 29: ...AK key when commands or statements are being entered either directly or indirectly returns the terminal to the Command Interpreter prompt Pressing the terminal BREAK key when you have entered the EDIT...

Page 30: ...that is part of the input file When ENFORM is used in interactive mode the ENFORM ASSIGN command overrides any Command Interpreter ASSIGN commands The syntax of the Command Interpreter ASSIGN command...

Page 31: ...not contain any embedded commas and leading and trailing blanks are not included as part of parameter value If the second form is used all the characters including leading and trailing blanks between...

Page 32: ...Compiled ENFORM Query Dictionary B Report ENFORM Compiler Report Writer Process ENFORM Compiler Report Writer Process Report ENFORM Compiler Report Writer Process Host Language Program ENFORM Server Q...

Page 33: ...es QUERY WORK AREA QUERY SORT AREA QUERY QPSTATISTICS and QUERY QPSTATUS MESSAGES All other names are ignored physical filename is a fully qualified Tandem file name Refer to the GUARDIAN Operating Sy...

Page 34: ...e is displayed Max reads must be an integer The default is no limit The Command Interpreter QP Command After the parameters are initialized and the physical files to be kept open are specified the ser...

Page 35: ...r each class These generic file names can be used in Command Interpreter ASSIGN commands or ENFORM ASSIGN commands described in Section 6 as the record name to be assigned to a physical file name When...

Page 36: ...PID and the beginning and ending times of the query execution Output is produced in ASCII For each query processed the output consists of 72 the number of record types in the query 3 For display purp...

Page 37: ...the QUERY STATUS MESSAGES file The output is produced in ASCII with a record length of 132 bytes In most cases a generic output file is an unstructured file When ENFORM opens an unstructured file to...

Page 38: ...st be stopped and restarted to alter these file assignments If you assign generic files by specifying either the ENFORM ASSIGN command during ENFORM processing or the Command Interpreter ASSIGN comman...

Page 39: ...ERY COMPILER LISTING file is not the default output file the error messages are also written to the default output file Error messages from the report writer The QUERY STATUS MESSAGES file if assigned...

Page 40: ...The syntax and functions of the ENFORM language elements that can be used either in a target list or in request qualification Both target lists and request qualification are defined in Section 1 These...

Page 41: ...EN employee LIST empnum empname salary user var salary 10 WHERE salary EQ AVG salary OVER empnum Statement Special Character User Variable Keyword Statement Special Character String Literal Keywords S...

Page 42: ...FORM User s Guide for instructions on redefining the ENFORM reserved words Table 3 1 shows the ENFORM reserved words Table 3 1 ENFORM Reserved Words and Characters AFTER DELINK LESS PRINT VIA ALL DESC...

Page 43: ...age elements Must appear in balanced pairs brackets Delimits subscripts modifiers and decorations Must appear in balanced pairs question mark Denotes commands when directly followed by a keyword comma...

Page 44: ...ments With the exception of the option variable clauses and the system variable clauses ENFORM clauses only apply to the LIST or FIND statement of which they are a part Some of the operations performe...

Page 45: ...ld name Referencing a record name as a target item is the same as referencing each occurrence of each of the fields individually A record name cannot be specified as an element in a print list A print...

Page 46: ...C 99 02 pens 05 gum PIC 99 05 b point PIC 99 05 pink PIC 99 05 felt tip PIC 99 02 ink pens 02 erasers 05 felt tip PIC 99 05 ink PIC 99 05 b point PIC 99 05 gum PIC 99 05 fountain PIC 99 05 gray PIC 99...

Page 47: ...beginning of the physical file The first record in the physical file has position zero A listing of the primary keys of a relative file can be obtained by OPEN rell LIST KEY OF rell The primary key of...

Page 48: ...ables although they are not necessary The syntax for including subscripts is field name ref1 user table name subscript subscript range grp name subscript subscript range field name ref2 subscript subs...

Page 49: ...values for a user table are defined in the DECLARE statement For example consider the following user table declaration DECLARE u var 24 The valid subscript values for u var are 1 through 24 Valid subs...

Page 50: ...ript ranges For example LIST employee 1 5 salary 1 10 is illegal In the dictionary record description a data base table can be defined as a group element with subordinate data base field entries For e...

Page 51: ...es An aggregate is the result of a cumulative operation performed for each value that contributes to the aggregate An aggregate yields a single value for the group of values over which it is processed...

Page 52: ...umeric string with the lowest value based on the ASCII collating sequence SUM is a predefined ENFORM aggregate that totals a set of numbers or expressions user aggregate is the name of an aggregate de...

Page 53: ...to the running total of the contributing field values After all contributing field values are processed the final total is divided by the number of field values that made up the total The following e...

Page 54: ...s also used to obtain the current value of the aggregate in step expression and end expression formal argument is a unique name used to represent the actual field name or expression in the aggregate d...

Page 55: ...e nested that is one aggregate cannot be used as the argument for another aggregate The UNIQUE syntax cannot be used with an aggregate computed over a by item Target Aggregate with OVER ALL Syntax Whe...

Page 56: ...FIND statement with OVER ALL either present or assumed only the first target record contains the aggregate value This field is blank in all other target records generated by the FIND statement Target...

Page 57: ...al qualification aggregate expression the field being aggregated any field name appearing in an expression being aggregated any field name appearing in the WHERE clause associated with an aggregate an...

Page 58: ...utes the value for the aggregate over all the records in the data base file not over the target records selected in the rest of the LIST or FIND statement and uses the result as input to the target li...

Page 59: ...nchnum WHERE salary GT AVG salary OVER regnum The qualification aggregate value for each group is regnum AVG salary 1 24666 2 28333 5 38000 99 39500 If employee has the following form when grouped by...

Page 60: ...all the parts where the price of the part is greater than the average price of all parts not in stock Figure 3 6 Qualification Aggregate with Embedded WHERE Clause OPEN parts LIST partnum inventory WH...

Page 61: ...ns when the literal is compared to a data base element described in the data dictionary as numeric Numeric literals Are not enclosed in quotation marks Are composed of the digits 0 9 Can be preceded o...

Page 62: ...n an arithmetic expression Arithmetic expressions must be enclosed in parentheses Table 3 3 shows the arithmetic operators and their functions Table 3 3 Arithmetic Operators Operator Function Addition...

Page 63: ...ision of the user variable can be specified by an INTERNAL clause within the DECLARE statement that defines the user variable The maximum number of digits allowed is 18 All calculations with ENFORM ar...

Page 64: ...variable field name expression NOT conditional operator variable field name expression conditional operator is one of the conditional operators shown in Table 3 4 expression is an IF THEN ELSE or ari...

Page 65: ...boolean operators AND OR and NOT to operate over two or more logical expressions Using the boolean operators AND OR and NOT has the following effect on the evaluation of the logical expression When yo...

Page 66: ...ns a specified alphanumeric string For example the following determines whether the empname field contains the value GEORGE empname CONTAINS GEORGE ENFORM does not support variable length parameters T...

Page 67: ...tname field is compared to a pattern match partname DISK MB OR partname DISK Mb OR partname Disk MB OR partname Disk Mb In the following logical expression two numbers precede the string literal indic...

Page 68: ...clared with an alphanumeric internal format as a string literal ENFORM handles all other parameters as numeric literals You must enclose a parameter with parentheses wherever you would have to enclose...

Page 69: ...the user variable depends upon the value most recently assigned Assignment syntax is user variable name 1 field name aggregate literal user variable name 2 expression user table element user variable...

Page 70: ...u var 10 ENFORM uses the initial or default value of the user variable to determine the value of the expression In the example the value of the expression is 20 ENFORM then assigns this value to the...

Page 71: ...64 elements called occurrences ENFORM issues an error message if you attempt to define a table with more than 64 occurrences The individual elements of a user table can be referenced by using subscri...

Page 72: ...ect of the statement is not shown in the output produced by the SHOW command Table 4 1 shows the ENFORM statements and their functions Table 4 1 Summary of Statements Information Selection Statement F...

Page 73: ...se in Section 5 FOOTING prints a footing at the bottom of each report page for all subsequent reports in the current session See also the FOOTING clause in Section 5 SUBFOOTING prints a subfooting at...

Page 74: ...statement need not be explicitly included within the following LIST statements If the field name is not included ENFORM in effect adds the field name with a NOPRINT clause Spacing Considerations By de...

Page 75: ...subsequent reports in the current session The current AT END statement can be reset by specifying a new AT END statement with a different print list Using an AT END PRINT clause temporarily overrides...

Page 76: ...RT statement and a TITLE or SUBTITLE statement the AT START information is printed after the title or subtitle The AT START statement differs from the TITLE statement in that the AT START information...

Page 77: ...e page number Using the CENTER clause following the print list of an AT START statement centers the information on the page The CENTER Option Variable SKIP SPACE and TAB clauses are described in Secti...

Page 78: ...sion progresses ENFORM maintains an internal table for opened record descriptions links of record descriptions and definitions of user variables user aggregates user tables and parameters This interna...

Page 79: ...ed element Names of user defined elements should conform to the rules described in Section 3 max subscript is the number of occurrences for the user table the maximum number allowed is 64 Max subscrip...

Page 80: ...gate User aggregates are processed just like the predefined aggregates The step expression of a user aggregate can contain Arithmetic expressions IF THEN ELSE expressions The optional end expression i...

Page 81: ...variable or an element in a user table is a fourteen character integer To change this default specify the optional AS clause The display format specified in the AS clause formats the user variable or...

Page 82: ...orresponding LINK statement For example if the LINK statement is LINK parts TO odetail VIA partnum the corresponding DELINK statement can be DELINK parts partnum TO odetail partnum ENFORM stores all l...

Page 83: ...onary with a current version Refer to the Data Definition Language DDL Reference Manual for more information about creating and compiling a dictionary Identifying the Location of the Dictionary You ca...

Page 84: ...ain elements of the internal table refer to the CLOSE and DELINK statements in this section The elements cleared by the DICTIONARY statement are All dictionary record descriptions from previous OPEN s...

Page 85: ...minates the current ENFORM session The syntax of the EXIT statement is EXIT The EXIT statement returns control to the invoking process usually the Command Interpreter The EXIT statement is the same as...

Page 86: ...UNIQUE adds processing overhead and should be avoided unless you know unwanted duplicate records exist output record name is the name of the dictionary record description of the output record output f...

Page 87: ...PIC X 18 02 custnum PIC 9 4 02 partcost PIC 9 6 V99 end ENFORM allows you to specify data base tables see the description of subscripts in Section 3 for information about data base tables in the recor...

Page 88: ...tatement The first clause has highest priority and is sorted first the next one second priority down to the last clause Output Fields When the FIND statement executes ENFORM takes the values from the...

Page 89: ...DDL as any field whose level number 03 04 is less than that of the next field in the record Consider for example the following DDL record description RECORD findfl FILE IS mkt sample findfl key sequen...

Page 90: ...a string literal A string literal must be enclosed in parentheses FIND jobtitle manager The value of an arithmetic expression Enclose an arithmetic expression within parentheses Use any combination o...

Page 91: ...sufficiently qualified to avoid any ambiguity between it and any other element specified in the query Request Qualification Use the WHERE clause to limit the records written to the physical output fil...

Page 92: ...ry requesting only by items and aggregates over ALL is not an implicit request for summary records For example SET SUMMARY ONLY TO OFF FIND findfil BY employee dept BY employee job BY employee empname...

Page 93: ...ries using the LIST statement and cannot be used with the FIND statement AFTER CHANGE clause AS clause AS DATE clause AS TIME clause AT END statement and AT END PRINT clause AT START statement and AT...

Page 94: ...statement need not be explicitly included within the following LIST statements If the field name is not included ENFORM effectively adds it to the LIST statement with a NOPRINT clause Spacing Conside...

Page 95: ...riable SKIP SPACE and TAB clauses are described in Section 5 Footing for Current Report or All Reports A FOOTING statement prints a footing at the bottom of each page for all subsequent reports in the...

Page 96: ...e LINK OPTIONAL statement Both the LINK statement and the LINK OPTIONAL statement establish a connecting relationship called a link You can also establish a link with a WHERE clause A link allows you...

Page 97: ...ion under LINK OPTIONAL Statement Considerations LINK Statement Considerations When you use a single LINK statement ENFORM builds a set of logical records by searching through the data files associate...

Page 98: ...record by supplying blanks for the fields in the logical record that correspond to the branch record description Because of the way that ENFORM builds the logical records for this type of link the ord...

Page 99: ...r link between the record descriptions when determining the legality of the links ENFORM ignores these links only when checking for violations of the LINK OPTIONAL rules After ENFORM determines that a...

Page 100: ...the terms in the WHERE clause 2 For a given logical record ENFORM supplies null values for any fields that correspond to a non contributing record description If your query specifications include exp...

Page 101: ...contain null values because ENFORM treats null values as blanks in alphanumeric fields If no num was declared numeric PIC 99 in the record description you could specify the aggregate as follows COUNT...

Page 102: ...LL CUM OVER by item PCT OVER ALL PCT OVER by item TOTAL SUBTOTAL SUBTOTAL OVER by item NOHEAD NOPRINT CENTER HEADING string literal AS display format AS DATE display format AS TIME display format FORM...

Page 103: ...ble or a system variable clause user var name is the name of a user variable string literal is one or more alphanumeric characters enclosed within quotation marks display format is the format in which...

Page 104: ...atement contains more than one BY BY DESC ASCD or DESC clause ENFORM determines a major to minor sorting precedence ENFORM determines the sorting precedence by the order in which the clauses appear in...

Page 105: ...ER regnum a field or user table with a subscript range LIST months 1 6 a parameter name Parameters that have not been declared with an alphanumeric internal format must be enclosed in parentheses Para...

Page 106: ...ds in AFTER CHANGE and BEGIN CHANGE clauses subtotals totals and other calculations specified for the report Note that the value of the first record of an AFTER CHANGE clause or the last record of a B...

Page 107: ...SUMMARY ONLY TO OFF LIST BY dept BY job BY empname COUNT empname OVER job returns one record for each job in each department Again only the first employee name empname for each job is returned COUNT D...

Page 108: ...e the clause modifies each element in the range Briefly the clauses do the following AFTER CHANGE clause prints information preceding the records for each by item within a printed report AS clause spe...

Page 109: ...e for a target item or by item SUBFOOTING clause prints a subfooting for a report SUPPRESS clause defines a condition that prevents specific records from printing in a report SUBTOTAL clause prints a...

Page 110: ...ecord description Either a DICTIONARY statement or DICTIONARY command clears the entire internal table The current ENFORM session ends Using OPEN AS COPY OF The OPEN AS COPY OF statement is useful whe...

Page 111: ...fined per ENFORM session The SET statement can initialize the value of the parameter The following PARAM statement defines a parameter named regno PARAM regno INTERNAL I2 Values for parameters can onl...

Page 112: ...value for reptnum enter the following Command Interpreter PARAM command PARAM reptnum 333 If you then specify the ENFORM command ENFORM IN rept OUT s the resulting report is REPORT 333 Part Number PA...

Page 113: ...O ON OFF unsigned digit string literal display format user variable name or user table name subscript is the name of an element defined by a DECLARE statement param name is the name of a parameter def...

Page 114: ...c by the DECLARE statement and set to the value of 99 by the SET statement DECLARE u var INTERNAL I2 SET u var TO 99 The SET statement can initialize a user table An unsigned numeric integer subscript...

Page 115: ...be explicitly included within the following LIST statements If a SUBFOOTING statement field is not included ENFORM effectively adds it to the LIST statement with a NOPRINT clause Spacing Consideratio...

Page 116: ...Option Variable SKIP SPACE and TAB clauses are described in Section 5 Subfooting for Current Report or All Reports A SUBFOOTING statement prints a subfooting at the bottom of each page for all subsequ...

Page 117: ...the print list of a SUBTITLE statement the field name has the same value as in the first row of the page A field name appearing within the SUBTITLE statement need not be explicitly included within the...

Page 118: ...tion Variable SKIP SPACE and TAB clauses are described in Section 5 Subtitle for Current Report or All Reports A SUBTITLE statement prints a subtitle at the top of each page immediately following the...

Page 119: ...of a TITLE statement the field has the same value as in the first row of the page A field appearing within the TITLE statement need not be explicitly included within the following LIST statements If...

Page 120: ...n the page The CENTER Option Variable SKIP SPACE and TAB clauses are described in Section 5 Title for Current Report or All Reports A TITLE statement prints a title at the top of each page for all sub...

Page 121: ...TITLE Statement Statements 4 50 058057 Tandem Computers Incorporated This page left intentionally blank...

Page 122: ...use AS DATE clause SKIP clause AS TIME clause SPACE clause AT END PRINT clause SUBFOOTING clause AT START PRINT clause SUBTITLE clause BEFORE CHANGE clause SUBTOTAL clause CENTER clause SUPPRESS claus...

Page 123: ...ortion of a timestamp field that has been created by the GUARDIAN procedure TIMESTAMP Printing User Supplied Information on a Report Clause Function AFTER CHANGE prints information for the current rep...

Page 124: ...format Formatting a Report Clause Function CENTER centers a target item within its context FORM controls when to skip to a new page HEADING overrides the default column title for a target item or by...

Page 125: ...to the location of the printed information For the exact location of where the AFTER CHANGE information is printed within a report refer to the ENFORM User s Guide When more than one AFTER CHANGE clau...

Page 126: ...the digit if any following the keyword SKIP the number of slashes specified or the option variable VSPACE In the following example the SKIP clause within the AFTER CHANGE clause causes two lines to b...

Page 127: ...uses do not group field values If you want field values both grouped and sorted use the BY or BY DESC clauses described in this section When more than one ASCD BY BY DESC or DESC clause is specified i...

Page 128: ...ther a by item or a target item nonrepeatable edit descriptors specify some general ways report items are to be printed Nonrepeatable edit descriptors should not be specified without a repeatable edit...

Page 129: ...conditions location char string where conditions are one or more of the following M add char string if value is negative N add char string if value is null P add char string if value is positive Z ad...

Page 130: ...type of the field The data type is derived from the DDL PIC clause or DECLARE INTERNAL clause if present For example PIC 999999V99 is converted to F9 2 fixed nine characters long with two decimal pla...

Page 131: ...an overflow condition occurs and ENFORM truncates the value Examples of the Alphanumeric Edit Descriptors The following examples show the affect of the A edit descriptor Format Item Value Printed Item...

Page 132: ...to the left of the decimal point When you specify the fixed format edit descriptor ENFORM prints the value of the target item or by item right justified with leading blanks if necessary If the value...

Page 133: ...l alignment for the display format When the symbol period is used the decimal point is printed Numeric Values If the mask specified for a numeric value is too small an overflow condition occurs The sp...

Page 134: ...decimal point More information on scale appears in Section 3 under AGGREGATES and ARITHMETIC EXPRESSIONS Examples of the Mask Edit Descriptor The following examples show the affect of the mask edit de...

Page 135: ...repeatable edit descriptor must be enclosed in parentheses The types of nonrepeatable edit descriptors are Scale factor edit descriptor Optional plus edit descriptor Scale Factor Edit Descriptor The s...

Page 136: ...xamples of the Optional Plus Edit Descriptor The following examples show the effect of the optional plus edit descriptor Format Item Value Printed Item SP F10 2 123 00 123 00 F10 2 123 00 123 00 SP F1...

Page 137: ...00 BN F10 2 null value BN F10 2 100 00 100 00 Fill Character Modifier The fill character modifier specifies the fill character that is used in the current display format The default fill character is...

Page 138: ...difier does not apply to the alphanumeric A edit descriptor If you want to change the default overflow character for all display formats in the current session use the OVERFLOW option variable describ...

Page 139: ...st followed by the substitute symbol The symbol substitution modifier allows you to replace the standard symbols used in edit descriptors You can change the symbols for 9 Z V and in the mask M edit de...

Page 140: ...is null P add char string if value is positive Z add char string if value is zero O add char string if overflow condition occurs location is one of the following An absolute position n F floating P pr...

Page 141: ...ter string is to occupy the position or positions immediately to the left for right justified values of the leftmost data character If the value is left justified the F specifier indicates the charact...

Page 142: ...t justified value immediately to the right of left justified value MP char string if value is negative print char string immediately to the right of value NAn char string if value is null print char s...

Page 143: ...em Value Printed Item MF MP ZPP b F12 2 1000 00 1 000 00 MF MP ZPP b F12 2 1000 00 1 000 00 MA1 CR MPF F12 2 1000 00 1 000 00 MA1 CR MPF F12 2 100 00 CR 100 00 MA1 CR MPF F12 2 0 00 0 00 OA1 overflow...

Page 144: ...The date keywords are M specifies a month D specifies a day Y specifies a year A abbreviates or completely spells out the month or day If n is specified with the keyword A only n letters are displayed...

Page 145: ...keywords produce the following MA JANUARY FEBRUARY DECEMBER MA3 JAN FEB DEC M2 01 02 12 M 1 2 12 MB2 1 2 12 DA MONDAY TUESDAY SUNDAY DA3 MON TUE SUN D2 01 02 31 DB2 1 2 31 D3 001 002 366 DB3 1 2 366 D...

Page 146: ...nks commas hyphens or slashes In addition alphanumeric characters enclosed in apostrophes can be embedded within display format The time keywords are H specifies an hour M specifies a minute S specifi...

Page 147: ...s 5 26 058057 Tandem Computers Incorporated Examples of the Time Display Format These time keywords produce the following HB2 1 2 24 HP2 01 02 12 AM or PM HPB2 1 2 12 AM or PM M2 00 01 59 MB2 0 1 59 S...

Page 148: ...of an AT END PRINT clause need not be explicitly included within the associated LIST statement If the field name is not included ENFORM in effect adds the field to the LIST statement with a NOPRINT c...

Page 149: ...PACE and TAB clauses are described in this section AT END Information for Current Report or All Reports The optional AT END PRINT clause prints information only for the current report This clause temp...

Page 150: ...or a subtitle Specifying a Field Name in an AT START PRINT Clause If you specify a field name within a print list of an AT START PRINT clause ENFORM prints the same field value as in the first row of...

Page 151: ...es are described in this section AT START Information for Current Report or All Reports An AT START PRINT clause only prints information for the report generated by the associated LIST statement It te...

Page 152: ...les or parameter names The clauses that can be used in a print list are described in this section The other elements are described in Section 3 The keyword BEFORE in the BEFORE CHANGE clause refers to...

Page 153: ...rders for 122 If you specify either a SKIP clause or the symbol slash within a print list ENFORM advances one or more lines before printing the rest of the BEFORE CHANGE printlist The number of lines...

Page 154: ...num When more than one sort is specified ENFORM uses a major to minor sort precedence ENFORM determines the sort precedence by the order in which a BY or BY DESC clause appears in a LIST or FIND state...

Page 155: ...ft justified Target items and by items are centered based on the width for which they are formatted not their actual values If the space divides unevenly ENFORM places the extra space to the right of...

Page 156: ...umeric by item is the name of a field grouped by a BY or BY DESC clause CUM with OVER ALL When you specify the CUM OVER ALL clause ENFORM prints a running total in place of each value of the numeric t...

Page 157: ...t before the running total is calculated When the user variable is referenced as a target item element in a LIST statement or as an element within a LIST target item ENFORM uses the value of the user...

Page 158: ...me appearing within the FOOTING clause need not be explicitly included within the LIST statement If the field name is not included ENFORM effectively adds it to the LIST statement with a NOPRINT claus...

Page 159: ...e data on the next and a FOOTING on the next The same page number applies to all physical pages in the logical page Using the CENTER clause centers the footing on the page The CENTER Option Variables...

Page 160: ...ample shows the use of the FORM clause with a by item BY regnum FORM FORM Clause with a Target item When the FORM clause precedes a target item ENFORM starts a new page each time the target item is pr...

Page 161: ...THEN ELSE expression a user variable a System Variable clause or a JULIAN DATE clause heading string is a string literal Remember string literals must be enclosed within quotation marks Default Headin...

Page 162: ...Branch and Number SET NEWLINE TO LIST regnum HEADING Region Number branchnum HEADING Branch Number Region Number Branch Number 1 1 1 2 Notice that when the symbol appears outside of the heading clause...

Page 163: ...ading For example LIST month 3 causes ENFORM to print MONTH 3 Remember the default heading for a field name is either the heading declared in the dictionary or if no heading is so declared the field n...

Page 164: ...hanumeric where n is the length In Integer where n is the length Fw d Fixed where w is the number of digits and d is the number of decimal places The optional INTERNAL clause can appear in a PARAM or...

Page 165: ...format If the date is not in this internal format it can be converted by using the JULIAN DATE Conversion clause The internal format represents a date as the number of days which have elapsed from an...

Page 166: ...he day of the year is relative to January 1 of that year define each part of the date 05 yearly julian date 10 day of year PIC 999 10 current year PIC 99 Then add day of year to the internal date for...

Page 167: ...he NOHEAD clause following a LIST target item suppresses the column heading for the target item Sometimes it is undesirable to print a column heading for an item such as when you want to print more th...

Page 168: ...r calculations elsewhere in the report You can use the NOPRINT clause to suppress printing of a target item or by item within the body of a report In the following example the records are grouped by r...

Page 169: ...4 The Option Variables and their legal values are BLANK WHEN ZERO BREAK KEY CENTER PAGE HEADING STATS SUMMARY ONLY WARN TO ON OFF COPIES COST TOLERANCE DISPLAY COUNT LINES MARGIN PAGES PRIMARY EXTENT...

Page 170: ...OFF pressing the BREAK key temporarily suspends output and returns you to the Command Interpreter prompt but it does not terminate processing Output resumes when you enter the Command Interpreter PAU...

Page 171: ...and the ENFORM program stops The desired cost tolerance level can be defined as follows 0 allows the ENFORM session to proceed with no cost limit 1 keyed access is used on all files 2 one file might r...

Page 172: ...ON ENFORM prints column headings in the report When set to OFF ENFORM does not print headings OFF is equivalent to NOHEAD ALL for every report The default is ON LINES specifies how many lines are to...

Page 173: ...estimate could be too large creating a file system error 43 unable to obtain disc space for file extent or the estimate could be too small producing more data than the file can hold Each time an outpu...

Page 174: ...haracter string in the column of the group item over which the subtotal is computed If the item is defined with the NOPRINT clause ENFORM does not print the character string If the character string do...

Page 175: ...the SKIP clause is used The default number is one WARN specifies when warning messages are to appear on the terminal When set to OFF warning messages do not appear The default is ON WIDTH specifies th...

Page 176: ...aggregate value unless the value is the result of a simple SUM or COUNT operation by item is the name of a numeric field grouped by a BY or BY DESC clause Using PCT OVER ALL When the PCT OVER ALL clau...

Page 177: ...values do not equal 100 OPEN employee LIST BY regnum empname salary PCT SUBTOTAL OVER regnum PCT Clause Used with User Variable When a numeric target item with a PCT clause is assigned to a user vari...

Page 178: ...ble Clause in this section for more information Specifying the symbol slash is equivalent to SKIP or SKIP 1 SKIP Clause with a LIST Target item or By item The SKIP clause can precede or follow a targe...

Page 179: ...e is processed When number is not specified one space is inserted The default spacing between columns on a report is initially set to two spaces It can be temporarily overridden by using the SPACE cla...

Page 180: ...t row of data on the current page A field name appearing within the SUBFOOTING clause need not be explicitly included within the LIST statement If the field name ENFORM effectively adds the field to t...

Page 181: ...on the next and a SUBFOOTING on the next The same page number applies to all physical pages in the logical page Using the CENTER clause centers the subfooting on the page The CENTER Option Variables...

Page 182: ...rint list of a SUBTITLE clause ENFORM prints the same field value as in the first row of the report A field name appearing within the SUBTITLE clause need not be explicitly included within the associa...

Page 183: ...Using the CENTER clause centers the subtitle on the page The CENTER Option Variable SKIP SPACE and TAB clauses are described in this section Subtitle for Current Report or All Reports A SUBTITLE claus...

Page 184: ...tion When a SUBTOTAL OVER clause is used ENFORM subtotals the target item each time the value of the specified by item changes When more than one SUBTOTAL OVER clause is specified ENFORM prints the su...

Page 185: ...e following query the SUPPRESS clause causes ENFORM to print only the inventory part number and part name where the inventory is greater than zero LIST ASCD inventory partnum partname SUPPRESS WHERE i...

Page 186: ...be specified by DATE AS DATE For more information on date and time display formats refer to the AS DATE and AS TIME clauses in this section Printing Line Numbers The LINENO System Variable clause prin...

Page 187: ...dvance to the next line so you can tab backwards on the current line TAB Clause with a LIST Target item or By item The TAB clause can precede a target item or by item within a LIST statement If number...

Page 188: ...e name of a field to which the TIMESTAMP DATE clause returns a date value The field must be described in the dictionary You must define the field that receives the date value from the TIMESTAMP DATE c...

Page 189: ...y must contain a definition of the field to which the TIMESTAMP TIME clause returns a time value You must define the field as a six character alphanumeric field such as 05 TIME STAMP TYPE CHARACTER 6...

Page 190: ...same field value as in the first row of the page A field name appearing within the TITLE clause need not be explicitly included within the associated LIST statement If field name is not included ENFO...

Page 191: ...sical pages in a logical page Using the CENTER clause centers the title on the page The CENTER Option Variables SKIP SPACE and TAB clauses are described in this section Title for Current Report or All...

Page 192: ...being totaled must be numeric by item is a field whose values are grouped by a BY or BY DESC clause When the TOTAL clause is specified ENFORM prints the grand total for a target item or by item after...

Page 193: ...records are restricted from contributing to the target file For example WHERE employee BEGINS WITH BROWN Using the WHERE Clause to Establish a Link Using the WHERE clause to specify a link causes onl...

Page 194: ...and The EXECUTE command can only be used with a compiled query file If the filename specified in the IN option of the ENFORM command is a compiled query file Table 6 1 shows the ENFORM commands and th...

Page 195: ...me is the name of one of the ENFORM generic files described in Section 2 A generic file is used to store some class of ENFORM output The following names are allowed QUERY COMPILER LISTING QUERY REPORT...

Page 196: ...made in the internal table The internal table holds up to 32 assignments When the internal table is full the ASSIGN command can be entered without any parameters to clear all of the assignments Each...

Page 197: ...the exclusion specification for a file the default is SHARED If the DDL physical file name is not being overridden only the record name and the exclusion specification need be specified For example A...

Page 198: ...arts a new dedicated query processor for your use An ATTACH failure is not evident until the first FIND or LIST statement is executed The possible ATTACH failures and the actions you can take are as f...

Page 199: ...IT file contains more than one LIST or FIND statement ENFORM compiles the first LIST or FIND statement to the compiled query file ENFORM does not compile any statements or commands following the first...

Page 200: ...dictionary The volume and subvolume where the dictionary resides can be specified as a part of the Command Interpreter ENFORM command If none is specified it is assumed that the dictionary resides on...

Page 201: ...DIT file A query can be stored in an EDIT file The EDIT file can be created or changed without leaving ENFORM An EDIT command invokes the Editor and operates just as if the Command Interpreter EDIT Co...

Page 202: ...he dictionary being used for the duration of the execution Internal table information from the compiled query file is used until execution terminates then ENFORM uses the dictionary specified before y...

Page 203: ...e EXIT command terminates the current ENFORM session The syntax of the EXIT command is EXIT The EXIT command returns control to the Command Interpreter It is the same as the EXIT statement An alternat...

Page 204: ...ecifying the HELP command enter help element in either upper or lower case characters ENFORM accepts unambiguous abbreviations for help element If you use an ambiguous abbreviation ENFORM displays hel...

Page 205: ...r positional control report format target item OTHER aggregate arithmetic expression logical expression option variable print list system variable COMMANDS ASSIGN ATTACH COMPILE DICTIONARY EDIT EXECUT...

Page 206: ...e physical device can also be a file name The OUT command remains in effect until a new OUT command is issued or the session is terminated Issuing the OUT command without specifying a physical filenam...

Page 207: ...collection of commands statements identified by the section name Multiple sections of an EDIT file can be combined to create complete queries If only edit filename is specified ENFORM compiles and ex...

Page 208: ...an EDIT file The SECTION command names a collection of ENFORM commands and or statements within an EDIT file The COMPILE RUN and SOURCE commands can be used to read a section or sections of an EDIT fi...

Page 209: ...ation Displayed by SHOW Command Command Display Message SHOW Lists the various items that can be displayed with the SHOW command SHOW OPEN Lists the open record descriptions If none have been opened n...

Page 210: ...layed SHOW ASSIGN record name Displays all ASSIGN table information related to the specified record name SHOW user var name Displays the current value s of the user variable or table SHOW record name...

Page 211: ...es The SOURCE command can be used to read in an EDIT file or a collection of commands and or statements within an EDIT file When a SOURCE command is entered the specified commands and or statements ar...

Page 212: ...ge elements statement clause and command sections Language Elements Aggregates AVG COUNT MAX MIN SUM user aggregate AVG COUNT SUM MAX MIN user aggregate field name expression OVER ALL OVER over item W...

Page 213: ...ession NOT condition AND OR NOT condition where condition has one of the following forms field name not BEGINS WITH CONTAINS conditional operator string literal NOT EQUAL EQ IS NE value range pattern...

Page 214: ...ggregate name user table name param name DECLARE user variable name user table name max subscript user aggregate name formal argument step expression end expression initialize constant INTERNAL intern...

Page 215: ...D UNIQUE output record name output field name BY by item BY DESC by item target item ASCD target item DESC target item WHERE logical expression FOOTING print list CENTER LINK record name1 TO OPTIONAL...

Page 216: ...tring literal AS display format AS DATE display format AS TIME display format FORM n SKIP n SPACE n TAB n WHERE logical expression NOHEAD ALL NOPRINT ALL CENTER ALL SUPPRESS WHERE logical expression B...

Page 217: ...param name INTERNAL internal format SET user variable name user table name subscript param name TO string literal number literal option variable name TO ON OFF unsigned digit string literal display f...

Page 218: ...difiers repeatable edit descriptors decorations modifiers nonrepeatable edit descriptors repeatable edit descriptors report item is either a by item or an target item nonrepeatable edit descriptors sp...

Page 219: ...cimal for fixed point values and the minimum number of digits for integer values d specifies the number of digits to the right of the decimal mask combination of the characters 9 Z V period and litera...

Page 220: ...char string is one or more alphanumeric characters enclosed within apostrophes modifiers alter the effect of the edit descriptors as follows BN BZ prints blanks for null or zero values respectively FL...

Page 221: ...tem PRINT print list CENTER BY BY DESC by item target item by item CENTER CENTER ALL target item CUM OVER ALL OVER by item FOOTING print list CENTER FORM number by item target item HEADING heading str...

Page 222: ...KEY CENTER PAGE HEADING STATS SUMMARY ONLY WARN TO ON OFF COPIES COST TOLERANCE DISPLAY COUNT LINES MARGIN PAGES PRIMARY EXTENT SIZE SECONDARY EXTENT SIZE READS SPACE TARGET RECORDS VSPACE WIDTH TO nu...

Page 223: ...FOOTING print list CENTER SUBTITLE print list CENTER target item SUBTOTAL OVER by item SUPPRESS WHERE logical expression System Variables DATE TIME LINENO PAGENO TAB number TIMESTAMP DATE field name T...

Page 224: ...al filename create open spec ASSIGN record name create open spec ATTACH process name COMPILE edit filename section name TO compiled physical filename DICTIONARY dict subvol name EDIT edit filename EXE...

Page 225: ...s COBOL ENTER ENFORMSTART USING ctlblock INT ref compiled physical filename INT ref buffer length INT value error number INT ref restart flag INT value param list INT ref assign list INT ref process n...

Page 226: ...alue reserved for expansion INT ref maskword INT value count ENFORMRECEIVE ctlblock buffer INT function INT ref INT ref CALL ENFORMFINISH ctlblock INT ref TAL CALL ENFORMSTART ctlblock INT ref compile...

Page 227: ...ENFORM Procedures ENFORM Syntax Summary A 16 058057 Tandem Computers Incorporated This page left intentionally blank...

Page 228: ...s ENFORM terminates abnormally ENFORM QP TRAP means a that either a hardware failure or an unexpected software error has occurred Please save the information produced by this message and report the er...

Page 229: ...tionary file name specified on the ENFORM command line is not a valid GUARDIAN file name Invalid MESSAGE TABLE file name The message table file name specified on the ENFORM command line is not a valid...

Page 230: ...ssage table file must be offset at 0 and have length 34 Self explanatory Use the BUILDMK utility to build the key sequenced message table file Sorry you re not allowed to run ENFORM on this processor...

Page 231: ...has been used in a Print List clause that does not appear in the LIST statement WARNING 30 Name too long Truncated to 31 characters The variable or aggregate name must be less than 31 characters ERRO...

Page 232: ...67 ERROR 38 SOURCE file nesting 4 Must have four or fewer levels of nested SOURCE commands ERROR 39 Too many references to user aggregates Total number of references to user aggregates exceeds 32 ERRO...

Page 233: ...e ERROR 45 An integer literal is required in the above context A number with decimal places is not allowed Must be an integer ERROR 46 Too many LINKs Number of links exceeds 32 Clear some with a DELIN...

Page 234: ...ed The indicated feature or operation may not be used ERROR 53 Invalid subscript range specification The subscript range specified x y for an item is wrong Subscripts must be numeric literals The firs...

Page 235: ...d name KEY or KEY OF record name is not allowed when the data for record name is from an ENFORM server process file ERROR 59 Maximum read count exceeded ENFORM has read the limit number of records spe...

Page 236: ...65 An aggregate may not be used in a print list clause Self explanatory ERROR 66 Only one OPTIONAL LINK request allowed per LIST or FIND statement Only one link whether it is OPTIONAL or not can be u...

Page 237: ...flowed its maximum size of 5 915 words ERROR 72 Invalid occurrence number Attempted to subscript past the end of a table ERROR 73 Too many or too few parameters Wrong number of parameters for JULIAN D...

Page 238: ...must be greater than zero WARNING 80 Section name not found Misspelled or nonexistent section in the Edit file ERROR 81 The preceding text contains a syntactically incorrect element Check the precedin...

Page 239: ...OR 88 Illegal CHECKPOINT parameter The primary process for the ENFORM query processor executed a bad checkpoint call probably an internal error The QP terminates abnormally when this condition occurs...

Page 240: ...uery specifications and add the necessary LINK statements or a WHERE clause ERROR 93 A user aggregate having an end expression may not be used in this context A user aggregate declared with an end exp...

Page 241: ...AFTER CHANGE AT END AT START BEFORE CHANGE FOOTING SUBFOOTING SUBTITLE or TITLE statement or clause ERROR 103 Invalid ENFORM version Recompile to execute The compiled physical file was compiled by a v...

Page 242: ...ure on name The dictionary description for an ENFORM server process file must specify a file type of UNSTRUCTURED or no file type at all ERROR 113 An aggregate may not be used in this context with PCT...

Page 243: ...xceeded Your report has produced more pages than the number specified for the PAGES option variable ERROR 137 Invalid date specified The data being formatted with an AS DATE clause is not a valid date...

Page 244: ...n variable Check the syntax of the Option Variable clauses in Section 5 for the values allowed ERROR 172 Item on left side of assign operator must be a field in the FIND record The output field name i...

Page 245: ...nal is linked back to record on left Within your query specifications a link exists that illegally links the record description specified on the right side of a LINK OPTIONAL statement back to the rec...

Page 246: ...sort error number FILE ERROR file error number on name An error occurred in the SORT process For an explanation of the sort error number refer to the Sort Merge Reference Manual Invalid response from...

Page 247: ...on name Refer to the Data Definition Language DDL Reference Manual FILE ERROR Illegal ENFORM execution file on name The file must be a compiled query file created with the COMPILE command FILE ERROR...

Page 248: ...ERROR PURGE failure on name There was a problem purging the physical file FILE ERROR READ failure file error number on name ENFORM could not read the physical file named FILE ERROR RENAME failure on n...

Page 249: ...ENFORM message table file error number on name ENFORM is unable to use the message table file The session continues but all messages contain instead of text FILE ERROR Unable to read ENFORM message ta...

Page 250: ...in the GUARDIAN Operating System Programmer s Guide xxxxxx are values in the hardware registers BUILDMK Error Messages ERROR Key sequenced file must be empty The key sequenced file that is to contain...

Page 251: ...gin with an alphabetic character or An identifier specified in the Edit file version of the message table must begin with either an alphabetic character or a circumflex ERROR Identifier must not end w...

Page 252: ...rred on the specified file during the execution of BUILDMK FILE ERROR EDITREAD text file format error on name The indicated error occurred on the specified file during the execution of BUILDMK FILE ER...

Page 253: ...rs Incorporated FILE ERROR READ failure file error number on name The indicated file error occurred on name during the execution of BUILDMK FILE ERROR WRITE failure file error number on name The indic...

Page 254: ...specify LINK apple TO orange VIA seeds the following is true of the logical records built for the link A given apple record occurrence appears in the logical records only if its linking field value ma...

Page 255: ...erstand when a WHERE clause establishes a link you must first understand what ENFORM does when a WHERE clause appears in a query How ENFORM Handles a WHERE Clause When you use a WHERE clause ENFORM co...

Page 256: ...mer OR fruit fuzz peach fuzz AND fruit color orange color OR fruit season spring AND fruit color orange color OR fruit fuzz peach fuzz When a WHERE Clause Establishes a Link A WHERE clause establishes...

Page 257: ...ing fields are not equal A LINK statement indicates that the values of the linking fields must be equal You cannot specify OPTIONAL in a WHERE clause Consider the WHERE clause in the following query O...

Page 258: ...nked to X and X is optionally linked to B B is not however linked to A Consider the two directional links in the following query specifications OPEN apple orange banana pear LINK apple TO orange VIA s...

Page 259: ...If ENFORM did not require adherence to this rule the starting place could be ambiguous due to the transitive property of links 2 A given record description must not appear on the right side of more t...

Page 260: ...owing query specifications are illegal because they violate rule 1 LINK region TO employee VIA regnum LINK employee empnum TO OPTIONAL order salesman LINK order TO region VIA regnum LIST regname empna...

Page 261: ...A sketch of these links appears as follows employee1 region employee2 The preceding query specifications violate rule 2 because region appears on the right side of more than one LINK OPTIONAL stateme...

Page 262: ...AL statement The WHERE clause establishes three two directional links between employee region and branch Although the LINK OPTIONAL statements cancel two of the three two directional links the link be...

Page 263: ...y two directional link between the same record descriptions ENFORM does use this two directional link when evaluating the query The following query specifications contain two LINK OPTIONAL statements...

Page 264: ...um LINK employee TO OPTIONAL branch VIA branchnum LIST empname employee regnum employee branchnum SUPPRESS WHERE employee regnum region regnum OR employee branchnum branch branchnum A sketch of these...

Page 265: ...stablishes a session wide link True True False Establishes a two directional link True False True Can link more than two record descriptions False False True The order in which you specify record desc...

Page 266: ...by the Data Definition Language DDL also called a data dictionary Default Output File The file to which ENFORM directs output at the beginning of an ENFORM session See also Current Output Listing Fil...

Page 267: ...quely identifies a record Program A sequence of related ENFORM commands and statements Qualification Aggregate An aggregate that appears in a request qualification See also Aggregate Qualified Field N...

Page 268: ...file The file produced by the Query Processor that contains records with all the information requested in the query specifications Target item The record names field names expressions variables aggre...

Page 269: ...Glossary Glossary 4 058057 Tandem Computers Incorporated This page left intentionally blank...

Page 270: ...3 14 qualification aggregates described 3 18 example 3 18 3 19 rules for specifying 3 18 with embedded WHERE clause 3 21 with OVER ALL syntax 3 18 with OVER syntax 3 18 syntax 3 12 target aggregate e...

Page 271: ...atable edit descriptors alphanumeric 5 9 fixed format 5 11 integer 5 10 mask 5 12 AS DATE clause description 5 23 examples 5 24 syntax 5 23 with the JULIAN DATE CONVERSION clause 5 44 AS TIME clause d...

Page 272: ...a field name 5 27 description 5 27 examples 5 27 overriding session wide AT END 5 28 print list elements 5 27 spacing considerations 5 27 syntax 5 27 AT END statement cancelling 4 4 description 4 3 ex...

Page 273: ...elds for reports 3 27 5 16 5 49 Boolean operators 3 26 BREAK key 2 3 BUILDMK messages B 23 BY clause description 5 33 example 5 33 sorting precedence 5 33 syntax 5 33 BY DESC clause description 5 33 s...

Page 274: ...ifying in a clause AFTER CHANGE 5 5 AT END PRINT 5 27 AT START PRINT 5 29 BEFORE CHANGE 5 31 FOOTING 5 37 SUBFOOTING 5 59 SUBTITLE 5 61 TITLE 5 69 specifying in a statement 4 37 AT END 4 4 AT START 4...

Page 275: ...40 INTERNAL 5 43 JULIAN DATE CONVERSION 5 44 NOHEAD 5 46 NOPRINT 5 47 Option Variable 5 48 PCT 5 55 requiring grouping 5 4 5 31 SKIP 5 57 SPACE 5 58 SUBFOOTING 5 59 SUBTITLE 5 61 SUBTOTAL 5 63 summari...

Page 276: ...ver query processor 2 6 maximum file assignments 2 1 overriding 6 3 6 4 syntax 2 5 ENFORM command defined 2 1 dictionary option 2 1 IN option 2 1 message table file option 2 1 OUT option 2 1 FC comman...

Page 277: ...mands not saved 6 1 creating 6 6 defining parameters for 4 40 executing 6 9 passing parameters to 2 6 4 40 Compiler directives 6 1 Compiler report writer defined 1 3 error and warning messages 2 10 Co...

Page 278: ...ocessor ASSIGN command 2 7 description 2 6 example 2 9 PARAM command 2 8 QP command 2 9 CUM clause description 5 35 example 5 35 restrictions 5 36 syntax 5 35 Cumulative operations 3 12 5 35 5 63 5 71...

Page 279: ...ements 4 8 Decorations conditions 5 20 default 5 21 description 5 19 examples 5 21 location 5 20 processing order 5 20 rules for use 5 19 syntax 5 19 Default column spacing 5 52 date display format 5...

Page 280: ...sk 5 12 nonrepeatable 5 14 optional plus 5 15 repeatable 5 14 scale factor 5 13 Dictionary described 1 3 identifying 4 12 6 7 produced by DDL 1 3 4 12 6 7 record description of FIND file 4 15 DICTIONA...

Page 281: ...ined with modifiers 5 15 fixed format 5 11 integer 5 10 mask 5 12 nonrepeatable 5 14 optional plus 5 15 repeatable 5 14 scale factor 5 13 Edit files containing ENFORM queries 2 3 reading 6 18 storing...

Page 282: ...ating statements 3 4 terms 1 2 ENFORM trap messages B 23 Entering commands and statements directly 2 2 indirectly 2 2 Entry sequenced file 3 7 Environment information displaying internal table space 6...

Page 283: ...XIT statement description 4 14 syntax 4 14 Exiting ENFORM 2 2 4 14 6 10 interactive mode 2 2 noninteractive mode 2 2 the editor 6 8 Extent size specifying primary 5 52 secondary 5 52 F Field blanking...

Page 284: ...ples 4 16 file type of generated file 4 16 grouping and sorting target records 4 17 input elements 4 19 output fields 4 17 statements and clauses that do not apply 4 22 summary records 4 20 syntax 4 1...

Page 285: ...5 37 SUBFOOTING 5 59 SUBTITLE 5 61 TITLE 5 69 specifying in a statement AT END 4 3 AT START 4 6 FOOTING 4 24 LIST 4 32 SUBFOOTING 4 44 SUBTITLE 4 46 TITLE 4 48 syntax 5 39 with a by item 5 39 with a t...

Page 286: ...statement 4 33 Grouping target records by field values 4 15 4 33 5 33 GUARDIAN Formatter 5 7 GUARDIAN procedure TIMESTAMP 5 67 5 68 H HEADING clause description 5 40 examples 5 41 multiple line headin...

Page 287: ...elp 6 11 INTERNAL clause description 5 43 example 5 43 internal format types 5 43 syntax 5 43 Internal table clearing 4 7 4 11 4 13 6 7 description 4 7 J JULIAN DATE Conversion clause converting dates...

Page 288: ...considerations 4 26 description 4 25 duration 4 26 link initiated by C 1 syntax 4 25 Linking relationships clearing 4 11 4 13 combining C 5 one directional C 2 two directional C 1 Links as defined by...

Page 289: ...f values 3 25 3 26 simple 3 26 syntax 3 24 Logical file assignments and a server query processor 2 6 defined 2 5 maximum 2 1 M Margin 5 51 Mask 5 12 Mask edit descriptor changing the special symbols 5...

Page 290: ...sted arithmetic expressions 3 23 data base tables 3 11 Nesting SOURCE commands 6 18 arithmetic expressions 3 23 IF THEN ELSE expressions 3 28 logical expressions 3 26 New line character 5 51 NOHEAD cl...

Page 291: ...rrent time or date 5 65 OPEN AS COPY OF description 4 39 syntax 4 39 OPEN statement description 4 39 syntax 4 39 Opened record description information 6 16 Opening record descriptions 4 39 Operators a...

Page 292: ...5 54 WIDTH 5 54 description 5 48 displaying the current value of 6 16 6 17 resetting 4 42 setting 4 42 syntax 5 48 Optional plus edit descriptor description 5 15 syntax 5 15 OUT option and the current...

Page 293: ...FILE IS 6 3 SUBFOOTING statement 4 45 5 60 SUBTITLE statement 4 47 5 62 TITLE statement 4 49 5 70 P Page numbers 5 65 specifying new 5 39 Paginating a report 5 39 PARAM command for a server query proc...

Page 294: ...ercentage of the grand total 5 56 Percentage values 5 56 Performing arithmetic operations 3 23 Physical file associated with a record description 6 2 creating 6 6 Precision of arithmetic operations 3...

Page 295: ...7 Query defined 1 2 in a compiled query file 2 3 stored in an EDIT file 2 3 Query compiler report writer 1 3 Query processor defined 1 3 error messages 2 12 identifying with the ATTACH command 6 5 Qu...

Page 296: ...4 7 for LIST statement 4 33 linking 4 25 5 72 list of opened 6 17 output record of a FIND statement 4 15 removing from the internal table 4 7 4 13 6 7 References field names 3 6 primary keys 3 7 recor...

Page 297: ...port 5 4 5 31 line numbers 5 65 page numbers 5 51 5 65 preventing records from appearing in 5 72 selecting information 4 31 starting a new line 5 51 5 57 subfooting 4 45 5 59 subtitle 4 47 5 61 summar...

Page 298: ...t fields in FIND files 4 17 for target items in a LIST statement 4 33 literals 3 22 naming a section 6 15 naming user defined elements 3 6 numeric literals 3 22 parameter names 3 6 qualification aggre...

Page 299: ...fined elements 4 43 description 4 42 examples 4 43 syntax 4 42 Setting option variables 4 43 the left margin 5 51 the number of report lines 5 51 values of user elements 4 43 Sharing a server query pr...

Page 300: ...ement 4 17 in ascending order 5 6 5 33 in descending order 5 6 5 33 specifying where query processor sorts 2 12 target records 5 6 5 33 Source code entering 2 2 in an edit file 6 8 6 15 6 18 SPACE cla...

Page 301: ...es are built 2 10 2 11 Statements applying only to queries with a LIST statement 4 1 AT END 4 3 AT START 4 5 CLOSE 4 7 DECLARE 4 8 DELINK 4 11 DICTIONARY 4 12 duration of effect 3 5 4 1 EXIT 4 14 FIND...

Page 302: ...ifying 3 22 SUBFOOTING clause description 5 59 examples 5 59 for current reports 5 60 spacing considerations 5 59 specifying field names within 5 59 syntax 5 59 SUBFOOTING statement cancelling 4 45 de...

Page 303: ...4 46 with a field name 4 46 SUBTOTAL clause description 5 63 syntax 5 63 SUM 3 13 Summary records 4 20 5 53 Summary report 4 35 5 53 SUPPRESS clause description 5 64 example 5 64 syntax 5 64 Suppress...

Page 304: ...SUBTITLE 4 47 TITLE 4 49 syntax 5 66 with a LIST target item or by item 5 66 with a print list 5 66 Tabbing to a report column 5 66 Tallying the instances of an element 3 14 Target aggregate describe...

Page 305: ...5 the current ENFORM session 6 10 Terms of a WHERE clause C 3 Text Editor accessing from ENFORM 6 8 Time changing the default display format all reports in the current session 5 53 the current report...

Page 306: ...x 4 48 with a field name 4 48 TOTAL clause and the width of element modified 5 71 description 5 71 syntax 5 71 Totaling a set of numbers 3 14 Transitive property of links C 5 Translating a date to int...

Page 307: ...10 User variable as a target item 3 30 assigning the result of an arithmetic operation 3 23 assignment syntax 3 30 declaring 4 10 default display format 4 10 default storage format 4 10 deleting from...

Page 308: ...description 5 72 examples 5 72 link established by C 2 syntax 5 72 WHERE Clause terms 4 28 WHERE clause terms C 3 to specify a link 5 72 ERROR and WARNING messages B 3 FILE ERROR messages B 19 WARNING...

Page 309: ...tion 6 10 syntax 6 10 HELP command description 6 11 examples 6 11 syntax 6 11 OUT command description 6 13 syntax 6 13 OUT file 2 3 6 13 RUN command description 6 14 restrictions 6 14 syntax 6 14 SECT...

Page 310: ...42 setting 4 42 COST TOLERANCE description 5 50 resetting 4 42 setting 4 42 DATE 5 65 See also System variables DATE FORMAT description 5 50 resetting 4 42 setting 4 42 DECIMAL description 5 50 resett...

Page 311: ...m variables PAGES description 5 52 resetting 4 42 setting 4 42 PRIMARY EXTENT SIZE description 5 52 resetting 4 42 setting 4 42 READS description 5 52 resetting 4 42 setting 4 42 SECONDARY EXTENT SIZE...

Page 312: ...TARGET RECORDS description 5 53 resetting 4 42 setting 4 42 TIME 5 65 See also System variables TIME FORMAT description 5 53 resetting 4 42 setting 4 42 UNDERLINE description 5 54 resetting 4 42 setti...

Reviews: