View previous topic :: View next topic
|
Author |
Message |
kiraj
New User
Joined: 27 Sep 2012 Posts: 9 Location: India, Bangalore
|
|
|
|
Hi,
I get system abend code 013, reason code 00000200. Abend in host command EXECIO or address environment routine TSO
I used CALL BPXWDYN 'ALLOC DD(LAMIN) DA('DSN') SHR SUBSYS(LAM)'. And tried to read the librarain dataset using the below command
'EXECIO * DISKR LAMIN (STEM BOOK. FINIS'
How can I suppress this abend in the rexx code.?
I used SIGNAL ON ERROR/FAILURE, still the abend occurs at the console. |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
Have you tried using a member name in the BPXWDYN allocation? I suspect your problem is that you cannot allocate the entire LIBRARIAN master file, just members, using the subsystem. |
|
Back to top |
|
|
Nic Clouston
Global Moderator
Joined: 10 May 2007 Posts: 2455 Location: Hampshire, UK
|
|
|
|
If the dataset really is a Librarian dataset then I believe it is in a proprietary format that EXECIO will not be able to handle. If I am wrong then someone will correct my belief. |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
Nic, CA provides the LAM subsystem with LIBRARIAN to allow members to be read as if the master file is a PDS so IEBGENER, for example, can be used to copy a single member. However, I don't believe this subsystem will support other types of access -- but that really is a question to be directed to CA support to get an answer. |
|
Back to top |
|
|
Nic Clouston
Global Moderator
Joined: 10 May 2007 Posts: 2455 Location: Hampshire, UK
|
|
|
|
Thanks, Robert. I'll probably forget the info by the time I need it again! |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello,
One of the manuals on the Librarian bookshelf is the:
File Access Interface Routines Reference Guide.
Been a while since i used FAIR, but it has been around for a very long time. |
|
Back to top |
|
|
Pedro
Global Moderator
Joined: 01 Sep 2006 Posts: 2547 Location: Silicon Valley
|
|
|
|
Quote: |
How can I suppress this abend in the rexx code.? |
The question is posed as if sometimes it works and sometimes it does not. Does it ever work? If it never works, why even try EXECIO? |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10873 Location: italy
|
|
|
|
read the manuals about the abend code 013, reason code 00000200.
pretty easy to follow the logic
from the manual for the S013 abend
look at the description of the IEC141I. message to understand the meaning of the RC returned
and act accordingly
but something smells fishy around here , the terminology You used does not fit the S013 abend
suggest You investigate better
generally for <any> program is not easy to handle from the inside the system abends |
|
Back to top |
|
|
Akatsukami
Global Moderator
Joined: 03 Oct 2009 Posts: 1788 Location: Bloomington, IL
|
|
|
|
kiraj wrote: |
Hi,
I get system abend code 013, reason code 00000200. Abend in host command EXECIO or address environment routine TSO
I used CALL BPXWDYN 'ALLOC DD(LAMIN) DA('DSN') SHR SUBSYS(LAM)'. And tried to read the librarain dataset using the below command
'EXECIO * DISKR LAMIN (STEM BOOK. FINIS'
How can I suppress this abend in the rexx code.? |
RTFM, Kiran-kun. And since the reference there points to another manual, RTFM again. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello,
A Librarian Master File is stored in a proprietary format and a "normal"
open will Not work.
You need to use the access tools provided by CA or find another way to get to what you need. |
|
Back to top |
|
|
kiraj
New User
Joined: 27 Sep 2012 Posts: 9 Location: India, Bangalore
|
|
|
|
Robert Sample wrote: |
Have you tried using a member name in the BPXWDYN allocation? I suspect your problem is that you cannot allocate the entire LIBRARIAN master file, just members, using the subsystem. |
Yes, I used member name for allocation of librarian file in BPXWDYN routine. This works when member exists in the librarian dataset and goes well with EXECIO command to read the librarian dataset with member.
But EXECIO abends when member is not found in librarain dataset. How can we suppress the abend?
After the call to BPXWDYN, I tried using OUTTRAP with LISTDS command to trap the list of members avilable in librarain, and it doesn't work too. |
|
Back to top |
|
|
Nic Clouston
Global Moderator
Joined: 10 May 2007 Posts: 2455 Location: Hampshire, UK
|
|
|
|
"doesn't work" does not help without the 'how it does not work'!
Why do you want to hide the abend when there is an error? It is an error and you need to know about it. |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10873 Location: italy
|
|
|
|
let' s start working around the problem
since a LAM subsystem <thing> is considered a SEQUENTIAL DATASET
when happened when Yo tried a simple iebgener
SYSUT2 DD SYSOUT=*
SYSUT1 pointing to an existing member
SYSUT1 pointing to a NON existing member
as already told You cannot trap a SYSTEM abend unless You use pretty sophisticated coding
Assembler ONLY and not easy
and REXX unfortunately can NOT do it |
|
Back to top |
|
|
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
Kiraj,
What exactly are you trying to do?
If you work off a list of Librarian modules, there'd be no need to try to "trap" anything untrappable, except in the unfortunate instance someone deleting a module after you have accessed the list.
Set out here, or with CA Support, what it is you are trying to achieve, rather than some unworkable work-around for the method you have chosen to implement. |
|
Back to top |
|
|
kiraj
New User
Joined: 27 Sep 2012 Posts: 9 Location: India, Bangalore
|
|
|
|
Hi Bill,
My requirement is to read the member from librarian file and expand in a screen. I want to search the member across available librarian datasets, if member is not found then it should do nothing or send error message.
Hence i used dynamic allocation routine to perform my requirement. It works for existing members. For members not found,it is abending. Either i want to supress this abend or send some error message.
How can I achieve this? |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello,
Is there some reason you are unwilling to use the CA provided access method?
I don't know anyone who has tried to access Librarian via BPXWDYN (so i'm not aware of what should/will work). Everyone i know that used CA's offerings was successful reading Librarian.
Is there some business / technical Not to use what is supported? |
|
Back to top |
|
|
Mickeydusaor
Active User
Joined: 24 May 2006 Posts: 258 Location: Salem, Oregon
|
|
|
|
Did you even try to check the RETURN CODEs from EXECIO |
|
Back to top |
|
|
Stefan
Active User
Joined: 12 Jan 2006 Posts: 110 Location: Germany
|
|
|
|
kiraj wrote: |
I want to supress this abend or send some error message |
I assume you have written a REXX program to do this stuff. If this is the case, have you tried the OUTTRAP() function to trap the error messages?
You cannot suppress the messages, but it is possible to "hide" them by writing the messages to a stem variable and processing it contents later on. |
|
Back to top |
|
|
PeterHolland
Global Moderator
Joined: 27 Oct 2009 Posts: 2481 Location: Netherlands, Amstelveen
|
|
|
|
Quote: |
You cannot suppress the messages, but it is possible to "hide" them by writing the messages to a stem variable and processing it contents later on.
|
OUTTRAP traps output from commands, including those written in REXX.
The TS wants to suppress system abend messages, and that is, stated eralier, not possible. So there is no "hiding". |
|
Back to top |
|
|
|