Job execution
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 |
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.
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.
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:
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:
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).
-
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 |
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.
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 |
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.
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:
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 the following for details about status codes: HULFT10 for zOS Error Codes and Messages : |
- |
✓ |
✓ |
&DETAIL |
Detail code of the Send processing or the Receive processing Refer to the following for details about detail codes: HULFT10 for zOS Error Codes and Messages : |
- |
✓ |
✓ |
&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. |
-
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.'
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 |
-
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 '$.'
-
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.
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 |
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).