Portal | Manuals | References | Downloads | Info | Programs | JCLs | Mainframe wiki | Quick Ref
IBM Mainframe Forum Index
 
Register
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist 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: 34
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: 34
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: 52
Location: UK

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: 845
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: 34
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 Fetch the Dataset names from inside m... kalyan94 TSO/ISPF 18 Wed Jun 17, 2020 2:06 pm
No new posts Started transaction enters "firs... Marso CICS 3 Sun May 31, 2020 2:14 pm
No new posts what is the DSORG(Datset orgnisation)... sandeep prajapati JCL & VSAM 8 Mon Mar 30, 2020 9:09 pm
No new posts IEBGENER is not Creating Member in PD... sandeep prajapati JCL & VSAM 7 Mon Mar 23, 2020 11:50 pm
No new posts Warning in dataset message Renato Zangerolami TSO/ISPF 18 Thu Feb 13, 2020 6:41 pm

Facebook
Back to Top
 
Job Vacancies | Forum Rules | Bookmarks | Subscriptions | FAQ | Polls | Contact Us