| Bellacosa Mainframe laboratorio pratico TSO/IPSF |
☕ Um Café no Bellacosa Mainframe
Laboratório Prático — Primeiros Passos no TSO/ISPF
Criando Data Sets no z/OS (PDS, PDSE e Sequential)
Este laboratório foi pensado para quem nunca utilizou o TSO/ISPF. O objetivo é ensinar a criar os tipos de datasets mais comuns utilizados por um desenvolvedor COBOL.
Ao final você saberá criar:
✔ PDS FB 80
✔ PDSE FB 80
✔ PDS Undefined (U)
✔ PDSE Undefined (U)
✔ Sequential (QSAM) FB 200
✔ Sequential (QSAM) VB 4000
Objetivos
Durante este laboratório você aprenderá
navegar pelo ISPF
utilizar o painel Allocate Dataset
entender RECFM
entender LRECL
entender BLKSIZE
compreender Directory Blocks
diferenciar PDS e PDSE
Pré-requisitos
Possuir acesso ao
TSO
ISPF
opção 3.2 (Data Set Utility)
Conceitos antes de começar
Dataset Sequential (PS)
Armazena um único fluxo de dados.
Exemplos
arquivos de entrada
arquivos de saída
arquivos temporários
Representação
USERID.CLIENTES
Dataset Particionado (PDS)
Funciona como uma pasta.
Dentro dele existem vários membros.
USERID.COBOL
PROG001
PROG002
COPYCLI
COPYEND
Dataset Particionado Estendido (PDSE)
É uma evolução do PDS.
Possui
melhor performance
reutilização automática do espaço
elimina compressão
maior confiabilidade
Hoje praticamente todos os ambientes novos utilizam PDSE.
O que significa RECFM?
| RECFM | Significado |
|---|---|
| FB | Fixed Block |
| VB | Variable Block |
| U | Undefined |
O que significa LRECL?
É o tamanho máximo lógico de cada registro.
Exemplo
FB 80
Registro 1 -> 80 bytes
Registro 2 -> 80 bytes
Registro 3 -> 80 bytes
VB 4000
Registro 1 -> 250 bytes
Registro 2 -> 1200 bytes
Registro 3 -> 3998 bytes
Laboratório 1
Criando um PDS FB 80
Entre no ISPF
===> 3
Depois
===> 2
Aparecerá
Data Set Utility
Informe
A
de Allocate
Digite o nome
USERID.COBOL
Pressione ENTER
Preencha
Data Set Name . . USERID.COBOL
Management class . . .
Storage class . . . .
Volume serial . . . .
Device Type . . . . . 3390
Space Units . . . . . TRACK
Primary Quantity . . . 5
Secondary Quantity . . 2
Directory Blocks . . . 10
Record Format . . . . FB
Record Length . . . . 80
Block Size . . . . . . 0
Data Set Organization PO
Pressione ENTER.
Dataset criado.
Conferindo
Na opção
3.4
Digite
USERID.COBOL
Deverá aparecer
PO
FB
80
Laboratório 2
Criando um PDSE FB 80
Repita o procedimento.
Nome
USERID.COBOL.PDSE
Preencha igual ao anterior.
A única diferença:
Data Set Organization
PO-E
ou
LIBRARY YES
(depende da versão do ISPF)
Resultado
PDSE
FB
80
Laboratório 3
Criando um PDS Undefined
Nome
USERID.LOADLIB
Parâmetros
Primary 5
Secondary 2
Directory 20
RECFM U
LRECL 0
BLKSIZE 32760
DSORG PO
Esse dataset normalmente armazenará
Load Modules
Program Objects (em alguns ambientes usa-se PDSE)
Laboratório 4
Criando um PDSE Undefined
Nome
USERID.LOADLIB.PDSE
Parâmetros
Primary 5
Secondary 2
Directory 20
RECFM U
LRECL 0
BLKSIZE 32760
PO-E
Este é o formato utilizado na maioria das LOADLIB modernas.
Laboratório 5
Criando um Sequential FB 200
Nome
USERID.CLIENTES
Parâmetros
Primary 5
Secondary 2
Directory 0
RECFM FB
LRECL 200
BLKSIZE 0
DSORG PS
Resultado
PS
FB
200
Muito utilizado para
arquivos batch
exportações
importações
QSAM
Laboratório 6
Criando um Sequential VB 4000
Nome
USERID.CLIENTES.VB
Parâmetros
Primary 10
Secondary 5
Directory 0
RECFM VB
LRECL 4000
BLKSIZE 0
DSORG PS
Observe
No VB o sistema adiciona automaticamente um RDW (Record Descriptor Word) de 4 bytes ao armazenamento físico de cada registro. Assim, embora o LRECL seja 4000, o tamanho físico máximo do registro é 4004 bytes.
Como verificar se tudo foi criado
Acesse
3.4
Digite
USERID.*
Você deverá visualizar algo semelhante a:
| Dataset | Organização | RECFM | LRECL |
|---|---|---|---|
| USERID.COBOL | PO | FB | 80 |
| USERID.COBOL.PDSE | PO-E | FB | 80 |
| USERID.LOADLIB | PO | U | 0 |
| USERID.LOADLIB.PDSE | PO-E | U | 0 |
| USERID.CLIENTES | PS | FB | 200 |
| USERID.CLIENTES.VB | PS | VB | 4000 |
Exercício Extra 1
Crie um membro chamado
HELLO
dentro do PDS.
Digite
ISPF 3.4
E USERID.COBOL(HELLO)
Escreva
OLÁ MAINFRAME
Salve usando
PF3
Exercício Extra 2
Crie um membro
COPYCLI
no PDSE.
Digite
IDENTIFICACAO DO CLIENTE
Salve.
Exercício Extra 3
Edite o arquivo sequencial
USERID.CLIENTES
Inclua algumas linhas com exatamente 200 caracteres (o editor exibirá uma régua para ajudar) e observe o comportamento do editor ao ultrapassar o LRECL.
Exercício Extra 4
Edite
USERID.CLIENTES.VB
Insira linhas de comprimentos variados:
30 bytes
120 bytes
850 bytes
2500 bytes
3990 bytes
Perceba que, em um arquivo VB, cada registro pode ter um tamanho diferente, desde que não ultrapasse o LRECL definido.
Desafio Bellacosa Mainframe ⭐⭐⭐
Sem consultar este material, crie os seguintes datasets:
| Nome | Tipo | RECFM | LRECL |
|---|---|---|---|
| USERID.JCL | PDS | FB | 80 |
| USERID.CNTL | PDSE | FB | 80 |
| USERID.COBOL | PDSE | FB | 80 |
| USERID.COPYLIB | PDSE | FB | 80 |
| USERID.DCLGEN | PDS | FB | 80 |
| USERID.LOADLIB | PDSE | U | 0 |
| USERID.INPUT | PS | FB | 200 |
| USERID.OUTPUT | PS | FB | 200 |
| USERID.RELATORIO | PS | VB | 4000 |
| USERID.LOG | PS | VB | 4000 |
Sem comentários:
Enviar um comentário