affiliate marketing Interview Qns

Thursday, November 4, 2010

IEBUPDTE

Its primary purpose is to update libraries, it is primarily used to make changes to source libraries. Nevertheless, many shops use a library maintenance system, such as SCLM, PANVALET, LIBRARIAN, ENDEVOR instead of the IBM utility. But if a shop does not use one of these, this utility comes into action.

this utility is used to perform the following functions:

•Create a new source library
•Add a new member to a source library
•Change an existing library member
•Catalog a JCL procedure


Although this utility can perform some other functions, these are the most commonly needed activities performed by this utility. The use of this utility is limited to the staff members who are responsible for the source library management. This utility was extensively used when most of the mainframes also used IBM source management package called SOURCE or some other in-house developed source management package, which will respond to this utility. After development of highly resourceful library management software packages, such as PANVALET, LIBRARIAN, ENDEVOR, SCLM, SRCEPARK, most of the information technology departments do not see any need to use this utility. Concerning cataloging a JCL procedure, IEBGENER is mostly used by production support staff with proper authority to update the production library for the installations, who use a PDS to store all their production procs, jcls, sysin members. It also has a drawback because of its inability to delete anything from the source library. This utility is rarely used in a data processing shop these days, since a large volume of shops stopped using IBM SOURCE Management package for a number of years. This current trend of non-IBM source management package has significantly reduced the use of this utility.

This utility uses four standard DD statements. SYSPRINT usually defines the system message files like any other job. SYSUT1 and SYSUT2 defines the library before processing and after processing, which normally remains the same, since when an add, replace operation occurs, the library remains the same, and the necessary control statements. Since we are using Source Control Library Management(SCLM) in this project, there is no possibility for this utility to be used. A handout may be distributed at a later date.


IEBPTPCH

This program is used to print or punch sequential or partitioned dataset. This program is not much in use these days when card input has been virtually eliminated from the industry


· Print a sequential file or a member of a PDS

· Punch a sequential file or a member of a PDS

· Format the printed or punched output

This utility prints a sequential file or a member or a PDS, which is again a sequential file itself. This can be easily done by IEBGENER at this time.

This utility was very much in use, approximately in the sixties or mid-seventies, when keypunch cards were used as input or output data. A flat file could be converted into a pack of 80-column card output to be taken elsewhere for any further processing. A flat file could also be created on the disk using 80-column card input. A stack of cards could be converted into a printed output which assisted the programmer to have a better desk check whether any card has been punched wrong. The use of this utility has been reduced drastically after the elimination of cards from the data-processing industry.

The following JCLs will give a reasonable idea about how this utility was used.

//GP4ABC JOB (RR, 1235,,,,8,,U),’MR. XYZ’,CLASS=S,

// MSGCLASS=G,MSGLEVEL=1,NOTIFY=GP4ABC

//***********************************************************

//* THIS PROGRAM PRINTS A FLAT FILE.

//***********************************************************

//STEP1 EXEC PGM=IEBPTPCH

//SYSPRINT DD SYSOUT=*

//SYSUT1 DD DSN=TSCBAXC.ANNSALES.DATA,DISP=SHR

//SYSUT2 DD SYSOUT=*

//SYSIN DD *

PRINT

In this example,

SYSUT1 is the input data

SYSUT2 is the output data, which will go to print

PRINT is the control statement which communicates to the utility about what kind of processing needs to be done.

//***********************************************************

//* THIS PROGRAM CREATES A PUNCHED OUTPUT FROM A FLAT //* FILE.

//***********************************************************

//STEP2 EXEC PGM=IEBPTPCH

//SYSPRINT DD SYSOUT=*

//SYSUT1 DD DSN=TSCBAXC.ANNSALES.DATA,DISP=SHR

//SYSUT2 DD SYSOUT=*

//SYSIN DD *

PUNCH TYPORG=PS

In this example,

SYSUT1 is the input data

SYSUT2 is the output data, which will go to print

PUNCH is the control statement which communicates to the utility that a batch of punched card needs to be created from the flat file.

TYPORG=PS this control statement states that the input file is a physical sequential file.

//***********************************************************

//* THIS PROGRAM PUNCHES TWO MEMBERS OF A PDS.

//***********************************************************

//STEP1 EXEC PGM=IEBPTPCH

//SYSPRINT DD SYSOUT=*

//SYSUT1 DD DSN=TSCBAXC.ANNSALES.DATA,DISP=SHR

//SYSUT2 DD SYSOUT=*

//SYSIN DD *

PUNCH TYPORG=PO,MAXNAME=2 ç Type of processing

MEMBER NAME=HDRREC ç Member 1 to be printed

MEMBER NAME=TLRREC ç Member 2 to be printed


IEBISAM

This program is used to copy, print or unload ISAM files. For any application involving ISAM files, this is an extremely important tool.

IEBDG

