ADRDSSU

3 membros
DSSDUMP
DUMP — Backup de Datasets/Volume

Faz backup (dump) de datasets ou volumes inteiros com ADRDSSU. Suporta COMPRESS para economizar espaço e CHANGEDONLY para backup incremental.

Código JCL

DSSDUMP.jcl
//DSSDUMP  JOB (ACCT),'ADRDSSU DUMP',CLASS=A,MSGCLASS=X,
//         MSGLEVEL=(1,1),NOTIFY=&SYSUID
//*------------------------------------------------------------*
//* DSSDUMP - ADRDSSU: DUMP DE DATASETS PARA TAPE/DISCO       *
//*------------------------------------------------------------*
//DUMPSTEP EXEC PGM=ADRDSSU,REGION=0M
//SYSPRINT DD SYSOUT=*
//TAPE1    DD DSN=AKOM.BACKUP.DUMP,
//            DISP=(NEW,CATLG,DELETE),
//            UNIT=CART,
//            LABEL=(1,SL)
//SYSIN    DD *
  DUMP DATASET(INCLUDE(AKOM.**))                 -
       OUTDD(TAPE1)                              -
       COMPRESS                                  -
       ALLDATA(*)                                -
       ALLEXCP                                   -
       TOL(ENQF)
/*
DSSMOVE
COPY+DELETE — Mover entre Volumes ⚠ CUIDADO

Move datasets entre volumes DASD usando ADRDSSU COPY com a opção DELETE (equivalente a MOVE). Mais eficiente que IEBGENER para grandes volumes.

⚠ Esta operação requer atenção especial. Revise os parâmetros antes de executar.

Código JCL

DSSMOVE.jcl
//DSSMOVE  JOB (ACCT),'ADRDSSU MOVE',CLASS=A,MSGCLASS=X,
//         MSGLEVEL=(1,1),NOTIFY=&SYSUID
//*------------------------------------------------------------*
//* DSSMOVE - ADRDSSU: COPY+DELETE (MOVE) ENTRE VOLUMES       *
//*------------------------------------------------------------*
//MOVESTEP EXEC PGM=ADRDSSU,REGION=0M
//SYSPRINT DD SYSOUT=*
//VOLSRC   DD UNIT=3390,VOL=SER=SRCVOL,DISP=SHR
//VOLTGT   DD UNIT=3390,VOL=SER=TGTVOL,DISP=SHR
//SYSIN    DD *
  COPY DATASET(INCLUDE(AKOM.**))                 -
       INDD(VOLSRC)                              -
       OUTDD(VOLTGT)                             -
       DELETE                                    -
       CATALOG                                   -
       COMPRESS
/*
DSSRESTOR
RESTORE — Restaurar Datasets ⚠ CUIDADO

Restaura datasets de um dump ADRDSSU. RENAME permite restaurar com novo nome (útil para testes). REPLACE sobreescreve se o dataset já existir.

⚠ Esta operação requer atenção especial. Revise os parâmetros antes de executar.

Código JCL

DSSRESTOR.jcl
//DSSRESTOR JOB (ACCT),'ADRDSSU RESTORE',CLASS=A,MSGCLASS=X,
//          MSGLEVEL=(1,1),NOTIFY=&SYSUID
//*------------------------------------------------------------*
//* DSSRESTOR - ADRDSSU: RESTORE COM RENAME PARA TESTE        *
//*------------------------------------------------------------*
//RESTSTEP EXEC PGM=ADRDSSU,REGION=0M
//SYSPRINT DD SYSOUT=*
//TAPE1    DD DSN=AKOM.BACKUP.DUMP,
//            DISP=SHR,
//            UNIT=CART,
//            LABEL=(1,SL)
//SYSIN    DD *
  RESTORE DATASET(INCLUDE(AKOM.**))              -
          INDD(TAPE1)                            -
          RENAME(AKOM.**,AKOMT.**)              -
          REPLACE                               -
          CATALOG
/*

ICKDSF

1 membros
ICKINIT
INSPECT/INIT — Diagnóstico de Volume DASD 🚨 DESTRUTIVO

INSPECT verifica integridade do volume DASD sem alterar dados (seguro). INIT formata o volume (DESTRUTIVO — apaga tudo). O cartão INIT está comentado por segurança.

ATENÇÃO: Esta operação é IRREVERSÍVEL. Certifique-se de ter backup antes de executar em produção.

Código JCL

ICKINIT.jcl
//ICKINIT  JOB (ACCT),'ICKDSF INSPECT',CLASS=A,MSGCLASS=X,
//         MSGLEVEL=(1,1),NOTIFY=&SYSUID
//*------------------------------------------------------------*
//* ICKINIT - ICKDSF: INSPECT (SEGURO) E INIT (DESTRUTIVO)   *
//* INSPECT: Verifica volume sem alterar dados                *
//* INIT: *** APAGA TODOS OS DADOS DO VOLUME ***              *
//*------------------------------------------------------------*
//INSPVOL  EXEC PGM=ICKDSF,REGION=4096K
//SYSPRINT DD SYSOUT=*
//DASDVOL  DD UNIT=3390,VOL=SER=AKOMV1,DISP=OLD
//SYSIN    DD *
  INSPECT UNITADDRESS(0A00)                      -
          NOVERIFY                                -
          SCAN

//*  *** DESCOMENTE APENAS SE SOUBER O QUE ESTA FAZENDO ***
//*  INIT  UNITADDRESS(0A00)                              -
//*        NOVERIFY                                       -
//*        VOLID(AKOMV1)                                  -
//*        VTOC(0,1,14)                                   -
//*        PURGE
/*

IDCAMS

6 membros
IDCALTER
ALTER — Renomear / Alterar VSAM ⚠ CUIDADO

Modifica atributos de um cluster VSAM já existente: renomear, alterar SHAREOPTIONS, EXCEPTIONEXIT, ou NEWNAME para mover entre catálogos.

⚠ Esta operação requer atenção especial. Revise os parâmetros antes de executar.

Código JCL

IDCALTER.jcl
//IDCALTER JOB (ACCT),'ALTER VSAM',CLASS=A,MSGCLASS=X,
//         MSGLEVEL=(1,1),NOTIFY=&SYSUID
//*------------------------------------------------------------*
//* IDCALTER - ALTER: RENOMEIA CLUSTER VSAM                   *
//*------------------------------------------------------------*
//ALTERVS  EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN    DD *
  ALTER AKOM.VSAM.KSDS.CLUSTER                  -
        NEWNAME(AKOM.VSAM.KSDS.RENAMED)
/*
IDCDEFGD
DEFINE GDG BASE

Define uma base de Generation Data Group (GDG) no catálogo. Parâmetros: NAME, LIMIT (máximo de gerações), SCRATCH/NOSCRATCH, EMPTY/NOEMPTY.

Código JCL

IDCDEFGD.jcl
//IDCDEFGD JOB (ACCT),'DEFINE GDG',CLASS=A,MSGCLASS=X,
//         MSGLEVEL=(1,1),NOTIFY=&SYSUID
//*------------------------------------------------------------*
//* IDCDEFGD - DEFINE GDG BASE                                *
//* Cria base de Generation Data Group com LIMIT=10           *
//*------------------------------------------------------------*
//DEFGDG   EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN    DD *
  DEFINE GDG       (                              -
         NAME(AKOM.BACKUP.GDG)                   -
         LIMIT(10)                               -
         SCRATCH                                 -
         NOEMPTY                                 -
         )
/*
IDCDEFVS
DEFINE CLUSTER — VSAM KSDS

Define um cluster VSAM do tipo KSDS (Key Sequenced Data Set) com component de dados e índice. Parâmetros principais: NAME, CYLINDERS, KEYS, RECORDSIZE, SHAREOPTIONS.

Código JCL

IDCDEFVS.jcl
//IDCDEFVS JOB (ACCT),'DEFINE KSDS',CLASS=A,MSGCLASS=X,
//         MSGLEVEL=(1,1),NOTIFY=&SYSUID
//*------------------------------------------------------------*
//* IDCDEFVS - DEFINE CLUSTER VSAM KSDS                       *
//* Cria um cluster Key-Sequenced (KSDS) com DATA e INDEX     *
//*------------------------------------------------------------*
//DEFCLSTR EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN    DD *
  DEFINE CLUSTER  (                               -
         NAME(AKOM.VSAM.KSDS.CLUSTER)            -
         CYLINDERS(5 1)                           -
         KEYS(10 0)                               -
         RECORDSIZE(100 200)                      -
         INDEXED                                  -
         SHAREOPTIONS(2 3)                        -
         REUSE                                    -
         SPEED                                    -
         )                                        -
       DATA      (                                -
         NAME(AKOM.VSAM.KSDS.DATA)               -
         )                                        -
       INDEX     (                                -
         NAME(AKOM.VSAM.KSDS.INDEX)              -
         )
/*
IDCDELET
DELETE — Apagar Dataset/Cluster 🚨 DESTRUTIVO

Remove entradas do catálogo e opcionalmente apaga o dataset do volume. PURGE ignora a data de expiração; FORCE apaga componentes dependentes.

ATENÇÃO: Esta operação é IRREVERSÍVEL. Certifique-se de ter backup antes de executar em produção.

Código JCL

IDCDELET.jcl
//IDCDELET JOB (ACCT),'DELETE VSAM',CLASS=A,MSGCLASS=X,
//         MSGLEVEL=(1,1),NOTIFY=&SYSUID
//*------------------------------------------------------------*
//* IDCDELET - DELETE CLUSTER VSAM                            *
//* *** ATENÇÃO: OPERAÇÃO DESTRUTIVA — DADOS SERÃO PERDIDOS ***
//*------------------------------------------------------------*
//DELCLSTR EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN    DD *
  DELETE AKOM.VSAM.KSDS.CLUSTER                 -
         CLUSTER                                 -
         PURGE                                   -
         FORCE
/*
IDCLISTC
LISTCAT — Listar Catálogo

Lista entradas no catálogo para datasets VSAM, GDGs, aliases e clusters. Use ALL para informações detalhadas ou NAME para listagem simples.

Código JCL

IDCLISTC.jcl
//IDCLISTC JOB (ACCT),'LISTCAT',CLASS=A,MSGCLASS=X,
//         MSGLEVEL=(1,1),NOTIFY=&SYSUID
//*------------------------------------------------------------*
//* IDCLISTC - LISTCAT: LISTAR ENTRADAS DO CATALOGO           *
//*------------------------------------------------------------*
//LISTCAT  EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN    DD *
  LISTCAT LEVEL(AKOM)                            -
          ALL
/*
IDCREPRO
REPRO — Cópia/Backup VSAM

Copia ou faz backup de datasets VSAM usando REPRO. Pode copiar VSAM→VSAM, VSAM→sequencial (export) ou sequencial→VSAM (import). Suporta SKIP e COUNT para cópia parcial.

Código JCL

IDCREPRO.jcl
//IDCREPRO JOB (ACCT),'REPRO VSAM',CLASS=A,MSGCLASS=X,
//         MSGLEVEL=(1,1),NOTIFY=&SYSUID
//*------------------------------------------------------------*
//* IDCREPRO - REPRO: BACKUP VSAM PARA SEQUENCIAL             *
//*------------------------------------------------------------*
//REPROVS  EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//INVSAM   DD DSN=AKOM.VSAM.KSDS.CLUSTER,DISP=SHR
//OUTSEQ   DD DSN=AKOM.BACKUP.SEQ,
//            DISP=(NEW,CATLG,DELETE),
//            SPACE=(CYL,(5,1)),
//            DCB=(RECFM=VB,LRECL=204,BLKSIZE=0)
//SYSIN    DD *
  REPRO INFILE(INVSAM)                           -
        OUTFILE(OUTSEQ)
/*

IEBCOPY

2 membros
COMPRESS
COMPRESS — Compactar PDS In-Place

Recupera espaço desperdiçado em um PDS fazendo compressão in-place (INDD=OUTDD apontam para o mesmo dataset). Não requer dataset de saída separado.

Código JCL

COMPRESS.jcl
//COMPRESS JOB (ACCT),'COMPRESS PDS',CLASS=A,MSGCLASS=X,
//         MSGLEVEL=(1,1),NOTIFY=&SYSUID
//*------------------------------------------------------------*
//* COMPRESS - IEBCOPY: COMPRESSAO IN-PLACE DE PDS            *
//*------------------------------------------------------------*
//COMPSTEP EXEC PGM=IEBCOPY
//SYSPRINT DD SYSOUT=*
//SYSUT3   DD UNIT=SYSDA,SPACE=(CYL,(2,1))
//SYSUT4   DD UNIT=SYSDA,SPACE=(CYL,(2,1))
//INPDS    DD DSN=AKOM.TARGET.PDS,DISP=SHR
//SYSIN    DD *
  COPY INDD=INPDS,OUTDD=INPDS
/*
COPYPDS
COPY — Cópia Completa de PDS

Copia todos os membros de um PDS/PDSE para outro. Suporta SELECT (membros específicos), EXCLUDE (excluir membros) e RENAME para renomear durante a cópia.

Código JCL

COPYPDS.jcl
//COPYPDS  JOB (ACCT),'COPY PDS',CLASS=A,MSGCLASS=X,
//         MSGLEVEL=(1,1),NOTIFY=&SYSUID
//*------------------------------------------------------------*
//* COPYPDS - IEBCOPY: COPIA COMPLETA DE PDS                  *
//*------------------------------------------------------------*
//COPYSTEP EXEC PGM=IEBCOPY
//SYSPRINT DD SYSOUT=*
//SYSUT3   DD UNIT=SYSDA,SPACE=(CYL,(2,1))
//SYSUT4   DD UNIT=SYSDA,SPACE=(CYL,(2,1))
//INPDS    DD DSN=AKOM.SOURCE.PDS,DISP=SHR
//OUTPDS   DD DSN=AKOM.TARGET.PDS,
//            DISP=(NEW,CATLG,DELETE),
//            SPACE=(CYL,(10,5,50)),
//            DCB=(RECFM=FB,LRECL=80,BLKSIZE=27920)
//SYSIN    DD *
  COPY INDD=INPDS,OUTDD=OUTPDS
/*

IEBDG

1 membros
IEBDGGEN
CREATE — Gerar Dados de Teste

Gera registros de teste com IEBDG usando Field Definitions (FD). Suporta campos sequenciais (SEQ), alfanuméricos (AL), aleatórios (RAN) e fixos (FX).

Código JCL

IEBDGGEN.jcl
//IEBDGGEN JOB (ACCT),'IEBDG GENERATE',CLASS=A,MSGCLASS=X,
//         MSGLEVEL=(1,1),NOTIFY=&SYSUID
//*------------------------------------------------------------*
//* IEBDGGEN - IEBDG: GERA DADOS DE TESTE                    *
//*------------------------------------------------------------*
//GENSTEP  EXEC PGM=IEBDG
//SYSPRINT DD SYSOUT=*
//OUTFILE  DD DSN=AKOM.TEST.DATA,
//            DISP=(NEW,CATLG,DELETE),
//            SPACE=(CYL,(5,1)),
//            DCB=(RECFM=FB,LRECL=80,BLKSIZE=27920)
//SYSIN    DD *
  DSD OUTPUT=(OUTFILE)
  FD NAME=SEQFLD,LENGTH=6,STARTLOC=1,FORMAT=ZD,ACTION=SEQ,
     BEGIN=000001,INCREMENT=1
  FD NAME=NAMEFLD,LENGTH=20,STARTLOC=7,FORMAT=AN,ACTION=AL,
     FILL=C'MAINFRAME'
  FD NAME=FIXFLD,LENGTH=4,STARTLOC=27,FORMAT=AN,ACTION=FX,
     FILL=C'AKOM'
  CREATE QUANTITY=1000,NAME=(SEQFLD,NAMEFLD,FIXFLD)
  END
/*

IEBGENER

2 membros
GENERCOPY
COPY — Cópia Sequencial

Copia um dataset sequencial para outro, opcionalmente reorganizando campos com RECORD TYPE=EDIT e FIELD. Útil para reformatação de registros.

Código JCL

GENERCOPY.jcl
//GENERCOPY JOB (ACCT),'IEBGENER COPY',CLASS=A,MSGCLASS=X,
//          MSGLEVEL=(1,1),NOTIFY=&SYSUID
//*------------------------------------------------------------*
//* GENERCOPY - IEBGENER: COPIA SEQUENCIAL SIMPLES            *
//*------------------------------------------------------------*
//GENRSTEP EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1   DD DSN=AKOM.INPUT.SEQ,DISP=SHR
//SYSUT2   DD DSN=AKOM.OUTPUT.SEQ,
//            DISP=(NEW,CATLG,DELETE),
//            SPACE=(CYL,(5,1)),
//            DCB=(RECFM=FB,LRECL=80,BLKSIZE=27920)
//SYSIN    DD DUMMY
GENERPRT
PRINT — Imprimir Dataset

Imprime o conteúdo de um dataset sequencial para SYSOUT usando IEBGENER com SYSUT2 apontando para SYSOUT.

Código JCL

GENERPRT.jcl
//GENERPRT JOB (ACCT),'IEBGENER PRINT',CLASS=A,MSGCLASS=X,
//         MSGLEVEL=(1,1),NOTIFY=&SYSUID
//*------------------------------------------------------------*
//* GENERPRT - IEBGENER: IMPRIME DATASET PARA SYSOUT          *
//*------------------------------------------------------------*
//PRNTSTEP EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1   DD DSN=AKOM.INPUT.SEQ,DISP=SHR
//SYSUT2   DD SYSOUT=*
//SYSIN    DD DUMMY

IEBUPDTE

2 membros
UPDTADD
ADD — Adicionar Membros a PDS

Adiciona novos membros a um PDS usando IEBUPDTE com PARM=NEW (dataset novo) ou PARM=MOD (adicionar a existente). Usa cartões ./ ADD para delimitar membros.

Código JCL

UPDTADD.jcl
//UPDTADD  JOB (ACCT),'IEBUPDTE ADD',CLASS=A,MSGCLASS=X,
//         MSGLEVEL=(1,1),NOTIFY=&SYSUID
//*------------------------------------------------------------*
//* UPDTADD - IEBUPDTE: ADICIONA MEMBROS AO PDS               *
//*------------------------------------------------------------*
//UPDTSTEP EXEC PGM=IEBUPDTE,PARM=MOD
//SYSPRINT DD SYSOUT=*
//SYSUT1   DD DSN=AKOM.SOURCE.PDS,DISP=SHR
//SYSUT2   DD DSN=AKOM.SOURCE.PDS,DISP=SHR
//SYSIN    DD *
./ ADD NAME=NEWMEMBR
//NEWMEMBR JOB ...
//* Conteudo do novo membro
./ ENDUP
/*
UPDTCHG
CHANGE — Alterar Linhas de Membro ⚠ CUIDADO

Altera linhas específicas de um membro PDS por número de sequência usando cartões ./ CHANGE e ./ DELETE. Útil para patches em JCL de produção.

⚠ Esta operação requer atenção especial. Revise os parâmetros antes de executar.

Código JCL

UPDTCHG.jcl
//UPDTCHG  JOB (ACCT),'IEBUPDTE CHG',CLASS=A,MSGCLASS=X,
//         MSGLEVEL=(1,1),NOTIFY=&SYSUID
//*------------------------------------------------------------*
//* UPDTCHG - IEBUPDTE: ALTERA LINHAS POR NUMERO DE SEQUENCIA *
//*------------------------------------------------------------*
//CHNGSTEP EXEC PGM=IEBUPDTE,PARM=MOD
//SYSPRINT DD SYSOUT=*
//SYSUT1   DD DSN=AKOM.SOURCE.PDS,DISP=SHR
//SYSUT2   DD DSN=AKOM.SOURCE.PDS,DISP=SHR
//SYSIN    DD *
./ CHANGE NAME=MEMBRO1
         NOVA LINHA SUBSTITUINDO SEQUENCIA 010000        010000
./ ENDUP
/*

IEFBR14

2 membros
IEFALLOC
ALLOC — Alocar Datasets

Aloca um ou mais datasets (PS, PDS, PDSE) usando IEFBR14 com DISP=(NEW,CATLG). Útil para pré-alocar datasets antes de jobs que irão usá-los.

Código JCL

IEFALLOC.jcl
//IEFALLOC JOB (ACCT),'ALLOC DS',CLASS=A,MSGCLASS=X,
//         MSGLEVEL=(1,1),NOTIFY=&SYSUID
//*------------------------------------------------------------*
//* IEFALLOC - IEFBR14: ALOCACAO DE DATASETS                  *
//*------------------------------------------------------------*
//ALLOCPS  EXEC PGM=IEFBR14
//PSFILE   DD DSN=AKOM.NEW.PSFILE,
//            DISP=(NEW,CATLG,DELETE),
//            SPACE=(CYL,(5,1)),
//            DCB=(RECFM=FB,LRECL=80,BLKSIZE=27920),
//            UNIT=SYSDA
//PDSLIB   DD DSN=AKOM.NEW.PDSLIB,
//            DISP=(NEW,CATLG,DELETE),
//            SPACE=(CYL,(10,5,50)),
//            DCB=(RECFM=FB,LRECL=80,BLKSIZE=27920),
//            UNIT=SYSDA
IEFDELET
DELETE — Apagar Datasets via JCL 🚨 DESTRUTIVO

Apaga datasets existentes usando IEFBR14 com DISP=(OLD,DELETE,DELETE) ou (MOD,DELETE,DELETE) para datasets que podem não existir.

ATENÇÃO: Esta operação é IRREVERSÍVEL. Certifique-se de ter backup antes de executar em produção.

Código JCL

IEFDELET.jcl
//IEFDELET JOB (ACCT),'DELETE DS',CLASS=A,MSGCLASS=X,
//         MSGLEVEL=(1,1),NOTIFY=&SYSUID
//*------------------------------------------------------------*
//* IEFDELET - IEFBR14: DELECAO DE DATASETS                   *
//* *** ATENÇÃO: APAGA OS DATASETS PERMANENTEMENTE ***        *
//*------------------------------------------------------------*
//DELSTEP  EXEC PGM=IEFBR14
//DELPS    DD DSN=AKOM.OLD.PSFILE,
//            DISP=(OLD,DELETE,DELETE)
//DELPDS   DD DSN=AKOM.OLD.PDSLIB,
//            DISP=(OLD,DELETE,DELETE)
//DELMABE  DD DSN=AKOM.MAYBE.EXISTS,
//            DISP=(MOD,DELETE,DELETE)

TERSEMAIN

2 membros
TERSPACK
PACK — Comprimir Dataset

Comprime um dataset usando TERSEMAIN com PACK (compressão padrão) ou SPACK (compressão superior). SPACK pode atingir razões de 5:1 a 10:1 em datasets JCL/texto.

Código JCL

TERSPACK.jcl
//TERSPACK JOB (ACCT),'TERSE PACK',CLASS=A,MSGCLASS=X,
//         MSGLEVEL=(1,1),NOTIFY=&SYSUID
//*------------------------------------------------------------*
//* TERSPACK - TERSEMAIN: COMPRESSAO DE DATASET               *
//* SPACK = compressao superior (melhor ratio, mais CPU)      *
//* PACK  = compressao padrao  (mais rapido)                  *
//*------------------------------------------------------------*
//PACKSTEP EXEC PGM=TERSEMAIN
//SYSPRINT DD SYSOUT=*
//SYSUT1   DD DSN=AKOM.SOURCE.DATA,DISP=SHR
//SYSUT2   DD DSN=AKOM.TERSE.PACKED,
//            DISP=(NEW,CATLG,DELETE),
//            SPACE=(CYL,(2,1)),
//            DCB=(RECFM=VB,LRECL=1024,BLKSIZE=0),
//            UNIT=SYSDA
//SYSIN    DD *
  SPACK
/*
TERSUNPK
UNPACK — Descomprimur Dataset

Descomprime um dataset TERSE previamente comprimido com PACK ou SPACK. O dataset de saída deve ter espaço suficiente para o tamanho original.

Código JCL

TERSUNPK.jcl
//TERSUNPK JOB (ACCT),'TERSE UNPACK',CLASS=A,MSGCLASS=X,
//         MSGLEVEL=(1,1),NOTIFY=&SYSUID
//*------------------------------------------------------------*
//* TERSUNPK - TERSEMAIN: DESCOMPRESSAO DE DATASET TERSE      *
//*------------------------------------------------------------*
//UNPKSTEP EXEC PGM=TERSEMAIN
//SYSPRINT DD SYSOUT=*
//SYSUT1   DD DSN=AKOM.TERSE.PACKED,DISP=SHR
//SYSUT2   DD DSN=AKOM.RESTORED.DATA,
//            DISP=(NEW,CATLG,DELETE),
//            SPACE=(CYL,(10,2)),
//            DCB=(RECFM=FB,LRECL=80,BLKSIZE=27920),
//            UNIT=SYSDA
//SYSIN    DD *
  UNPACK
/*