DDR

CMS Commands

ddr.helpcmd.txt
DDR                                                       CMS User Area command

Use the DASD Dump Restore (DDR) program to dump, restore, copy or print VM/370
user minidisks.  The DDR program may run as a stand-alone program, or under CMS
via the DDR command.  The DDR program has five functions:

1.  Dumping part or all of the data from DASD to tape.

2.  Transferring data from tapes created by the DDR dump function to a direct
    access device.  The direct access device must be of the same type as that
    which originally contained the data.

3.  Copying data from one device to another of the same type.  Data may be
    reordered by cylinder (or block) when copied from disk to disk.  In order
    to copy one tape to another, the original tape must have been created by
    the DDR DUMP function.

4.  Printing selected parts of DASD and tape records in hexadecimal and EBCDIC
    on the virtual printer.

5.  Displaying selected parts of DASD and tape records in hexadecimal and
    EBCDIC on the terminal.

The format of the DDR command is:
+----------+------------------------------------------------------------------+
| DDR      | [fn ft *|fm]                                                     |
+----------+------------------------------------------------------------------+
where:

fn ft fm is the identification of the file containing the control statements
         for the DDR program.  If no file identification is provided, the DDR
         program prompts for control statements from the console.  The filemode
         defaults to an asterisk (*) if a value is not provided.


Usage notes:

1.  If you use the CMS DDR command, CMS ignores the SYSPRINT control statement
    and directs the output to the CMS printer 00E.

2.  When DDR is invoked in CMS, the I/O operation is performed by CP, which has
    built-in error recovery facilities.

DDR control statements

DDR control statements describe the intended processing and the needed I/O
devices.  I/O definition statements must be specified first.

All control statements may be entered from either the console or the card
reader.  Only columns 1 to 71 are inspected by the program.  All data after the
last operand in a statement is ignored.  An output tape must have the DASD
cylinder header records in ascending sequence; therefore, the extents must be
entered in sequence by cylinder or by extent.  Only one type of function--dump,
restore, or copy--may be performed in one execution, but up to 20 statements
describing DASD cylinder extents may be entered.

The function statements are delimited by (preceded by) an INPUT and OUTPUT
statement.  If additional functions are to be performed, the sequence of
control cards must be repeated.  If you do not use INPUT or OUTPUT control
statements to separate the functions you specify when the input is read from a
card reader or CMS file, an error message is displayed.  However, the remainder
of the input stream will be checked for proper syntax, but no further DDR
operations will be performed.  Only those I/O devices defined by the INPUT
statement and the OUTPUT statement must be redefined in subsequent steps.  The
SYSPRINT I/O definition remains the same.

To return to CMS, enter a null line (carriage return) in response to the
prompting message (ENTER:).  To return directly to CP, key in #CP.

The PRINT and TYPE statements work differently than other DDR control
statements in that they operate on only one data extent at a time and it is not
necessary to respecify the INPUT statement ahead of each PRINT or TYPE
statement.  If the input is from a tape created by the dump function, the tape
must be positioned at the header record for each step.  The PRINT and TYPE
statements have an implied output of either the console (TYPE) or system
printer (PRINT), so no OUTPUT statement is required.

The I/O definition statements describe the tape devices, DASD, and printers
used while executing the DASD Dump Restore program.

INPUT/OUTPUT control statement

An INPUT or OUTPUT statement describes each tape unit and DASD used.  The
format of the INPUT/OUTPUT statement is:
+----------+------------------------------------------------------------------+
| INput    | cuu type [volser|altape] [(options...[)]]                        |
| OUTput   |                                                                  |
|          | options:                                                         |
|          |    SKip 0|nn                                                     |
|          |    UNload|REWind|LEave                                           |
|          |    MOde 6250|1600|800                                            |
+----------+------------------------------------------------------------------+
where:

INPUT | OUTPUT
         indicates that the device described is an input or output device.

cuu      is the unit address of the device.

type     is the device type (2305-1, 2305-2, 2314, 2319, 2400, 2420, 3330,
         3330-11, 3340-35, 3340-70, 3350, 3420) (no 7-track support for any
         tape devices).  Specify a 3410 device as a 3420, 3340-70F as a
         3340-70, and a 3333 as a 3330.  Specify a 3350 that is in 3330-1 or
         3330-11 compatibility mode as a 3330 or 3330-11.  Specify a 3344 as a
         3340-70, and specify 3350 for a 3350 operating in native mode (as
         opposed to compatibility mode).

         Note: The DASD Dump Restore (DDR) program, executing in a virtual
         machine, uses I/O DIAGNOSE 20 to perform I/O operations on tape and
         direct access storage devices.  DDR under CMS requires that the device
         type entered agree with the device type of the real device as
         recognized by VM/370.  If there is a conflict with device types, the
         following message is issued:
            DMKDDR708E  INVALID OPTION

volser   is the volume serial number of a DASD.  If the keyword "SCRATCH" is
         specified instead of the volume serial number, no label verification
         is performed.

