Job execution

(1) Pre-send Job

The Pre-send Job can be started at the point when the Send File or the Send Request is acknowledged.

The Send processing is started when the started Pre-send Job ends successfully (RC=0000, or a value equal to or less than the value set for the JOB RC Criterion (JOB-RC) in the Job Information). The Send processing cannot be carried out if the job ends unsuccessfully. For example, you can start a user job to create sending data at the point when the Send File or the Send Request is acknowledged, and actually send the data at the point when the data has been created.

In order to use the Pre-send Job function, specify in the Send Management Information the job ID which is registered in the Job Information as the Pre-send Job ID (PRE-JOB).

[Example of JCL]

The following job steps of HULFT program are automatically incorporated as the last job steps of the Pre-send Job that is started by HULFT:

//NCHK     EXEC PGM=XRJEND,REGION=1024K,COND=(nn,LT),                           
//         PARM=(NML,S,NOLOG)                                                   
//STEPLIB  DD   DISP=SHR,DSN=HULFT.LOAD                                         
//XRLOG    DD   DSN=NULLFILE,DISP=SHR                                           
//XRLOG1   DD   DSN=NULLFILE,DISP=SHR                                           
//XRLOG2   DD   DSN=NULLFILE,DISP=SHR                                           
//XRFILE   DD   DSN=HULFT.FILE,DISP=SHR                                         
//XRHOST   DD   DSN=HULFT.HOST,DISP=SHR                                         
//XRIN     DD   *                                                               
//SYSUDUMP DD   SYSOUT=*                                                        
//RCHK     EXEC PGM=XRJEND,REGION=1024K,COND=(0,EQ,NCHK),                       
//         PARM=(RER,S,NOLOG)                                                   
//STEPLIB  DD   DISP=SHR,DSN=HULFT.LOAD                                         
//XRLOG    DD   DSN=NULLFILE,DISP=SHR                                           
//XRLOG1   DD   DSN=NULLFILE,DISP=SHR                                           
//XRLOG2   DD   DSN=NULLFILE,DISP=SHR                                           
//XRFILE   DD   DSN=HULFT.FILE,DISP=SHR                                         
//XRHOST   DD   DSN=HULFT.HOST,DISP=SHR                                         
//XRIN     DD   *                                                               
//SYSUDUMP DD   SYSOUT=*                                                        
//ACHK     EXEC PGM=XRJEND,REGION=1024K,COND=ONLY,                              
//         PARM=(ABN,S,NOLOG)                                                   
//STEPLIB  DD   DISP=SHR,DSN=HULFT.LOAD                                         
//XRLOG    DD   DSN=NULLFILE,DISP=SHR                                           
//XRLOG1   DD   DSN=NULLFILE,DISP=SHR                                           
//XRLOG2   DD   DSN=NULLFILE,DISP=SHR                                           
//XRFILE   DD   DSN=HULFT.FILE,DISP=SHR                                         
//XRHOST   DD   DSN=HULFT.HOST,DISP=SHR                                         
//XRIN     DD   *                                                               
//SYSUDUMP DD   SYSOUT=*                                                        

DD Name

Value

Description

STEPLIB

HULFT.LOAD

HULFT load module library

XRFILE

HULFT.FILE

Send and Receive Management File

XRHOST

HULFT.HOST

Host Information File

Parameter Name

Value

Description

COND=

nn

Value for the JOB RC Criterion in the Job Information

= Remarks =

The STEPLIB specified for the Subsequent Job Addition Step STEPLIB Settings 2 in the System Environment Settings file (HULFT.PARMLIB(HULPRM)) is added to the JCL job step of the automatically-incorporated HULFT program. If the field is not specified, the STEPLIB is not added.

Note

If a JCL error occurs in the Pre-send Job when you execute the Send File with the Synchronous Transfer, the Send File program (XRSNDGO) does not end until the time that is specified for the Job Timeout for Pre-send Job (JOBTIME) in the System Environment Settings elapses.

(2) Post-send Job or Post-receive Job

The Post-send Job or the Post-receive Job can be started at the point when the Send processing or the Receive processing ends. You can start a different job depending on whether the Send processing or the Receive processing ends successfully or unsuccessfully.

To start the Post-send Job or the Post-receive Job, you must specify the job ID which is registered in the Job Information in line with the start-up conditions.

Settings for Post-send Job startup

For the Post-send Job to be started, specify the job IDs for the following fields:

Table 2.2 Settings for Post-send Job

Condition for Startup of Post-send Job

Field in which Job ID is Specified

