Send Request

You can execute the Send Request program (XRRCVREQ) on the host on the receiving side to request a remote host to send a file.

Before you execute the Send Request program (XRRCVREQ), you must run the Receive program (XRRCV) on the local host as well as the Send program (XRSND) and the Observe program (XRACCPT) on the remote host. In addition, you must correctly register the management information that is required for the Send processing on the remote host.

(1) Send Request Program (XRRCVREQ)

Program Name

XRRCVREQ

XRSYSIN Definition Card

This card defines the System Environment Settings of HULFT system. For details on the definitions, refer to the explanation of the System Environment Settings in Administration Manual.

Format of definition card

HOST-NAME=Local Host Name 
DOMAIN=Local Domain Name 
RETRY=Retry Count on Connection Error 
HSTCHA=Case Options for Local Host Name or Local Domain Name 
TIMEOUT=Socket Read Timeout 
TCPIP=Address Space Name of TCP/IP 
MSGDYNPARM=Message Dynamic Parameter Specification 
OPLSELECT=Operation Log Output Option (*1) 
SNDSOCKSIZE=Socket Buffer Size for Data Sending 
RCVSOCKSIZE=Socket Buffer Size for Data Receiving 
SCANMODE=Handling of Cancelation of Synchronous Transfer 
HULCHARSET=HULFT Character Set

*1

:

When you use the operation log output function, you must include definitions related to operation logs. For details, refer to Definitions for operation logs.

Note

On the remote host, you must define the local host name and the local domain name on the XRSYSIN definition card. You need to specify these fields in the Send Management Information for the transfer group ID of the file that the remote host will send.

XRCARD Definition Card

Format of definition card

   a         b           c           d               e        
xxxxxxxx,[xxxx...xxxx],[SYNC[,TIME=999999]][,MSG0=xxxx...xxxx] 

         [,MSG1=xxxx...xxxx][,MSG2=xxxx...xxxx][,MSG3=xxxx...xxxx] 

         [,MSG4=xxxx...xxxx][,MSG5=xxxx...xxxx] 
               f 
         [,MSGL0=xxxx...xxxx][,MSGL1=xxxx...xxxx]

= Remarks =

If the definition card spans two lines, use either of the following two methods to define the definition card:

  • Describe the first line up to column 71, and then insert a hyphen (-) in column 72. Describe the second line starting in column 1.

  • Describe a line up to a comma (,) that follows a parameter, insert a single-byte space, and then insert a hyphen (-) in column 71 or before.

Input contents of definition card

a. File ID

This parameter defines the file ID of the file that you request the remote host to send. (Mandatory)

Specify an alphanumeric string within 50 bytes for this parameter.

b. Host name

This parameter defines the name of the remote host to which you issue a request for the Send processing. (Optional)

Specify an alphanumeric string within 50 bytes for this parameter.

Defaulting this parameter issues the request to all the hosts that are registered for the transfer group ID in the Receive Management Information.

c. Synchronous Transfer

This parameter is defined to stop job steps of the Send Request program (XRRCVREQ) until the Receive processing ends. (Optional)

When you define multiple definition cards, after a definition card is processed successfully or unsuccessfully, the processing of the next definition card starts.

d. Synchronous Transfer time-out

This parameter defines the Synchronous Transfer time-out for the Send Request in seconds. (Optional)

Define the duration of synchronization during which the local host can receive the processing result of the Synchronous Transfer from the remote host.

Specify a value from '10' to '259200' for this parameter. If you specify a value outside of this range, an error occurs. Defaulting this parameter sets '36000.'

When the defined time-out value is reached, a time-out occurs even if the Receive processing is in progress. Note that if it occurs, the Send Request program (XRRCVREQ) does not receive the transfer results.

To define the time-out for the Synchronous Transfer, you must define 'SYNC.' The Synchronous Transfer time-out is enabled when the version of HULFT on the remote host is Ver.6.3.0 or higher.

e. Message0 to message5

These parameters define messages that are sent to the host on the sending side. (Optional)

Define a string within 50 bytes for each message. If you default these parameters, messages are not sent to the host on the sending side. You can define up to six messages. For example, when you send message0, specify the message for 'MSG0.'

f. Long message0 to long message1