altape   is the address of an alternate tape drive.

         Note: If multiple reels of tape are required and "altape" is not
         specified, DDR types the following at the end of the reel:
            END OF VOLUME CYL xxxx HD xx, MOUNT NEXT TAPE

         After the new tape is mounted, DDR continues automatically.

Options:

SKIP 0 | nn
         forward spaces nn files on the tape.  nn is any number up to 255.
         The SKIP option is reset to zero after the tape has been positioned.

MODE 6250 | 1600 | 800
         Mode 6250, 1600 or 800 cause all output tapes that are opened for the
         first time and at the load point to be written or read in the
         specified density.  All subsequent tapes mounted are also set to the
         specified density.  If no mode option is specified, then no mode set
         is performed and the density setting remains as it previously was.

REWIND   rewinds the tape at the end of a function.

UNLOAD   rewinds and unloads the tape at the end of a function.

LEAVE    leaves the tape positioned at the end of the file at the end of a
         function.

Note: When the wrong input tape is mounted, the message DMKDDR709E is displayed
and the tape will rewind and unload regardless of options REWIND, UNLOAD or
LEAVE being specified.

SYSPRINT control statement

The SYSPRINT control statement describes the device to which output is to be
sent.  If the SYSPRINT CONS option is specified, the output is directed to the
console for both the CMS environment and the DDR virtual machine.

In the CMS environment, all output is directed (by default) to 00E, unless the
SYSPRINT CONS option is specified.  Any SYSPRINT cuu option specification is
ignored.  The format of the SYSPRINT control statement is:
+----------+------------------------------------------------------------------+
| SYsprint | cuu                                                              |
+----------+------------------------------------------------------------------+
where:

cuu      specifies the unit address of the device.

Function statements

The function statements tell the DDR program what action to perform.  The
function commands also describe the extents to be dumped, copied, or restored.
The format of the DUMP/COPY/RESTORE control statement is:
+----------+------------------------------------------------------------------+
| DUmp     | ALL                                                              |
| COpy     | CPvol                                                            |
| REstore  | NUcleus                                                          |
|          | cyl1 [To] [cyl2 [Reorder] [To] [cyl3]]                           |
+----------+------------------------------------------------------------------+
where:

DUMP     requests the program to move data from a direct access volume onto a
         magnetic tape or tapes.  The format of the resulting tape is:

         Record 1
         A volume header record, consisting of data describing the volumes.

         Record 2
         A track header record, consisting of a list of count fields to restore
         the track, and the number of data records written on tape.  After the
         last count field, the record contains key and data records to fill the
         4K buffer.

         Record 3
         Track data records, consisting of key and data records packed into 4K
         blocks, with the last record truncated.

         Record 4
         Either the end-of-volume (EOV) or end-of-job (EOJ) trailer label.  The
         end-of-volume label contains the same information as the next volume
         header record, except that the ID field contains EOV.  The end-of-job
         trailer label contains the same information  as record 1 except that
         the cylinder number field contains the disk address of the last record
         on tape and the ID field contains EOJ.

COPY     requests the program to copy data from one device to another device of
         the same or equivalent type.  Data may be recorded on a cylinder or
         block basis from input device to output device.  A tape-to-tape copy
         can be accomplished only with data dumped by this program.

RESTORE  requests the program to return data that has been dumped by this
         program.  Data can be restored only to a DASD volume of the same or
         equivalent device type from which it was dumped.  It is possible to
         dump from a real disk and restore to a minidisk as long as the device
         types are the same.

cyl1 [TO] [cyl2 [REORDER] [TO] [cyl3]]
         Only those cylinders specified are moved, starting with the first
         track of the first cylinder (cyl1), and ending with the last track of
         the second cylinder (cyl2).  The REORDER operand causes the output to
         be reordered, that is, moved to different cylinders, starting at the
         specified cylinder (cyl3) or at the starting cylinder (cyl1) if cyl3
         is not specified.  The REORDER operand must not be specified unless
         specified limits are defined for the operation; the starting and, if
         required, ending cylinders (cyl1 and cyl2) must be specified.
         If the input device cylinder extents exceed the number of cylinders
         specified on the output device, an error message results.

CPVOL    specifies that cylinder 0 and all active directory and permanent disk
         space are to be copied, dumped, or restored.  This indicates that both
         source and target disk must be in CP format, that is, the CP
         Format/Allocate program must have formatted them.

ALL      specifies that the operation is to be performed on all cylinders.

NUCLEUS  specifies that record 2 on cylinder 0, track 0 and the nucleus
         cylinders for count-key-data devices are dumped, copied, or restored.

Restrictions:

1.  Each track processed by this utility must have a valid home address on it
    containing the real cylinder and track location.

2.  Record zero must not contain more than eight bytes in the key and data
    fields.

3.  Flagged tracks are treated just as any other track for all 2314, 2319, and
    2305 devices.  That is, no attempt is made to substitute the alternate
    track data when a defective primary track is read.  In addition, tracks are
    not inspected to determine whether they were previously flagged when
    written.  Therefore, volumes containing flagged tracks should be restored
    to the same cylinders of the volume from which they were dumped.
    The message DMKDDR715E occurs each time a defective track is dumped, copied
    or restored, and the operation continues.

