PDSMAN loading a PDSE from an unloaded PDS fails (program objects). Receive message FCO477A.

Document ID : KB000009104
Last Modified Date : 14/02/2018
Show Technical Document Details
Issue:

We are using PDSMAN FASTCOPY to unload a PDS of program objects (LOADLIB). We want to load this into a PDSE. The PDSE load fails:

//COPY EXEC PGM=IEBCOPY 
//FCOPYON DD DUMMY 
//SYSPRINT DD SYSOUT=* 
//SYSIN DD * 
* V4PDS -) SEQ 
COPY INDD=((INTDC,R)),OUTDD=HDSEQ 
S M=TESTPGM 
* SEQ -) PDSE 
COPY INDD=((HDSEQ,R)),OUTDD=HDPDE 
S M=TESTPGM 
/* 
//INTDC DD DISP=SHR,DSN=LOADLIB.PDS
//HDPDE DD DISP=SHR,DSN=LOADLIB.PDSE
//HDSEQ DD DISP=SHR,DSN=LOADLIB.SEQ
...
FCO477A IGW01160T NON-PROGRAM OBJECT MEMBER ENCOUNTERED DURING 
FCO477A LOAD PROCESSING OF A PROGRAM LIBRARY. MEMBER TESTPGM WAS NOT LOADED
Environment:
PDSMAN 7.7
Cause:

The unloaded PDSE (program object) is in a different format so you cannot unload a PDS and reload that to PDSE (or vice versa). 

Resolution:

There are a couple of approaches that can be used:

  • Copy directly from the PDS to the PDSE, or
  • Reload as PDS and then copy to PDSE.
Additional Information:

Selective FastCopy Processing

Processing of IEBCOPY COPY, COPYMOD, and ALTERMOD operations can be selectively enabled or disabled at the job step level.

  • FastCopy processing can be disabled for a selected job step by including the following DD statement in that step:

//FCOPYOFF  DD DUMMY

Note: This override is ignored if the output is a PDSE or program object library for which PDSMAN has interest (as defined by one or more PDSMAN Initialization Control Statements) and the input is also a PDSE or program object library.

  • FastCopy processing can be enabled for a selected job step by including the following DD statement in that step:

//FCOPYON  DD DUMMY

Specifying these DD statements overrides the value coded on the $IEBCOPY FASTCOPY= parameter.