| Bellacosa Mainframe o que é um dataset |
O que é Dataset no Mainframe?
No ambiente mainframe IBM Z, um dos conceitos mais importantes é:
Dataset.
Praticamente tudo no z/OS gira em torno deles:
programas;
JCL;
arquivos COBOL;
relatórios;
bibliotecas;
cargas batch;
bancos VSAM.
Definição simples
Dataset é:
um conjunto organizado de dados armazenado no disco do mainframe.
É equivalente a:
arquivos no Windows;
arquivos Linux;
documentos digitais.
Mas no mainframe os datasets possuem:
muito mais controle e estrutura.
Analogia simples
Windows
C:\TEMP\CLIENTES.TXT
Mainframe
EMPRESA.PROD.CLIENTES
Dataset = arquivo do mainframe
Onde datasets ficam?
Normalmente em:
DASD.
O que é DASD?
Direct Access Storage Device
Disco do mainframe.
Tipos mais comuns de dataset
Sequential Dataset (PS)
Arquivo sequencial.
PDS
Partitioned Dataset.
Biblioteca com membros.
PDSE
Versão moderna do PDS.
VSAM
Dataset avançado indexado.
GDG
Geração de datasets.
Dataset sequencial (PS)
Muito usado em:
COBOL batch;
relatórios;
arquivos entrada;
saída batch.
Exemplo
BANCO.CLIENTES.ARQ
Como funciona?
Os registros são lidos:
em sequência.
Fluxo
REG1
↓
REG2
↓
REG3
Muito usado com COBOL READ
O que é PDS?
Partitioned Dataset
Dataset dividido em:
membros.
Analogia
Como uma pasta contendo:
vários arquivos.
Muito usado para:
JCL;
PROC;
COBOL source;
CLIST;
REXX.
Exemplo
USER.JCLLIB
Membros:
TESTE
COBOL
BACKUP
O que é PDSE?
Versão moderna do:
PDS.
Vantagens do PDSE
menos fragmentação;
gerenciamento automático;
mais eficiente;
mais moderno.
O que é VSAM?
Dataset mais sofisticado.
Pode possuir:
índice;
acesso direto;
chave.
Muito usado em:
bancos;
sistemas online;
CICS.
O que é GDG?
Generation Data Group
Controle de versões de datasets.
Exemplo
RELATORIO(+1)
Como datasets são identificados?
Por:
DSN.
DSN = Dataset Name
Exemplo
EMPRESA.FINANCEIRO.CLIENTES
Regras comuns
separados por ponto;
até 44 caracteres;
níveis hierárquicos.
Estrutura visual
EMPRESA
↓
FINANCEIRO
↓
CLIENTES
Como datasets aparecem no JCL?
Via:
DD statement.
Exemplo
//CLIENTE DD DSN=EMPRESA.CLIENTES,
// DISP=SHR
Explicando
| Elemento | Função |
|---|---|
| DD | Define dataset |
| DSN | Nome dataset |
| DISP | Tipo acesso |
DISP mais comuns
| DISP | Significado |
|---|---|
| SHR | Compartilhado |
| OLD | Exclusivo |
| NEW | Novo dataset |
| MOD | Acrescentar dados |
Como COBOL usa dataset?
Através de:
SELECT;
ASSIGN;
READ;
WRITE.
Exemplo COBOL
SELECT ARQCLI
ASSIGN TO CLIENTE.
Ligação COBOL ↔ JCL
COBOL ASSIGN
↓
DDNAME JCL
↓
Dataset real
O que é layout do dataset?
Estrutura do registro.
Exemplo
12345JOAO SILVA 0001500
Layout COBOL
05 ID PIC 9(5).
05 NOME PIC X(20).
05 SALDO PIC 9(7).
Dataset pode conter:
texto;
números;
binários;
packed decimal;
JCL;
programas.
Dataset no SDSF/ISPF
Muito acessado usando:
3.4 ISPF;
SDSF;
utilities.
Comandos famosos
LISTCAT
ALLOC
IEBGENER
O que é catalog?
Catálogo do z/OS.
Guarda:
localização;
volume;
informações dataset.
O que é volume?
Disco físico/lógico onde dataset está.
Dataset temporário
Criado temporariamente no JOB.
Exemplo
//TEMP DD DSN=&&TEMP
Dataset permanente
Fica armazenado após execução.
Dataset e batch
Praticamente todo batch:
lê datasets;
processa;
grava novos datasets.
Fluxo batch clássico
INPUT DATASET
↓
COBOL PROCESSA
↓
OUTPUT DATASET
Curiosidades incríveis
1. Mainframes armazenam bilhões de datasets
2. PDS foi uma revolução para bibliotecas JCL/COBOL
3. VSAM ainda é extremamente usado em bancos
4. Muitos datasets existem há décadas em produção
Erros comuns de iniciantes
1. Confundir PDS com dataset sequencial
2. DDNAME diferente do ASSIGN
3. DISP incorreto
4. Layout incompatível
5. Não entender organização do dataset
Dicas importantes
Entenda PS vs PDS vs VSAM
Sempre valide DDNAME
Aprenda DISP corretamente
Conheça layouts COBOL
Resumo rápido
| Tipo | Função |
|---|---|
| PS | Sequencial |
| PDS | Biblioteca |
| PDSE | Biblioteca moderna |
| VSAM | Indexado |
| GDG | Versionamento |
| DSN | Nome dataset |
| DD | Associação JCL |
Conclusão
Dataset é a estrutura fundamental de armazenamento no ambiente mainframe IBM Z.
Eles armazenam programas, arquivos batch, bibliotecas, dados corporativos e informações críticas, sendo essenciais para COBOL, JCL, CICS e processamento no z/OS.