Re: ADATA Exit
Ray, Here is the combination that works (but requires a file definition which is not okay). I give it a 0 on OPEN (result: the file is opened) I will get now only WRITE calls (not exactly what documentation says) - and I can extract my data I get a final CLOSE call. What I think is wrong- the return-code of 4 (with any reason) is ignored. Instead of passing control to the exit (WRITE or PROCESS) it passes control to it for CLOSE and then terminates with RC=20. Message from HLASM is: ** ASMA418C Unable to open ADATA file (althru it is defines as without the exit or when I give it RC of 0) -- Martin Pi_cap_CPU - all you ever need around MWLC/SCRT/CMT in z/VSE more at http://www.picapcpu.de
Re: ADATA Exit
I must correct parts of my last stmt- I said: I will get now only WRITE calls (not exactly what documentation says) Correct is: It does pass control to the PROCESS exit (when 0 at OPEN is given) and honors the RC given at return of PROCESS (just as the manual says). BUT what is left is the quirk that there is no way to stop the ASAM90 from opening SYSADAT file. -- Martin Pi_cap_CPU - all you ever need around MWLC/SCRT/CMT in z/VSE more at http://www.picapcpu.de
Re: ADATA exit
I've had a peek at the HLASM source code (now that we have it here at Hursley). I see that the VSE version of the Assembler appears to have a bug in the ADATA open support, in that code in ASMA00V for PQ26966 (from 1999) causes a spurious check on whether the SYSADAT DTF was opened correctly when ADATA is specified, even though the relevant OPEN is bypassed if the OPEN exit set return code 4, so this check will always fail in that case. It's not immediately obvious to me why this code was added in the first place. Martin, please can you report it through your usual IBM service channel? Some of the HLASM team follow this mailing list so it shouldn't be a surprise to them. From a quick glance, I cannot see any similar problem in the code for other platforms, so I suspect it is VSE-specific. As for question 2, my VSE knowledge is so rusty that it's actually DOS/VS knowledge. The code tests DTFFLG1 for DTFIGNOP to test whether it's assigned IGN, but I don't know to assign something other than a logical unit as IGN. Perhaps the developer copied code for other files without noticing this limitation. However, I hope that this question should become irrelevant if you can get a fix for the first one. Jonathan Scott IBM Hursley, UK
Re: ADATA exit
Jonathan, now that makes sense- Thank you here is my detailed answer: From a quick glance, I cannot see any similar problem in the code for other platforms, so I suspect it is VSE-specific. My guess as well. As for question 2, my VSE knowledge is so rusty that it's actually DOS/VS knowledge. The code tests DTFFLG1 for DTFIGNOP to test whether it's assigned IGN, but I don't know to assign something other than a logical unit as IGN. Perhaps the developer copied code for other files without noticing this limitation. The developer ment what I did- use the SYSnnn that can be designated for SYSADAT (by doing so and so) and assign it IGN. The flags signal if the SYSnumber is assigned ignore. However, I hope that this question should become irrelevant if you can get a fix for the first one. Looks like this is the case. Why would anyone have a DLBL and an EXTENT-card just to use an ASSIGN to IGN it. -- Martin Pi_cap_CPU - all you ever need around MWLC/SCRT/CMT in z/VSE more at http://www.picapcpu.de
Re: ADATA Exit
John, Three sample ADATA exits are provided with the HLASM ASMASAMP library -- Only in z/OS (and the z/OS, I can use, did not restore the ASMASAMP) you might be able to use them as models for the ADATA exit you are writing. I am done testing (with the restriction that I need a file as the code is now) They are described in Appendix I of the HLASM Programmer's Guide. I have seen that and also inspected the lengthy sample printed in the PDF-manual. I decided to write from scratch: the result looks promising. All that is left is to store the resulting data (and then to further process it) Did you ever try to copy code from a PDF? As and idea: a funny char aside of the space (in col 1) and an other one in col 10 and col 16 would make it a easy to rebuild source from a (PDF-)printed manual. -- Martin Pi_cap_CPU - all you ever need around MWLC/SCRT/CMT in z/VSE more at http://www.picapcpu.de
PDF vs. Bookie (was: ADATA Exit)
On 2012-04-20 11:53, Martin Truebner wrote in ASSEMBLER-LIST: Did you ever try to copy code from a PDF? As and idea: a funny char aside of the space (in col 1) and an other one in col 10 and col 16 would make it a easy to rebuild source from a (PDF-)printed manual. 1) There's another good reason here to regret IBM's SoD to abandon Bookie in favor of PDF. 1a) I did this many years ago with, IIRC, the very same example in Bookie format. Wasn't too bad. Strip the gutters and filter out the page headers. 1b) I like to distribute README files containing code examples as HTML with the code between PRE and /PRE. Copy the HTML; edit out the (minimal) markup and go. 2) It may depend on your PDF viewer. Some are worse than others (not to call the others better). Many trash the indention. Grrr/ gil