JCL - IEBUPDTE Create and Update a Library Member



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

JCL - IEBUPDTE Example 6: Create and Update a Library Member

In this example, a member of a partitioned data set is created from sequential input and existing logical records are updated.
Neste exemplo, um membro de um conjunto de dados particionado é criado a partir da entrada sequencial e os registros lógicos existentes são atualizados.

  //UPDATE   JOB  ...
  //STEP1    EXEC PGM=IEBUPDTE,PARM=MOD
  //SYSPRINT DD  SYSOUT=A
  //SYSUT1   DD  DSNAME=BROWN.OLDSEQDS,UNIT=tape,
  //             DISP=(OLD,KEEP),VOLUME=SER=001234
  //SYSUT2   DD  DSNAME=BROWN.NEWPART,UNIT=disk,DISP=(,CATLG),
  //             VOLUME=SER=111112,SPACE=(TRK,(10,5,5)),
  //             DCB=(RECFM=FB,LRECL=80,BLKSIZE=4080)
  //SYSIN    DD  *
  ./     CHANGE   NEW=PO,MEMBER=PARMEM1,LEVEL=01,
  ./             SEQFLD=605,COLUMN=40,SOURCE=0
 
  (Data statement 1, sequence number 00020)
 
  ./     DELETE   SEQ1=220,SEQ2=250
 
  (Data statement 2, sequence number 00230)
  (Data statement 3, sequence number 00260)
 
  ./      ALIAS   NAME=MEMB1
  /*

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

  • SYSUT1 DD defines the input sequential data set (BROWN.OLDSEQDS).
    The data set resides on a tape volume.
  • SYSUT2 DD defines the output partitioned data set (BROWN.NEWPART).
    Enough space is allocated to provide for members that may be added in the future.
  • SYSIN DD defines the control data set, which follows in the input stream.
  • The CHANGE function statement identifies the output member (PARMEM1) and indicates that a conversion from sequential input to partitioned output is made.
    The SEQFLD parameter indicates that a 5-byte sequence number is located in columns 60 through 64 of each data statement.
    The COLUMN=40 parameter specifies the starting column of a field (within subsequent data statements) from which replacement information is obtained.
    SOURCE=0 indicates that the replacement information is provided by you.
  • The first data statement is used as replacement data.
    Columns 40 through 80 of the statement replace columns 40 through 80 of the corresponding logical record.
    If no such logical record exists, the entire card image is inserted in the output data set member.
  • The DELETE detail statement deletes all of the logical records having sequence numbers from 220 through 250.
  • The second data statement, whose sequence number falls within the range specified in the DELETE detail statement is incorporated in its entirety in the output data set member.
  • The third data statement, which is beyond the range of the DELETE detail statement, is treated in the same manner as the first data statement.
  • ALIAS assigns the alias name MEMB1 to the output data set member PARMEM1.

  • SYSUT1 DD define o conjunto de dados sequenciais de entrada (BROWN.OLDSEQDS).
    O conjunto de dados reside em um volume de fita.
  • SYSUT2 DD define o conjunto de dados particionados de saída (BROWN.NEWPART).
    Espaço suficiente é alocado para fornecer aos membros que podem ser adicionados no futuro.
  • SYSIN DD define o conjunto de dados de controle, que segue no fluxo de entrada.
  • A instrução da função CHANGE identifica o membro de saída (PARMEM1) e indica que uma conversão de entrada sequencial para saída particionada é feita.
    O parâmetro SEQFLD indica que um número de sequência de 5 bytes está localizado nas colunas 60 a 64 de cada instrução de dados.
    O parâmetro COLUMN = 40 especifica a coluna inicial de um campo (nas instruções de dados subsequentes) a partir do qual as informações de substituição são obtidas.
    SOURCE = 0 indica que as informações de substituição são fornecidas por você.
  • A primeira declaração de dados é usada como dados de substituição.
    As colunas 40 a 80 da instrução substituem as colunas 40 a 80 do registro lógico correspondente.
    Se esse registro lógico não existir, a imagem inteira do cartão será inserida no membro do conjunto de dados de saída.
  • A instrução de detalhes DELETE exclui todos os registros lógicos com números de sequência de 220 a 250.
  • A segunda declaração de dados, cujo número de sequência cai dentro do intervalo especificado na declaração de detalhes DELETE, é incorporada em sua totalidade no membro do conjunto de dados de saída.
  • A terceira instrução de dados, que está além do intervalo da instrução de detalhes DELETE, é tratada da mesma maneira que a primeira instrução de dados.
  • ALIAS atribui o nome alternativo MEMB1 ao membro do conjunto de dados de saída PARMEM1.

Parent topic: IEBUPDTE Examples



© Copyright IBM Corp.