JCL z/OS DFSMS - IEBCOPY Copy and Replace Selected Members of a Data Set



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

JCL z/OS DFSMS - IEBCOPY Example 3: Copy and Replace Selected Members of a Data Set

In this example, two members (A and B) are selected from two input partitioned data sets (DATASET5 and DATASET6) and copied to an existing output partitioned data set (DATASET1).
Member B replaces an identically named member that already exists on the output data set.
Figure 1 shows the input and output data sets before and after processing.

Neste exemplo, dois membros (A e B) são selecionados de dois conjuntos de dados particionados de entrada (DATASET5 e DATASET6) e copiados para um conjunto de dados particionados de saída existente (DATASET1).
O membro B substitui um membro com nome idêntico que já existe no conjunto de dados de saída.
A Figura 1 mostra os conjuntos de dados de entrada e saída antes e depois do processamento.

Figure 1. Selective copy with Replace specified on the member level
Selective Copy with Replace specified on the Member Level
Figura 1. Cópia seletiva com Substituir especificada no nível do membro
Cópia seletiva com Substituir especificada no nível do membro



  //COPY     JOB     ...
  //JOBSTEP  EXEC  PGM=IEBCOPY
  //SYSPRINT DD  SYSOUT=A
  //OUT1     DD  DSNAME=DATASET1,UNIT=disk,VOL=SER=111112,
  //             DISP=(OLD,KEEP)
  //IN6      DD  DSNAME=DATASET6,UNIT=disk,VOL=SER=111115,
  //             DISP=OLD
  //IN5      DD  DSNAME=DATASET5,UNIT=disk,VOL=SER=111116,
  //             DISP=(OLD,KEEP)
  //SYSUT3   DD  UNIT=SYSDA,SPACE=(TRK,(1))
  //SYSUT4   DD  UNIT=SYSDA,SPACE=(TRK,(1))
  //SYSIN    DD  *
  COPYOPER   COPY    OUTDD=OUT1,
                     INDD=IN5,IN6
             SELECT  MEMBER=((B,,R),A)
  /*

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

  • OUT1 DD defines a partitioned data set (DATASET1), which contains three members (A, B and F).
  • IN6 DD defines a partitioned data set (DATASET6), which contains three members (B, C and D).
  • IN5 DD defines a partitioned data set (DATASET5), which contains two members (A and C).
  • SYSUT3 and SYSUT4 DD define temporary spill data sets. One track is allocated for each on a disk volume.
  • SYSIN DD defines the control data set, which follows in the input stream.
    The data set contains a COPY statement, an INDD statement, and a SELECT statement.
  • COPY indicates the start of the copy operation. The use of a SELECT statement causes a selective copy.
    The OUTDD parameter specifies DATASET1 as the output data set.
  • INDD specifies DATASET5 as the first input data set to be processed and DATASET6 as the second input data set to be processed.
    Processing occurs as follows:
    1. Selected members are searched for on DATASET5.
    2. Member A is found, but is not copied to DATASET1 because DATASET1 already has a member named A, and the replace option is not specified for member A.
    3. Selected members not found on DATASET5 are searched for on DATASET6.
    4. Member B is found and copied to DATASET1, even though there is already a DATASET1 member B in DATASET1, because the replace option is specified for member B on the member level.
      The pointer in DATASET1's directory is changed to point to the new (copied) member B; thus, the space occupied by the old member B is unused.
  • SELECT specifies the members to be selected from the input data sets (DATASET5 and DATASET6) to be copied to the output data set (DATASET1).

  • OUT1 DD define um conjunto de dados particionados (DATASET1), que contém três membros (A, B e F).
  • IN6 DD define um conjunto de dados particionados (DATASET6), que contém três membros (B, C e D).
  • IN5 DD define um conjunto de dados particionados (DATASET5), que contém dois membros (A e C).
  • SYSUT3 e SYSUT4 DD definem conjuntos de dados auxiliares temporários. Uma trilha é alocada para cada um em um volume de disco.
  • SYSIN DD define o conjunto de dados de controle, que segue no fluxo de entrada.
    O conjunto de dados contém uma instrução COPY, uma instrução INDD e uma instrução SELECT.
  • COPY indica o início da operação de cópia.
    O uso de uma instrução SELECT causa uma cópia seletiva.
    O parâmetro OUTDD especifica DATASET1 como o conjunto de dados de saída.
  • INDD especifica DATASET5 como o primeiro conjunto de dados de entrada a ser processado e DATASET6 como o segundo conjunto de dados de entrada a ser processado.
    O processamento ocorre da seguinte forma:
    1. Membros selecionados são procurados em DATASET5.
    2. O membro A foi localizado, mas não foi copiado para DATASET1 porque DATASET1 já tem um membro denominado A e a opção de substituição não foi especificada para o membro A.
    3. Membros selecionados não encontrados em DATASET5 são procurados em DATASET6.
    4. O membro B é localizado e copiado para DATASET1, embora já exista um DATASET1 membro B em DATASET1, porque a opção de substituição é especificada para o membro B no nível do membro.
      O ponteiro no diretório do DATASET1 é alterado para apontar para o novo membro B (copiado); assim, o espaço ocupado pelo antigo membro B não é utilizado.
  • SELECT especifica os membros a serem selecionados dos conjuntos de dados de entrada (DATASET5 e DATASET6) a serem copiados para o conjunto de dados de saída (DATASET1).

Parent topic: IEBCOPY Examples



© Copyright IBM Corp.