Easytrieve Plus Manual: To Ezt+
Easytrieve Plus Manual: To Ezt+
Easytrieve Plus Manual: To Ezt+
PLUS MANUAL
INTRODUCTION
TO EZT+
INTRODUCTION TO EZT+
What is EZT+?
EZT+ is an information retrieval and data management system. It provides the NEW
USER the tools to produce comprehensive reports. The experienced programmer is
given the tools to create more complex reports.
EZT+ is intended for the quick and basic report. There are features of the package that
allow the programmer to customize their logic to easily process control breaks,
accumulate totals, perform special functions AFTER lines have been printed and so on.
These features and many more will be covered in this manual.
INTRODUCTION TO EZT+
EZT+ has many features that make it an attractive package to the COBOL programmer.
Among the more notable features are.......
* * All of the files that you define (I/O as well as sort and summary files)
are AUTOMATICALLY opened and closed by EZT+.
INTRODUCTION TO EZT+
MISCELLANEOUS SPECIAL FEATURES (cont'd)
EXECUTION JCL
* * see section on JCL samples for more information on the subject of execution
JCL
EZT+ STRUCTURE
This section will introduce you to the general structure of EZT+ programs as well as
show you the syntax that is needed to code an EZT+ program. In this section you will
see ......
EZT+ STRUCTURE
How is EZT+ coded?
* Library Section - Use this section to define all input, output, and temporary work
files along with any field definitions and working storage definitions.
* Activity Section - Two activities - JOB and SORT - make up the main body of
the program. The JOB ACTIVITY is used to access files, manipulate data and
produce files and reports. The SORT ACTIVITY is used to create sequenced
files.
Proceed to the next sections to review the ENVIRONMENT SECTION, the LIBRARY
SECTION and the ACTIVITY SECTION.
ENVIRONMENT SECTION
PARM statement
Suppose, however, that you want to suppress the printing of EZT+ program
statements, and print only the actual report.
/ / SYSIN DD *
LIST OFF
PARM LIST (NOFILE NOPARM)
FILE file-name
For a complete list of other PARM options, refer to the EZT+ PLUS
REFERENCE MANUAL.
LIBRARY SECTION
The Library Section identifies the file(s) that are to be processed and any miscellaneous
Working Storage items that are needed to perform your logic.
All files (including input, output, sort, summary files, etc.) that will be used in your
EZT+ logic MUST be defined in the Library Section of your EZT+ program.
Working Storage items can include accumulators, hold areas, tables and so on that are
used to make your EZT+ program logic process more efficiently.
The Library Section begins immediately AFTER the / / SYSIN DD statement of your
executing of your JCL and is identified by the first FILE entry . . . . . . . .
/ / SYSIN DD *
LIST OFF
FILE file-name -------
. |
. | This is where you will
. | define your Library.
. |
. |
JOB activity -------
ACTIVITY SECTION
The Activity Section is REQUIRED in all EZT+ programs. In this area of your EZT+
program you code the actual logic to process your input data file(s) and generate the
desired output.
There are two (2) types of ACTIVITY that can be coded in this area - - the JOB
ACTIVITY and the SORT ACTIVITY.
EZT+ SYNTAX
EZT+ and its free-form ENGLISH language structure make it easy for you to develop an
efficient and flexible style of programming. To avoid fundamental programming errors
you should follow these simple EZT+ syntax rules.
STATEMENT AREA
MULTIPLE STATEMENTS
When coding several commands on one line you should use the period to delimit
these commands.
COMMENTS
EZT+ allows for comments to be placed within the logic of your program.
NOTE: Comments can occur ANYWHERE in your EZT+ logic except within a
continued statement.
EZT+ SYNTAX
CONTINUATION
KEYWORDS
EZT+ keywords can be used in the same way as they are used in a COBOL
program.
Some keywords are reserved words and other keywords are non-reserved.
Reserved keywords CANNOT be used as field-names and when used as such will
cause EZT+ processing errors.
MULTIPLE PARAMETERS
Any time multiple parameters are coded in an EZT+ statement they MUST be
enclosed in parentheses.
FIELD NAMES
Field names are used to identify data items that reside on an input/output file or in
Working Storage.
Fields names are composed of a combination of NOT more than forty (40)
characters chosen from the following . . . . . . . . .
* * alphabetic characters (A - Z) in upper or lower case
* * decimal digits (0 - 9)
EZT+ SYNTAX
FIELD NAMES (cont'd)
EZT+ SYNTAX
* * Qualified names are defined in the following way . . . . . . . .
FILEA : INSDNAME
WORK : INSDNAME
LABELS
LITERALS
Alphabetic . . . . . . .
* * They must be enclosed in single quotes
Numeric . . . . . . . .
* * A +/- sign prior to the value can be used to indicate the algebraic value
EZT+ SYNTAX
Hexadecimal . . . . . . .
They are used to code EBCDIC values containing characters that are NOT
available on standard data entry keyboards.
EZT+ compresses the pair of digits within the apostrophes into one (1)
character.
Valid characters in a HEXADECIMAL literal are 0 - 9 and A - F
SPECIAL CHARACTERS
The following characters have special meaning to EZT+. They are always used
according to these rules.
* (period) - The period terminates a statement. Although you can put more than
one statement on a line, in practice, each statement has it's own line.
* (space) - The space, or blank, is the basic delimiter in each statement. Multiple
blanks are read as one. For example:
REGION 1 1 A
REGION 1 1 A
REGION, 1, 1, 1 -- is valid
* + (plus) and - (hyphen) - Both plus and the hyphen are used to continue a
statement. They must be the last non-blank
character on the line. The plus (+) implies that the
statement continues at the first non-blank character of
the next line. The hyphen (-) implies the statement
continues on the first position of the next line.
SPECIAL CHARACTERS
* ( ) (parentheses) - Parentheses enclose multiple parameters. They also override
the arithmetic order of operations and logical IF/AND/OR
operations to force execution in a specified order
The first statement on this line defines the field DEPT. It ends with a period.
The asterisk begins the second statement, a comment.
EZT+LIBRARY
EZT+ LIBRARY
FILE STATEMENT
All files and their associated fields (including any Working Storage items) used in
your EZT+ program MUST be described in the library section BEFORE they are
used in your program.
The FILE STATEMENT is used to define the beginning of your FILE (or
FILES) and the field names you are going to be processing.
The FILE STATEMENT initiates your EZT+ logic and follows the / / SYSIN
JCL statement.
/ / SYSIN DD *
FILE file-name VS UPDATE
FILE : This is a reserved keyword that marks the beginning of your FILE
DEFINITION.
file-name : This is a 1 - 8 character name describing the file that you wish to
define.
NOTE: There are additional parameters available with the FILE STATEMENT,
they will be discussed when they are applicable.
EZT+ LIBRARY
FIELD DEFINITION
An EZT+ field definition statement has four basic parts. Each part is separated
by at least one space. If more than one definition is on a line, they must be
separated by a period and a space. Those basic parts are the FIELD NAME, the
STARTING LOCATION, the FIELD LENGTH and the DATA FORMAT
FIELD NAME
STARTING LOCATION
* The beginning location of the field relative to the first position of the
record (for working storage, a W or S is placed in this position)
FILE file-name
NAME 1 17 (NAME begins in position 1)
ADDRESS 18 37 (ADDRESS begins in pos 18)
PAY-NET 55 10 (PAY-NET begins in pos 55)
FILE file-name
FILLER1 * 5
NAME * 20 | All field-names MUST
FILLER2 * 5 | be defined when file
ADDRESS * 20 | is defined in this
FILLER3 * 5 | manner. This would include
PAY-NET * 20 FILLER also.
FIELD LENGTH
* The length of the field has been added to our example below.
EZT+ LIBRARY
FIELD LENGTH (cont'd)
DATA FORMAT
* N - Zoned decimal
* P - Packed decimal
* B - Binary
* The EZT+ programmer defines the DATA Format of the data item they are
defining by adding the appropriate character AFTER the record length
parameter.
FILE file-name
NAME 17 33 A
ADDRESS 37 33 A
PAY-NET 90 4 P
The maximum size that is permitted for each DATA FORMAT is shown below . . . . .
EZT+ LIBRARY
DECIMAL POSITIONS
For numeric data items, you can indicate the number of decimal places (0 - 18)
by adding the appropriate numeric value AFTER the data format value.
The use of the DECIMAL indicator also informs EZT+ that this data item will be
QUANTIFIED. This tells the EZT+ job that the accumulated value for the
designated data item will be automatically maintained and printed by EZT+ at
programmer defined control breaks. More will be said regarding this in the
REPORT ACTIVITY section on control breaks.
The use of the DECIMAL indicator also guarantees that a sign will be generated
for NEGATIVE values.
The addition of the numeric entry AFTER the definition of the PAY-NET field
accomplishes several things for the EZT+ programmer . . . . . . .
FILE file-name
NAME 17 33 A
ADDRESS 37 33 A
PAY-NET 90 4 P 2
GROSS - PAY 94 4 P 2
. . . . .
field name . . . . . . . . . . . . .
. . . .
starting location . . . . . . . . . . . . . . . . . .
. . .
field length . . . . . . . . . . . . . . . . . . . . . . . . . .
. .
type (packed decimal) . . . . . . . . . . . . . . . . . . . . . . .
.
number of decimals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EZT+ LIBRARY
REDEFINITION OF A FIELD NAME
Explicit redefinition is done within the FILE ENTRY of the FIELD NAME
definition
W-HOLD-STA W 8 N
STATE W-HOLD-STA 2 N
TERR W-HOLD-STA +2 2 N
AGENCY W-HOLD-STA +2 4 N
* When QUALIFYING the redefined data item you simply add the
name of the object of the redefine AFTER the redefined
entry.
* The first redefined entry has NO relative starting location and the
EZT+ program assumes that it will start at the beginning of
the Working Storage item it is redefining.
EZT+ LIBRARY
EDIT MASK
* The edit MASK allows you to format dollar signs (or other currency signs),
asterisks, dashes, and parentheses, into your output.
9 Formats digits.
Z Suppresses leading zeroes.
* Replaces leading zeroes with asterisk.
- Prints a minus sign prior to first non-zero digit of a negative number.
$ Prints a currency symbol prior to the first non-zero digit.
* Each digit in the field must be designated in the mask. This includes PACKED
fields. A data-item that is 9 (04) and packed will use a mask that contains seven
(7) characters because a four (4) byte packed data-item has seven (7) digits plus
the sign field . . . .
For example:
The edit MASK is part of your field definition. All masks are defined as literals in single
quotes.
* Continuation characters MUST be coded if the MASK is NOT coded on the same
line as the field definition
EZT+ LIBRARY
EDIT MASK (cont'd)
Mask Examples
GROSS-PAY 94 4 P 2 +
MASK (G BWZ '$$,$$9.99-')
* The above field definition uses the plus-sign (+) to continue because the
MASK is on the next line.
* The mask parameters are enclosed in parentheses since there are MULTIPLE
(3) parameters.
* The character 'G' names the mask. Subsequent data items may use the same
mask by simply coding the edit mask as follows. . . . . . .
NET-PAY 98 4 P 2 +
MASK (G)
NOTE: Any ALPHABETIC character (excluding 'Z') can be used to name
an edit mask
* The BWZ is an optional parameter for BLANK WHEN ZERO which will
zero suppress the whole field when the contents of the entire record are
ZEROES.
* The mask should contain the same number of characters as digits in the
field-name. The mask (defined above) has seven (7) characters in it due
to the fact that there are seven (7) digits in a PACKED four-byte data item.
* The negative sign at the end of the mask will print when the contents of the
data item are NEGATIVE.
EZT+ LIBRARY
HEADING
When NOT coded with the data item, the actual field name is used as a heading.
The heading can be specified by simply using the HEADING parameter of the field
definition. The HEADING parameter has several important features . . . . .
* You can print multiple words on the same line by placing a space between
the words.
* By enclosing MULTIPLE literals within single quotes, you can stack and
center the headings above the appropriate column
SOC-SEC-NUM 4 5 -
MASK '999-99-9999' -
HEADING ('SOCIAL' 'SEC NUM')
Now, in addition to having a mask for printing, there is an alternate column heading.
The headings as coded in the above example will print as shown here . . . . .
SOCIAL
SEC NUM
DEDUCTIONS W 4 P 2 -
MASK (G BWZ) -
HEADING ('PAYROLL DEDUCTIONS')
Here you have the working storage field DEDUCTIONS. The column heading for
PAYROLL DEDUCTIONS will print as shown below . . . . . .
PAYROLL DEDUCTIONS
EZT+ LIBRARY
WORKING STORAGE
Just as in COBOL, EZT+ Working Storage gives you a method for setting aside a
temporary area of storage to define data items used in processing logic that is
independent of FILE definitions.
* W fields - W fields are used mainly for additional report fields. They can also be
SEQUENCE fields.
* S fields - S fields are static fields used mainly for totaling and percentages.
They are not part of any VFM record.
Static fields (S-fields) are used to store accumulated values that are printed at the end of
a report or at a control break. Static fields do NOT go to the work file.
Non-static fields (W-fields) are output to the work file for every record in the input file.
Such a field used in accumulating totals will appear on the work-file. If the work file is
re-sequenced, the accumulated values will be unpredictable.
* The VALUE option initializes the contents of a working storage field. Zeroes
(for numeric fields) or blanks (for alphabetic fields) are the defaults if no VALUE
is specified.
* The data can be any valid literal whose type matches that of the field being
initialized. For example,
CURR-MON W 10 A VALUE 'JANUARY'
EZT+ LIBRARY
WORKING STORAGE (cont'd)
* The RESET option when added to a Working Storage data item returns the W-
field to its original value whenever a record is retrieved in a JOB/SORT activity.
EZT+ LIBRARY
COPY
COPY file-name
record-name
* Because the same field-name can be used in more than one file, you must qualify
duplicate field names by adding the file-name in parentheses - such as FLD-ONE
(INTWO).
* Example:
FILE INONE
FLD-ONE * 1 A
FLD-TWO * 3 N
FILE INTWO
COPY INONE
JOB INPUT INTWO NAME COPY-EXAMPLE
IF FLD-ONE (INTWO) .......
ACTIVITY SECTION
ACTIVITY SECTION
The Job Activity begins with the JOB STATEMENT. The JOB STATEMENT defines
the primary input file and also activates AUTOMATIC FILE PROCESSING.
Command syntax
/ / SYSIN DD *
FILE file-name
.
.
JOB INPUT file-name NAME job-name
/ / SYSIN DD *
FILE file-name
data-names on file-name
.
.
.
Working-Storage entries
.
.
JOB INPUT file-name +
START proc-name1 +
FINISH proc-name2 +
NAME job-name
EZT+ performs the procedure coded in proc-name-1 before it retrieves the first
automatic input record. A typical START procedure sets working storage fields to an
initial value or positions an indexed or keyed sequentially processed file to a specific
record. You cannot reference fields in automatic input files since no records have been
retrieved at this stage of processing.
The optional FINISH parameter identifies a procedure to be executed during the normal
termination of the JOB. After EZT+ processes the last automatic input record, it
performs the proc-name-2 procedure. A typical FINISH procedure displays control
information accumulated during the activity.
See USER PROCEDURE section for more information on the syntax of user procs.
VARIOUS I/O
COMMANDS
VARIOUS I/O COMMANDS
This section will cover a wide variety of commands that will be essential to the EZT+
programmer in organizing the logic that is necessary to construct an EZT+ program.
GET - retrieves a record from an input file once the automatic record
retrieval feature of EZT+ has been turned off
The result of a PRINT statement is data output to either a print file or a work file.
Syntax
Example:
IF REG = 25
PRINT RPT1
END - IF
EZT+
program
print
VFM
printed output
-------------> ----------------->
│
resequencing
--------------------
* At EOF, the contents of the VFM are placed in the output queue; if
'resequencing' was requested it occurs at this time.
The DISPLAY statement transfers data to the system output device (SYSPRINT).
SYNTAX
file-name1
When file-name1 is specified, EZT+ prints data to the named file. If this
parameter is omitted, the default is SYSPRINT.
When used, file-name1 MUST be defined in the execution JCL and the
LIBRARY SECTION of your program.
NEWPAGE
A skip to a new page occurs before the data is printed.
SKIP literal - 1
Specifies that integer-1 number of lines are skipped before the data is printed.
Literal-2/Field-name-1
Code these items in the order you want them to appear on the report line.
+Integer-2/-Integer-2
Modifies the horizontal spacing between display items on the report line.
Integer-2 is any item that does not extend beyond the end of the line.
COL integer - 3
Specifies the print column number where EASYTRIEVE PLUS places the next
DISPLAY item.
Integer - 3 is any item that does not extend beyond the end of the line.
POS integer - 4
Within report procedures, this option causes the next DISPLAY data item to be
positioned under the corresponding integer - 4 item on the line 01 statement.
HEX
Produces a hexadecimal and character dump of the current record of the file, or
the specified field name
E X A M P L E S O F D I S P L A Y S T A T E M E N T
* IF DEPT = 911
DISPLAY NEWPAGE POLICY SSN DATE-OF-BIRTH
END - IF
After ejecting to a new page, the values in POLICY, SSN, and DATE-OF-
BIRTH would be printed beginning in column 1 which is the default
position
E X A M P L E S O F D I S P L A Y S T A T E M E N T
* IF DEPT = 911
DISPLAY COL 7 '*** ERROR *** '
END - IF
- - - - + - - - - 1 - - - - + - - - - 2- - - - + - - - -3 - - - -+ - - - - 4 - - - - +- - - - 5 - - - -+ - - - -
6
*** ERROR ***
The default is overridden by the COL 7 parameter and the display value
(*** ERROR ***) starts displaying in column 7
E X A M P L E S O F D I S P L A Y S T A T E M EN T
* IF STATE = 34
DISPLAY SKIP 3 'THE STATE IS' STATE
END - IF
THE STATE IS 34
E X A M P L E S O F D I S P L A Y S T A TE M E N T
Stop
* When coded alone in the above manner, the current JOB activity ends and
processing will start subsequent JOB activities if they are coded
Stop Execute
* When coded with the execute parameter, all EZT+ activities are terminated
including subsequent JOB activities.
NOTE : When using the NULL parameter to turn off automatic processing, you MUST
stop processing at EOF.
The PUT command will 'write' a record to a sequentially defined output file.
Command syntax . . . . .
* OUTFILE is the designated output file as defined in the execution JCL and
the FILE ENTRY of your EZT+ program
Examples
-OR-
The GET command is used to retrieve the NEXT INPUT RECORD of the designated file
into the file input area.
The GET command requires the EZT+ programmer to 'turn off' the automatic record
retrieval aspect of EZT+ therefore you MUST code the NULL parameter of the JOB
STATEMENT (see the section on the JOB STATEMENT)
Since you no longer utilize the automatic data retrieval capability of EZT+, you MUST
test for EOF when using the GET command and STOP processing when EOF is reached
(see the JOB STATEMENT section for more information on the EOF check).
Command syntax . . .
GET file-name
* The file-name corresponds to the designated input file that is defined in the
FILE ENTRY.
NOTE : You may use the GET command with a secondary file even though automatic
processing is still active on the primary file.
The point command is used to establish a starting point for sequential processing of a
KEYED file.
EZT+ does NOT require you to specify the length or location of the KEY item
The POINT command does NOT retrieve a record, it MUST be followed by a GET
command.
Since you are using the GET command to retrieve a record that has been 'pointed to', you
MUST turn off the automatic record retrieval function of EZT+ by coding the NULL
parameter on the JOB STATEMENT. (See JOB STATEMENT section for additional
information on EOF checking.)
Command syntax . . .
IF VSAMFILE:FILE-STATUS NE O
The read command provides for random access to KEY sequenced VSAM files
Command syntax :
IF VSAMFILE:FILE-STATUS NE O
See Appendix B for a list of common VSAM status values.
The write command is used to ADD, UPDATE or DELETE records on a VSAM file
Command syntax :
IF VSAMFILE:FILE-STATUS NE O
* When an IF statement is present, each record read from the input file is processed
against this conditional statement.
Command syntax . . .
EQ =
NE = field-two
IF field-one LT < literal
LE <= arithmetic expression
GT >
GE >=
* For true IF's, all commands up to the ELSE (or END-IF if no ELSE is present)
are executed.
* For false IF's, processing will execute all commands after the ELSE, up to the
END-IF. If no ELSE exists, processing will continue with the next statement.
IF STATEMENT
Examples:
IF DEPT = 910
IF NAME = 'SMITH'
IF AMT GE 500
* A series of literals:
Special Ifs
Examples:
ALPHABETIC
NUMERIC
SPACE
IF field-name NOT SPACES
ZERO
ZEROS
ZEROES
*Examples:
Note : The absence of equal signs (=) is by design. Their use with a FIGURATIVE
CONSTANT will cause an error. The use of the equal sign generates a B082
error indicating that the FIGURATIVE CONSTANT was NOT defined !!!!
IF STATEMENTS
Combining IF Statements
Examples:
DIV = 'A'
or
STATE = 'GA' and AMT GE 500.
Nesting IF Statements
Examples:
IF STATE NE 04 09
PREMIUM EQ PREMIUM * 1.15
ELSE
IF STATE EQ 04
PREMIUM EQ PREMIUM * 1.25
ELSE
IF STATE EQ 09
PREMIUM EQ PREMIUM * 1.10
ELSE
DISPLAY 'INVALID RISK STATE ' STATE
END-IF
END-IF
END-IF
NOTE : Just as in COBOL, the O/C programmer is discouraged from nesting more than
three (3) levels of IF statements.
DO WHILE
STATEMENT
DO WHILE STATEMENT
* The DO WHILE logic provide an automatic loop for repetitive program logic.
* They can be nested. (The inner logic loop must be completely within the outer
logic loop.)
* The DO WHILE logic must be terminated with the END-DO scope terminator.
* Use the GET command to retrieve records (BEFORE and WITHIN the do
while loop)
* Use EOF check to terminate processing when reading the whole file
GO TO
STATEMENT
GO TO STATEMENT
* GO TO branching logic allows you to modify the natural top-to bottom logic
flow in a program.
* Command syntax . . .
GO TO label
GO TO JOB
* GOTO label transfers control immediately to the first statement following the
named label statement. (The label statement must be in the same activity or
procedure.)
* GOTO JOB transfers control to the top of current JOB activity. This allows the
EZT+ programmer to bypass records that are NOT to be processed.
Example:
NOTE : For information on the PARAGRAPH LABEL, see the section on EZT+
SYNTAX . . .
DATA
MANIPULATION
ASSIGNMENT STATEMENT
* The Assignment statement establishes a value in a field by copying from another
field or literal.
* The value to the RIGHT of the equal sign (=) is the sending field while the data
item to the LEFT of the equal sign (=) is the receiving field in the A
ASSIGNMENT statement.
* Command syntax . . .
field -name-1 INTEGER = field-name-2
ROUNDED EQ literal
TRUNCATED arithmetic expression
Examples:
HOLD-DIV = DIV
DEPT-NAME = 'ACCOUNTING DEPT'
SENDFLD W 5 N 2 VALUE (10.75)
RCVFLD W 5 N 1
Then: Result
RCVFLD INTEGER ROUNDED = SENDFLD 11.0
RCVFLD INTEGER TRUNCATED = SENDFLD 10.0
RCVFLD INTEGER = SENDFLD 10.0
RCVFLD ROUNDED = SENDFLD 10.8
RCVFLD TRUNCATED = SENDFLD 10.7
RCVFLD = SENDFLD 10.7
NOTE : The use of FIGURATIVE CONSTANTS causes an EZT+ error with the
assign function (B082) . . .
field-name-1 = SPACES
is an invalid statement . . . . . . . . . . . . . .
MOVE STATEMENT
* The MOVE statement transfers data from one location to another
Command syntax . . .
Format 1
* The FILL parameter allows the programmer to FILL a larger receiving field
with a designated literal value.
Format 2
SPACE
SPACES
MOVE ZERO TO field-name . . .
ZEROS
ZEROES
Examples:
ARITHMETIC OPERATIONS
* There are four arithmetic operations in EZT+:
* multiplication
/ division
+ addition
- subtraction
Command syntax . . .
ROUNDED: Used when the resultant field is too small to handle the fractional
result of the assignment. ROUNDED rounds off the fractional
result of the assignment statement. This eliminates the need for
the EZT+ programmer to have to add a 'rounding factor' to the
resultant field.
ARITHMETIC OPERATIONS
Examples:
ARITHMETIC OPERATIONS
Examples using ROUNDED and INTEGER
* * rounds the value in the INTERMEDIATE field and then drops any fractional
components when stored in the receiving field
the zeroes indicate the number of decimal values that are in the receiving
field
CALL
STATEMENT
CALL STATEMENT
At OHIO CASUALTY, we have several pre-written programs which accomplish certain
tasks, thus reducing duplicate programs, as well as redundancy of code.
To invoke these routines from an EZT+ program, the CALL statement must be used.
Command syntax . . .
USING: The USING clause specifies the parameter list to be passed to the
subprogram.
RETURNS: Identifies a numeric field which contains the return - code passed
by a called subprogram.
Field4: A 2-byte binary field which will contain the RETURNED value
USER
PROCEDURES
USER PROCEDURES
* A user-PROC is a group of user-written EZT+ statements designed to accomplish
a task.
* Code a PROC at the end of the activity in which it is invoked. All logic-related
procs must appear at the end of the JOB activity, before the REPORT ACTIVITY
* Delimited by the PROC keyword at the beginning and the END-PROC keyword
at the end.
PERFORM STATEMENT
Command syntax . . .
PERFORM proc-name
Example:
IF CODE = 1
PERFORM CODE1-RTN
ELSE
PERFORM CODE2-RTN
END-IF
...
...
CODE1-RTN. PROC
...
END-PROC
CODE2-RTN. PROC
...
END-PROC
REPORT ACTIVITY
REPORT ACTIVITY
The REPORT statement is the first statement in your report definition and should be
coded at the end of the JOB ACTIVITY. It establishes the type and characteristics of the
report. You have numerous options to choose from but most reports will use the default
parameter values.
Statement syntax
REPORT report-name
These commands give substance to your report and will be discussed in subsequent
topics in this unit of the EZT+ manual.
REPORT ACTIVITY
Listed below are various special options that are available with the REPORT
ACTIVITY.
. REPORT report-name
. PAGESIZE nn
. LINESIZE nn
. SKIP nn
. SPACE nn
. TITLESKIP nn
Spacing . SPREAD
Control . . . . . . . NOSPREAD
Parameters . NOADJUST
. NODATE
. NOPAGE
. NOHEADING
. EVERY
. DTLCTL FIRST
. NONE
.
. ALL
Format . SUMCTL HIAR DTLCOPY
parameters . . . . . NONE
.
. SUMMARY
. SUMSPACE n
. TALLYSIZE n
. SUMFILE file-name
. LABELS ACROSS nn DOWN nn SIZE nn
* NOADJUST - requests that the title lines and report be left - justified
on the page. The default is for the report to be
centered on the page. SPREAD and
NOADJUST are mutually exclusive.
* Most simple reports use defaults so the parameters do not need to be coded.
REPORT ACTIVITY
SUPPRESSION PARAMETERS
* NOPAGE prevents page numbers from printing at the end of the first title line.
* Is used when a report is too large for the default work file
* Default is SYSPRINT/SYSLST.
REPORT ACTIVITY
TESTING AID PARAMETERS
* LIMIT - limits the number of records processed by the report. Has a valid
range of 1 - 32,767. exclusive.
* EVERY - specifies that only every Nth line is printed in the report. 'N'
can have a value of 1 - 32,767.
***********************************************************************
*
NOTE : The sequence of options used on the REPORT STATEMENT can vary.
REPORT ACTIVITY
REPORT DEFINITION STATEMENTS
SEQUENCE
CONTROL
SUM
TITLE
HEADING
LINE
* Report definition statements must be coded in the above ORDER when multiple
statements are used.
* If coded in a sequence other than that shown above, EZT+ generates a B014 error
- - unable to recognize statement.
REPORT ACTIVITY
SEQUENCE STATEMENT
* Sequencing occurs AFTER all records have been processed and your INPUT file
has reached EOF. The intermediate file (VFM) where records are written by the
PRINT command is resequenced according to your specifications. The sorted
output file is then directed to the appropriate output device.
* Any field, with the exception of 'S' working storage, referenced in a REPORT
subactivity is written to the work file.
* You can sequence any field from any input file or any W working storage field.
* Sequence on as many fields as your system sort will allow. Sequence fields are
entered in major to minor order.
* Examples:
REPORT ACTIVITY
CONTROL STATEMENT
* Control can be any nonquantitative field from any input file or on any W working
storage field. Quantitative fields will cause an EZT+ error when used on a
CONTROL statement.
* The syntax is . . . . .
* Final totals are automatically provided. You can alter the default by coding
FINAL NOPRINT.
* NOPRINT following any field or FINAL causes totals (which have been
accumulated) not to print at the control break.
* NEWPAGE following any field or FINAL causes a new page after the control
break totals are printed (or, in the case of FINAL, before final totals are printed).
Page numbers continue.
* RENUM following any field or FINAL causes a new page with page numbers
beginning at 1 after the control break totals are printed.
* Examples:
REPORT ACTIVITY
TALLY
** reserved word that counts the number of detail lines within a Control Break
** can be used ONLY with control processing and can be printed on total lines by
coding the TALLY option on the LINE statement
TALLY SAMPLE
FILE PRIMER
EMPNO 9 5 N
NAME 17 8 A
NET 90 4 P 2
GROSS 94 4 P 2
DEPT 98 3 n
JOB INPUT PRIMER
EZT+ LOGIC
REPORT REPORT 1
SEQUENCE DEPT
CONTROL DEPT
TITLE 01 'NUMBER OF EMPLOYEES PER DEPARTMENT'
LINE 01 DEPT NAME TALLY
912 DAVIS
COBB
BENJAMIN
REPORT ACTIVITY
FORMAT DETERMINATION PARAMETERS - - DTLCTL
* DTLCTL determines when control field values are printed on detail lines:
* EVERY detail line (prints all control fields on every detail line)
* FIRST detail line (prints all control fields on the first detail line at top-of-
page and after each break. This is also the default.
* NONE (prints no control fields on detail lines)
REPORT ACTIVITY
EXAMPLE OF DTLCTL FIRST
EMPLOYEE
REGION BRANCH STATUS NAME
NET PAY
------> 5 02 M WARD
141.47 M
ZOLTAN 25.00
5 02
166.47
-------> 5 03 M JONES
560.63
S HAFER 96.64
M JUDAR 459.57
M WALTERS 282.45
M RYAN 291.70
5 03
1690.99
5
1857.46
NOTE : The region and branch ONLY print on the FIRST detail line in a group of
detail lines
REPORT ACTIVITY
EXAMPLE OF DTLCTL EVERY
EMPLOYEE
REGION BRANCH STATUS NAME NET PAY
-----> 5 02 M WARD
141.47
-----> 5 02 M ZOLTAN 25.00
5 02 166.47
5 1857.46
NOTE : Control fields (region and branch) print on all the detail lines (as well as
on the CONTROL line)
REPORT ACTIVITY
EXAMPLE OF DTLCTL NONE
*
REPORT REPT1 LINESIZE 80 DTLCTL NONE
CONTROL REGION BRANCH
TITLE 1 'EASYTRIEVE PLUS CONTROL EXAMPLE'
LINE 1 REGION BRANCH STATUS NAME NET
*
EMPLOYEE
REGION BRANCH STATUS NAME NET PAY
M WARD 141.47
M ZOLTAN 25.00
5 02
166.47
M JONES 560.63
S HAFER 96.64
M JUDAR
459.57
M WALTERS 282.45
M RYAN 291.70
5 03
1690.99
5 1857.46
NOTE : Control fields (region and branch) do NOT print on the detail lines
ONLY on the CONTROL LINES.
REPORT ACTIVITY
FORMAT DETERMINATION PARAMETERS - - SUMCTL
* SUMCTL determines when control field values are printed on total lines.
* HIAR prints all fields (MAJOR and MINOR) when a minor control break occurs
but prints ONLY the MAJOR field when the MAJOR break occurs.
* TAG prints the control field name and the literal 'TOTAL' on the left side of the
report for total lines.
* DTLCOPY prints values from detail lines on total lines when using the
SUMMARY option on the REPORT STATEMENT.
REPORT ACTIVITY
FORMAT DETERMINATION PARAMETERS - - SUMCTL ALL
1 S 4,601.16 3,236.08
1,365.08
NOTE : Both control fields (region and marital status) are printing on the
control line.
REPORT ACTIVITY
FORMAT DETERMINATION PARAMETERS - - SUMCTL HIAR
27 REPORT CTLRPT4 LINESIZE 92 DTLCTL NONE SUMCTL HIAR
28 SEQUENCE REGION MARITAL-STAT BRANCH EMP # D
29 CONTROL FINAL NEWPAGE REGION MARITAL-STAT
30 TITLE 1 'EASYTRIEVE PLUS CONTROL EXAMPLE FOUR'
31 TITLE 3 'NOTICE THE FOLLOWING VARIABLE TITLE INFORMATION'
32 TITLE 5 'THIS PAGE CONTAINS INFORMATION ABOUT'
33 TITLE 6 'REGION:' REGION
34 LINE 1 REGION BRANCH MARITAL-STAT EMP# GROSS NET DEDUCTIONS
1 4,601.16 3,236.08
1,365.08
REPORT ACTIVITY
FORMAT DETERMINATION PARAMETERS - - SUMCTL NONE
4,601.16 3,236.08
1,365.08
NOTICE : The Control Fields print is suppressed when the NONE subparameter is used
with the SUMCTL parameter.
FORMAT DETERMINATION PARAMETERS - - SUMCTL TAG
26 *
27 REPORT CTLRPT 2 LINESIZE 92 DTLCTL FIRST SUMCTL TAG
28 SEQUENCE REGION MARITAL-STAT BRANCH EMP# D
29 CONTROL REGION MARITAL-STAT
30 TITLE 1 'EASYTRIEVE PLUS CONTROL EXAMPLE TWO'
31 TITLE 3 'NOTICE THE CONTROL BREAK FIELDS'
32 TITLE 4 'AND CONTROL BREAK LINES'
33 LINE 1 REGION BRANCH MARITAL-STAT EMP# GROSS NET DEDUCTIONS
*OUTPUT
NOTE : The system-generated TAGS are printed on all total lines. The values
found on the TAGS come from the actual field-names.
REPORT ACTIVITY
SUMMARY OPTION
Summary is a report parameter that causes the report name on the PRINT command to
print as a SUMMARY report.
DTLCOPY option
Adding some detail information to a SUMMARY report can add to a report's readability.
DTLCOPY option will copy detail information at a CONTROL break and place this data
on the TOTAL LINE. It will enhance a SUMMARY report's appearance.
/ / SYSIN DD *
FILE PRODDOC
STA 27 8 N +
HEADING ('STATE' 'TERRITORY' 'AGENCY') +
MASK ('99-99-9999')
TOTALPREM 619 4 P 2 +
HEADING ('TOTAL' 'RATED' 'PREMIUM') +
MASK ('$$,$$$.99-')
AGENTNAME 2358 33 A +
HEADING ('NAME OF' 'THE AGENT')
JOB INPUT PRODDOC
PRINT PREMTOTS
REPORT PREMTOTS SUMMARY
SEQUENCE STA
CONTROL STA
TITLE 1 'SUMMARY PREMIUM TOTAL BY STA'
TITLE 3 'NOT USING THE DTLCOPY OPTION OF SUMCTL'
LINE 1 AGENTNAME AGENTADDR STA TOTALPREM
04-10-0500 $677.66
09-00-1359 $693.82
NOTE : Without the DTLCOPY option, only the QUANTITATIVE fields and the
CONTROL field print on the SUMMARY report.
REPORT ACTIVITY
SUMMARY WITH SUMCTL DTL COPY
/ / SYSIN DD *
FILE PRODDOC
STA 27 8 N +
HEADING ('STATE' 'TERRITORY' 'AGENCY') +
MASK ('99-99-9999')
TOTALPREM 619 4 P 2 +
HEADING ('TOTAL' 'RATED' 'PREMIUM') +
MASK ('$$,$$$.99-')
AGENTNAME 2358 33 A +
HEADING ('NAME OF' 'THE AGENT'
AGENTADDR 2391 33 A +
HEADING ('ADDRESS OF' 'THE AGENT')
JOB INPUT PRODDOC
PRINT PREMTOTS
REPORT PREMTOTS SUMMARY SUMCTL DTLCOPY
SEQUENCE STA
CONTROL STA
TITLE 1 'SUMMARY PREMIUM TOTAL BY STA'
TITLE 3 'NOT USING THE DTLCOPY OPTION OF SUMCTL'
LINE 1 AGENTNAME AGENTADDR STA TOTALPREM
NOTE : By using the DTLCOPY option, the detail items print along with the
QUANTITATIVE fields and the CONTROL field print on the SUMMARY
report.
REPORT ACTIVITY
SUM STATEMENT
* You can SUM any quantitative field from any active file or any W field.
* Example:
REPORT RPT1
SEQUENCE CO DIV
CONTROL CO DIV
SUM GROSS NET
TITLE 1 'TOTAL YTD REPORT'
HEADING EMP-NO ('EMP' 'NO')
LINE 1 CO DIV EMP-NO GROSS NET DEDUCTIONS
REPORT ACTIVITY
TITLE STATEMENT
* Syntax
TITLE NN field-name
literal
nn
COL XX
* COL XX specifies the print column number where the next title item is
to begin. If you specify COL XX, you must also specify
NOADJUST on the REPORT statement.
* Examples:
REPORT ACTIVITY
HEADING STATEMENT
* Examples:
EMP
NO
SOCIAL
SECURITY
NUMBER
REPORT ACTIVITY
LINE STATEMENT
* The syntax is
LINE NN field-name
literal
nn
POS n
COL n
* POS provides for aligning fields under the corresponding field positions
on LINE 1 statements.
*COL nn specifies the print column number where the next line item is
to begin. If you specify COL nn, you must also specify
NOADJUST on the REPORT statement.
* Examples:
CODE ADDRESS
CITY
REPORT ACTIVITY
MULTIPLE REPORTS
To produce more than one report in one pass of your input file, EZT+ uses different
PRINT statements in one JOB activity.
V F M
EASYTRIEVE RPT1
PAYROLL= = = > PLUS = = => . . . = = =>SEQUENCE = =
=>REPORT
STATEMENTS RPT2 (1)
V F M
REPORT
RPT2 = = = = = = => (2)
Only one VFM work area is required for this job. It is divided into a separate section for
each report. Each section holds the selected records required to produce the reports.
EZT+ automatically handles the separation of two or more reports held in one actual
VFM work area.
Note that the VFM space needed for the first report is automatically freed after the first
report is completed. Likewise, the area of the second report is freed when it is no longer
needed. This way only one VFM area is used, even for multiple JOB activities
producing many reports.
REPORT ACTIVITY
MULTIPLE REPORTS (cont'd)
The following EZT+ program produces both these reports with one pass of the input
file.
1 FILE PAYROLL
2 EMP# 9 5 N
3 NAME 17 8 A
4 NET 90 4 P 2
5 GROSS 94 4 P 2
6 DEPARTMENT 98 3 N
7 DEDUCTIONS W 4 P 2
8 JOB INPUT PAYROLL NAME DBL-RPTS
9 IF DEPARTMENT = 911 THRU 914 921
10 DEDUCTIONS = GROSS - NET
11 PRINT SORT - DEPT - RANGE - RPT
12 END-IF
13 IF DEPARTMENT = 911
14 DEDUCTIONS = GROSS - NET
15 PRINT NO-SORT-911-RPT
16 END-IF
17 REPORT SORT-DEPT-RANGE-RPT LINESIZE 78
18 SEQUENCE DEPARTMENT NAME
19 TITLE 1 'DEPARTMENT RANGE WITH SORT'
20 LINE 1 NAME DEPARTMENT EMP# GROSS NET DEDUCTIONS
21 REPORT NO-SORT-911-RPT LINESIZE 78
22 TITLE 1 'DEPARTMENT 911 - NO SORT'
23 LINE 1 NAME EMP# GROSS NET DEDUCTIONS
NOTE : All REPORT sections MUST come at the end of your JOB
activity.
SUMMARY
PROCESSING
SUMMARY PROCESSING
* A summary file is a file that contains the values for all control and ALL
QUANTITATIVE fields at each minor break. It has three (3) basic parts . . . .
EZT+ recognizes the first ten (10) bytes (PACKED and NO decimal value)
after the control field (s) as your TALLY field.
NOTE : Do NOT, under any circumstances, use the SUM parameter in the REPORT
ACTIVITY when creating a SUMMARY FILE. This will create a data
exception (SOC7) abend !!!!!!!
SUMMARY PROCESSING
FILE DEFINITION
The Summary file can be a temporary dataset that is used for the summary processing
and then automatically deleted at the EOJ if the programmer so desires. Of course, the
summary file can also be a permanent file if that is the course the programmer chooses.
In either case, the summary file MUST be defined in the FILE entry of the EZT+
program, the summary file will look like this . . . . . .
* VIRTUAL indicates that this is a temporary file that will be deleted at the
EOJ
SUMMARY PROCESSING
REPORT ACTIVITY
Once the summary file is defined, the EZT+ programmer MUST provide for control
records being written to it.
This is done through the REPORT statement that is invoked by the PRINT command.
Example . . . . .
It is accepted practice that the summary file that has been created should be printed in a
second REPORT ACTIVITY, see the subsequent example of the summary file
processing.
SUMMARY PROCESSING
* Example
1 FILE FILEA
2 REGION 1 1 N
3 BRANCH 2 2 N
4 NAME 17 8 A
5 DEPT 98 3 N
6 EMP# 9 5 N
7 NET 90 4 P 2
8 GROSS 94 4 P 2
9 REC-PRT S 2 P 0
10 *
11 *
12 *
13 FILE SUMM F (33) VIRTUAL
14 SUM-DEPT * 3 N
15 SUM-TALLY * 10 P 0
16 SUM-NET * 10 P 2
17 SUM-GROSS * 10 P 2
18 *
19 JOB INPUT FILEA
20 IF DEPT = 900 THRU 920
21 PRINT TESTER
22 END-IF
23 *
24 REPORT TESTER LINESIZE 80 SUMFILE SUMM
25 SEQUENCE DEPT
26 CONTROL DEPT
27 TITLE 1 'USE OF THE SUMMARY FILE'
28 LINE 1 REGION BRANCH DEPT NAME NET GROSS TALLY
29 *
30 *
31 JOB INPUT SUMM
32 PRINT REPT 2
33 *
34 REPORT REPT 2 LINESIZE 80
35 LINE 1 SUM-DEPT SUM-TALLY SUM-GROSS
36 *
SUMMARY PROCESSING
9/21/84 USE OF THE SUMMARY FILE PAGE 1
6,489.19 9,196.59
26
SUMMARY PROCESSING
This sample print shows the results of the summary file processing that occurred
in the first REPORT ACTIVITY.
You should note that the individual lines correspond to the control totals that
were generated in the previous detail report that generated this summary file.
SPECIAL
PROCEDURES
SPECIAL PROCEDURES
EZT+ provides special report PROCedures which are automatically performed to give
you logic capabilities during report production.
These special report PROCedures are provided to accomplish the more complex
reporting tasks:
* ENDPAGE allows you to print messages (Footers) at the bottom of each page.
* TERMINATION allows you to print messages or totals at the end of the report
(Finals).
SPECIAL PROCEDURES
Syntax . . .
You can code the PROCedures in any order, but you must place them after the LINE
statements within each report definition.
Here are some rules that apply to all seven of these REPORT PROCedures.
* You can put any logic into these PROCedures, except the following:
* Each PROCedure can reference only specific fields. When referencing fields,
EZT+ automatically uses either detail field or internal accumulators based on the
PROCedure being performed.
SPECIAL PROCEDURES
REPORT-INPUT. PROC
* Must execute a SELECT statement in the PROC to cause data to continue into
report.
SPECIAL PROCEDURES
REPORT-INPUT. PROC
1 FILE FILEA
2 BRANCH 2 2 N
3 NAME 17 8 A
4 CODE 16 1 N
5 CONTRIBUTION W 7 N 2
6 PERCENT W 4 N 2 HEADING ('PERCENT' 'OF TOTAL')
7 NET-PAY 90 4 P 2
8 GROSS 94 4 P 2
9 AVERAGE W 7 N 2 MASK ('$$,$$9.99')
10 TOTAL-CONTRIBUTION S 7 N 2
11 JOB TITLE W 17 A
14 JOB INPUT FILEA
16 IF CODE = 5
17 CONTRIBUTION = .05 * GROSS
18 ELSE
19 CONTRIBUTION = .10 * GROSS
20 END-IF
23 TOTAL-CONTRIBUTION = TOTAL-CONTRIBUTION + CONTRIBUTION
25 PRINT REPT
27 REPORT REPT LINESIZE 80
28 SEQUENCE CONTRIBUTION D
29 TITLE 1 'RETIREMENT CONTRIBUTION REPORT'
30 LINE 1 BRANCH NAME CONTRIBUTION PERCENT TOTAL-CONTRIBUTION
32 REPORT-INPUT. PROC
34 PERCENT = CONTRIBUTION / TOTAL-CONTRIBUTION * 100
35 SELECT
36 END-PROC
* * The SELECT command directs the detail line to the output file
otherwise the line will NOT be output.
SPECIAL PROCEDURES
BEFORE - BREAK. PROC
* Allows for modification of totals and special annotation before total line printing
caused by CONTROL statement.
* Allows for special annotation after control break lines are printed.
SPECIAL PROCEDURES
LEVEL
SPECIAL PROCEDURES
BEFORE-BREAK SAMPLE
FILE PAYROLL
EMPNO 9 5N HEADING ('EMPLOYEE' 'NUMBER')
NET 90 4 P 2 HEADING ('NET' 'PAY')
DEPT 98 3 N
GROSS 94 4 P 2 HEADING ('GROSS' 'PAY')
DED W 3P 2
PCT W 4N 2
JOB INPUT PAYROLL
.
.
REPORT PCT-REPORT
SEQUENCE DEPT
CONTROL FINAL NOPRINT DPT NOPRINT
TITLE 1 'THIS REPORT WILL ILLUSTRATE BEFORE-BREAK PROCESSING'
LINE 01 DEPT EMPNO GROSS NET DED PCT
BEFORE-BREAK. PROC
PCT = DED / GROSS * 100
IF LEVEL = 1
DISPLAY SKIP 1 'DEPARTMENT' DEPT POS 3 GROSS POS 4 NET +
POS 5 DED POS 6 PCT
DISPLAY SKIP 1
END-IF
IF LEVEL = 2
DISPLAY SKIP 1 'FINAL' DEPT POS 3 GROSS POS 4 NET POS 5 +
DED POS 6 PCT
END-IF
***********************************************************************
*
FILE PAYROLL
EMPNO 9 5 N HEADING ('EMPLOYEE' 'NUMBER')
NET 90 4 P 2 HEADING ('NET' 'PAY')
DEPT 98 3 N
GROSS 94 4 P 2 HEADING ('GROSS' 'PAY')
DED W 3 P 2
PCT W 4 N 2
JOB INPUT PAYROLL
.
.
REPORT PCT-REPORT
SEQUENCE DEPT
CONTROL FINAL NOPRINT DEPT NOPRINT
TITLE 1 'THIS REPORT WILL ILLUSTRATE AFTER-BREAK PROCESSING'
LINE 01 DEPT EMPNO GROSS NET DED PCT
AFTER-BREAK. PROC
PCT = DED / GROSS * 100
IF LEVEL = 1
DISPLAY 'TOTALS FOR DEPARTMENT NUMBER' DEPT
END-IF
***********************************************************************
*
8/20/85 THIS REPORT WILL ILLUSTRATE AFTER-BREAK PROCESSING
EMPLOYEE GROSS NET
DEPT NUMBER PAY PAY DED PCT
SPECIAL PROCEDURES
BEFORE-LINE AND AFTER-LINE PROCS
SPECIAL PROCEDURES
BEFORE-LINE example
FILE FILEA
LAST-NAME 1 5 A
STATE 6 2 A
ZIPCODE 8 5 N
PAY-NET 13 5 N 2
JOB INPUT FILEA
EZT+ LOGIC
REPORT REPORT 1
SEQUENCE STATE ZIPCODE LAST-NAME
CONTROL STATE ZIPCODE
LINE 01 LAST-NAME STATE ZIPCODE PAY-NET
BEFORE-LINE. PROC
IF PAY-NET GE 500
DISPLAY 'EMPLOYEE' LAST-NAME 'EXCEEDED SALARY GOAL'
END-IF
END-PROC
***********************************************************************
*
SPECIAL PROCEDURES
AFTER-LINE EXAMPLE
FILE FILEA
LAST NAME 1 5 A
STATE 6 2 A
ZIPCODE 8 5 N
PAY-NET 13 5 N 2
JOB INPUT FILEA
EZT+ LOGIC
REPORT REPORT1
SEQUENCE STATE ZIPCODE LAST-NAME
CONTROL STATE ZIPCODE
LINE 01 LAST-NAME STATE ZIPCODE PAY-NET
AFTER-LINE. PROC
IF PAY-NET GE 500
DISPLAY 'EMPLOYEE' LAST-NAME 'EXCEEDED SALARY GOAL'
END-IF
END-PROC
***********************************************************************
*
SPECIAL PROCEDURES
ENDPAGE. PROC
1 FILE PAYROLL
2 NAME 17 8 A
3 EMP# 9 5 N
4 DEPARTMENT 98 3 N
5 NET 90 4 P 2
6 GROSS 94 4 P 2
7 REC-PRT S 2 P 0
8 JOB INPUT PAYROLL NAME SHOW-TERM
9 IF DEPARTMENT = 900 THRU 920
10 PRINT DEPT-RANGE-RPT
11 REC-PRT = REC=PRT + 1
12 END-IF
13 REPORT DEPT-RANGE RPT NOADJUST
14 SEQUENCE DEPARTMENT
15 CONTROL DEPARTMENT
16 TITLE 1 COL 60 'SAMPLE REPORT'
17 TITLE 3 COL 49 'ILLUSTRATING TERMINATION PROCEDURE'
18 TITLE 4 COL 46 'PRINTING MESSAGE OF TOTAL RECORDS PRINTED'
19 LINE 1 COL 20 NAME +4 EMP # DEPARTMENT +4 NET +4 GROSS
20 ENDPAGE. PROC
22 DISPLAY SKIP 4 COL 20 'ATTN : DEPARTMENT MANAGER'
22 DISPLAY SKIP 1 COL 20 'REPORT PREPARED BY JOHN DOE'
23 END-PROC
SPECIAL PROCEDURES
ENDPAGE. PROC - - - OUTPUT
SAMPLE REPORT
---------------------------------------------------------------------------------------------------------
----
* * * DATA LEFT OUT * * *
---------------------------------------------------------------------------------------------------------
----
RYAN 10961 291.70 399.20
914 1,632.83 2,403.36
6,489.19 9,196.59
SPECIAL PROCEDURES
TERMINATION. PROC
1 FILE PAYROLL
2 NAME 17 8 A
3 EMP# 9 5 N
4 DEPARTMENT 98 3 N
5 NET 90 4 P 2
6 GROSS 94 4 P 2
7 REC-PRT S 2 P 0
8 JOB INPUT PAYROLL NAME SHOW-TERM
9 IF DEPARTMENT = 900 THRU 920
10 PRINT DEPT-RANGE-RPT
11 REC-PRT = REC-PRT + 1
12 END-IF
13 REPORT DEPT-RANGE RPT NOADJUST
14 SEQUENCE DEPARTMENT
15 CONTROL DEPARTMENT
16 TITLE 1 COL 60 'SAMPLE REPORT'
17 TITLE 3 COL 49 'ILLUSTRATING TERMINATION PROCEDURE'
18 TITLE 4 COL 46 'PRINTING MESSAGE OF TOTAL RECORDS PRINTED'
19 LINE 1 COL 20 NAME +4 EMP# +4 DEPARTMENT +4 NET +4
GROSS
20 TERMINATION. PROC
22 DISPLAY SKIP 4 COL 20 REC-PRT 'RECORDS PRINTED'
23 END-PROC
SPECIAL PROCEDURES
TERMINATION. PROC - - - OUTPUT
SAMPLE REPORT
---------------------------------------------------------------------------------------------------------
----
* * * DATA LEFT OUT * * *
---------------------------------------------------------------------------------------------------------
----
RYAN 10961 291.70 399.20
914 1,632.83 2,403.36
6,489.19 9,196.59
26 RECORDS PRINTED
SORT ACTIVITY
SORT ACTIVITY
A very common activity is creating a sorted output file.
* The SEQUENCE statement invokes your system sort to put REPORTS in a certain
order.
* The SORT statement does the same when you want to create a file in a certain order.
Command syntax . . . . .
BEFORE: - Optional
SORT ACTIVITY
DEFINING THE SORTED FILE
The sorted file MUST be defined in the EZT+ FILE SECTION just as any file that is to
be processed by your EZT+ program.
Just like the SUMMARY FILE, the sorted file can be a permanent file or a temporary
file that will be deleted at the EOJ.
Example. . . . . . .
FILE PAYROLL
REGION 1 1 A
EMP-NAME 17 8 A
FILE PAYSORT FB (150 1800 ) VIRTUAL
field definitions
* PAYSORT is the file-name assigned by the EZT+ programmer to the sorted file
that will be created in this EZT+ program
* The FB (150 1800) parameter provides the DCB information that is needed for
the sorted output file. The FB is used to indicate that this is FIXED-
BLOCK file. The 150 is the record-length of the sorted file and the 1800 is
the block-size.
* The VIRTUAL is again used to indicate that this is a temporary file that will be
deleted at the EOJ
NOTE: When creating a PERMANENT sorted output file, it is not necessary to code
the DCB information and the VIRTUAL parameter
SORT ACTIVITY
CODING THE SORT STATEMENT
The EZT+ SORT statement begins a SORT activity. A SORT activity creates a
sequenced file containing all or part of the records from another file. In most cases,
one statement is the entire activity. The following example uses only one SORT
statement to sort the records of the file PAYROLL:
FILE PAYROLL
REGION 1 1 A
EMP-NAME 17 8 A
FILE PAYSORT FB (150 1800) VIRTUAL
field definition
- - - - - - - - - - -> SORT PAYROLL TO PAYSORT USING (REGION D EMP-
NAME)
| JOB INPUT PAYSORT . . . .
|
----- * SORT is the keyword that activates the sort process
* REGION and EMP-NAME are the sort fields on which the SORTED input
file will be resequenced - - these data items will be found on the
UNSORTED input file
* ASCENDING is the default sort sequence, the 'D' after REGION indicates
that this sort field will be sorted in DESCENDING sequence.
FILE PAYROLL
REGION 1 1 A
EMP-NAME 17 8 A
GROSS-PAY 90 4 P 2
FILE PAYSORT FB (150 1800) VIRTUAL
field definitions
SORT PAYROLL TO PAYSORT USING +
(REGION D EMP-NAME)
- - - - - - - - - - - - - -> BEFORE SORT-REG-4
| SORT-REG-4. PROC
| IF REGION = '4'
| GROSS-PAY = GROSS-PAY + 100
| SELECT
| END-IF
| END-PROC
| JOB INPUT PAYSORT
|
- - -Here you added BEFORE SORT-REG-4 to the SORT statement as well as the
SORT-REG-4 procedure . . . NOTE: the BEFORE procedure is coded between
the SORT and JOB activities.
In this example, you are SELECTING only REGION 4 records, and adding 100 to
their GROSS-PAY fields. After execution, PAYSORT will contain only region 4
records.
Notice that the SORT activity alone, without any PROCedure, automatically selects
all records for output. But when you use a PROCedure with the BEFORE parameter,
you have to use the SELECT statement to actually choose a record for output.
* A table is a collection of uniform data records in a form suitable for quick reference
* The user's objective is to obtain the one value from an array of values that
corresponds to the search argument.
Example:
ARG DESC
01 ALABAMA
02 ALASKA
03 ARIZONA
TABLES
DEFINITION IN LIBRARY
INSTREAM denotes that the table file immediately follows the file description.
literal specifies the number of entries in an external table (a table called by the
program).
* ENDTABLE must be the last entry in the instream table data, and must be coded in
columns 1 through 8.
Example:
TABLES
SEARCH STATEMENT
Command syntax . . .
field-name-2 is the receiving field for the results of the table search.
TABLES
SEARCH STATEMENT EXAMPLES
You can code SEARCH statements any place within a JOB activity, SORT
procedure, or REPORT procedure.
*
FILE CALENDR
DAY-OF-WEEK 12 1 N
NAME-OF-DAY 14 9 A
IF NOT WEEKDAY
TABLES
VARIABLE TABLES
Variable tables are tables that will contain values that will vary from one execution to the
next of your EZT+ program.
A Working Storage entry uses the OCCURS and INDEX clauses to define a VARIABLE
TABLE to the EZT+ program.
Example . . . . .
** The mask is an optional entry that can be used should you want to print
EDITED accumulators at EOJ.
** The OCCURS clause uses a numeric value to define the number of entries in
the VARIABLE TABLE.
** The INDEX clause defines the INDEX data-item that will be used with the
VARIABLE TABLE entries.
TABLES
REFERENCING VARIABLE TABLES
CNTR-INDX = RECTYPE
CNTR - INDX = 1
DO WHILE CNTR-INDX < 11
DISPLAY 'SPECIAL MESSAGE ' COUNTERS (CNTR-INDX)
CNTR-INDX = CNTR-INDX +1
END-DO
MATCH PROCESSING
MATCH PROCESSING
* EZT+ automatically matches an unlimited number of input files using an unlimited
number of keys.
* Due to the complexity of using more than two (2) files, it is recommended that
MATCH processing be limited to two (2) files.
FILE MASTER
POL NO 7 8 N
FILE TRANS
POLICY 1 8 N
MATCH PROCESSING
* MATCH TEST
can be used to verify that a file has reached EOF or that a record is available from the
designated file
* DUPLICATE TESTING
MATCH PROCESSING
EZT+ LOGIC EZT+ FILES
FILE MASTER MASTER TRANS
MKEY 1 4 N
FILE TRANS 68 16
TKEY 1 4 N 70 17
JOB INPUT (MASTER KEY (MKEY) + 150 18
TRANS KEY (TKEY) ) 18
IF FIRST-DUP TRANS 18
DISPLAY . . . 19
ELSE 20
IF LAST-DUP TRANS 21
DISPLAY . . . 70
GO TO JOB
ELSE
IF DUPLICATE TRANS PROCESSING FLOW
DISPLAY . . .
GO TO JOB 1) Each file retrieves a
record
END-IF automatically
END-IF 2) The HIGH KEY value is
stored
END-IF and LOW KEY value
continues
IF MATCHED MASTER TRANS processing
PRINT MATCH-REPT 3) Record 16 successfully
passes
END-IF NOT MATCHED and displays
IF NOT MATCHED TRANS the desired information
DISPLAY . . . 4) Record 17 is retrieved and
steps
GO TO JOB 2 and 3 are repeated
END-IF 5) Record 18 is retrieved and
steps 2 and 3 are repeated.
6) Record 18 is retrieved and
it is recognized to be a
DUPLICATE
7) Record 18 is retrieved and
it is recognized to be a
LAST-DUP
8) Records 19, 20 and 21 are
retrieved and steps
2 and 3 are repeated.
9) Record 70 is retrieved and
stored because it is
greater than the
MASTER record.
10) Record 70 is retrieved
from the MASTER record
and a match is
encountered.
11) Normal processing
encounters EOF on
both files
MACRO PROCESSING
MACRO PROCESSING
MACRO FACILITY
The EZT+ macro facility permits often repeated source statements to be duplicated easily
for any program. Even the most casual programmer can use EZT+ macros.
MACRO LIBRARY
The macro library is a very convenient place to store data definitions of frequently-used
files.
CREATING A MACRO
To create a macro, follow these steps:
* Go to P.2 (PANVALET Edit) and allocate a new member. The member name
must begin with your system prefix, and can contain a maximum of 10
characters.
* The first statement in the member must be the keyword 'MACRO' and can be
coded in any column between 1 and 72.
INVOKING A MACRO
%macroname
JCL
SAMPLE JCL
S A M P L E J C L T O E X E C U T E E Z T P L U S
/ / SYSOUT DD SYSOUT=*
/ / SYSUDUMP DD SYSOUT=*
/ / PANDD1 DD DSN=UTI.PROD.PAN.OTHER.PANSCR,DISP=SHR
/ / SORTMSG DD SYSOUT=*
/ / SYSPRINT DD SYSOUT=*
/ / SYSIN DD *
//* I N S E R T Y O U R E Z T P L U S L O G I C H E R
E
/*
This is the most common EZT+ JCL that you will encounter. Most, if not
all, of your EZT+ programs will execute with this skeleton JCL. The
most important features of this JCL are . . . .
SAMPLE JCL
S A M P L E J C L T O C O M P I L E / E X E C U T E
/ / PAN.SYSIN DD *
/ / EZTG.SYSPRINT DD SYSOUT=*
/*
//
SAMPLE JCL
S A M P L E J C L T O C O M P I L E / L I N K
/ / PAN.SYSIN DD *
/*
//
* * * NOTE * * * When executing this procedure, the 'LINK' option of the 'PARM'
statement is required.
SAMPLE JCL
EDIT - - - - - EDU.PROD.JPKEZT(EZTCOMP) - 01.01---------------COLUMNS 001 072
COMMAND = = = = > SCROLL = = => CSR
* * * * * ***********************TOP OF DATA ****************************
==MSG> -CAUTION- PROFILE CHANGED TO "CAPS ON" (FROM "CAPS OFF)
==MSG> DATA DOES NOT CONTAIN ANY LOWER CASE CHARACTERS.
000001 / / JPK1COMP JOB MSGCLASS=X, CLASS=H, PERFORM=5 NOTIFY=JPK1
000002 / / STEP1 EXEC PAN1EZT,PANLIBR= 'OTHER'
000003 / / PAN.SYSPRINT DD SYSOUT=*
000004 / / PAN.SYSIN DD *
000005 ++WRITE WORK.JPK1TAPES
000006 / / LKED.SYSLMOD DD DSN=EDU.TEST.COB2PROD.LOADLIB (JPK1TAPE),DISP=SHR
000007 / /
000008
000009 COMPILE JCL
000010 * SOURCE MODULE RESIDES ON PANVALET (OTHER)
000011 * LINKING TO EDU.TEST.COB2PROD.LOADLIB AS JPK1TAPE
000012 *JPK1TAPE CONTAINS ALL EZT STATEMENTS AND COMMANDS FROM THE
000013 FILE STATEMENT
000014 * REQUIRES PARM LIK (LOAD-MODULE NAME R) AS THE FIRST CARD OF THE
000015 MEMBER
* * * * * ********************************BOTTOM OF DATA****************************
..................................................................................
. . . . 14:47 - - - - - - - - - - - - - - - - - -FLASHER Jobname Selection - - - - - - - - - - Invalid line command
SAMPLE JCL
EDIT - - - - EDU.PROD.JPKEZT (EZTEXEC) - 01.01 - - - - - - - - - - - - - - - - - - -COLUMNS 001
072
COMMAND = = => SCROLL = = => CSR
== MSG> - CAUTION- PROFILE CHANGED TO "CAPS ON" (FROM "CAPS OFF")BECAUSE
==MSG> THE DATA DOES NOT CONTAIN ANY LOWER CASE CHARACTERS.
000001 / / JPK1TAPE JOB MSGCLASS=X, CLASS=H, PERFORM=5, NOTIFY=JPK1
000002 / / STEP1 EXEC PGM=JPK1TAPE
000003 / / STEPLIB DD DSN=EDU.TEST.COB2PROD.LOADLIB,DISP=SHR
000004 / / SYSPRINT DD SYSOUT=*
000005 / / SYSOUT DD SYSOUT=*
000006 / / EZTVFM DD UNIT = SYSDA,SPACE=(4096, (100, 100) )
000007 / / TAPES DD DSN-EDU.PROD.JPK1.TAPE.LIST,DISP=SHR
000008 / / SYSIN DD *
000009 / /
000010
000011 EXECUTION JCL
000012 * STEPNAME DEFINES THE PROGRAM TO BE EXECUTED
000013 * STEPLIB DEFINES LOAD LIBRARY
000014 * SYSPRINT, SYSOUT AND EZTVFM ARE STANDARD STATEMENTS
000015 * TAPES IS THE FILENAME
000016
* * * * * *****************************BOTTOM OF DATA******************************
..................................................................................
...
FLASHER outlist for JPK1TAPE (J04422) Sys - - - - Line 00000420 Col 001 080
PROCESSING PARM
INFORMATION
PASSING PARM INFO
To pass information from the JCL 'PARM' statement, the following items are required:
* This procedure must code a call to a subprogram which will, in turn, move the
PARM information into an EZT+ field
* If no JCL parameter is being passed on the JCL EXEC statement, PARM-LTH will
contain a zero.
EXAMPLE
FILE PERSNL
%PERSONL
* JCL PARM DECODE DEFINITIONS
PARM-INFO W 5 A
PARM-LTH PARM-INFO 2 B
PARM-DATA PARM-INFO +2 3 A
*
SELECT-REGION PARM-DATA 1 N
SELECT-BRANCH PARM-DATA +1 2 N
ACCOUNTING
INFORMATION
ACOUNTING INFORMATION
DIVISION CODES
****************
1 = INSURANCE SERVICES 2 = PROPERTY AND LIABILITY
3 = SYSTEM SUPPORT SERVICES 4 = ALL OTHERS
______________________________________________________________________________
GROUP CODE
**********
INSURANCE SERVICES PROPERTY & LIABILITY
A = CLAIMS
L = PC B = RECON
O = OHIO LIFE C = DAB/ABC
P = PAYROLL/PERSONNEL D = MAP/CLM
S = ACCIDENT & HEALTH E = 8100/DSX
F = PREMIUM ENTRY
G = MANAGER
SYSTEM SUPPORT SERVICES H = HOMEOWNERS
I = AUTO
J = CPR
E = EDUCATION K = CLASS
O = OPERATIONS L = RATE MAINTENANCE
P = TELEPROCESSING M = ISO
X = TRAINEES N = CLASS
T = TECHNICAL O = MCCORMICK AND DODGE
W= TECHNICAL WRITERS S = INTERNAL STAT CODING
W = WORKERS COMP
ALL OTHERS
- = NOT APPLICABLE
T = TEXT TRANSCRIPTION CLERKS
A = AUDIT
______________________________________________________________________________
PROGRAMMER CODE 4TH DIGIT OF LOGON ID
(NON/PROD ONLY) - = NOT APPLICABLE
ACCOUNTING INFORMATION
PROPER JOB CLASSES AND PERFORM PARAMETERS
1 E F H 20% OR LESS
1 J K L 21% TO 40%
1 N P Q 41% TO 50%
DATE CONVERSIONS
DATE CONVERSION
GREGJULN
I. PURPOSE
III. REQUIREMENTS
1. MONTH 01-12
2. DAY OF MONTH 01-28, 29,30,31 DEPENDING ON MONTH AND
YEAR.
IV. RESTRICTIONS
MM - MONTH (01-12)
DD - DAY (01-28, 29, 30, 31)
YY - YEAR (00-99)
VI. OUTPUT
YY - YEAR (00-99)
DDD - DAY OF YEAR (01-365,366)
DATE CONVERSION
JULNGREG
I. PURPOSE
III. REQUIREMENTS
IV. RESTRICTIONS
V. INPUT
VI. OUTPUT
A. A FIELD CONTAINING 7-DIGITS (ZEROS IF INPUT DATE IS INVALID)
DATE CONVERSION
JULNFDN (ALSO CALLED FDN)
I. PURPOSE
III. REQUIREMENTS
A. 400 BYTES.
IV. RESTRICTIONS
V. INPUT
A. JULIAN DATE
ABEXIT
ACCESS
ACROSS
ADD
AFTER-BREAK
AFTER-LINE
ALL
ALPHABETIC
ALTSEQ
AND
AREA
ARG
ASA
BEFORE
BEFORE-BREAK
BEFORE-LINE
BIND
BUFNO
BUSHU
BWZ
BY
CALC
CALL
CARD
CASE
CHKP
CHKP-STATUS
CISIZE
COL
COLOR
COMMIT
COMPILE
CONNECT
CONSOLE
CONTROL
COPY
CREATE
CRITICAL
CURRENT
APPENDIX A
DA
DBCSCODE
DBKEY
DBNAME
DB2SSID
DEBUG
DEFAULT
DEFER
DEFINE
DELETE
DENWA
DESC
DEVICE
DIAG
DICTNAME
DICTNODE
DISCONNECT
DISL
DISPLAY
DLI
DLM
DMAP
DO
DOWN
DTLCOPY
DTLCTL
DUMP
DUPLICATE
ELEMENT-RECORD
ELSE
EMPTY
END
END-CASE
END-DO
END-IF
END-PROC
ENDPAGE
ENDTABLE
EQ
ERASE
ES
EVERY
EXC
EXCLUSIVE
EXECUTE
EXIT
EXITSTR
EXTENDED
EXTERNAL
APPENDIX A
FB
FBA
FILE
FILE-STATUS
FILL
FINAL
FIND
FINISH
FIRST
FIRST-DUP
FLDCHK
FLOW
FLOWSZ
FOR
FROM
FULLTRK
GE
GET
GIVING
GO
GOTO
GQ
GT
HEADING
HEX
HIAR
HIGH-VALUES
HIGHEST
ID
IDMS
IDMSDB
IDMSNODE
IF
IN
INDEX
INPUT
INSTREAM
INTO
IS
JOB
KEEP
KEY
KEYFILE
KEYVALUE
APPENDIX A
LABELS
LAST-DUP
LE
LEVEL
LIKE
LIMIT
LINE
LINE-COUNT
LINE-NUMBER
LINESIZE
LINK
LIST
LOGICAL-RECORD
LONG
LOW VALUES
LOWEST
LQ
LRF
LS
LT
MACRO
MACROS
MASK
MATCHED
MAX
MDO
MELSE
MEMBER
MEMBERS
MEMORY
MEND
MIF
MIXED
MOD
MODIFY
MOVE
MRETURN
MSET
MSG
MSTART
APPENDIX A
NAME
NE
NEWPAGE
NEXT
NL
NO
NOADJUST
NOCLIST
NODATE
NODE
NODIAG
NODMAP
NOERASE
NOFILE
NOFLDCHK
NOFLOW
NOHEADING
NOMACRO
NOMACROS
NONE
NOPAGE
NOPARM
NOPMAP
NOPRINT
NORWD
NOSNAP
NOSPREAD
NOSTATE
NOT
NOTE
NOTP
NOVERIFY
NOXREF
NQ
NR
NTH
NULL
NUMERIC
OCCURS
OF
OFF
ON
OR
OWNER
APPENDIX A
PAGE-COUNT
PAGE-NUMBER
PAGESIZE
PARM
PARM-REGISTER
PASSWORD
PATH-ID
PERMANENT
PERFORM
PMAP
POINT
POP
POS
PREP
PREPNAME
PRESIZE
PRIMARY
PRINT
PRINTER
PRIOR
PROC
PROCEDURE
PROCESS
PROGRAM-NAME
PROTECTED
PUNCH
PUSH
PUT
READ
READY
REAL
RECORD
RECORD-COUNT
RECORD-LENGTH
RELEASE
RENUM
REPORT
REPORT-INPUT
RESET
RETAIN
RETRIEVE
RETURN-CODE
REWIND
ROLLBACK
APPENDIX A
SCREEN
SEARCH
SECONDARY
SELECT
SELECTIVE
SEQUENCE
SET
SHARE
SHORT
SHR
SIZE
SKIP
SMAP
SNAP
SORT
SOURCE
SPACE
SPACES
SPREAD
SQL
SSA
SSANO
START
STATE
STATISTICS
STATUS
STOP
STORE
SUM
SUMCTL
SUMFILE
SUMMARY
SUMSPACE
SYNTAX
SYS
SYSDATE
SYSIN
SYSIPT
SYSLST
SYSPRINT
SYSNAP
SYSTIME
APPENDIX A
TABLE
TAG
TALLY
TALLYSIZE
TAPE
TERM
TERMINATION
THRU
TITLE
TITLESKIP
TO
TP
TRC
UNIQUE
UNLOAD
UNTIL
UPDATE
USER
USERID
USING
VALUE
VB
VBS
VERIFY
VFM
VIRTUAL
VS
WHERE
WHILE
WITH
WORK
WORKAREA
WRITE
XOR
XREF
XRST
YES
ZERO
ZEROES
ZEROS
APPENDIX B
COMMON VSAM STATUS KEYS
—A—
ACCOUNTING INFORMATION
JOB CLASSES, 148
PERFORM PARAMETER, 148
ACOUNTING INFORMATION
JOB CARD, 147
ACTIVITY SECTION, 9
AFTER - BREAK. PROC
INTRODUCTION, 108
AFTER-BREAK. PROC
EXAMPLES, 111
AFTER-LINE. PROC
EXAMPLES, 114
AFTER-LINE. PROC
INTRODUCTION, 112
ARITHMETIC OPERATION
EXAMPLES, 59
INTEGER OPTION, 61
INTRODUCTION, 59
ROUNDED OPTION, 61
ASSIGNMENT
EXAMPLES, 56
SYNTAX, 56
—B—
BEFORE PROC
SORT ACTIVITY, 122
BEFORE-BREAK. PROC
EXAMPLES, 110
BEFORE-LINE PROC
INTRODUCTION, 112
BEFORE-LINE. PROC
EXAMPLES, 113
—C—
CALL STATEMENT
SYNTAX, 63
CONTROL
REPORT ACTIVITY, 75
COPY STATEMENT, 28
—D—
DATA FORMAT, 20
DECIMAL POSITIONS, 21
DISPLAY STATEMENT, 35
DO WHILE
INTRODUCTION, 51
DTLCTL NONE
REPORT ACTIVITY, 80
DTLCTL EVERY
REPORT ACTIVITY, 79
DTLCTL FIRST
REPORT ACTIVITY, 78
—E—
EDIT MASK, 23
ENDPAGE. PROC
EXAMPLES, 116
INTRODUCTION, 115
ENVIRONMENT SECTION, 7
EOF CHECKING, 30
EZT+ RESERVED WORDS
APPENDIX A, 154
—F—
FIELD LENGTH, 19
FIELD NAME, 19
FILE DIRECTING PARAMETERS
REPORT ACTIVITY, 71
FILE STATEMENT, 18
FINISH PROC, 31
—G—
GET COMMAND, 40
GO TO COMMAND
EXAMPLES, 54
SYNTAX, 54
GREGJULN
DATE CONVERSION, 150
—H—
HEADING
FIELD DEFINITION, 25
HEADING STATEMENT
REPORT ACTIVITY, 92
—I—
IF COMMAND
BASIC SAMPLES, 46
COMPOUND CONDITIONS, 48
NESTING, 49
SYNTAX, 45
—J—
JCL
BASIC EXAMPLE, 139
COMPILE / EXECUTE, 140
COMPILE / LINK, 141
JULNFDN
DATE CONVERSION, 152
JULNGREG
DATE CONVERSION, 151
—L—
LEVEL FEATURE, 109
LIBRARY SECTION, 8
LINE STATEMENT
REPORT ACTIVITY, 93
—M—
MACRO PROCESSING
CREATING A MACRO, 137
INTRODUCTION, 137
INVOKING A MACRO, 137
LIBRARY, 137
MATCH PROCESSING
DUPLICATES, 134
EXAMPLE, 135
FILE-PRESENCE, 134
FIRST-DUP, 134
INTRODUCTION, 133
LAST-DUP, 134
MATCHED, 134
SYNTAX, 133
MOVE
FORMAT 1 EXAMPLES, 57
FORMAT 2 EXAMPLES, 58
MULTIPLE REPORTS
EXAMPLES, 95
INTRODUCTION, 94
—P—
PARM PROCESSING
EXAMPLES, 145
INTRODUCTION, 145
PERFORM STATEMENT
USER PROCEDURES, 65
POINT COMMAND, 41
PRINT COMMAND, 34
PUT COMMAND, 39
—R—
READ COMMAND, 42
REDEFINITION
FILE ENTRY, 22
WORKING STORAGE, 22
REPORT ACTIVITY
INTRODUCTION, 67
SAMPLE, 72
REPORT-INPUT. PROC
EXAMPLES, 107
INTRODUCTION, 106
—S—
SEARCH COMMAND
TABLES, 128
SEQUENCE
REPORT ACTIVITY, 74
SORT ACTIVITY
CODING SORT STATEMENT, 122
DEFINING SORT STATEMENT, 121
EXAMPLES, 124
INTRODUCTION, 120
SYNTAX, 120
SPACING PARAMETERS
REPORT ACTIVITY, 69
SPECIAL CHARACTERS, 15
SPECIAL FEATURES, 3
SPECIAL PROCEDURES
SYNTAX, 105
START PROC, 31
STARTING LOCATION, 19
STOP COMMAND, 38
STRUCTURE, 5
SUM STATEMENT
REPORT ACTIVITY, 90
SUMCTL
REPORT ACTIVITY, 81
SUMCTL ALL
REPORT ACTIVITY, 82
SUMCTL HIAR
REPORT ACTIVITY, 84
SUMCTL DTLCOPY
REPORT ACTIVITY, 87
SUMCTL NONE
REPORT ACTIVITY, 85
SUMCTL TAG
REPORT ACTIVITY, 86
SUMMARY FILE PROCESSING
EXAMPLES, 100
FILE DEFINITION, 98
INTRODUCTION, 97
REPORT ACTIVITY, 99
SUMMARY REPORT
REPORT ACTIVITY, 87
SUPPRESSION PARAMETERS
REPORT ACTIVITY, 70
SYNTAX, 10
—T—
TABLES
DEFINING VARIABLE TABLES, 130
INTRODUCTION, 126
LIBRARY DEFINITION, 127
REFERENCING VARIABLE TABLES, 131
TALLY
REPORT ACTIVITY, 76
TERMINATION. PROC
INTRODUCTION, 117
TESTING AID PARAMETERS
REPORT ACTIVITY, 72
TITLE STATEMENT
REPORT ACTIVITY, 91
—U—
USER PROCEDURES
EXAMPLES, 65
INTRODUCTION, 65
—V—
VSAM STATUS KEY VALUES
APPENDIX B, 161
—W—
What is EZT+?, 2
WORKING STORAGE
'S' AND 'W' FIELDS, 26
HOW TO CODE, 26
RESET CLAUSE, 27
VALUE CLAUSE, 26
WRITE COMMAND, 43