JCL z/OS DFSMS - IEBGENER Edit and Copy a Sequential z/OS UNIX File to a Sequential Data Set



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

JCL z/OS DFSMS - IEBGENER Example 7: Edit and Copy a Sequential z/OS UNIX File to a Sequential Data Set

DFSMS (Data Facility Storage Management Subsystem) - 2.4.0


In this example,a z/OS UNIX System Services (z/OS UNIX) file is edited and copied.
The logical record length of the output data set is less than that of the input data set.

Neste exemplo, um arquivo z / OS UNIX System Services (z / OS UNIX) é editado e copiado.
O comprimento do registro lógico do conjunto de dados de saída é menor do que o conjunto de dados de entrada.

  //DISKDISK JOB  ...
  //STEP1    EXEC PGM=IEBGENER
  //SYSPRINT DD SYSOUT=A
  //SYSUT1 DD PATH='/dist3/stor44/sales.mon',FILEDATA=TEXT,PATHOPTS=ORDONLY,
  //          LRECL=100,BLKSIZE=1000,RECFM=FB
  //SYSUT2   DD DSNAME=NEWSET,UNIT=disk,DISP=(NEW,KEEP),
  //            VOLUME=SER=111113,DCB=(RECFM=FB,LRECL=80,
  //            BLKSIZE=640),SPACE=(TRK,(20,10))
  //SYSIN    DD *
       GENERATE MAXFLDS=4,MAXGPS=1
          EXITS IOERROR=ERRORRT
  GRP1 RECORD IDENT=(8,'FIRSTGRP',1),FIELD=(21,80,,60),FIELD=(59,1,,1)
  GRP2 RECORD FIELD=(11,90,,70),FIELD=(69,1,,1)
  /*

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

  • SYSUT1 DD defines the input file.
    Its name is /dist3/stor44/sales.mon.
    It contains text in 100 byte records.
    The record delimiter is not stated here.
    The file might be on a non-System/390 system that is available via Network File System (NFS).
  • SYSUT2 DD defines the output data set (NEWSET).
    Twenty tracks of primary storage space and ten tracks of secondary storage space are allocated for the data set on a disk volume.
    The logical record length of the output records is 80 bytes, and the output is blocked.
  • SYSIN DD defines the control data set, which follows in the input stream.
  • GENERATE indicates that a maximum of four FIELD parameters are included in subsequent RECORD statements and that one IDENT parameter appears in a subsequent RECORD statement.
  • EXITS identifies the user routine that handles input/output errors.
  • The first RECORD statement (GRP1) controls the editing of the first record group.
    FIRSTGRP, which appears in the first eight positions of an input record, is defined as being the last record in the first group of records.
    The data in positions 80 through 100 of each input record are moved into positions 60 through 80 of each corresponding output record.
    (This example implies that the data in positions 60 through 79 of the input records in the first record group are no longer required; thus, the logical record length is shortened by 20 bytes.)
    The data in the remaining positions within each input record are transferred directly to the output records, as specified in the second FIELD parameter.
  • The second RECORD statement (GRP2) indicates that the remainder of the input records are to be processed as the second record group.
    The data in positions 90 through 100 of each input record are moved into positions 70 through 80 of the output records.
    (This example implies that the data in positions 70 through 89 of the input records from group 2 are no longer required; thus, the logical record length is shortened by 20 bytes.)
    The data in the remaining positions within each input record are transferred directly to the output records, as specified in the second FIELD parameter.

  • SYSUT1 DD define o arquivo de entrada.
    Seu nome é /dist3/stor44/sales.mon.
    Ele contém texto em registros de 100 bytes.
    O delimitador de registro não é declarado aqui.
    O arquivo pode estar em um sistema não System/390 que está disponível por meio do Network File System (NFS).
  • SYSUT2 DD define o conjunto de dados de saída (NEWSET).
    Vinte trilhas de espaço de armazenamento primário e dez trilhas de espaço de armazenamento secundário são alocadas para o conjunto de dados em um volume de disco.
    O comprimento do registro lógico dos registros de saída é de 80 bytes e a saída é bloqueada.
  • SYSIN DD define o conjunto de dados de controle, que segue no fluxo de entrada.
  • GENERATE indica que no máximo quatro parâmetros FIELD são incluídos nas instruções RECORD subsequentes e que um parâmetro IDENT aparece em uma instrução RECORD subsequente.
  • EXITS identifica a rotina do usuário que lida com erros de entrada/saída.
  • A primeira instrução RECORD (GRP1) controla a edição do primeiro grupo de registros.
    FIRSTGRP, que aparece nas primeiras oito posições de um registro de entrada, é definido como sendo o último registro no primeiro grupo de registros.
    Os dados nas posições 80 a 100 de cada registro de entrada são movidos para as posições 60 a 80 de cada registro de saída correspondente.
    (Este exemplo implica que os dados nas posições 60 a 79 dos registros de entrada no primeiro grupo de registro não são mais necessários; assim, o comprimento do registro lógico é reduzido em 20 bytes.)
    Os dados nas posições restantes dentro de cada registro de entrada são transferido diretamente para os registros de saída, conforme especificado no segundo parâmetro FIELD.
  • A segunda instrução RECORD (GRP2) indica que o restante dos registros de entrada devem ser processados ??como o segundo grupo de registros.
    Os dados nas posições 90 a 100 de cada registro de entrada são movidos para as posições 70 a 80 dos registros de saída.
    (Este exemplo implica que os dados nas posições 70 a 89 dos registros de entrada do grupo 2 não são mais necessários; assim, o comprimento do registro lógico é reduzido em 20 bytes.)
    Os dados nas posições restantes dentro de cada registro de entrada são transferidos diretamente aos registros de saída, conforme especificado no segundo parâmetro FIELD.

Figure 1 shows how a sequential input data set is edited and copied.
A Figura 1 mostra como um conjunto de dados de entrada sequencial é editado e copiado.

Parent topic: IEBGENER Examples



© Copyright IBM Corp.