When the Send processing ends successfully

Successful Job ID in the Send Management Information

When the Send processing ends unsuccessfully

Unsuccessful Job ID in the Send Management Information

Settings for Post-receive Job startup

To start the Post-receive Job, specify the job IDs for the following fields:

Table 2.3 Settings for Post-receive Job

Condition for Startup of Post-receive Job

Field in which Job ID is Specified

When the Receive processing ends successfully

Successful Job ID in the Receive Management Information

When the Receive processing ends unsuccessfully

Unsuccessful Job ID in the Receive Management Information

 

The execution log record of the Post-send Job or the Post-receive Job is written to the Send and Receive Log file (HULFT.LOG).

Note
  • When you carry out transfer with the Transfer Test function, the log records that are output for execution of the Post-send Job vary depending on the setting of the Execute Post-send Job (TTSNDJOB) in the System Environment Settings.

    For details, refer to Explanation of each field.

  • When you carry out transfer with the Transfer Test function, the log records that are output for execution of the Post-receive Job vary depending on the setting of the Execute Post-receive Job (TTRCVJOB) in the System Environment Settings.

    For details, refer to Explanation of each field.

  • When you carry out transfer with the Transfer Test function, to output the execution results of the Post-send Job and the Post-receive Job, you must specify '1' (Output the Send Log and the Receive Log) for the Output Results to Transfer Logs (TTSNDRCVLOG).

[Example of JCL 1]

The following job steps of HULFT program are automatically incorporated as the first job steps of the Post-send Job or the Post-receive Job that is started by HULFT:

//XRJINT   EXEC PGM=XRJINT,REGION=1024K                                         
//STEPLIB  DD   DISP=SHR,DSN=HULFT.LOAD                                         
//XRLOG    DD   DSN=HULFT.LOG,DISP=SHR                                          
//XRLOG1   DD   DSN=HULFT.LOG.PATH1,DISP=SHR                                    
//XRLOG2   DD   DSN=HULFT.LOG.PATH2,DISP=SHR                                    
//XRIN     DD   *                                                               
//SYSOUT   DD   SYSOUT=*                                                        

DD Name

Value

Description

STEPLIB

HULFT.LOAD

HULFT load module library (STEPLIB specified in the System Environment Settings)

XRLOG

HULFT.LOG

Send and Receive Log File ID Key File

XRLOG1

HULFT.LOG.PATH1

Send and Receive Log Host Name Key File

XRLOG2

HULFT.LOG.PATH2

Send and Receive Log Date Key File

[Example of JCL 2]

The following job steps of HULFT program are automatically incorporated as the last job steps of the Post-send Job or the Post-receive Job that is started by HULFT:

//NCHK     EXEC PGM=XRJEND,REGION=1024K,COND=(nn,LT),                            
//         PARM=(NML)                                                           
//STEPLIB  DD   DISP=SHR,DSN=HULFT.LOAD                                         
//XRLOG    DD   DSN=HULFT.LOG,DISP=SHR                                          
//XRLOG1   DD   DSN=HULFT.LOG.PATH1,DISP=SHR                                    
//XRLOG2   DD   DSN=HULFT.LOG.PATH2,DISP=SHR                                    
//XRFILE   DD   DSN=HULFT.FILE,DISP=SHR                                         
//XRHOST   DD   DSN=HULFT.HOST,DISP=SHR                                         
//XRIN     DD   *                                                               
//SYSUDUMP DD   SYSOUT=*                                                        
//RCHK     EXEC PGM=XRJEND,REGION=1024K,COND=(0,EQ,NCHK),                       
//         PARM=(RER)                                                           
//STEPLIB  DD   DISP=SHR,DSN=HULFT.LOAD                                         
//XRLOG    DD   DSN=HULFT.LOG,DISP=SHR                                          
//XRLOG1   DD   DSN=HULFT.LOG.PATH1,DISP=SHR                                    
//XRLOG2   DD   DSN=HULFT.LOG.PATH2,DISP=SHR                                    
//XRFILE   DD   DSN=HULFT.FILE,DISP=SHR                                         
//XRHOST   DD   DSN=HULFT.HOST,DISP=SHR                                         
//XRIN     DD   *                                                               
//SYSUDUMP DD   SYSOUT=*                                                        
//ACHK     EXEC PGM=XRJEND,REGION=1024K,COND=ONLY,                              
//         PARM=(ABN)                                                           
//STEPLIB  DD   DISP=SHR,DSN=HULFT.LOAD                                         
//XRLOG    DD   DSN=HULFT.LOG,DISP=SHR                                          
//XRLOG1   DD   DSN=HULFT.LOG.PATH1,DISP=SHR                                    
//XRLOG2   DD   DSN=HULFT.LOG.PATH2,DISP=SHR                                    
//XRFILE   DD   DSN=HULFT.FILE,DISP=SHR                                         
//XRHOST   DD   DSN=HULFT.HOST,DISP=SHR                                         
//XRIN     DD   *                                                               
//SYSUDUMP DD   SYSOUT=*                                                        

