Saturday, 10 August 2013

JCL IEBDG utility.

The IEBDG utility provides a pattern of test data to be used as a programming debugging aid. This pattern of data can then be analyzed quickly for predictable results.
You can either use one of the IBM-supplied patterns or you can specify your own pattern of data to be generated in a variety of fields in a data set.
The fields can be changed for each record with ripple, wave, shift, roll, and other field permutations. IEBDG can accept input data records and overlay specified fields in the input with generated data.
The following is a simple example of IEGDB use:
//RU0001 JOB (001),'RUCHIN',MSGCLASS=X
//SEP001   EXEC PGM=IEBDG
//SYSPRINT DD SYSOUT=*
//OUTDS    DD DISP=(NEW,CATLG),DSN=CHRIS.TEST.DATA,UNIT=3390,
//   VOL=SER=WORK01,SPACE=(CYL,(10,1)),
//   DCB=(RECFM=FB,LRECL=80,BLKSIZE=8000)
//SYSIN    DD *
  DSD OUTPUT=(OUT)
  FD NAME=FIELD1,LENGTH=30,FORMAT=AL,ACTION=RP
  FD NAME=FIELD2,LENGTH=10,PICTURE=10,'TEST DATA '
  FD NAME=FIELD3,LENGTH=10,FORMAT=RA
  CREATE QUANTITY=90000,NAME=(FIELD1,FIELD2,FIELD3)
  END
/*
This job creates a new data set, CHRIS.TEST.DATA, with 90,000 records. Each record is 80 bytes, as specified in the DCB parameters in the DD statement. The control statements specify three fields that occupy the first 50 bytes of each record. By default, IEBDG fills the remaining bytes with binary zeros. The three fields are:
  • An alphabetic field ('ABCDEF...'), 30 bytes long. It is rippled (rotated left one byte) after each record is generated.
  • The second field contains 10 bytes with the fixed constant 'TEST DATA '.
  • The third field contains 10 bytes with random binary data.
The utility can generate more complex patterns, but this example is typical of simple usage. It also illustrates an estimate of the amount of disk space needed for data:
  • A 3390 track holds about 57 K, less whatever space is lost to inter-record gaps.
  • The data control block (DCB) parameters, which relate to the program that will use the test data, specify:
    • A logical record length (LRECL) of 80
    • A block size (BLKSIZE) of 8000, and
    • A record format (RECFM) of fixed block (FB)
The space requirements (SPACE) for the data set are based on the following assumptions:
  • Approximately six blocks of 8000 each will probably fit on one track.
  • Each block contains 100 records of 80 bytes each, and each track contains 600 records.
  • A cylinder contains 15 tracks, therefore a cylinder will hold 9000 of these records.
  • Given these assumptions, 10 cylinders are needed to hold 90,000 records. So 10 cylinders is the primary space allocation specified in the JCL, with one cylinder as the secondary allocation increment. The secondary allocation is used only if the primary allocation is not sufficient space.


Created with Artisteer

No comments:

Post a Comment