JCL z/OS DFSMS - IEBDG Create Records in Three Output Data Sets and Write them to Three Partitioned Data Set Members



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

JCL z/OS DFSMS - IEBDG Example 5: Create Records in Three Output Data Sets and Write them to Three Partitioned Data Set Members

Restriction: This example will not work if the data sets are system-managed or SMS data sets.
Restrição: Este exemplo não funcionará se os conjuntos de dados forem gerenciados pelo sistema ou conjuntos de dados SMS.

In this example, output records are created from three sets of utility control statements and written in three members in one partitioned data set.
Four fields are created and used in the construction of the output records.
In two of the fields (FIELD1 and FIELD3), alphabetic data is shifted.
FIELD2 is fixed zoned decimal and FIELD4 is fixed alphanumeric.
Figure 1 shows the partitioned data set members at the end of the job step.

Neste exemplo, os registros de saída são criados a partir de três conjuntos de instruções de controle do utilitário e gravados em três membros em um conjunto de dados particionado.
Quatro campos são criados e usados na construção dos registros de saída.
Em dois dos campos (FIELD1 e FIELD3), os dados alfabéticos são deslocados.
FIELD2 é decimal com zoneamento fixo e FIELD4 é alfanumérico fixo.
A Figura 1 mostra os membros do conjunto de dados particionados no final da etapa do trabalho.

Figure 1. Partitioned data set members at job step completion
Figura 1. Membros do conjunto de dados particionados na conclusão da etapa do trabalho

  //UTSTS    JOB  ...
  //STEP1    EXEC PGM=IEBDG
  //SYSPRINT DD  SYSOUT=A
  //PAROUT1  DD  DSNAME=PARSET(MEMBA),UNIT=disk,DISP=(,KEEP),
  //             VOLUME=SER=111111,SPACE=(TRK,(10,10,5)),
  //             DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)
  //PAROUT2  DD  DSNAME=PARSET(MEMBB),UNIT=AFF=PAROUT1,
  //             DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)
  //             DISP=OLD,VOLUME=SER=111111
  //PAROUT3  DD  DSNAME=PARSET(MEMBC),UNIT=AFF=PAROUT1,
  //             DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)
  //             DISP=OLD,VOLUME=SER=111111
  //SYSIN    DD  DATA
         DSD     OUTPUT=(PAROUT1)
         FD      NAME=FIELD1,LENGTH=30,FORMAT=AL,ACTION=SL
         FD      NAME=FIELD2,LENGTH=20,FORMAT=ZD
         FD      NAME=FIELD3,LENGTH=20,FORMAT=AL,ACTION=SR
         FD      NAME=FIELD4,LENGTH=30,FORMAT=AN
         CREATE  QUANTITY=4,NAME=(FIELD1,FIELD3,FIELD2)
         END
         DSD     OUTPUT=(PAROUT2)
         CREATE  QUANTITY=4,NAME=(FIELD2,(COPY=3,FIELD3))
         END
         DSD     OUTPUT=(PAROUT3)
         CREATE  QUANTITY=4,NAME=(FIELD4,FIELD1)
         END
  /*

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

  • PAROUT1 DD defines the first member (MEMBA) of the partitioned output data set.
    This example assumes that the partitioned data set does not exist before this job step;
    that is, this DD statement allocates space for the data set.
  • PAROUT2 and PAROUT3 DD define the second and third members, respectively, of the output partitioned data set.
    Note that each DD statement specifies DISP=OLD and UNIT=AFF=PAROUT1.
  • SYSIN DD defines the control data set that follows in the input stream.
  • DSD marks the beginning of a set of utility control statements and refers to the DD statement defining the member applicable to that set of utility control statements.
  • FD defines the contents of a field that is used in the subsequent construction of output records.
  • CREATE constructs four records from combinations of previously defined fields.
  • END signals the end of a set of utility control statements.

  • PAROUT1 DD define o primeiro membro (MEMBA) do conjunto de dados de saída particionado.
    Este exemplo assume que o conjunto de dados particionado não existe antes desta etapa do trabalho;
    ou seja, esta instrução DD aloca espaço para o conjunto de dados.
  • PAROUT2 e PAROUT3 DD definem o segundo e o terceiro membros, respectivamente, do conjunto de dados particionados de saída.
    Observe que cada instrução DD especifica DISP = OLD e UNIT = AFF = PAROUT1.
  • SYSIN DD define o conjunto de dados de controle que segue no fluxo de entrada.
  • DSD marca o início de um conjunto de instruções de controle de utilitário e refere-se à instrução DD que define o membro aplicável a esse conjunto de instruções de controle de utilitário.
  • FD define o conteúdo de um campo que é usado na construção subsequente de registros de saída.
  • CREATE constrói quatro registros a partir de combinações de campos previamente definidos.
  • END sinaliza o fim de um conjunto de declarações de controle da concessionária.

Parent topic: IEBDG Examples



© Copyright IBM Corp.