DD Name

Value

Description

STEPLIB

HULFT.LOAD

HULFT load module library (STEPLIB specified in the System Environment Settings)

XRLOG

HULFT.LOG

Send and Receive Log File ID Key File

XRLOG1

HULFT.LOG.PATH1

Send and Receive Log Host Name Key File

XRLOG2

HULFT.LOG.PATH2

Send and Receive Log Date Key File

XRFILE

HULFT.FILE

Send and Receive Management File

XRHOST

HULFT.HOST

Host Information File

Parameter Name

Value

Description

COND=

nn

Value for the JOB RC Criterion in the Job Information

= Remarks =

The STEPLIBs specified for the Subsequent Job Addition Step STEPLIB Settings 1 and the Subsequent Job Addition Step STEPLIB Settings 2 in the System Environment Settings file (HULFT.PARMLIB(HULPRM)) are added to the JCL job step of the automatically-incorporated HULFT program. If the fields are not specified, the STEPLIBs are not added.

(3) Remote Job Execution

Jobs that will be executed as remote jobs can be started at the point when the Remote Job Execution is acknowledged.

[Example of JCL]

The following job steps of HULFT program are automatically incorporated as the last job steps of the job that is started by HULFT:

//NCHK     EXEC PGM=XRJEND,REGION=1024K,COND=(nn,LT),                            
//         PARM=(NML,NOLOG)                                                     
//STEPLIB  DD   DISP=SHR,DSN=HULFT.LOAD                                         
//XRLOG    DD   DSN=NULLFILE,DISP=SHR                                           
//XRLOG1   DD   DSN=NULLFILE,DISP=SHR                                           
//XRLOG2   DD   DSN=NULLFILE,DISP=SHR                                           
//XRFILE   DD   DSN=HULFT.FILE,DISP=SHR                                         
//XRHOST   DD   DSN=HULFT.HOST,DISP=SHR                                         
//XRIN     DD   *                                                               
//SYSUDUMP DD   SYSOUT=*                                                        
//RCHK     EXEC PGM=XRJEND,REGION=1024K,COND=(0,EQ,NCHK),                        
//         PARM=(RER,NOLOG)                                                     
//STEPLIB  DD   DISP=SHR,DSN=HULFT.LOAD                                         
//XRLOG    DD   DSN=NULLFILE,DISP=SHR                                           
//XRLOG1   DD   DSN=NULLFILE,DISP=SHR                                           
//XRLOG2   DD   DSN=NULLFILE,DISP=SHR                                           
//XRFILE   DD   DSN=HULFT.FILE,DISP=SHR                                         
//XRHOST   DD   DSN=HULFT.HOST,DISP=SHR                                         
//XRIN     DD   *                                                               
//SYSUDUMP DD   SYSOUT=*                                                        
//ACHK     EXEC PGM=XRJEND,REGION=1024K,COND=ONLY,                              
//         PARM=(ABN,NOLOG)                                                     
//STEPLIB  DD   DISP=SHR,DSN=HULFT.LOAD                                         
//XRLOG    DD   DSN=NULLFILE,DISP=SHR                                           
//XRLOG1   DD   DSN=NULLFILE,DISP=SHR                                           
//XRLOG2   DD   DSN=NULLFILE,DISP=SHR                                           
//XRFILE   DD   DSN=HULFT.FILE,DISP=SHR                                         
//XRHOST   DD   DSN=HULFT.HOST,DISP=SHR                                         
//XRIN     DD   *                                                               
//SYSUDUMP DD   SYSOUT=*                                                        

DD Name

Value

Description

STEPLIB

HULFT.LOAD

HULFT load module library (STEPLIB specified in the System Environment Settings)

XRFILE

HULFT.FILE

Send and Receive Management File

XRHOST

HULFT.HOST

Host Information File

Parameter Name

Value

Description

COND=

nn

Value for the JOB RC Criterion in the Job Information

= Remarks =