These parameters define long messages that are sent to the host on the sending side. (Optional)

Define a string within 200 bytes for each message. If you default these parameters, long messages are not sent to the host on the sending side.

You can define up to two long messages. For example, when you send long message0, specify the message for 'MSGL0.'

Note

When you define only the File ID, you can omit commas.

When you default the Host Name or the Synchronous Transfer, include the corresponding commas in the definition card.

Example:

Case where you define the File ID and Message0 to Message5

FILE01,,,MSG0=HULFT.DATA

= Remarks =
  • When you use the following characters in a message or a long message, enclose the entire message within single quotations ('):

    • Space

    • Equal sign (=)

    • Comma (,)

    • Multibyte characters

  • You cannot specify the following in a message:

    • Single quotation marks (')

  • When you define a variable from 'MSG0' to 'MSG5' or from 'MSGL0' to 'MSGL1' on the XRCRD definition card, replacement with message may end unsuccessfully and the transmission may fail, due to the language setting of the remote host. For points to be noted on message transmission, refer to Administration Manual.

Example of JCL

//XRRCVREQ JOB  CLASS=A,MSGCLASS=B                                              
//XRRCVREQ EXEC PGM=XRRCVREQ,REGION=4096K                                       
//STEPLIB  DD   DSN=HULFT.LOAD,DISP=SHR                                         
//XRSYSIN  DD   DSN=HULFT.PARMLIB(HULPRM),DISP=SHR                              
//XRFILE   DD   DSN=HULFT.FILE,DISP=SHR                                         
//XRHOST   DD   DSN=HULFT.HOST,DISP=SHR                                         
//IPGET    DD   DSN=HULFT.HOSTS.LOCAL,DISP=SHR                                  
//*SYSTCPD  DD  DSN=TCPIVP.TCPPARMS(TCPDATA),DISP=SHR                           
//SYSOUT   DD   SYSOUT=*                                                        
//XRCARD   DD   *                                                               
    LOOPTEST,ZOS                                                                
//                                                                              

DD Name

Value

Description

STEPLIB

HULFT.LOAD

HULFT load module library

XRSYSIN

HULFT.PARMLIB(HULPRM)

System Environment Settings File

XRFILE

HULFT.FILE

Send and Receive Management File

XRHOST

HULFT.HOST

Host Information File

IPGET

HULFT.HOSTS.LOCAL

IP Management File

SYSTCPD

TCPIVP.TCPPARMS(TCPDATA)

TCPIP.DATA Data Set

Note
  • For the Send Request with the Synchronous Transfer, the conditions that enable the Synchronous Transfer time-out vary depending on whether the requestee-side host runs HULFT for Mainframe or not.

    • Case where the requestee-side host runs HULFT for Mainframe

      The Synchronous Transfer time-out is enabled only when all of the following conditions are fulfilled:

      • The version of HULFT on both request issuing side and the requestee-side are Ver.6.3 or higher.

      • The Wait Synchronous Observe Mode (REQWAITMODE) in the System Environment Settings on the requestee-side host is set as '1.'

      • The Synchronous Transfer time-out is defined on the host on the requestor side.

      If any of the conditions are not fulfilled, a time-out does not occur in HULFT for Mainframe on the requestee-side host even when you define the Synchronous Transfer time-out. However, if the processing takes longer than the non-communication time-out, a non-communication time-out of the Send Request occurs.

    • Case where the requestee-side host does not run HULFT for Mainframe

      The Synchronous Transfer time-out is enabled only when both of the following conditions are fulfilled:

      • The version of HULFT on both request issuing side and the requestee-side are Ver.6.3 or higher.

      • The Synchronous Transfer time-out is defined on the host on the requestor side.

      If any of the conditions are not fulfilled, HULFT sets the Synchronous Transfer time-out to 36000 seconds. Therefore, if you do not define 36000 seconds or higher for the Socket Read Timeout (TIMEOUT) in the System Environment Settings, a time-out of the Send Request (non-communication time-out) occurs when the Socket Read Timeout is reached.

  • When you define the Synchronous Transfer, you cannot specify the Receive file in DD statements.

    When you want to specify the Receive file in subsequent job steps, create a program that dynamically allocates the Receive file and carries out processing with the Receive file.