Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

How to recall (or wait for recall of) dataset in HLASM

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> PL/I & Assembler
View previous topic :: :: View next topic  
Author Message
JPVRoff

New User


Joined: 06 Oct 2009
Posts: 27
Location: Melbourne, Australia

PostPosted: Wed Feb 18, 2015 9:19 am    Post subject: How to recall (or wait for recall of) dataset in HLASM
Reply with quote

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
View user's profile Send private message

JPVRoff

New User


Joined: 06 Oct 2009
Posts: 27
Location: Melbourne, Australia

PostPosted: Wed Feb 18, 2015 10:21 am    Post subject: How do I recall (or wait for recall of) a dataset in HLASM?
Reply with quote

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
View user's profile Send private message
Paul Voyner

New User


Joined: 26 Nov 2012
Posts: 51
Location: Switz

PostPosted: Wed Feb 18, 2015 12:58 pm    Post subject:
Reply with quote

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
View user's profile Send private message
steve-myers

Active Member


Joined: 30 Nov 2013
Posts: 534
Location: The Universe

PostPosted: Wed Feb 18, 2015 5:26 pm    Post subject:
Reply with quote

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
View user's profile Send private message
JPVRoff

New User


Joined: 06 Oct 2009
Posts: 27
Location: Melbourne, Australia

PostPosted: Thu Feb 19, 2015 2:45 am    Post subject:
Reply with quote

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
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> PL/I & Assembler All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts Browse dataset cvnlynn CLIST & REXX 4 Tue Jul 18, 2017 3:52 am
No new posts Fileaid 2 commands instream work. In ... descann Compuware & Other Tools 2 Tue May 16, 2017 3:31 pm
No new posts To find out size allocated to a seque... ashek15 JCL & VSAM 15 Thu Apr 27, 2017 9:42 am
No new posts LISTCAT on a dataset with symbolic pa... shreya19 JCL & VSAM 5 Fri Apr 07, 2017 5:43 pm
No new posts Unable to catalog a gdg dataset resid... Shovan JCL & VSAM 7 Fri Mar 24, 2017 2:24 pm


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us