of the ease in moving groups of data sets or volumes, the IEHMOVE utility is generally favored by systems programmers. A sample IEHMOVE job: //stepname EXEC PGM=IEHMOVE,PARM='LINECNT=xx,POWER=n' //SYSPRINT DD SYSOUT=class //SYSUT1 DD UNIT=aaaa,VOL=SER=bbbbbb,DISP=OLD //anyname1 DD UNIT=cccc,VOL=SER=dddddd,DISP=OLD //anyname2 DD UNIT=eeee,VOL=SER=ffffff,DISP=OLD //SYSIN DD ... The DD statements for IEHMOVE, other than SYSPRINT and SYSIN, refer to DASD or magnetic tape volumes instead of individual data sets. However, referencing volumes can pose a problem, since specifying DISP=OLD gains exclusive access to a volume. Therefore, while your IEHMOVE job runs, that entire volume (and all datasets on it) is unavailable to other users. This is acceptable for private volumes, such as tape or mountable DASD volumes, but unacceptable public volumes. The SYSUT1 DD statement specifies a DASD volume where three work data set required by IEHMOVE are allocated. You must specify unit and volume information for this DD statement. IEHMOVE was one of the first systems to be developed in PL/S. In this example, three sequential data sets (SEQSET1, SEQSET2, and SEQSET3) are moved from one disk volume to three separate disk volumes. Each of the three receiving volumes is mounted when it is required by IEHMOVE. The source data sets are not cataloged. Space is allocated by IEHMOVE. //MOVEDS JOB ... //STEP1 EXEC PGM=IEHMOVE //SYSPRINT DD SYSOUT=A //SYSUT1 DD UNIT=disk,VOLUME=SER=333333,DISP=OLD //DD1 DD UNIT=(disk,,DEFER),DISP=OLD, // VOLUME=(PRIVATE,,SER=(222222)) //DD2 DD UNIT=(disk,,DEFER),DISP=OLD, // VOLUME=(PRIVATE,,SER=(222333)) //DD3 DD UNIT=(disk,,DEFER),DISP=OLD, // VOLUME=(PRIVATE,,SER=(222444)) //DD4 DD VOLUME=(PRIVATE,RETAIN,SER=(444444)), // UNIT=disk,DISP=OLD //SYSIN DD * MOVE DSNAME=SEQSET1,TO=disk=222222,FROM=disk=444444 MOVE DSNAME=SEQSET2,TO=disk=222333,FROM=disk=444444 MOVE DSNAME=SEQSET3,TO=disk=222444,FROM=disk=444444 /* IEHPROGM IEHPROGM builds and maintains system control data. It is also used for renaming and scratching (deleting) a data set. Some of the tasks that IEHPROGM can perform include the following: Deleting (scratching) a data set or PDS member Renaming a data set or PDS member Cataloging or uncataloging a data set Maintaining data set passwords in the system PASSWORD dataset For cataloging: //SYSIN DD * CATLG DSNNAME=data-set-name, VOL=device-name=volume-number /* // IFHSTATR Select and format SMF records for tape errors. Independent Utilities These programs do not run under the control of an operating system IBCDASD Format direct access volumes and assign alternate tracks. IBCDMPRS Dump and restore direct access volumes. IBCRCVRP Assign alternate tracks, recover and replace data. ICAPRTBL Load Forms Control Buffer (FCB) and Universal Character Set (UCS) buffer on printer. Service Aids These are utility program that IBM documents in service aids or diagnosis manuals. The original OS/360 Service aids had