JCL z/OS DFSMS - IEBGENER Edit and Copy a Sequential Input Data Set with Labels



Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com

JCL z/OS DFSMS - IEBGENER Example 6: Edit and Copy a Sequential Input Data Set with Labels

DFSMS (Data Facility Storage Management Subsystem) - 2.4.0


In this example, a sequential input data set is edited and copied.
Neste exemplo, um conjunto de dados de entrada sequencial é editado e copiado.

  //TAPETAPE JOB  ...
  //STEP1    EXEC PGM=IEBGENER
  //SYSPRINT DD  SYSOUT=A
  //SYSUT1   DD  DSNAME=OLDSET,UNIT=tape,DISP=(OLD,KEEP),
  //             VOLUME=SER=001234,LABEL=(3,SUL)
  //SYSUT2   DD  DSNAME=NEWSET,UNIT=tape,DISP=(NEW,PASS),
  //             DCB=(RECFM=FB,LRECL=80),
  //             VOLUME=SER=001235,LABEL=(,SUL)
  //SYSIN    DD  *
       GENERATE  MAXFLDS=3,MAXLITS=11
         RECORD  FIELD=(10,'**********',,1),
                 FIELD=(5,1,HE,11),FIELD=(1,'=',,16)
          EXITS  INHDR=ROUT1,OUTTLR=ROUT2
         LABELS  DATA=INPUT
         RECORD  LABELS=2
 
  (first header label record)
  (second header label record)
  (primeiro registro de etiqueta de cabeçalho)
  (segundo registro de etiqueta de cabeçalho)
 
         RECORD   LABELS=2
 
  (first trailer label record)
  (second trailer label record)
  (primeiro registro da etiqueta do trailer)
  (segundo registro da etiqueta do trailer)

  /*

The control statements are as follows:
As declarações de controle são as seguintes:

  • SYSUT1 DD defines the sequential input data set (OLDSET).
    The data set was originally written as the third data set on a tape volume.
  • SYSUT2 DD defines the sequential output data set (NEWSET).
    The data set is written as the first data set on a tape volume.
    The output records are blocked to reduce the space required by the data set and to reduce the access time required when the data set is subsequently referred to.
    The BLKSIZE parameter is omitted so that the system will calculate an optimal value that is less than or equal to 32.760 bytes unless the system programmer sets the default differently.
    The data set is passed to a subsequent job step. The LABEL=(,SUL) is required because of the user labels created.
  • SYSIN DD defines the control data set, which follows in the input stream.
  • GENERATE indicates that a maximum of three FIELD parameters is included in subsequent RECORD statements and that a maximum of 11 literal characters are included in subsequent FIELD parameters.
  • The first RECORD statement controls the editing, as follows: asterisks are placed in positions 1 through 10; positions 1 through 5 of the input record are converted from H-set BCDIC to EBCDIC mode and moved to positions 11 through 15; and an equal sign is placed in position 16.
  • EXITS indicates that the specified user routines require control when SYSUT1 is opened and when SYSUT2 is closed.
  • LABELS indicates that labels are included in the input stream.
  • The second RECORD statement indicates that the next two records from SYSIN should be written out as user header labels on SYSUT2.
  • The third RECORD statement indicates that the next two records from SYSIN should be written as user trailer labels on SYSUT2.

  • SYSUT1 DD define o conjunto de dados de entrada sequencial (OLDSET).
    O conjunto de dados foi originalmente gravado como o terceiro conjunto de dados em um volume de fita.
  • SYSUT2 DD define o conjunto de dados de saída sequencial (NEWSET).
    O conjunto de dados é gravado como o primeiro conjunto de dados em um volume de fita.
    Os registros de saída são bloqueados para reduzir o espaço exigido pelo conjunto de dados e para reduzir o tempo de acesso necessário quando o conjunto de dados é posteriormente referido.
    O parâmetro BLKSIZE é omitido para que o sistema calcule um valor ideal que seja menor ou igual a 32,760 bytes, a menos que o programador do sistema defina o padrão de forma diferente.
    O conjunto de dados é passado para uma etapa de trabalho subsequente. O LABEL = (, SUL) é necessário devido aos rótulos de usuário criados.
  • SYSIN DD define o conjunto de dados de controle, que segue no fluxo de entrada.
  • GENERATE indica que no máximo três parâmetros FIELD são incluídos nas instruções RECORD subsequentes e que no máximo 11 caracteres literais são incluídos nos parâmetros FIELD subsequentes.
  • A primeira instrução RECORD controla a edição, da seguinte maneira: os asteriscos são colocados nas posições 1 a 10; as posições 1 a 5 do registro de entrada são convertidas do modo H-set BCDIC para EBCDIC e movidas para as posições 11 a 15; e um sinal de igual é colocado na posição 16.
  • EXITS indica que as rotinas de usuário especificadas requerem controle quando SYSUT1 é aberto e quando SYSUT2 é fechado.
  • LABELS indica que os rótulos estão incluídos no fluxo de entrada.
  • A segunda instrução RECORD indica que os próximos dois registros de SYSIN devem ser gravados como rótulos de cabeçalho do usuário em SYSUT2.
  • A terceira instrução RECORD indica que os próximos dois registros de SYSIN devem ser gravados como rótulos de trailer do usuário em SYSUT2.

This example shows the relationship between the RECORD LABELS statement, the LABELS statement, and the EXITS statement.
IEBGENER tries to write a first and second label trailer as user labels at close time of SYSUT2 before returning control to the system; the user routine, ROUT2, can review these records and change them, if necessary.

Related reading: For more information, see EXEC Statement.

Este exemplo mostra o relacionamento entre a instrução RECORD LABELS, a instrução LABELS e a instrução EXITS.
IEBGENER tenta escrever um primeiro e um segundo trailer de rótulo como rótulos de usuário no momento próximo de SYSUT2 antes de devolver o controle ao sistema; a rotina do usuário, ROUT2, pode revisar esses registros e alterá-los, se necessário.

Leitura relacionada: Para obter mais informações, consulte a Declaração EXEC.

Parent topic: IEBGENER Examples



© Copyright IBM Corp.