IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

SSAs getting


IBM Mainframe Forums -> IMS DB/DC
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
amitava
Warnings : 1

Active User


Joined: 30 Oct 2005
Posts: 186
Location: India

PostPosted: Thu Dec 06, 2007 10:04 am
Reply with quote

Again I am facing a strange problem. I don't know what's the reason behind it.
I am making a new COBOL-IMS call. The pseudo code is like -
Code:
CALL 'CBLTDLI' USING IM001T-GU         
                     PCB-03             
                     MB-VSSPLESC       
                     SSA-VHSLPS20-SSA-8
END-CALL                               

When I ran this program, it is fetching the first record successfully. And after the call, the SSA is getting initialized. So for the second call onwards, my program is getting an user-abend with the status code = AC. Though in the program, I have never initialized the SSA and also the variable attached with it.
Am I clear to explain my doubt? Please help guys. This problem I am facing, seems something very weird to me.
Back to top
View user's profile Send private message
Bitneuker

CICS Moderator


Joined: 07 Nov 2005
Posts: 1104
Location: The Netherlands at Hole 19

PostPosted: Thu Dec 06, 2007 3:45 pm
Reply with quote

Why would intend to perform a second GU with the same SSA?
Back to top
View user's profile Send private message
amitava
Warnings : 1

Active User


Joined: 30 Oct 2005
Posts: 186
Location: India

PostPosted: Thu Dec 06, 2007 4:04 pm
Reply with quote

Bitneuker, actually I am getting the subscribers (key) in my input file and after reading each record of input file, I am going to give a IMS call to fetch some data associated with the subscriber number. So I have to use the call more than once - according to my understanding & knowledge (I am new to IMS). So each time before the call we are populating the key - subscriber ID - in the SSA. Now we make the call to the IMS DB. Have you got me? Am I clear to explain?
Back to top
View user's profile Send private message
Bitneuker

CICS Moderator


Joined: 07 Nov 2005
Posts: 1104
Location: The Netherlands at Hole 19

PostPosted: Thu Dec 06, 2007 4:27 pm
Reply with quote

Sort your inputfile and you will have to read the db only when the key changes.
Back to top
View user's profile Send private message
amitava
Warnings : 1

Active User


Joined: 30 Oct 2005
Posts: 186
Location: India

PostPosted: Thu Dec 06, 2007 6:31 pm
Reply with quote

Bitneuker, you are not getting me. Subscriber ID will change for each record and we have to make the call for each record. But my question is why after every DB call, SSAs are getting initialized? Any focus on that?
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Thu Dec 06, 2007 8:00 pm
Reply with quote

What status code are you getting after these calls?
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Thu Dec 06, 2007 8:02 pm
Reply with quote

Actually, what does the DBD look like? You cannot do a GU on a child segment unless you know the key value to the parent(s).
Back to top
View user's profile Send private message
amitava
Warnings : 1

Active User


Joined: 30 Oct 2005
Posts: 186
Location: India

PostPosted: Fri Dec 07, 2007 10:10 am
Reply with quote

Sandy, u r gettiing me wrong again! I am making a GU call to the parent segment not to the child segment. However I am getting AC as status code. For debugging purpose, I put a display of SSA before and after the call. It was showing fine before the call with the segment name, command codes and key value. But after the call, the display shows that the SSA is having only spaces but nothing else where it should have the segment name, command code and the key values. Now r u getting me, Sandy?
Back to top
View user's profile Send private message
Bitneuker

CICS Moderator


Joined: 07 Nov 2005
Posts: 1104
Location: The Netherlands at Hole 19

PostPosted: Fri Dec 07, 2007 4:33 pm
Reply with quote

Is you IO-area large enough to hold the rootsegment? Is your SSA near the io-area?
Back to top
View user's profile Send private message
amitava
Warnings : 1

Active User


Joined: 30 Oct 2005
Posts: 186
Location: India

PostPosted: Fri Dec 07, 2007 6:24 pm
Reply with quote

Yop! The root segment's SSA is large enough and I have defined the SSAs in the working Storage near to linkage section. Help pls ...
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Fri Dec 07, 2007 6:26 pm
Reply with quote

Is MB-VSSPLESC large enough? You are wiping out part of your linkage section along with WS.
Back to top
View user's profile Send private message
amitava
Warnings : 1

Active User


Joined: 30 Oct 2005
Posts: 186
Location: India

PostPosted: Sat Dec 08, 2007 2:02 pm
Reply with quote

Sandy, I did not understand what do you mean by -
Quote:
Is MB-VSSPLESC large enough? You are wiping out part of your linkage section along with WS.

But I would like to say that the segment VSSPLES is having only one field - subscriber ID - that is also the key of the segment which is 15 byte long - X(15). And MB-VSSPLESC is also having a length of 15. Does it give any impact on the call? And another point is MB-VSSPLESC is included in working storage section as copybook variable. SSAs are also defined in the working storage but PCB is defined in the linkage section. Now can you please focus on the problem and the solution? Does this help you to find out any solution/ explanation of the problem?
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


Joined: 13 Jun 2007
Posts: 826
Location: Wilmington, DE

PostPosted: Sat Dec 08, 2007 5:43 pm
Reply with quote

When you issue your call, IMS returns the segment (record) into the area that you have defined in working storage. Let's say that you have defined 15 bytes and IMS returns a segment of 300 bytes. The segment will over-lay the area that it needs. Can we see both the segment definition in working storage and your DBD?
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> IMS DB/DC

 


Similar Topics
Topic Forum Replies
No new posts Combination of qualified and unqualif... IMS DB/DC 2
No new posts Usage of Segment types(SSAs) in GN ca... IMS DB/DC 6
Search our Forums:

Back to Top