June/July 1998 Newsletter
IOFTech Maintenance Release8G Newsletters Doc FAQ Contact Home |
IOF 7D SNAP Enhancements
|
Introduction to Snap
The IOF SNAP command copies data from the JES2 spool to an
external (target) data set. SNAP can be issued from several IOF
panels:
Job List Menu
Copy one or more jobs
Output Group Display
Copy one or more output groups
Job Summary
Copy one or more sysout data sets
(All or parts of a data set may be copied)
Browse
Copy as little as one line and as much as the whole data
set
Data Index
Copy from the indexed item through the next indexed item
----------------------------- SD Command Defaults ---------------------------- COMMAND ===> The attributes below will be used by default for snapping to disk data sets with the SD command. SD with no operands will display a parm menu. DSNAME ===> RECFM ===> VBA Record format LRECL ===> 255 Logical record length BLKSIZE ===> 3600 Block size PRIMARY ===> 20 Primary allocation (in tracks) SECONDARY ===> 20 Secondary allocation (in tracks) UNIT ===> Unit name VOLUME ===> Volume serial STORCLAS ===> SMS storage class MGMTCLAS ===> SMS management class DATACLAS ===> SMS data class PACK(Y or N) ===> NO Pack data using ISPF method |
Each user can specify the data set characteristics that best suits their individual requirements. Users that prefer to snap to a single target data set can specify the data set name. The SD command displays the default values and allows users to alter any parm by overtyping.
IOF SNAP automatically converts carriage control characters when
the source data set and target dataset have different RECFM
values. For example, if the source data set is ASA and the
target data set is machine control, SNAP automatically converts
ASA to machine.
Prior to release 7D, RECFM conversion was done in a manner that
produced identical results when the target data set was printed,
but appeared to generate extra lines when the target data set was
browsed online. The RECFM conversion algorithm has been improved
in release 7D to eliminate these extra lines while still
producing correct printed output.
The SD panel in Release 7D has a new PACK option.
When PACK is specified, SNAP saves the snapped data in ISPF
edit/browse packed format. Packed format can save significant
amounts of disk space for many sysout data sets. ISPF edit
and/or browse must be used to process packed data sets.
The SNAPTEXT command is new in Release 7D. It can be used
to add user defined text to a target snap data set. This often
is useful to produce header lines to identify snapped data to an
external processing system such as microfiche or CD writing
programs. Text and hex data strings can be specified. ASA or
machine carriage control data can optionally be included on the
output line.
SNAPTEXT [ BUILD ]
BUILD. Specifies that a complex header record is being
built. The carriage control or data is added to the record but
output is not yet written. After one or more SNAPTEXT
BUILD commands, a SNAPTEXT command with no parms is
used to write the accumulated record to the target data set.
asa-ctl. The optional ASA carriage control character.
mac-ctl. The optional machine carriage control
character in hexadecimal.
CHAR. Specifies that character data follows.
line-of-text. The string of character data to be added
to the snap target data
set.
HEX. Specifies that hexadecimal data follows.
hex-data. The string of hexadecimal data to be added
to the snap target data
set.
Examples
Note that SNAPTEXT with no parms causes the accumulated
data record to be
written.
It may be useful to use another new 7D feature to add block
headers to snap target data sets. Block headers are particularly
useful for defining data separators when preparing output for
microfilm or CD rom.
The SNAPHDR command utilizes SNAPTEXT to produce
block headers in the snap target data set. Three block header
formats are supported. It is relatively easy to create additional
local formats.
Syntax
SNAPHDR [ 1 /
2 / 3 ]
[SLANT] header-text
1 / 2 / 3
Optionally specifies the block header
format.
1 specifies the default block header format
of 7 lines by 5 characters wide.
2 specifies a block header 7 lines by 7
characters wide.
3 specifies a block header 13 lines by a
proportional width.
SLANT. If specified, causes the block letters to be
slanted.
header-text. The text to be blocked. Note that the
number of characters that can
be written to the output line is a function of the header format
and the line width. The
header text will be truncated when it will not fit on the snap
target output line. Lower case
characters are exploded to upper case.
Examples
SNAPHDR is implemented via the IOF$SH1,IOF$SH2 and IOF$SH3
Rexx execs in the IOF Clist library. The format and style of the
headers can be changed by modifying these execs to meet local
requirements.
Release 7D supports the new HDR line command on the Job
List Menu, Output Group Display and Job Summary Panel.
HDR adds a block header identifier to the target snap data
set to make it easier to identify. The standard header includes
jobname, jobid, sysout class and destination, and data set step
name, procstep name and ddname.
To use HDR from one of the menus listed above:
2. Enter HDR in the line area to the left of the job,
output group or sysout data set.
3. SNAP a copy of the sysout data.
4. Optionally enter the SNAPCLOS command to close the
target snap data set.
For example, when the HDR line command is entered on the
Job Summary Panel as shown below, the following block
headers are generated.
Improved Carriage Control Conversion
ISPF Packed Format
Adding Text to the Target Data Set
Syntax
[ ASA(asa-ctl) / MACHINE(mac-
ctl) ]
[ CHAR line-of-text / HEX hex-data ]
SNAPTEXT ASA(1) CHAR Example header at top of form
SNAPTEXT MACHINE(8B) CHAR Machine control example header
SNAPTEXT CHAR This data will be printed on the next line
SNAPTEXT BUILD ASA(1)
SNAPTEXT BUILD HEX 7B3EF2
SNAPTEXT BUILD CHAR Character part of a complex header
SNAPTEXT
Block Headers
SNAPHDR 1 FRIDAY 21 FEB1997
SNAPHDR 2 SLANT SALARIED PAYROLL
SNAPHDR 3 *** Friday ***
Standard Block Header Identifiers
1. Define the target SNAP data set
------------------------------- IOF Job Summary ------------------------------- COMMAND ===> SCROLL ===> CURSOR --JOBNAME---JOBID--STATUS---RAN/RECEIVED------DAY--------DEST------------------ TESTHDR J04708 OUTPUT 14:49 7/15/1998 YESTERDAY TRISYS --RC--PGM--------STEP-----PRSTEP---PROC-----COMMENTS--------------------------- 0 IEBGENER COPYC STEP17A PT1 --------DDNAME---STEP-----PRSTEP---STAT-ACT-C-GRP-D-SIZE-U--DEST--------------- _ 1 LOG * A 1 W 16 L TRISYS _ 2 JCL * A 1 W 43 L TRISYS _ 3 MESSAGES * A 1 W 56 L TRISYS HDR 4 SYSPRINT COPYC STEP17A A 1 W 4 L TRISYS _ 5 SYSUT2 COPYC STEP17A A 1 W 34 L TRISYS |
Output Generated by IOF SNAP on 15 Jul 1998 AT 14:50:03 Jobname - TESTHDR Jobid - J04708 TTTTT EEEEE SSS TTTTT H H DDDD RRRR JJJJ 000 4 77777 000 888 T E S S T H H D D R R J 0 0 4 4 7 0 0 8 8 T E S T H H D D R R J 0 0 4 4 7 0 0 8 8 T EEEE SSS T HHHHH D D RRRR J 0 0 44444 7 0 0 888 T E S T H H D D R R J 0 0 4 7 0 0 8 8 T E S S T H H D D R R J J 0 0 4 7 0 0 8 8 T EEEEE SSS T H H DDDD R R JJ 000 4 7 000 888 DDNAME SYSPRINT ,STEP COPYC ,Procstep STEP17A SSS Y Y SSS PPPP RRRR III N N TTTTT CCC OOO PPPP Y Y CCC SSS TTTTT EEEEE PPPP 1 77777 A S S Y Y S S P P R R I N N T C C O O P P Y Y C C S S T E P P 11 7 A A S Y Y S P P R R I NN N T C O O P P Y Y C S T E P P 1 7 A A SSS Y SSS PPPP RRRR I N N N T C O O PPPP Y C SSS T EEEE PPPP 1 7 AAAAA S Y S P R R I N NN T C O O P Y C S T E P 1 7 A A S S Y S S P R R I N N T C C O O P Y C C S S T E P 1 7 A A SSS Y SSS P R R III N N T CCC OOO P Y CCC SSS T EEEEE P 1 7 A A Class A , Destination TRISYS A TTTTT RRRR III SSS Y Y SSS A A T R R I S S Y Y S S A A T R R I S Y Y S AAAAA T RRRR I SSS Y SSS A A T R R I S Y S A A T R R I S S Y S S A A T R R III SSS Y SSS |
HDR is implemented by the IOF$SL1 Rexx exec. If you
prefer a different header format, modify IOF$SL1 in you IOF clist
library.
The IOFWTR clist distributed with 7D has a new HEADER parm that
specifies the name of a clist/exec to produce separator headers.
IOFWTR is shipped with HEADER(IOF$SL1) specified. This is the
standard header produced by the HDR command described above.
If no headers are wanted, specify HEADER() when invoking IOFWTR.
If you prefer to design your own header routines, use the IOF$SL1
Rexx exec as an example. Then, specify the name of your exec in
the HEADER parm when invoking IOFWTR.
New IOFWTR Header Parm
Email
IOFTech@Triangle-Systems.Com