This program is used to generate test-data to simplify program testing. It can also be used to create an ISAM file from a sequential file that an IEBISAM, another utility cannot.

The following is the sample of a JCL statement to execute this utility program.

//GP4ABC JOB (RR, 1235,,,,8,,U),’MR. XYZ’,CLASS=S,

// MSGCLASS=G,MSGLEVEL=1,NOTIFY=GP4ABC

//*

//***********************************************************

//* THIS PROGRAM CREATES TEST DATA AS SPECIFIED IN THE //* CONTROL STATEMENT

//***********************************************************

//STEP1 EXEC PGM=IEBDG

//SYSPRINT DD SYSOUT=*

//TSTFILE1 DD DSN=TSGBAXC.SACRED.DATA,

// DISP=(NEW,CATLG),

// UNIT=SYSDA,

// SPACE=(CYL,(20,2),RLSE),

// DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160)

//SYSIN DD DUMMY

DSD OUTPUT = (TSTFILE1)

FD NAME=PARTNBR,LENGTH=30,FORMAT=ZD,INDEX=1

FD NAME=REST,LENGTH=50,FORMAT=AN

CREATE QUANTITY=100,NAME=(PARTNBR,REST)

END

TSTFILE - Specifies the test file to be created and the name is specified in

DSN with all the parameters necessary for a new file, such as

DISP, UNIT, SPACE and DCB

In the control statements:

DSD Data Set Description


FD Field Description, where the first field PARTNBR is 30 Bytes long

FD Field Description, where the second field REST is 50 Bytes long

INDEX A number which needs to be included at the end of every field

CREATE QUANTITY = 100 specifies the number of records to be generated by the program and also the associated field names, such as PARTNBR and REST.

This utility has a drawback of not providing a wide variety of field contents, where the same field in two records will have entirely non-related data.

IT IS REALLY OBSOLETE THESE DAYS, SINCE ALL INSTALLATIONS DEPEND ON SOME OTHER WAYS OF CREATING TEST DATA.


IEBCOPY

Its primary purpose is to make copies of partitioned datasets. It is often used to create backup copies of important libraries, merge several libraries together or even compress a library file that contains unused space

The following is the sample of a JCL statement to execute this utility program.

//GP4ABC JOB (RR, 1235,,,,8,,U),’MR. XYZ’,CLASS=S,

// MSGCLASS=G,MSGLEVEL=1,NOTIFY=GP4ABC

//*

//***********************************************************

//* THIS PROGRAM COPIES ONE FILE TO A BACKUP

//***********************************************************

//STEP1 EXEC PGM=IEBCOPY

//SYSPRINT DD SYSOUT=*

//COPYLIB DD DSN=TSGBAXC.SACRED.DATA,DISP=SHR

//BKUPLIB DD DSN=TSGBAXC.BKUP.SACRED.DATA,

// DISP=(,CATLG,DELETE),

// UNIT=DISK,

// SPACE=(CYL,(20,2),RLSE),

// DCB=(DSORG=PO,RECFM=FB,LRECL=80,BLKSIZE=6160)

//SYSUT3 DD UNIT=SYSDA,

// SPACE=(TRK,(1,1))

//SYSUT4 DD UNIT=SYSDA,

// SPACE=(TRK,(1,1))

//SYSIN DD *

COPY OUTDD=BKUPLIB,INDD=COPYLIB




COPYLIB - Is the data that needs to be copied to a backup

BKUPLIB - Is the backup library where COPYLIB was copied or

backed up

SYSUT3 - IBM advised mandatory DDNAME for this process

SYSUT4 - IBM advised mandatory DDNAME for this process


OUTDD - Shows the receiving library in this process, the right

operand must match the DDNAME in the body of the

JCL.

INDD - Shows the sending library in this process, the right

operand must match the DDNAME in the body of the

JCL.






The following JCL is an example for data compression.




//GP4ABC JOB (RR, 1235,,,,8,,U),’MR. XYZ’,CLASS=S,

// MSGCLASS=G,MSGLEVEL=1,NOTIFY=GP4ABC

//*

//***********************************************************

//* THIS PROGRAM COMPRESSES THE LIBRARY WHERE UNUSED //* SPACES ARE AVAILABLE.

//***********************************************************

//STEP1 EXEC PGM=IEBCOPY

//SYSPRINT DD SYSOUT=*

//COPYLIB DD DSN=TSGBAXC.SACRED.DATA,DISP=SHR

//SYSUT3 DD UNIT=SYSDA,

// SPACE=(TRK,(1,1))

//SYSUT4 DD UNIT=SYSDA,

// SPACE=(TRK,(1,1))

//SYSIN DD *

COPY OUTDD=COPYLIB,INDD=COPYLIB

In this example,

COPYLIB - Is the data that needs to be compressed

SYSUT3 - IBM advised mandatory DDNAME for this process

SYSUT4 - IBM advised mandatory DDNAME for this process

OUTDD - Shows the library name after compression