4.  Flagged tracks on 3330, 3340, 3350, 3375, and 3380 devices are handled so
    that data is transferred to or from the assigned alternate track in place
    of the defective track.

PRINT/TYPE function statement

Use the PRINT and TYPE function statement to print or type (display) a
hexadecimal and EBCDIC translation of each record specified.  The first of a
group of PRINT or TYPE statements must be preceded by an INPUT statement
defining either a direct access device or a tape.  The output is directed to
the system console for the TYPE function, or to the SYSPRINT device for the
PRINT function.  (This does not cause redefinition of the output unit
definition.)  The format of the PRINT/TYPE control statement is:
+----------+------------------------------------------------------------------+
| PRint    | cyl1 [hh1 [rr1]] [To cyl2 [hh2 [rr2 ]]] [(options...[)]]         |
| TYpe     |                                                                  |
|          | options:                                                         |
|          |    Hex      Graphic      Count                                   |
+----------+------------------------------------------------------------------+
where:

cyl1     is the starting cylinder.

hh1      is the starting track.  If present, it must follow the cyl1 operand.
         The default is track zero.

rr1      is the starting record.  If present, it must follow the hh1 operand.
         The default is home address and record zero.

TO cyl2  is the ending cylinder.  If more than one cylinder is to be printed or
         typed, "TO cyl2" must be specified.

hh2      is the ending track.  If present, it must follow the cyl2 operand.
         The default is the last track on the ending cylinder.

rr2      is the record ID of the last record to print.  The default is the last
         record on the ending track.

Options:

HEX      prints or displays a hexadecimal representation of each record
         specified.

GRAPHIC  prints or displays an EBCDIC translation of each record specified.

COUNT    prints or displays only the count field for each record specified.

Responses:

Message (DMKDDR711R) indicates that the volume serial number read from the
device at cuu is not the same as that specified on the INPUT or OUTPUT control
card:

DMKDDR711R   VOLID READ IS  volid2 NOT volid1
             DO YOU WISH TO CONTINUE?  RESPOND YES NO OR REREAD:

             volid2    is the volume serial number from the VOL1 label on the
                       DASD unit.

             volid1    is the volume serial number from the INPUT or OUTPUT
                       control card.

Message (DMKDDR716R) indicates that the device at cuu (as specified in the
INPUT or OUTPUT control card) contains no volume serial number:

DMKDDR716R   NO VOL1 LABEL FOUND FOR volser
             DO YOU WISH TO CONTINUE?  RESPOND YES  NO  OR  REREAD:

             volser    is the volume serial number of the DASD from the INPUT
                       or the OUTPUT control card.

Message (DMKDDR717R) requests verification of the input parameters:

DMKDDR717R   DATA DUMPED FROM volid1 TO BE RESTORED TO volid2
             DO YOU WISH TO CONTINUE? RESPOND YES  NO  OR  REREAD:

             volid1    is the volume serial number from the input tape header
                       record (volume dumped).

             volid2    is the volume serial number from the output device.

Message (DMKDDR725R) indicates that the input device has more storage units
than the output device:

DMKDDR725R   DASD INPUT DEVICE WAS (IS) LARGER THAN OUTPUT DEVICE.
             DO YOU WISH TO CONTINUE? RESPOND YES NO OR REREAD:

Explanation:
   RESTORE function - The number of cylinders or blocks on the original DASD
           input unit is compared with the number on the output device.
   COPY function - The input device contains more cylinders or blocks than the
           output device.

   Operator Action: The operator must determine if the COPY or RESTORE function
           is to continue.  The response is either yes, no, or reread.

Other messages from DDR prompt for input and report progress in processing.

The following message prompts for input from the terminal:
   ENTER CYLINDER EXTENTS
   ENTER:

The following message prompts for the next tape reel:
   END OF VOLUME CYL xxxx HD xx, MOUNT NEXT TAPE

After the tape is mounted, DDR continues processing.

This message reports that the RESTORE operation has begun:
   RESTORING volser

volser is the volume serial number of the disk dumped.

This message reports that the COPY operation has begun:
   COPYING volser

volser is the volume serial number described by the input unit.

This message reports that the dumping operation has begun:
   DUMPING volser

volser is the volume serial number described by the input unit.

This message reports that the PRINT operation has begun:
   PRINTING volser

volser is the volume serial number described by the input unit.

This message reports that the DUMP operation has ended:
   END OF DUMP

This message reports that the RESTORE operation has ended:
   END OF RESTORE

This message reports that the COPY operation has ended:
   END OF COPY

This message reports that the PRINT operation has ended:
   END OF PRINT

This message reports that all specified operations have completed:
   END OF JOB

When this message
   Enter:

prompts for input from the terminal, pressing the ENTER key (or equivalent)
causes control to return to CMS, if the virtual machine is in the CMS
environment.