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: 24
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: 24
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 User


Joined: 30 Nov 2013
Posts: 462
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: 24
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 FTP - JCL failed while passing FTP co... Suneetha1612 JCL & VSAM 12 Wed Nov 16, 2016 7:33 pm
No new posts To trim spaces in a pipe delimited da... Nish84 COBOL Programming 16 Mon Oct 10, 2016 1:54 pm
This topic is locked: you cannot edit posts or make replies. Job to wait and continue based on reply yugendran COBOL Programming 5 Wed Oct 05, 2016 1:46 pm
No new posts Allocate dataset withour BLKSIZE Susanta CLIST & REXX 2 Thu Sep 22, 2016 11:51 am
No new posts dataset copy question - REPRO or some... atulxp TSO/ISPF 2 Wed Aug 03, 2016 10:56 pm


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