|
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:
- Selected members are searched for on DATASET5.
- 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.
- Selected members not found on DATASET5 are searched for on DATASET6.
- 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:
- Membros selecionados são procurados em DATASET5.
- 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.
- Membros selecionados não encontrados em DATASET5 são procurados em DATASET6.
- 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.
|