Synchronous Transfer and Asynchronous Transfer

For the Send processing, you can select whether or not to wait for the file transfer to end before the subsequent processing is carried out.

The two types of processing are as follows:

  • Synchronous Transfer, where the programs wait for transfer of the file to end and then carry out the subsequent processing

  • Asynchronous Transfer, where the programs carry out the subsequent processing without waiting for transfer of the file to end

(1) Flow of Synchronous Transfer

When you execute the Send File with the Synchronous Transfer, the Send File program (XRSNDGO) waits for the file transfer to end and then carries out the subsequent processing. When you execute the Send Request with the Synchronous Transfer, the Send Request program (XRRCVREQ) waits for the file transfer to end and then carries out the subsequent processing. In the case of the Synchronous Transfer, user jobs first check the Status code of the Send processing or the Receive processing, and then carry out the subsequent processing.

The flow of the Send processing with the Synchronous Transfer is illustrated in Figure 2.9 .

Figure 2.9 Synchronous Transfer

1) Running of Send File program (XRSNDGO)

The Send File program (XRSNDGO) orders the Send program (XRSND) to send the file and waits for the Send processing to end.

2) Carrying out of Send processing

The Send program (XRSND) transfers data to the remote host according to the information in the record in the Send Queue.

3) Writing of Send Log record

After the Send processing ends, the Send program (XRSND) writes the Send Log record to the Send and Receive Log file (HULFT.LOG).

4) Startup of Post-send Job

The Send program (XRSND) starts the Post-send Job.

5) Ending of Send File program (XRSNDGO)

The Send File program (XRSNDGO) ends after receiving the send completion notification from the Send program (XRSND).

(2) Flow of Asynchronous Transfer

When you execute the Send File with the Asynchronous Transfer, the Send File program (XRSNDGO) carries out the subsequent processing without waiting for transfer of the file to end. When you execute the Send Request with the Asynchronous Transfer, the Send Request program (XRRCVREQ) carries out the subsequent processing without waiting for transfer of the file to end. In the case of the Asynchronous Transfer, HULFT carries out the Send processing or the Receive processing asynchronously with the user job that issued the request, and HULFT does not notify the user job of the Status code.

The flow of the Send processing with the Asynchronous Transfer is illustrated in Figure 2.10 .

Figure 2.10 Asynchronous Transfer

1) Running of Send File program (XRSNDGO)

The Send File program (XRSNDGO) orders the Send program (XRSND) to send the file.

2) Ending of Send File program (XRSNDGO)

The Send File program (XRSNDGO) orders the Send program (XRSND) to send the file and then ends. HULFT does not notify the Send File program (XRSNDGO) of the result of the Send processing.

3) Carrying out of Send processing

The Send program (XRSND) transfers data to the remote host according to the information in the record in the Send Queue.

4) Writing of Send Log record

After the Send processing ends, the Send program (XRSND) writes the Send Log record to the Send and Receive Log file (HULFT.LOG).

5) Startup of Post-send Job

The Send program (XRSND) starts the Post-send Job.