I have been burned in the past by the syntax for OPEN and CLOSE not being identical. You have an extra pair of parentheses in your CLOSE which I believe is causing the macro to interpret your DCB address as being an expression "(R3)" rather than a register reference, which would mean it would be looking at absolute location "3" rather than using the contents of register 3 as the DCB pointer. Needless to say it won't find a valid DCB there. I believe you want instead
  CLOSE (R3),MODE=31

In contexts where a DCB auto close at step termination succeeds, some programs may run with this kind of bug for years with no ill effects other than the mysterious error message from attempting to do a CLOSE on a bad DCB with a strange DDNAME. Your IFGOTCOA error indicates that auto-close is not succeeding, so there could be other undesirable side effects if the problem is not fixed.


Paul Schuster wrote:
Hello:

I have a AMODE 31 RMODE ANY program that dynamically allocates an existing
PDS with DISP=SHR and NDISP=KEEP.

I create a DCB in 24bit storage, and issue OPEN like this:

OPEN ((R3),INPUT),MODE=31

The OPEN completes RC=0.

With very little intervening code (a WTO, but no READ of the data set)
I issue this:

CLOSE ((R3)),MODE=31

R3 does point to the DCB, but the CLOSE gets RC=4.

I get messages like this:

IEC223I 04,IFG0200V,INIT,,UNKNOWN IEC999I IFG0TC0A,IFG0TC0B,INIT , ,DEB ADDR = 7BDD94,DSN = thedsnthatwasopened

Any idea on what is wrong?  I don't    specify a DCBE,  as that is supposed
to be optional??

Thank you.

Paul
...


--
Joel C. Ewing, Fort Smith, AR        [EMAIL PROTECTED]

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to