Translate

quinta-feira, 27 de agosto de 2020

Laboratório Prático — Primeiros Passos no TSO/ISPF

 

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?

RECFMSignificado
FBFixed Block
VBVariable Block
UUndefined

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:

DatasetOrganizaçãoRECFMLRECL
USERID.COBOLPOFB80
USERID.COBOL.PDSEPO-EFB80
USERID.LOADLIBPOU0
USERID.LOADLIB.PDSEPO-EU0
USERID.CLIENTESPSFB200
USERID.CLIENTES.VBPSVB4000

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:

NomeTipoRECFMLRECL
USERID.JCLPDSFB80
USERID.CNTLPDSEFB80
USERID.COBOLPDSEFB80
USERID.COPYLIBPDSEFB80
USERID.DCLGENPDSFB80
USERID.LOADLIBPDSEU0
USERID.INPUTPSFB200
USERID.OUTPUTPSFB200
USERID.RELATORIOPSVB4000
USERID.LOGPSVB4000

Ao concluir, você terá criado a estrutura básica utilizada em grande parte dos projetos COBOL no IBM z/OS, compreendendo não apenas como criar cada dataset, mas também por que cada formato é escolhido em ambientes de produção. Esse conhecimento servirá de base para os próximos laboratórios, nos quais esses datasets serão utilizados em programas COBOL, JCL, utilitários e processamento QSAM.

Sem comentários:

Enviar um comentário