HP 3000 Manuals

##RJOUT [ RJE User/Programmer Reference Manual ] MPE/iX 5.0 Documentation


RJE User/Programmer Reference Manual

#RJOUT 

The #RJOUT command allows you to initiate the receipt of routed output
data sets from the remote processor.  The term 'output data set' as used
in this manual means a collection of records that are to be punched on
cards or printed on a line printer.  The output data sets can be printed
or punched directly as they are received or they can be stored in a disk
or magnetic tape file for subsequent printing or punching offline.  If
the remote processor transmits routed output, you should use the #RJOUT
command.  If the remote processor transmits unrouted output or if you are
printing or punching offline from a disk or magnetic tape file, you
should use the #RJLIST and #RJPUNCH commands.


NOTE The #RJOUT command accepts unrouted output and treats it as list output. If you have list output and punch output data sets that are unrouted you need to differentiate these before you initiate their reception.
The user should note that 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 #RJOUT [output file reference][,count] [;INTERRUPT={YES} {NO}] [;OUTCODE=code] [;OUTSIZE=nnn] [;REPEAT={YES} {NO}] [;WAIT=[m],[s]] Parameters You can specify the following parameters with the #RJOUT command. output file If the output file reference is present, all output received will be passed as list output to that file or device. reference To pass list output to one file or device and punched output to another file or device, omit the output file reference parameter from the #RJOUT command (output will be directed to the list and punch files specified with the :RJE command). Use the #RJPUNCH command if punch output is to be passed to an output file reference. Refer to appendix B, "Using RJE Files," for additional information on output files. Value: output file reference can be any of the following: logical device number "device class name" actual file designator *formal file designator @procedurename[{(G)} {(P)} {(S)}] 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 output file reference is omitted from the #RJOUT command, the list file and punch file are those set in the :RJE command. count Count stipulates the number of output data sets to be processed by this command (a data set refers to all data preceded by an STX and terminated with an EOT). It is ignored when the SOURCE parameter is used. Value: A decimal integer; maximum 32767. Default: If the count parameter is omitted, one output data set is processed. INTERRUPT= With INTERRUPT=YES, RJE begins execution of programmatic control interrupt mode. The presence of a submitted command file name in a message file named in the MSGFILE parameter of the #RJLINE command will cause RJE to interrupt the repeating #RJOUT command. RJE processes the subsystem commands in this pending command file as if they were entered from an interactive terminal. An interruption occurs at the end of execution of the repeating #RJOUT command to find the next command file. Once processing of a command file has completed, the repeating #RJOUT subsystem command is reexecuted until a [CTRL]-Y has been entered (interactive mode) or another #RJOUT command has been executed in which the REPEAT or INTERRUPT parameters are explicitly set. Executing #RJOUT in a command file with INTERRUPT=NO or REPEAT=NO terminates interrupt mode. A message file must be specified with the MSGFILE parameter of the #RJLINE command; otherwise a syntax error will occur when specifying INTERRUPT=YES.
NOTE Any commands in a command file following the #RJOUT command with INTERRUPT=YES will not be executed.
YES Begins programmatic control interrupt mode. REPEAT=YES is implied. The #RJOUT subsystem command is repeatedly executed with the same parameter settings. NO Explicitly setting INTERRUPT=NO will inhibit interruption and repetition of another #RJOUT command in interactive mode. When programmatic control is in effect and an #RJOUT command is executed from a command file with INTERRUPT=NO, control returns to the terminal. In batch mode, the job will terminate. Default: No effect. The #RJOUT command does not repeat and is not interrupted. 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, which specifies the transmission code. 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 including 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. REPEAT= This parameter enables or disables repetition of execution of the #RJOUT command in which it appears. YES This option enables repetitive execution of the #RJOUT command. The subsystem command is reexecuted with the same set of parameters. This repetition can be stopped by the execution of a [CTRL]-Y (interactive mode) subsystem break or a subsequent #RJOUT command with the REPEAT or INTERRUPT parameters set to NO . (You may set REPEAT=YES and INTERRUPT=YES at the same time, but it is not necessary to do so.) NO Explicitly setting REPEAT=NO will inhibit interruption and repetition of another #RJOUT command. When programmatic control is in effect, and an #RJOUT command is executed from a command file with REPEAT=NO, control returns to the terminal.
NOTE If other commands in a command file follow #RJOUT with REPEAT=YES, they will not be executed.
Default: No effect. The #RJOUT command does not repeat. WAIT= WAIT specifies 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 #RJOUT command. The wait time applies to each data set, as specified in the count field of the #RJOUT 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 the interactive mode 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 #RJOUT command. General Operation The #RJOUT command defines the necessary parameters for an output operation (list or punch), and initiates the operation immediately. As explained below, the output is expected to be routed. The #RJOUT command will accept unrouted output but treats it as list output. Normally you should omit output file reference from the #RJOUT command. If output file reference is included in the command, all output is treated as list output to be passed to that file or device. If it is omitted, list output will be passed to the list file specified in the :RJE command and punched output will be passed to the punch file specified in the :RJE command. [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 #RJOUT command being executed from a command file named in a message file during programmatic mode, that command file will finish execution. If #RJOUT is being used in either repeat or interrupt mode, data is being received and a [CTRL]-Y has been entered, RJE will terminate execution of the #RJOUT command after the data set in process has been received. Control is then returned to the command mode. Any subsystem command subsequently entered will be executed in the normal manner. For further information on [CTRL]-Y refer to Chapter 5, "Using RJE in Programmatic Mode." Programmatic Control The #RJOUT command is essential to programmatic control operations within RJE. The function of programmatic control allows a user to run RJE so that application programs running concurrently with the subsystem may submit command files to it. RJE processes the command files generated by applications programs as if these subsystem commands were being entered sequentially from ordinary command files. Chapter 5, "Using RJE in Programmatic Mode," describes how to use the RJE subsystem in programmatic control 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 #RJOUT command will correctly process routed output that uses the IBM 2780 or IBM 3780 point-to- point component select conventions. If two HP 3000 computer systems are communicating with each other using RJE subsystems, you and the remote user can establish your own procedures for formatting and transmitting input and for processing output. Use the appropriate procedure names, as the input and output file references in the #RJIN and #RJOUT, #RJLIST, #RJPUNCH commands. If you are communicating with a remote processor that 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 will always return 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 to ensure retrieving all output data 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 in interactive mode, you may now issue the appropriate #RJLIST or #RJPUNCH command. * If you are running RJE from a batch job, RJE will execute commands from the command file until an appropriate #RJLIST, #RJPUNCH, or #RJOUT command is found. At that point, the output will be correctly processed. Examples The following examples show different uses of the #RJOUT command and its parameters. Example 1 #RJOUT ,6 This command states that six (6) output data sets are to be received from the remote processor. List output data sets, routed or unrouted, and unrouted punched output data sets will be passed to the list file specified in the :RJE command; routed punched output data sets will be passed to the punch file specified in the :RJE command. After the data sets are received, and before they are passed to the appropriate file or device, the data sets will be converted to ASCII character code if they are not in ASCII. The default maximum wait time is 3 minutes per data set. Example 2 #RJOUT This command is the same as the preceding example except that one output data set is expected. Example 3 #RJOUT @OUTPROC;OUTCODE=BINARY This command states that the user-supplied procedure OUTPROC in SL.PUB.SYS is to be executed and no data conversion performed. Only the System Library will be searched for the procedure OUTPROC. The default maximum wait time is 3 minutes per data set. Example 4 #RJOUT OFILE,10;WAIT=1,30 This command states that ten (10) output data sets are to be received from the remote processor, converted to ASCII character code if they are in another format and stored in the file OFILE. Note that all output received (printed and punched, routed and unrouted) will be treated as list output and passed to the file OFILE. No separation will take place to differentiate one data set from another in OFILE. You must be able to determine where one data set ends and another one begins in this example. If the file OFILE does not already exist, RJE will open a new file by that name and use it. The maximum wait time is 1 minute, 30 seconds for each data set. Example 5 #RJOUT *LP;WAIT=0;REPEAT=YES This subsystem command assumes that an MPE file command exists which defines LP. Since WAIT=0, the time to wait for a data set from the host is indefinite. The parameter REPEAT=YES gives the RJE subsystem user the ability to process received data sets continuously. Example 6 #RJOUT ;WAIT=0;INTERRUPT=YES The subsystem command will wait indefinitely to receive a data set from the host system because the parameter WAIT=0 has been declared. The data set will be output to the appropriate default output file. This command is interruptible because the parameter INTERRUPT is set to YES. Whenever the parameter MSGFILE is specified in the #RJLINE command and the message file contains a command file name, a command of this type can be interrupted to execute commands identified in a command file.


MPE/iX 5.0 Documentation