The STEPLIB specified for the Subsequent Job Addition Step STEPLIB Settings 2 in the System Environment Settings file (HULFT.PARMLIB(HULPRM)) is added to the JCL job step of the automatically-incorporated HULFT program. If the field is not specified, the STEPLIB is not added.

(4) Conversion to Environment Variables

HULFT adds environment variables to the startup job when the Pre-send Job, the Post-send Job, or the Post-receive Job is started. The list of environment variables to be added is as follows:

Table 2.4 List of Environment Variables

Variable Name

Conversion Rule

Pre-send

Post-send

Post-receive

&HOST

Convert to the name of the host on the sending side or the host on the receiving side

-

&FILEID

Convert to the file ID

&DATE

Convert to the end date of the Send processing or the Receive processing (Format: YYYYMMDD)(*1)

-

&TIME

Convert to the end time of the Send processing or the Receive processing (Format: HHMMSS)

-

&COUNT

Convert to the number of records in the file that was sent or received (Up to 7 digits)

-

&RCOUNT

Convert to the number of records in the file that was sent or received (Up to 10 digits)

-

&DSNAME

Convert to the data set name of the Send file or the Receive file

&VOL

Convert to the value that is specified for the Volume Serial (VOL) in the Send Management Information or the Volume Serial (VOL) in the Receive Management Information.

&STATUS

Status code of the Send processing or the Receive processing

Refer to Error Codes and Messages for details about status codes.

-

&DETAIL

Detail code of the Send processing or the Receive processing

Refer to Error Codes and Messages for details about detail codes.

-

&SDATE

Convert to the start date of the Send processing or the Receive processing (Format: YYYYMMDD)(*1)

&EDATE

Convert to the end date of the Send processing or the Receive processing (Format: YYYYMMDD)(*1)

-

&STIME

Convert to the start time of the Send processing or the Receive processing (Format: HHMMSS)

&ETIME

Convert to the end time of the Send processing or the Receive processing (Format: HHMMSS)

-

&RSNDNO

Convert to the serial number that is given when written to the Send Control file (HULFT.QUEUE)

-

-

:

Available

-

:

Not available

*1

:

The date format specified for the Date Format (DATEFMT) in the System Environment Settings applies to the date format (the order of the year, month, and day) for Pre-send Jobs, Post-send Jobs, and Post-receive Jobs.

= Remarks =
  • The hexadecimal code for '&' is '0x50.'

  • You can specify the indicator for the above variables with the Indicator Options for Environment Variable (INDOPTVAR) in the System Environment Settings.

    The default value is '0 (0xE0).'

    However, because the character that is displayed for 0xE0 differs depending on the CCSID value of the emulator in use, specification of '1' (0x50 (&)) is recommended.

    In this manual, the hexadecimal code 0xE0 is expressed as '$.'

  • When the Notification in the Receive Management Information is specified as 'J' (Successful Job Completion), HULFT converts '&EDATE,' '&ETIME,' '&DATE,' and '&TIME' into the date and time of transfer completion, not into the date and time of Post-receive Job completion.

  • When '&SDATE' and '&STIME' are used for a Pre-send Job, HULFT sets the start date and time to the date and time when the Send File is executed.

  • When sending is successfully completed, HULFT converts '&RSNDNO' to '00000000.'

Table 2.5 List of Environment Variables

Variable Name

Conversion Rule

Pre-send

Post-send

Post-receive

&MSG0

Convert to Message 0

&MSG1

Convert to Message 1

&MSG2

Convert to Message 2

&MSG3

Convert to Message 3

&MSG4

Convert to Message 4

&MSG5

Convert to Message 5

&MSGL0

Convert to Long Message 0

&MSGL1

Convert to Long Message 1

:

Available

-

:

Not available

= Remarks =
  • The hexadecimal code for '&' is '0x50.'

  • The Indicator Options for Environment Variable (INDOPTVAR) in the System Environment Settings is not effective for '&MSG0' to '&MSG5' and '&MSGL0' to '&MSGL1.'

  • You can describe variables from '&MSG0' to '&MSG5' with the indicator 0x50(&) or 0xE0. However, because the display of 0xE0 differs depending on the CCSID value of the emulator in use, specification of 0x50 (&) as the indicator is recommended.

    In this manual, the hexadecimal code 0xE0 is expressed as '$.'

