|
| | DDN TSO Command
DDN is a TSO command that provides an easier way to allocate
datasets for a TSO User session than using the ALLOCate TSO command provided by
IBM.
It is located in File #300 of the #249 version of the CBT tape and is part of a
collection of TSO commands from Jim Marshall of the Air Force. It was
originally written by Bill Godfrey at the Planning Research Corporation in May
of 1980.
Installation
The original version of this command from the CBT tape installs under the
name DD, but since I already have a DD TSO command, that I love and use
frequently, I modified the installation to put this on as DDN. My
modifications included changing the load module name (link-edit control card)
and every mention of the command name in the help text. If you would
prefer the original name, or even a different name altogether, you can simply
make your own modifications in the same places I did.
The source on the CBT tape is set up for Assembler H and there is source for
two CSECTs stacked together. When I put the jobstream together, I inserted
a separate assembly step since our F Assembler doesn't handle batch
compiles. The completed jobstream to do the two assemble steps, the
link-edit, and install the help text - ddn$.jcl - is contained in the archive ddn.tgz
[MD5: BA1EE69DBF40C0377933A64675735438].
Download the archive and extract the jobstream (WinZip on Windows/?? or tar on
Linux). Submit the jobstream to assemble and link the single load module
for DDN into SYS2.CMDLIB and copy the help text into SYS2.HELP. If you don't have
SYS2.CMDLIB defined, you
will need to modify the jobstream to specify a different target load library.
Also if you do not have SYS2.HELP defined, you may modify the jobstream to place
the help information into SYS1.HELP.
Utilizing DDN
The help text for DDN is really all that is required to understand and use
the command:
Function -
The DDN command is like a shorthand 'ALLOC' command.
It is similar to the ALLOC command except the filename and dataset name are required
positional operands instead of keyword operands. For example, instead of typing
ALLOC FI(SYSPROC) DA(CLIST) SHR
you can type
DDN SYSPROC CLIST
if the filename is currently allocated, it will be freed and reused.
Not all operands of ALLOC are available in the DDN command.
Some operands are new functions not available in the ALLOC command.
Syntax -
DDN 'filename' 'dsname' SHR/OLD/MOD/NEW USING('ATTR')
UNIT('unitname') VOLUME('volume')
SPACE('prime','sec') DIR('number')
TRACKS/CYLINDERS/BLOCKS('SIZE')
DATASET FORM('id') FCB('id') HOLD
COPIES('number') DEST('id')
RECFM('x') LRECL('n') BLKSIZE('n')
DSORG(PS/PO/DA/PSU/POU/DAU)
required - 'filename', 'dsname'
defaults - SHR (unless SPACE, DIR, or TRACKS/CYLl/BLOCKS specified,
in which case the default is NEW)
for NEW data sets, if SPACE is not specified and space type (TRACKS, CYL,
BLOCK) is not specified, then the system default space values will be used.
These are currently SPACE(10,50) BLOCKS(1000) RLSE.
Alias - none
Operands -
'filename' - the filename to be allocated.
'dsname' - the data set(s) to be allocated to the filename.
If more than one is specified, they will be concatenated.
If '*' is specified, the terminal will be allocated.
If SYSOUT or SYSOUT(x), a SYSOUT file will be allocated (x is SYSOUT
class, and can be A thru Z or #0 thru #9 which are treated as 0 thru 9).
If DUMMY, a dummy file will be allocated.
If $, a temporary data set will be allocated.
If $.name, a temporary data set will be allocated, with 'name' appended to
the generated dsname.
Old - the data set is to be allocated exclusively to this session.
Mod - the data set is to be allocated exclusively to this session, to append more data.
New - the data set is to be created.
UNIT('unit') - the unit name of the device on which the data set resides, if not cataloged.
VOLUME('volume') - the volume serial on which the data set resides, if not cataloged.
USING('attr-list-name') - the name of an attribute list of DCB parameters to be merged
with the data set.
DATASE - this keyword is needed only if you wish to allocate a data set having the
name SYSOUT or DUMMY or $ or $.name. This keyword forces the
command to use the second operand as a dsname if it is any of these names.
SPACE('prime','sec') - the primary and secondary amounts of space to be allocated to
a new data set on disk.
TRACKS - the values in the SPACE operands are in tracks.
CYLINDERS - the values in the SPACE operands are in cylinders.
BLOCKS('size') - the values in the SPACE operands are in blocks and this is the
size of a block.
DSORG(PS/POo/DA/PSU/POU/DAU) - DCB DSORG.
RECFM('x') - DCB record format.
LRECL('n') - DCB logical record length.
BLKSIZE('n') - DCB block size.
FORM('id') - SYSOUT form number.
FCB('id') - SYSOUT forms control buffer image id.
HOLD - SYSOUT to be held.
DEST('id') - SYSOUT destination.
COPIES('number') - SYSOUT copies (1 to 99).
|
I hope that you have found my instructions useful. If you have
questions that I can answer to help expand upon my explanations and examples
shown here, please don't hesitate to send them to me:

This page was last updated on April 22, 2008
. |