##RJPUNCH [ RJE User/Programmer Reference Manual ] MPE/iX 5.0 Documentation
RJE User/Programmer Reference Manual
#RJPUNCH
The #RJPUNCH command allows you to do the following:
* Initiate the receipt of unrouted punched output data sets from the
remote processor. The data sets can be punched directly on a card
punch as they are received or they can be stored in a disk or
magnetic tape file for subsequent offline punching.
* Receive data sets routed to the punch.
* Initiate the offline punching of punched output data sets which were
received from a remote processor at some prior time and were stored
in a disk or magnetic tape file.
The #RJPUNCH command defines the necessary parameters for a particular
punched output operation and initiates the operation immediately.
The user should note than an implied #RJEOD command is performed at the
beginning of the operation. This means that any data remaining in the
output buffer from a previous #RJIN command will be transmitted to the
remote processor, along with an EOT control character.
Syntax
#RJPUNCH [punch file reference][,count]
[;OUTCODE=code ]
[;OUTSIZE=nnn]
[;SOURCE=source file reference]
[;WAIT=[m],[s]]
Parameters
You can specify the following parameters with the #RJPUNCH command.
punch file The punch file is the output file for this operation.
reference Punch file reference can be any of the following:
logical device number
"device class name"
actual file designator
*formal file designator
@procedurename [{(G)}
{(P)}
{(S)}]
See appendix B, "Using RJE Files," for additional information on
punch files.
To designate the user-written procedure and the SL file
containing it, precede the actual name of the procedure,
procedurename, with an @, followed optionally by a letter in
parentheses indicating the SL file search order. When G is
specified, the segmented library files are searched in the
following order: logon group SL, SL.PUB in the logon account,
SL.PUB.SYS. When P is specified, the segmented library files are
searched in the following order: SL.PUB in the logon account,
SL.PUB.SYS. When S is specified or the parameter omitted, the
system segmented library file, SL.PUB.SYS is searched.
For information on user-written procedures, refer to appendix E,
"User-Written Procedures."
Default: If the punch file reference parameter is omitted from
the #RJPUNCH command, the one specified in the :RJE command is
used.
count Count defines the number of output data sets to be processed by
this command (a data set refers to all data preceded with an STX
and terminated with and EOT). It is ignored when the SOURCE
parameter is used.
Value: A decimal integer; maximum 32767.
Default: If the count parameter is omitted, one punch output
data set is processed.
OUTCODE= When either ASCII or EBCDIC, this parameter specifies what
character code the data sets are to be when passed to the output
file reference. If BINARY, no character conversion will occur.
This parameter is used in conjunction with the LINECODE
parameter of the #RJLINE command.
The transmission code, ASCII or EBCDIC, is specified in the
#RJLINE command. If the transmission code differs from the
output code, the necessary conversion is done automatically by
RJE. With OUTCODE=BINARY, the output data is to be passed to the
appropriate file or device bit-for-bit as it was received; this
includes the component select codes, which would otherwise be
stripped off. OUTCODE=BINARY is ordinarily used when you are
employing your own component-select codes and the output is to
be processed offline by #RJLIST or #RJPUNCH under the control of
a user-supplied procedure. The OUTCODE parameter is ignored
when the SOURCE parameter is used.
code Value: {ASCII}{EBCDIC}{BINARY}
Default: If the OUTCODE parameter is omitted, the default is
ASCII.
OUTSIZE= Use this parameter to alter the division of received transparent
blocks into logical records. This parameter applies only to
transmission of data between IBM 3780 remote stations.
OUTSIZE is ignored when the SOURCE parameter is used.
nnn Value: Logical record size in words or bytes.
When specifying words, use positive integers
from 0 to 128; to specify bytes, use -1 to
-256.
Default: If the OUTSIZE parameter is omitted, data transmitted
in transparent mode between IBM 3780 remote stations will have
an 80-byte limit on logical record size.
SOURCE= This parameter may be used for offline punching of data sets
which were received from a remote processor and were stored in a
disk or magnetic tape file. There is no default.
When you use this parameter you can copy a file from source file
reference to punch file reference. It can be used when you want
to display the contents of source file to $STDLIST and stay
within RJE (specify $STDLIST as the punch file reference).
source file reference The source file is an output file.
Value: May be any of the following:
logical device number
"device class name"
actual file designator
*formal file designator
WAIT= WAIT is used to specify the total wait time to apply to any
period of inactivity during the receipt of a data set or between
the receipt of data sets.
NOTE The total of m and s together must not be more than 32767 seconds.
If, during the receipt of a data set or between data sets, a period
of inactivity occurs that exceeds the specified wait time, RJE
issues a CS ERROR 1, 217 error message to the operator's terminal
and then terminates the #RJPUNCH command. The wait time applies to
each data set, as specified in the count field of the #RJPUNCH
command.
When you are in interactive mode you can set WAIT=0 to disable
the timeout. You can return to the subsystem command mode from
within the session by entering [CTRL]-Y. WAIT is ignored when
the SOURCE parameter is used.
Default: If the WAIT parameter is omitted, RJE will wait up to
3 minutes for each output data set.
m A decimal integer specifying the maximum number
of minutes of inactivity.
s A decimal integer specifying the maximum number
of seconds of inactivity.
Default: If either m or s is omitted from the WAIT parameter,
RJE will wait for each output data set for the time period
specified by the other value.
Comments
The following discussions apply to the #RJPUNCH command.
Online Operation
The #RJPUNCH command defines the necessary parameters for a particular
punched output operation and initiates the operation immediately. As
explained below, the output is expected to be unrouted; however routed
punch data will also be processed. The output can be punched directly as
it is received or it can be stored in a disk or magnetic tape file for
subsequent offline punching.
Offline Operation
The #RJPUNCH command defines the necessary parameters for a particular
offline punched output operation and initiates the operation immediately.
The SOURCE parameter specifies the file or device from which the output
is to be read. The count, WAIT, and OUTCODE parameters are ignored when
the SOURCE parameter is used.
[CTRL]-Y
Entering an [CTRL]-Y subsystem break signal from an interactive terminal
during a session with an output operation such as #RJOUT|, #RJPUNCH, and
#RJLIST before output is received terminates the output command and
returns to RJE command mode. Entering a [CTRL]-Y while receiving output
will cause RJE to finish receiving the current data set; then terminate
execution of the #RJOUT, #RJLIST, or #RJPUNCH subsystem command.
Entering [CTRL]-Y after an output data set has been received sends an EOT
to the transmitting system and returns control to the RJE command mode.
If you enter a subsystem command, it will be executed in the normal
manner. If you enter a [CTRL]-Y during an #RJPUNCH command being
executed from a command file named in a message file during programmatic
mode, that command file will finish execution. For further information
on [CTRL]-Y, refer to Chapter 5, "Using RJE in Programmatic Mode."
Routed and Unrouted Output
Output data sets transmitted from the remote processor can be either
routed or unrouted. Routed output is characterized by each output record
(IBM 2780) or each output data set (IBM 3780) being preceded by a
component select code which specifies printed or punched output. The
#RJPUNCH command will correctly process routed output that employs the
IBM 2780 or IBM 3780 point-to-point component select conventions as long
as the component selection code is for a card punch.
If two HP 3000 computer systems are communicating with each other using
RJE subsystems, you and the remote user can establish your own output
routing capability. This is done by devising your own procedures for
formatting and transmitting input and for processing output. Use the
appropriate procedure names as the input file reference in the #RJIN
command and output file references in the #RJOUT, #RJLIST, and #RJPUNCH
commands.
If you are communicating with a remote processor which transmits unrouted
output, you must know the order in which the output data sets are
transmitted. Use the #RJLIST and #RJPUNCH commands in the proper
sequence to receive unrouted output.
If you know that your host system always returns all list output sets
followed by all punch output sets but are not sure of the number of each
to be returned, enter a sequence similar to the following in a batch job
to ensure retrieving all output sets:
#RJLIST "LP",10
#RJPUNCH PUNCHFL,10
If you now receive not more than 10 list output sets followed by 10 punch
output sets, they will have been correctly processed. If less than 10
list output sets are received, the succeeding punch output sets cause the
next #RJPUNCH command to be executed.
CAUTION If the #RJOUT, #RJLIST and #RJPUNCH, commands are misused, data
can be lost. The #RJOUT command treats all unrouted data sets
as list output. Thus if an unrouted punched output data set is
processed by #RJOUT, the data is passed to the list file or
device and is no longer available from the remote processor.
If you are using the #RJLIST or #RJPUNCH command, and receive routed
output that is inconsistent with the command, RJE will issue a routing
error message and:
* If you are running RJE from interactive mode, you will then be able
to issue the appropriate #RJLIST or #RJPUNCH command.
* If you are running RJE from a batch job, RJE will execute the
commands from the command file until an appropriate #RJLIST,
#RJPUNCH, or #RJOUT command is found. At that point, the output will
be correctly processed. If the appropriate new command cannot be
found, RJE will terminate and the output may be lost.
Examples
The following examples show different uses of the #RJPUNCH command and
its parameters.
Example 1
#RJPUNCH 6;OUTCODE=BINARY
This command states that one punched output data set is to be output on
logical device number 6 (six) as it is received from the remote processor
and that no data conversion is to be performed. The default maximum wait
time is 3 minutes.
Example 2
#RJPUNCH "CP",2;OUTCODE=EBCDIC;WAIT=2
This command states that two punched output data sets are to be output in
EBCDIC on the first available card punch in the device class CP. The
maximum wait time is 2 minutes.
Example 3
#RJPUNCH;SOURCE=PNCH
This command states that output data sets are to be read from the disk
file PNCH and be passed to the file or device specified by the punch file
parameter in the :RJE command.
Example 4
#RJPUNCH PNCH;WAIT=,90
This command states that one punched output data set is to be passed to
the file PNCH on disk as it is received from the remote processor. If
the file PNCH does not exist, RJE will open a new file by that name and
use it. The maximum wait time is 90 seconds.
Example 5
#RJPUNCH USLFILE;OUTSIZE=128
This command states that one output data set will be passed to the disk
file USLFILE. Assuming that RJE is in IBM 3780 mode and that the
transmitting station is sending transparent records with MAXSIZE=128, the
use of this parameter will allow the transfer of 128-word records.
MPE/iX 5.0 Documentation