TRANSMIT
Sends members of a library to a user on another system.
Also written XMIT
Why it matters. You can't log on to PROD. TRANSMIT is how a tested change gets there, through the release ID.
Syntax
{TRANSMIT | XMIT} node.userid DATASET(dsname) [MEMBERS(member ...)] [MESSAGE]
TRANSMIT node.userid MSGDATASET(dsname) | TERMINAL- node.userid
- Where to send it. The node is a JES2 network node name. You can also write node/userid, a nickname or a list.
- DATASET(dsname)
- The dataset to send. It must be on disk. DA and DSNAME are other spellings.
- MEMBERS(names)
- For a library: which members to send.
- MESSAGE
- Also type a message to go with the data.
- OUTDATASET(dsname)
- Write the transmission to a file instead of sending it.
Try it TRANSMIT
- 1
Send the member LOADCUST from ZBANK.TEST.JCL to the release ID, ZBRELSE, on ZBPROD.
TRANSMIT ZBPROD.ZBRELSE DATASET('ZBANK.TEST.JCL') MEMBERS(LOADCUST) - 2
Now try sending to a different user on ZBPROD: ZB0002.
TRANSMIT ZBPROD.ZB0002 DATASET('ZBANK.TEST.JCL') MEMBERS(LOADCUST)
Remember
- The destination is system.userid, joined by a dot.
- DATASET is where from. MEMBERS is what to send.
- Changes for PROD go to the release ID, ZBRELSE.
The usual mistake
TRANSMIT ZBPROD.ZBRELSE MEMBERS(LOADCUST)
TRANSMIT does not know which library to send from. DATASET is missing. Real TSO would ask you to type a message instead. MF/OS shows you an example and sends nothing.
TRANSMIT ZBPROD.ZBRELSE DATASET('ZBANK.TEST.JCL') MEMBERS(LOADCUST)
On real z/OS
Real TRANSMIT only sends the data to the other node; the person there collects it with RECEIVE, and nothing runs for them. The release job on ZBPROD and its $HASP165 line are part of the ZedBank set-up. MF/OS models sending members of a library from ZBANK to ZBPROD, and nothing else.
Where can I practise TRANSMIT?
Right here, at ZedBank. You take a junior job at a simulated bank and use TRANSMIT in real work, with Zed beside you. There's nothing to install.
Start at ZedBankRelated
- DatasetWhat a mainframe calls a file: a named collection of records with a defined structure, rather than a loose stream of bytes.
- Partitioned datasetA dataset that works like a library or folder, holding many separately named members inside one dataset.
- MemberOne named item inside a partitioned dataset, such as a single program, job or copybook within a library.
- JCLJob Control Language: the language used to tell the mainframe what programs to run, in what order, and with what files.
- Return codeA number a program leaves behind saying how it went. Zero for clean, higher numbers for warnings and failures.
- TSOTime Sharing Option: the interactive login environment on z/OS, where you get a command prompt and a session of your own.