View previous topic :: View next topic
|
Author |
Message |
JPVRoff
New User
Joined: 06 Oct 2009 Posts: 41 Location: Melbourne, Australia
|
|
|
|
Hi,
we've got an assembly subroutine that uses SVC 99 (DYNALLOC) to organise the specific dataset allocation as requested. Works fine on every site excepting those that do not force a WAIT when doing a dataset recall.
Which happens to be the default of our company mainframe.
I've been having a look around and it seems that if the S99NOMIG flag is not on, then it should recall the dataset, but our routine simply continues (although it does tell us that we have a MIGRAT dataset in the volume field.
Does anyone know how to issue the equivalent of a HWAIT in HLASM? I've been searching manuals and www and am finding very little (possibly it's my criteria).
Any pointers would be appreciated! |
|
Back to top |
|
|
JPVRoff
New User
Joined: 06 Oct 2009 Posts: 41 Location: Melbourne, Australia
|
|
|
|
I now realise my original heading was a bit unclear. I don't have a solution, I was just wondering if anyone else has had this problem.
We can do this stuff on Rexx/Clist, or when we're running under TSO, but sometimes this is not where the subroutine is called from. So I was hoping there was a solution somewhere I just haven't found yet! |
|
Back to top |
|
|
Paul Voyner
New User
Joined: 26 Nov 2012 Posts: 52 Location: UK
|
|
|
|
Looking at the manual for S99NOMIG, what you describe is what happens when S99NOMIG is on, namely does not recall and returns MIGRAT to the allocation routine. So do you know for sure what setting this bit has ? |
|
Back to top |
|
|
steve-myers
Active Member
Joined: 30 Nov 2013 Posts: 917 Location: The Universe
|
|
|
|
When the S99NOMIG bit in S99FLG11 in the S99RB is set, dynamic allocation does not recall a migrated data set and fails the allocation with X'0278' in S99ERROR in the S99RB. IKJEFF18 (DAIRFAIL) prepares a pretty decent message for this error -
IKJ56240I DATA SET xxx NOT ALLOCATED, DATA SET IS MIGRATED AND WAS NOT RECALLED
In other words, to recall a migrated data set and wait for the recall to complete, just allocate the data set without setting S99NOMIG |
|
Back to top |
|
|
JPVRoff
New User
Joined: 06 Oct 2009 Posts: 41 Location: Melbourne, Australia
|
|
|
|
steve-myers wrote: |
When the S99NOMIG bit in S99FLG11 in the S99RB is set, dynamic allocation does not recall a migrated data set and fails the allocation with X'0278' in S99ERROR in the S99RB. IKJEFF18 (DAIRFAIL) prepares a pretty decent message for this error -
IKJ56240I DATA SET xxx NOT ALLOCATED, DATA SET IS MIGRATED AND WAS NOT RECALLED
In other words, to recall a migrated data set and wait for the recall to complete, just allocate the data set without setting S99NOMIG |
Hi Steve,
That is how we run the routine (S99NOMIG is set to 0), but it doesn't work like the "WAIT" parameter in a HRECALL, or the "RECALL" parameter in a LISTDSI. It seems to use the system settings for recall processing. For our own mainframe, this setting does not wait as the default for dynamic allocations (of course, it does when allocated in JCL, but this is not the requirement). I don't believe we can have this changed back, as it was the subject of heated debate before it was implemented.
For our 'client' sites, all of these are set to RECALL and WAIT for dataset allocations when being dynamically allocated.
So, we can work out that a dataset is not allocated, but a looping wait within the program does seem a bit of a Neanderthal way to go about it. And I cannot seem to locate a DFHSM API (if there is such a thing) so that we can simply issue a "HWAIT" (or equivalent). |
|
Back to top |
|
|
|