INDD - Shows the library name before compression, which is

same as OUTDD



It can be observed that in both the cases, the same DDNAME has been used, which IEBCOMPR will understand as a case of compression.

This utility can also be used for selective copying or backup where the whole PDS need not be copied or backed up. The control statement will prompt the utility which are the members need to be copied.



The following JCL is an example for selective copying.

//GP4ABC JOB (RR, 1235,,,,8,,U),’MR. XYZ’,CLASS=S,

// MSGCLASS=G,MSGLEVEL=1,NOTIFY=GP4ABC

//*

//***********************************************************

//* THIS PROGRAM WILL COPY ONLY DESIRED MEMBERS.

//***********************************************************

//STEP1 EXEC PGM=IEBCOPY

//SYSPRINT DD SYSOUT=*

//COPYLIB DD DSN=TSGBAXC.SACRED.DATA,DISP=SHR

//ARXLIB DD DSN=TSGBAXC.SELECT.SACRED.DATA,

// DISP=(,CATLG,DELETE),

// UNIT=DISK,

// SPACE=(CYL,(20,2),RLSE),

// DCB=(DSORG=PO,RECFM=FB,LRECL=80,BLKSIZE=6160)

//SYSUT3 DD UNIT=SYSDA,

// SPACE=(TRK,(1,1))

//SYSUT4 DD UNIT=SYSDA,

// SPACE=(TRK,(1,1))

//SYSIN DD *

COPY OUTDD=ARXLIB,INDD=COPYLIB

SELECT MEMBER= BDREC,CRMREC,ARXREC,OIREC

In this example,


COPYLIB - Is the source library

ARXLIB - Is the target library

SYSUT3 - IBM advised mandatory DDNAME for this process

SYSUT4 - IBM advised mandatory DDNAME for this process

OUTDD - Shows the receiving library DDNAME

INDD - Shows the sending library DDNAME

SELECT - Shows the desired members need to be copied or backed

up

IEBCOMPR

Its primary purpose is to compare two sequential or partitioned files. This program simply reads two files and finds out if they are identical or not.

The following is the sample of a JCL statement to execute this utility program.

//GP4ABC JOB (RR, 1235,,,,8,,U),’MR. XYZ’,CLASS=S,

// MSGCLASS=G,MSGLEVEL=1,NOTIFY=GP4ABC

//*

//***********************************************************

//* THIS PROGRAM COMPARES TWO DATASETS.

//***********************************************************

//STEP1 EXEC PGM=IEBCOMPR

//SYSPRINT DD SYSOUT=*

//SYSUT1 DD DSN=TSGBAXC.SACRED.DATA,DISP=SHR

//SYSUT2 DD DSN=TSGBAXC.NEWCOPY.DATA,

// DISP=SHR

//SYSIN DD DSN=TSGBAXC.PARMINPUT.DATA(CMPR),

// DISP=SHR

OR

//SYSIN DD *

COMPARE TYPORG= PS

or PO.



In this example, the DSN stated against DDNAME SYSUT1 and that of the DDNAME SYSUT2 are both inputs to the utility program IEBCOMPR. The program will read both the programs and will try to find similarity or dissimilarity between these two datasets and provide output to show the same. The parameter TYPORG shows what type of dataset is being compared, where PO means Partitioned datasets and PS means Physical Sequential file. This parm input can be provided to the program either in the form of a member in a PDS by stating the DSN and its member or using instream procedure by using SYSIN DD *


IEBGENER

It is the most commonly used utility. Its primary purpose is to make copies of sequential files, but it is often used to create sequential files or partitioned datasets

The following is the sample of a JCL statement to execute this utility program.

//GP4ABC JOB (RR, 1235,,,,8,,U),’MR. XYZ’,CLASS=S,

// MSGCLASS=G,MSGLEVEL=1,NOTIFY=GP4ABC

//*

//***********************************************************

//* THIS PROGRAM COPIES ONE FILE TO ANOTHER.

//***********************************************************

//STEP1 EXEC PGM=IEBGENER

//SYSPRINT DD SYSOUT=*

//SYSUT1 DD DSN=TSGBAXC.SACRED.DATA,DISP=SHR

//SYSUT2 DD DSN=TSGBAXC.NEWCOPY.DATA,

// DISP=(,CATLG,DELETE),

// UNIT=DISK,

// SPACE=(CYL,(20,2),RLSE),

// DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160)

//SYSIN DD DUMMY

In this example, the DSN stated against DDNAME SYSUT1 is copied to a new DSN stated against DDNAME SYSUT2. This means SYSUT1 is the input and SYSUT2 is the output. SYSIN DD DUMMY states that no other input(sysin) parameter was used in this process. DUMMY specifies that while input file was getting copied to the output file, no further manipulation was made to the copying process. This follows the same pattern when a programmer wants to suppress a particular input or output dataset by using the DDNAME DD DUMMY in the execution jcl