XMIT Statement

Purpose

The XMIT JCL statement is used to transmit JCL job streams, in-stream data, and in-stream procedures to another node in a network for execution. This allows jobs to be submitted to remote systems while still using a single JCL stream from the originating system.

Key Benefit:

XMIT allows for centralized job submission while distributing processing across multiple systems in a network, simplifying cross-system workload management.

Basic Syntax

jcl
1
2
3
4
//name XMIT parameter[,parameter]... // data // more data /*

Required Parameters

ParameterDescription
DEST=nodenameSpecifies the destination node where the job should be transmitted
DLM=delimiterOptional. Specifies a different delimiter than the default /* to mark the end of transmitted data
SUBCHARS=JES2|JES3Optional. Specifies whether to interpret JES2 or JES3 substitution symbols in the transmitted data

Usage Examples

Basic XMIT Statement

jcl
1
2
3
4
5
6
//STEP1 XMIT DEST=REMOTSYS //REMOTE JOB (ACCT#),'JOHN DOE',CLASS=A //STEP01 EXEC PGM=PAYROLL //INPUT DD DSN=PAYROLL.DATA,DISP=SHR //OUTPUT DD SYSOUT=A /*

This example transmits a complete job to the system named REMOTSYS. The job will execute on REMOTSYS rather than the submitting system.

XMIT with Custom Delimiter

jcl
1
2
3
4
5
6
//STEP1 XMIT DEST=NODE5,DLM=AA //REMOTE JOB (ACCT#),'JANE SMITH',CLASS=A //STEP01 EXEC PGM=INVENTRY //INPUT DD DSN=SALES.DATA,DISP=SHR //OUTPUT DD SYSOUT=A AA

This example uses a custom delimiter 'AA' to mark the end of the transmitted data instead of the default '/*'.

XMIT with Substitution Characters

jcl
1
2
3
4
5
6
//STEP1 XMIT DEST=NYCSYS,SUBCHARS=JES2 //REMOTE JOB (ACCT#),'REPORTS',CLASS=A //STEP01 EXEC PGM=BILLING //INPUT DD DSN=&SYSUID..BILLING.DATA,DISP=SHR //OUTPUT DD SYSOUT=A /*

This example specifies that JES2 substitution characters (like &SYSUID) should be interpreted in the transmitted job.

Network Considerations

When using XMIT, be aware of the following networking considerations:

  • The target node must be defined in the local JES2 or JES3 network configuration
  • Network path must be available between the submitting system and the target system
  • Security considerations apply - the submitting user must have appropriate permissions on both systems
  • Network transmission failures may occur if the target system is unavailable

JES2 vs JES3 Considerations

JES2JES3
Uses NJE (Network Job Entry) protocolCan use BDT (Bulk Data Transfer) or NJE
Destination format: DEST=nodename or DEST=nodename.useridDestination format: DEST=nodename
SUBCHARS=JES2 is defaultSUBCHARS parameter may need to be set explicitly

Troubleshooting

Common Issues

IssuePossible Solutions
Job not received at destination
  • Verify NJE connection between systems
  • Check node name spelling in DEST parameter
  • Ensure target system is operational
Premature end of transmitted data
  • Ensure proper delimiter usage (/* or custom DLM)
  • Check if delimiter appears in the data inadvertently
Security violations at target system
  • Verify security permissions for the submitting user
  • Check if password or security token is required

Best Practices

  • Use descriptive job names that identify both the submitting and target systems
  • Include appropriate NOTIFY parameters to receive completion notifications
  • Consider using custom delimiters (DLM) if your transmitted data might contain /* sequences
  • Test transmission paths before implementing in production workloads
  • Document the cross-system nature of jobs that use XMIT for operational support
  • Plan for network outages by implementing retry logic or alternative processing paths

Related Concepts

  • JOB Statement - The transmitted job will need its own JOB statement
  • NOTIFY Parameter - Can be used to receive job completion notifications
  • SYSAFF Parameter - An alternative method for directing jobs to specific systems in a JES2 environment
  • COMMAND Statement - Can be used with XMIT for complex cross-system operations