Here is a typical batchjob located in the ++HOLD that needs to be run to move VSAM maintenance from the SMP/E staging files to the actual VSAM data sets.
//NMVIP EXEC PGM=NMVIP
//STEPLIB DD DISP=SHR,DSN=&TGTPREF.CC2DPLD
//PANLIN DD DISP=SHR,DSN=&TGTPREF.CC11VSMI(PAN@$IP)
//PANLOUT DD DISP=SHR,DSN=&DSNPREF.PANLDIS
//SYSPRINT DD SYSOUT=* ,,
//SYSIN DD *
COPY PANELS INDD=PANLIN OUTDD=PANLOUT OPT=INSTALL
//*
Note that the DD statements and SYSIN DD * of PANLxxx match the DSN of the PANLOUT DD and the first 3 characters of the member name in PANLIN.
NMVIP is set up so that the varying DD statements call different code to load the staging files into the different VSAM databases correctly.
If the DD statements do not match the dataset to be updated, the IUVE49 error occurs.
An example of a job that fails:
//STEPLIB DD DISP=SHR,DSN=hlq.NETMSTR.V122.CC2DPLD
//MODSIN DD DISP=SHR,DSN=hlq.NETMSTR.V122.CC11VSMI(PAN@$IP)
//MODSOUT DD DISP=SHR,DSN=hlq.NETMSTR.V122.PANLDIS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
COPY MODS INDD=MODSIN OUTDD=MODSOUT OPT=INSTALL
It contains the DD's and control cards for MODSDIS but the DSN and member for PANLDIS.
Easiest way to ensure the job runs correctly is to copy the JCL directly from the ++HOLD and change the dataset names to fit the environment.