SHARE Requirement - MVSS William J. Smith Sr. Consulting z/OS Systems Engineer sfowjs@sbcglobal.net (415) 531-7667whe Requirement: IEBCOPY should allow multiple input partitioned data sets to be unloaded when the objective is to produce a single output file. This restriction is undocumented in the utility manual and can only be found in the messages manual. IEBCOPY currently restricts the COPY UNLOAD operation/function to a single input partitioned data set as documented in utility message IEB180I. If the user attempts to unload 2 or more unique partitioned data sets with a single COPY operation to a single output file, the job step will terminate with RC=8 and fail as follows: IEB180I MORE THAN ONE INPUT DATA SET SPECIFIED FOR UNLOAD OPERATION IEB151I JOB HAS TERMINATED WITH ERROR(S) IEB147I END OF JOB - 8 WAS HIGHEST SEVERITY CODE IBM DFSMS development should eliminate the restriction. In addition, if the restriction is not lifted by IBM, the error condition should be raised before unloading the first input data set failing the job immediately. It is a waste of machine time to unload the first input data set successfully and subsequently fail the job due to a construction error caused by a utility design restriction and the presence of one or more additional input data sets. Justification: Notably, software developers (IBM and customers), testers, and SMP/E packaging specialists may need to combine multiple partitioned data sets into a single, unloaded output file. Lifting the restriction is of particular value to a product packager who is creating, for example, RELFILEs from multiple input data sets. Without this capability, the packager is compelled unnecessarily to create multiple RELFILES. The restriction creates a more complex, time consuming, and costly installation scenario for the packager as well as the system programmer running a SMP/E RECEIVE. S A M P L E Job --- Demonstrating Problem with IEBCOPY Unload Design Restriction //IEBCOPY JOB (0),'IEBCOPY FAILS z/OS ',CLASS=A,MSGCLASS=X //STEP#1 EXEC PGM=IEBCOPY,COND=(0,LT) //SYSPRINT DD SYSOUT=* //SAMPIN1 DD DISP=SHR,DSN=TEST.SHIP.BASE //SAMPIN2 DD DISP=SHR,DSN=TEST.SHIP.BASE2 //SAMPOUT DD UNIT=3390,VOL=SER=TEST01,SPACE=(CYL,(5,2),RLSE), // DSN=TEST.UNLOAD.DATASET, // DCB=(RECFM=VS,LRECL=27936,BLKSIZE=27940,DSORG=PS), // DISP=(,CATLG,DELETE) //SYSIN DD * COPY O=SAMPOUT I=SAMPIN1 I=SAMPIN2 S M=(ABCUX001,ABCUXA01,ABCUXB01,ABCUXC01,ABCUXD01) S M=(XYZSASLF,XYZSASRD,XYZSASRR,XYZSASSA,XYZSASST,XYZSASTT) S M=(ASMUX001,FTPCLNT,INSTAGT,INSTSRV) S M=(XYZACTKY,XYZDBBKP,XYZDBCMP,XYZDBCON) S M=($CPYRITE) S M=(XYZFCL01,XYZFCL02,XYZFCL03,XYZFCL04,XYZFCL05) S M=(XYZFCL06,XYZFCL07,XYZFCL08,XYZFCL09,XYZFCL10) /* IEBCOPY MESSAGES AND CONTROL STATEMENTS PAGE 1 IEB1135I IEBCOPY FMID HDZ1C10 SERVICE LEVEL UA70791 DATED 20130919 DFSMS 01.12.00 z/OS 01.12.00 HBB7770 CPU 2818 IEB1035I XYZRFILE RF#9 17:26:52 WED 19 AUG 2015 PARM='' COPY O=SAMPOUT I=SAMPIN1 I=SAMPIN2 S M=(ABCUX001,ABCUXA01,ABCUXB01,ABCUXC01,ABCUXD01) S M=(XYZSASLF,XYZSASRD,XYZSASRR,XYZSASSA,XYZSASST,XYZSASTT) S M=(ASMUX001,FTPCLNT,INSTAGT,INSTSRV) S M=(XYZACTKY,XYZDBBKP,XYZDBCMP,XYZDBCON) S M=($CPYRITE) S M=(XYZFCL01,XYZFCL02,XYZFCL03,XYZFCL04,XYZFCL05) S M=(XYZFCL06,XYZFCL07,XYZFCL08,XYZFCL09,XYZFCL10) IEB1013I COPYING FROM PDS INDD=SAMPIN1 VOL=TEST02 DSN=TEST.SHIP.BASE IEB1014I TO PDSU OUTDD=SAMPOUT VOL=TEST01 DSN=TEST.UNLOAD.DATASET IEB167I FOLLOWING MEMBER(S) UNLOADED FROM INPUT DATA SET REFERENCED BY SAMPIN1 IEB154I ASMUX001 HAS BEEN SUCCESSFULLY UNLOADED IEB154I FTPCLNT HAS BEEN SUCCESSFULLY UNLOADED IEB154I INSTAGT HAS BEEN SUCCESSFULLY UNLOADED IEB154I INSTSRV HAS BEEN SUCCESSFULLY UNLOADED IEB154I ABCUXA01 HAS BEEN SUCCESSFULLY UNLOADED IEB154I ABCUXB01 HAS BEEN SUCCESSFULLY UNLOADED IEB154I ABCUXC01 HAS BEEN SUCCESSFULLY UNLOADED IEB154I ABCUXD01 HAS BEEN SUCCESSFULLY UNLOADED IEB154I ABCUX001 HAS BEEN SUCCESSFULLY UNLOADED IEB154I XYZACTKY HAS BEEN SUCCESSFULLY UNLOADED IEB154I XYZDBBKP HAS BEEN SUCCESSFULLY UNLOADED IEB154I XYZDBCMP HAS BEEN SUCCESSFULLY UNLOADED IEB154I XYZDBCON HAS BEEN SUCCESSFULLY UNLOADED IEB154I XYZSASLF HAS BEEN SUCCESSFULLY UNLOADED IEB154I XYZSASRD HAS BEEN SUCCESSFULLY UNLOADED IEB154I XYZSASRR HAS BEEN SUCCESSFULLY UNLOADED IEB154I XYZSASSA HAS BEEN SUCCESSFULLY UNLOADED IEB154I XYZSASST HAS BEEN SUCCESSFULLY UNLOADED IEB154I XYZSASTT HAS BEEN SUCCESSFULLY UNLOADED IEB1098I 19 OF 30 MEMBERS UNLOADED FROM INPUT DATA SET REFERENCED BY SAMPIN1 IEB177I $CPYRITE WAS SELECTED BUT NOT FOUND IN ANY INPUT DATA SET IEB177I XYZFCL01 WAS SELECTED BUT NOT FOUND IN ANY INPUT DATA SET IEB177I XYZFCL02 WAS SELECTED BUT NOT FOUND IN ANY INPUT DATA SET IEB177I XYZFCL03 WAS SELECTED BUT NOT FOUND IN ANY INPUT DATA SET IEB177I XYZFCL04 WAS SELECTED BUT NOT FOUND IN ANY INPUT DATA SET IEB177I XYZFCL05 WAS SELECTED BUT NOT FOUND IN ANY INPUT DATA SET IEB177I XYZFCL06 WAS SELECTED BUT NOT FOUND IN ANY INPUT DATA SET IEB177I XYZFCL07 WAS SELECTED BUT NOT FOUND IN ANY INPUT DATA SET IEB177I XYZFCL08 WAS SELECTED BUT NOT FOUND IN ANY INPUT DATA SET IEB177I XYZFCL09 WAS SELECTED BUT NOT FOUND IN ANY INPUT DATA SET IEB177I XYZFCL10 WAS SELECTED BUT NOT FOUND IN ANY INPUT DATA SET IEB180I MORE THAN ONE INPUT DATA SET SPECIFIED FOR UNLOAD OPERATION IEB151I JOB HAS TERMINATED WITH ERROR(S) IEB147I END OF JOB - 8 WAS HIGHEST SEVERITY CODE