HRECALL Ignoring WAIT Parm



IBM's Command List programming language & Restructured Extended Executor

HRECALL Ignoring WAIT Parm

Postby gmosley » Fri Mar 07, 2014 3:14 am

I have a utility that needs to allocate files before it can run.
I do an HRECALL with the WAIT option and messages suppressed so that I can make sure the file is available (before checking if it exists) before attempting to allocate. That way the user shouldn't be interrupted at all or forced to re-start.
Here's the code I use:

msgstat = MSG('off')                     
"HRECALL ('"tdsname"') WAIT"             
msgrset = MSG(msgstat)                   
If sysdsn("'"tdsname"'") ¬= 'OK' Then   
  Do                                     
    zerrtp = 'ACTION'                   
    zerrsm = 'ALLOC error'               
    zerrlm = tdsname 'could not be found'
    "SETMSG MSG(ISRZ003)"               
    Return 8                             
  End

Unfortunately, I'm not suppressing anything it seems. Here's what I get when I attempt to process an SMS archived file:

ARC0612I VOLUME MOUNT ISSUED FOR RECALL OR RECOVER OF DEVSUP.TESTDBT.TRIB.OUTF
>V> "DEVSUP.TESTDBT.TRIB.OUTF"
>O> "'DEVSUP.TESTDBT.TRIB.OUTF"
>L> "'"
>O> "'DEVSUP.TESTDBT.TRIB.OUTF'"
ARC1020I DFSMSHSM IS RECALLING FROM TAPE DSN=DEVSUP.TESTDBT.TRIB.OUTF, PLEASE RETRY
THE USER REQUEST AFTER THE RECALL HAS COMPLETED.
gmosley
 
Posts: 15
Joined: Thu Sep 13, 2007 10:52 pm
Has thanked: 0 time
Been thanked: 0 time

Re: HRECALL Ignoring WAIT Parm

Postby dick scherrer » Fri Mar 07, 2014 4:01 am

Hello,

This does not answer your question directly, but if you use DEFER mount, it may help your situation.
Hope this helps,
d.sch.
User avatar
dick scherrer
Global moderator
 
Posts: 6268
Joined: Sat Jun 09, 2007 8:58 am
Has thanked: 3 times
Been thanked: 93 times

Re: HRECALL Ignoring WAIT Parm

Postby gmosley » Fri Mar 07, 2014 4:12 am

Actually, I figured out the problem right after posting but couldn't see any way to delete my original.

I was flipping between Address ISPEXEC and Address TSO mode and was inadvertently in ISPEXEC mode when I issued the HRECALL. Embarrassing...
gmosley
 
Posts: 15
Joined: Thu Sep 13, 2007 10:52 pm
Has thanked: 0 time
Been thanked: 0 time

Re: HRECALL Ignoring WAIT Parm

Postby Pedro » Fri Mar 07, 2014 4:19 am

I cannot explain why.

After the HRECALL, you should try 'z= LISTDSI(my.dsn)'. The advantage is that when LISTDSI ends, it will have a value in SYSVOLUME. If the volid is still MIGRAT, issue a SLEEP 5 and try LISTDSI again in five seconds.

LISTDSI has a RECALL parameter, but it clearly states that it will recall only if it is migrated to DASD. Perhaps HRECALL has some similar verbage somewhere. Is it the case where your dataset is on a tape?
Pedro Vera
User avatar
Pedro
 
Posts: 686
Joined: Thu Jul 31, 2008 9:59 pm
Location: Silicon Valley
Has thanked: 0 time
Been thanked: 53 times

Re: HRECALL Ignoring WAIT Parm

Postby gmosley » Fri Mar 07, 2014 4:40 am

Unfortunately, in spite of my attempt to suppress messages, the following appears:

ARC0612I VOLUME MOUNT ISSUED FOR RECALL OR RECOVER OF DEVSUP.TESTDBT.DTSF

At least it pauses there, though, meaning when it resumes, the dataset has been retrieved and my logic that confirms the existence of the dataset succeeds.

Message is annoying, though.
gmosley
 
Posts: 15
Joined: Thu Sep 13, 2007 10:52 pm
Has thanked: 0 time
Been thanked: 0 time

Re: HRECALL Ignoring WAIT Parm

Postby steve-myers » Fri Mar 07, 2014 4:59 am

At one level, I agree with you. On the other hand, if HSM is going to mount a tape to do the recall, it leaves the terminal user stuck with a dead workstation. The message gives the user a clue the workstation will come back to life sooner or later, which is a little better than leaving the user in complete limbo.
steve-myers
Global moderator
 
Posts: 2105
Joined: Thu Jun 03, 2010 6:21 pm
Has thanked: 4 times
Been thanked: 243 times

Re: HRECALL Ignoring WAIT Parm

Postby gmosley » Fri Mar 07, 2014 5:05 am

Actually, we use "virtual" tapes now and retrieval is never more than a few seconds.
gmosley
 
Posts: 15
Joined: Thu Sep 13, 2007 10:52 pm
Has thanked: 0 time
Been thanked: 0 time

Re: HRECALL Ignoring WAIT Parm

Postby steve-myers » Fri Mar 07, 2014 9:34 am

True. Even before virtual tape a lot of shops were using tape libraries, which also feature relatively fast mountscompared to operators going

I don't know about current HSM, but it used to be each data set was a separate file on the tape, and the spin to the appropriate file can be time consuming. In 1990 I think it was I was watching a round tape drive doing some awfully funky processing. I eventually determined it was HSM migrating stuff to the tape. The funky processing was HSM writing tape labels for a new file.
steve-myers
Global moderator
 
Posts: 2105
Joined: Thu Jun 03, 2010 6:21 pm
Has thanked: 4 times
Been thanked: 243 times


Return to CLIST & REXX

 


  • Related topics
    Replies
    Views
    Last post