| Bellacosa Mainframe explica o XMIT |
O que é XMIT em Mainframe?
O comando XMIT (Transmit) é um utilitário do TSO/E utilizado para empacotar e transmitir datasets entre usuários, sistemas z/OS ou ambientes Mainframe.
Ele funciona como uma espécie de:
ZIP do Mainframe
+
Envio de Arquivos
O resultado é um arquivo especial conhecido como:
XMIT File
ou
Transmitted Dataset
Muito utilizado para:
✅ Compartilhar JCLs
✅ Enviar fontes COBOL
✅ Transferir PDSs completos
✅ Distribuir ferramentas
✅ Migrar objetos entre ambientes
Como Funciona?
Imagine que você possui uma biblioteca:
USER.COBOL.SOURCE
Com dezenas de programas COBOL.
O XMIT transforma tudo em um único arquivo:
USER.COBOL.XMIT
que pode ser enviado para outro usuário.
Fluxo Simplificado
PDS
↓
XMIT
↓
Arquivo XMIT
↓
FTP / E-mail / Connect:Direct
↓
RECEIVE
↓
PDS Restaurada
Comando Básico XMIT
No TSO:
XMIT USERID -
DSNAME('USER.COBOL.SOURCE')
Onde:
USERID = Destinatário
DSNAME = Dataset enviado
Exemplo 1 – Enviar um PDS
Suponha:
USER.JCL
contendo:
JOB1
JOB2
JOB3
Execute:
XMIT BELLACOSA -
DSNAME('USER.JCL')
Resultado:
Arquivo Transmitido
na fila do usuário destino.
Exemplo 2 – Criar Arquivo XMIT
Muito comum para download.
XMIT BELLACOSA -
DSNAME('USER.JCL') -
OUTDSN('USER.JCL.XMIT')
Resultado:
USER.JCL.XMIT
Agora você pode:
FTP
IND$FILE
Download
Connect:Direct
Estrutura
Antes:
USER.JCL
├── JOB001
├── JOB002
└── JOB003
Depois:
USER.JCL.XMIT
Como Receber?
Utilizando RECEIVE.
Comando RECEIVE
RECEIVE INDSN('USER.JCL.XMIT')
Sistema pergunta:
Restore dataset?
Resposta:
YES
Dataset restaurado.
Exemplo Completo
Passo 1
Criar arquivo transmitido.
XMIT BELLACOSA -
DSNAME('USER.COBOL.SOURCE') -
OUTDSN('USER.COBOL.XMIT')
Passo 2
Transferir.
FTP
IND$FILE
SFTP
Connect:Direct
Passo 3
Receber.
RECEIVE INDSN('USER.COBOL.XMIT')
Passo 4
Confirmar restauração.
Restore?
YES
Passo 5
Dataset recriado.
USER.COBOL.SOURCE
Enviando PDS Completa
XMIT preserva:
✅ Membros
✅ Estatísticas
✅ Estrutura
✅ Atributos
Exemplo:
USER.COBOL
contendo:
PROG001
PROG002
PROG003
Após RECEIVE:
PROG001
PROG002
PROG003
continuam intactos.
XMIT via Batch
Também pode ser executado por JCL.
Exemplo:
//STEP01 EXEC PGM=IKJEFT01
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD *
XMIT USERID
DSNAME('USER.JCL')
/*
RECEIVE via Batch
//STEP01 EXEC PGM=IKJEFT01
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD *
RECEIVE INDSN('USER.JCL.XMIT')
/*
O que Pode Ser Transmitido?
PDS
USER.JCL
PDS/E
USER.COBOL
Sequential
USER.ARQUIVO
Load Library
USER.LOADLIB
O que NÃO É Recomendado?
Arquivos muito grandes.
Exemplo:
DB2 Tablespace
VSAM Gigantesco
Normalmente usa-se:
DFDSS
ADRDSSU
FTP
XMIT e FTP
Fluxo muito comum:
Mainframe A
↓
XMIT
↓
Arquivo .XMIT
↓
FTP
↓
Mainframe B
↓
RECEIVE
XMIT e IND$FILE
Muito usado para baixar exemplos da internet.
Passo típico:
Site Mainframe
↓
Arquivo.XMIT
↓
Download PC
↓
Upload Mainframe
↓
RECEIVE
Erros Comuns
Dataset Não Existe
DATA SET NOT FOUND
Espaço Insuficiente
INSUFFICIENT SPACE
RECEIVE em Dataset Inválido
INVALID TRANSMISSION DATASET
Vantagens
✅ Fácil utilização
✅ Preserva atributos
✅ Mantém membros
✅ Funciona em qualquer z/OS
✅ Muito usado na comunidade Mainframe
Curiosidade
Durante décadas, a comunidade Mainframe distribuiu ferramentas, utilitários, macros, exits e exemplos COBOL através de arquivos .XMIT. Muitos pacotes clássicos disponíveis em fóruns, grupos SHARE e CBT Tape eram distribuídos exatamente nesse formato.
Resumo Rápido
| Comando | Função |
|---|---|
| XMIT | Transmitir dataset |
| RECEIVE | Restaurar dataset |
| OUTDSN | Criar arquivo XMIT |
| DSNAME | Dataset origem |
| IKJEFT01 | Executar via Batch |
| PDS/PDSE | Totalmente suportados |
Exemplo Clássico
XMIT BELLACOSA -
DSNAME('USER.COBOL.SOURCE') -
OUTDSN('USER.COBOL.XMIT')
Depois:
RECEIVE INDSN('USER.COBOL.XMIT')
Resultado:
PDS original restaurada
com todos os membros.
Essa é a forma mais tradicional de empacotar e transportar bibliotecas COBOL, JCL, PROC e utilitários entre ambientes Mainframe z/OS.
Sem comentários:
Enviar um comentário