|
In this example, three record groups are printed.
A user routine is provided to manipulate output records before they are printed.
Neste exemplo, três grupos de registros são impressos.
Uma rotina de usuário é fornecida para manipular os registros de saída antes de serem impressos.
//PRINT JOB ...
//STEP1 EXEC PGM=IEBPTPCH
//SYSPRINT DD SYSOUT=A
//SYSUT1 DD DSNAME=SEQDS,UNIT=disk,DISP=(OLD,KEEP),
// LABEL=(,SUL),VOLUME=SER=111112
//SYSUT2 DD SYSOUT=A
//SYSIN DD *
PRINT MAXFLDS=9,MAXGPS=9,MAXLITS=23,STOPAFT=32767
TITLE ITEM=('TIMECONV-DEPT D06'),
ITEM=('JAN10-17',80)
EXITS OUTREC=NEWTIME,INHDR=HDRS,INTLR=TLRS
RECORD IDENT=(6,'498414',1),
FIELD=(8,1,,10),FIELD=(30,9,XE,20)
RECORD IDENT=(2,'**',39),
FIELD=(8,1,,10),FIELD=(30,9,XE,20)
RECORD IDENT=(6,'498414',1),
FIELD=(8,1,,10),FIELD=(30,9,XE,20)
LABELS CONV=XE,DATA=ALL
/*
The control statements are as follows:
As declarações de controle são as seguintes:
- SYSUT1 DD defines the input data set, called SEQDS.
The data set resides on a disk volume.
- SYSUT2 DD defines the output data set on the system output device (printer assumed).
- SYSIN DD defines the control data set, which follows in the input stream.
- The PRINT statement:
- Initializes the print operation.
- Indicates that not more than nine FIELD parameters are included in subsequent RECORD statements (MAXFLDS=9).
- Indicates that not more than nine IDENT parameters are included in subsequent RECORD statements (MAXGPS=9).
- Indicates that not more than 23 literal characters are included in subsequent IDENT parameters (MAXLITS=23).
- Indicates that processing is ended after 32767 records are processed or after the third record group is processed, whichever comes first.
Because MAXLINE is omitted, 60 lines are printed on each page.
- TITLE specifies two titles, to be printed on one line.
The titles are not converted to hexadecimal.
- EXITS specifies the name of a user routine (NEWTIME), which is used to manipulate output records before they are printed.
- The first RECORD statement defines the first record group to be processed and indicates where information from the input records is placed in the output records.
Positions 1 through 8 of the input records appear in positions 10 through 17 of the printed output, and positions 9 through 38 are printed in hexadecimal
representation and placed in positions 20 through 79.
- The second RECORD statement defines the second group to be processed.
The parameter in the IDENT operand specifies that an input record last record edited according to the FIELD operand in this RECORD statement.
The FIELD operand specifies that positions 1 through 8 of the input records are placed in positions 10 through 17 of the printed output, and positions 9
through 38 are printed in hexadecimal representation and appear in positions 20 through 79.
- The third and last RECORD statement is equal to the first RECORD statement.
An input record that meets the parameter in the IDENT operand ends processing, unless the STOPAFT parameter in the PRINT statement has not already done so.
- LABELS specifies that all user header or trailer labels are to be printed regardless of any return code, except 16, issued by the user's exit routine.
It also indicates that the labels are converted from alphanumeric to hexadecimal representation (CONV=XE).
- SYSUT1 DD define o conjunto de dados de entrada, denominado SEQDS.
O conjunto de dados reside em um volume de disco.
- SYSUT2 DD define o conjunto de dados de saída no dispositivo de saída do sistema (impressora assumida).
- SYSIN DD define o conjunto de dados de controle, que segue no fluxo de entrada.
- A declaração PRINT:
- Inicializa a operação de impressão.
- Indica que não mais do que nove parâmetros FIELD estão incluídos nas instruções RECORD subsequentes (MAXFLDS = 9).
- Indica que não mais do que nove parâmetros IDENT são incluídos nas instruções RECORD subsequentes (MAXGPS = 9).
- Indica que não mais do que 23 caracteres literais são incluídos nos parâmetros IDENT subsequentes (MAXLITS = 23).
- Indica que o processamento é encerrado após o processamento de 32767 registros ou após o processamento do terceiro grupo de registros,
o que ocorrer primeiro.
Como MAXLINE é omitido, 60 linhas são impressas em cada página.
- TITLE especifica dois títulos, a serem impressos em uma linha.
Os títulos não são convertidos em hexadecimais.
- EXITS especifica o nome de uma rotina do usuário (NEWTIME), que é usada para manipular os registros de saída antes de serem impressos.
- A primeira instrução RECORD define o primeiro grupo de registros a ser processado e indica onde as informações dos registros de entrada
são colocadas nos registros de saída. As posições 1 a 8 dos registros de entrada aparecem nas posições 10 a 17 da saída impressa e as posições 9 a 38 são
impressas em representação hexadecimal e colocadas nas posições 20 a 79.
- A segunda instrução RECORD define o segundo grupo a ser processado.
O parâmetro no operando IDENT especifica que um registro de entrada foi o último registro editado de acordo com o operando FIELD nesta instrução RECORD.
O operando FIELD especifica que as posições 1 a 8 dos registros de entrada são colocadas nas posições 10 a 17 da saída impressa e as posições 9 a 38 são impressas
em representação hexadecimal e aparecem nas posições 20 a 79.
- A terceira e última instrução RECORD é igual à primeira instrução RECORD.
Um registro de entrada que atenda ao parâmetro no operando IDENT termina o processamento, a menos que o parâmetro STOPAFT na instrução PRINT ainda não tenha
feito isso.
- LABELS especifica que todos os rótulos de cabeçalho ou trailer do usuário devem ser impressos independentemente de qualquer código de
retorno, exceto 16, emitido pela rotina de saída do usuário.
Também indica que os rótulos são convertidos de representação alfanumérica para hexadecimal (CONV = XE).
Parent topic: IEBPTPCH Examples
© Copyright IBM Corp.
|