08-26-2015 08:55 AM
We're doing some ETL that involves the capture of data from our mainframe (mf) platform ( IBM MVS/OS ).
From SAS EG, (v7.1) we're able to read mf flat files on disk, vsam files and mf SAS libraries without
any problem. This tells me that we have the SAS modules in place to connect and communicate
with the mf. However, we can't seem to read in a file on tape. The error messages implies that the
tap is not mounted:
ERROR: SVC99 error rc=4, reason=0218 : IKJ56221I DATA SET PACUCOM.AUTO.PREM2005.JAN0207 NOT ALLOCATED, VOLUME NOT
AVAILABLE+IKJ56221I VOLUME NECESSARY TO SATISFY YOUR REQUEST NOT ON SYSTEM, AND CANNOT BE MOUNTED.
ERROR: Error in the FILENAME statement.
We continue get this message, even though a mainframe jobs has mounted this same tape. I'm wondering if the
syntax, in the "filename statement", is correct:
filename AUTOS 'PACUCOM.AUTO.PREM2005.JAN0207' DISP=SHR;
We appreciate any suggestions that you can offer.
Thank you very much,
09-09-2015 04:57 PM
Your syntax looks OK for disk files. My suspicion is that the FILENAME allocation is not waiting long enough for the tape to be mounted. Are these disk datasets being recalled from tape backup or are they tape only?
If they are tape only then you might need to use some of these options:
filename mytape 'prod.data' vol=myvol unit=tape label=(2,SL);
If they are originally disk files then recall them from tape first before using your filename.