|
In this example, two partitioned members and input records from the input stream are used as the basis of a partitioned output member.
Each block of 12 output records contains 10 modified records from an input partitioned member and two records from the input stream.
Figure 1 shows the contents of the output partitioned member at the end of the job step.
Neste exemplo, dois membros particionados e registros de entrada do fluxo de entrada são usados ??como base de um membro de saída
particionado.
Cada bloco de 12 registros de saída contém 10 registros modificados de um membro particionado de entrada e dois registros do fluxo de entrada.
A Figura 1 mostra o conteúdo do membro particionado de saída no final da etapa do trabalho.
Figure 1. Output partitioned member at job step completion
Figura 1. Membro particionado de saída na conclusão da etapa do trabalho

//MIX JOB ...
//STEP1 EXEC PGM=IEBDG
//SYSPRINT DD SYSOUT=A
//PARIN1 DD DSNAME=INSET1(MEMBA),UNIT=disk,DISP=OLD,
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=800,DSORG=PS),
// VOLUME=SER=111111
//PARIN2 DD DSNAME=INSET2(MEMBA),UNIT=disk,DISP=OLD,
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=960,DSORG=PS),
// VOLUME=SER=222222
//PAROUT DD DSNAME=PARSET(MEMBA),UNIT=disk,DISP=(,KEEP),
// VOLUME=SER=333333,SPACE=(TRK,(10,10,5)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=960,DSORG=PO)
//SYSIN DD DATA
DSD OUTPUT=(PAROUT),INPUT=(PARIN1,PARIN2)
FD NAME=FIELD1,LENGTH=13,PICTURE=13,'DEPARTMENT 21'
REPEAT QUANTITY=10,CREATE=2
CREATE QUANTITY=10,INPUT=PARIN1,NAME=FIELD1
CREATE QUANTITY=2,INPUT=SYSIN
(input records 1 through 20)
$$$E
REPEAT QUANTITY=10,CREATE=2
CREATE QUANTITY=10,INPUT=PARIN2,NAME=FIELD1
CREATE QUANTITY=2,INPUT=SYSIN
(input records 21 through 40)
$$$E
END
/*
The control statements are as follows:
As declarações de controle são as seguintes:
- PARIN1 DD defines one of the input partitioned members.
- PARIN 2 DD defines the second of the input partitioned members.
(Note that the members are from different partitioned data sets.)
- PAROUT DD defines the output partitioned member.
This example assumes that the partitioned data set does not exist before the job step;
that is, this DD statement allocates space for the partitioned data set.
- SYSIN DD defines the control data set, which follows in the input stream.
- DSD marks the beginning of a set of utility control statements and refers to the DD statements defining the input and output data sets.
- FD creates a 13-byte field in which the picture DEPARTMENT 21 is placed.
- The first REPEAT statement indicates that the following group of two CREATE statements is to be repeated 10 times.
- The first CREATE statement creates 10 output records.
Each output record is constructed from an input record (from partitioned data set INSET1) and from previously defined FIELD1.
- The second CREATE statement indicates that two records are to be constructed from input records included next in the input stream.
- The $$$E record separates the input records from the REPEAT statement.
The next REPEAT statement group is identical to the preceding group, except that records from a different partitioned member are used as input.
- END signals the end of a set of utility control statements.
- PARIN1 DD define um dos membros particionados de entrada.
- PARIN 2 DD define o segundo dos membros particionados de entrada.
(Observe que os membros são de diferentes conjuntos de dados particionados.)
- PAROUT DD define o membro particionado de saída.
Este exemplo assume que o conjunto de dados particionados não existe antes da etapa do trabalho;
ou seja, esta instrução DD aloca espaço para o conjunto de dados particionado.
- 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 do utilitário e se refere às instruções DD que definem os conjuntos de dados de
entrada e saída.
- FD cria um campo de 13 bytes no qual a imagem DEPARTAMENTO 21 é colocada.
- A primeira instrução REPEAT indica que o seguinte grupo de duas instruções CREATE deve ser repetido 10 vezes.
- A primeira instrução CREATE cria 10 registros de saída.
Cada registro de saída é construído a partir de um registro de entrada (do conjunto de dados particionado INSET1) e de FIELD1 previamente definido.
- A segunda instrução CREATE indica que dois registros devem ser construídos a partir dos registros de entrada incluídos a seguir no fluxo de
entrada.
- O registro $$$ E separa os registros de entrada da instrução REPEAT.
O próximo grupo de instruções REPEAT é idêntico ao grupo anterior, exceto que os registros de um membro particionado diferente são usados ??como entrada.
- END sinaliza o fim de um conjunto de declarações de controle da concessionária.
Parent topic: IEBDG Examples
© Copyright IBM Corp.
|