Note
  • If the record count for sending or receiving exceeds 2147483647, HULFT converts '&RCOUNT' to '2147483647.'

  • If an environment variable in the Startup JCL is converted and exceeds the 80th column of a single record of JCL due to the conversion, the Pre-send Job, the Post-send Job, or the Post-receive Job fails. Specify environment variables so that conversion does not cause them to exceed the limit for a single line of JCL.

    However, if the result for the conversion of '&MSGL0' and '&MSGL1' exceeds the 80th column of a single record of JCL for the Pre-send Job, the Post-send Job, or the Post-receive Job, HULFT outputs the conversion results up to the 80th column, breaks the line, and continues the output from the 1st column at the beginning of the next record.

  • In the following cases, use alphanumeric characters for the character string (such as a file name or a file path) with which HULFT replaces one of the environment variables '&DSNAME,' from '&MSG0' to '&MSG5,' or from '&MSGL0' to '&MSGL1.'

    • When the setting of HULFT Character Set (HULCHARSET) in the System Environment Settings differs between the host on the sending side and the host on the receiving side

    • When HULFT communicates with a version lower than HULFT Ver.8.1

    • When the Use HULFT7 Comm. Mode is specified as 'Yes'

  • The variable '&VOL' will not inherit the name of the volume where the Send file or the Receive file is actually allocated.

 

If you specify the environment variables listed in Table 2.4 in the Startup JCL when you specify the job in the Job Information, HULFT automatically replaces them with the values and strings indicated by the environment variables and then runs the JCL.

Table 2.6 Example of Conversion

Field to Be Converted

Conversion Value

Receiving host name

HOST0001

File ID

FILEID01

Start date of the Send processing

20151201

End time of the Send processing

155432

Number of records in the file that was sent

12000

Data set name of the Send file

FILEID01.DATA

Volume serial number

HUL001

Status code

0000

[Example of JCL before conversion]

//HUL001 JOB MSGCLASS=B,CLASS=A
//STEP01 EXEC PGM=PGM01,PARM='&HOST,&FILEID,&EDATE,&ETIME'
//U01 DD DSN=&DSNAME,DISP=SHR,UNIT=SYSDA,VOL=SER=&VOL
//SYSIN DD *
&COUNT,&STATUS
//

Parameter Name

Value

Description

UNIT

SYSDA

UNIT

[Example of JCL after conversion]

//HUL001   JOB  MSGCLASS=B,CLASS=A                                              
//STEP01   EXEC PGM=PGM01,PARM='HOST0001,FILEID01,20151201,155432'              
//U01      DD   DSN=FILEID01.DATA,DISP=SHR,UNIT=SYSDA,VOL=SER=HUL001            
//SYSIN    DD   *                                                               
0012000,0000                                                                    
//                                                                              

Parameter Name

Value

Description

UNIT

SYSDA

UNIT

(5) Points to Be Noted for Job Execution

If the Pre-send Job, the Post-send Job, or the Post-receive Job cannot be executed, check the following points:

Setting of Job Information

Check the following settings in the Job Information:

  • Data set name setting of the JCL Library (DSNAME)

  • Member name setting of the Member Names (MEMBER DEF - DEFEND)

Existence of JCL libraries and members

Check whether the described data set name exists and whether the member name exists in the described data set.

JCL

Execute the member whose name is registered in the Job Information and check whether the member runs successfully.

Check whether environment variables specified in the Startup JCL exceed the byte limit for a single line of JCL after they are converted.

System Environment Settings

If the Post-send Job or the Post-receive Job cannot be executed, check the settings of the following in the System Environment Settings:

  • Transfer Preference (TTMODE)

  • Execute Post-send Job (TTSNDJOB)

  • Execute Post-receive Job (TTRCVJOB)

When the Transfer Preference (TTMODE) is '1' (Test-run Mode) and the Execute Post-send Job (TTSNDJOB) is '2' (Execute the Post-send Job with TYPRUN=SCAN added), HULFT outputs only the execution result of the first member to the Post-send Job Execution Log. In this case, HULFT sets the Status as '0' (Waiting).

In addition, when the Transfer Preference (TTMODE) is '1' (Test-run Mode) and the Execute Post-receive Job (TTRCVJOB) is '2' (Execute the Post-receive Job with TYPRUN=SCAN added), HULFT outputs only the execution result of the first member to the Post-receive Job Execution Log. In this case, HULFT sets the Status as '0' (Waiting).

To view the execution results of the Post-send Job or the Post-receive Job, refer to the job log of the operating system.

When you carry out transfer with the Transfer Test function, to output the execution results of the Post-send Job and the Post-receive Job, you must specify '1' (Output the Send Log and the Receive Log) for the Output Results to Transfer Logs (TTSNDRCVLOG).