View previous topic :: View next topic
|
Author |
Message |
amitava Warnings : 1 Active User
Joined: 30 Oct 2005 Posts: 186 Location: India
|
|
|
|
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 |
|
|
Bitneuker
CICS Moderator
Joined: 07 Nov 2005 Posts: 1104 Location: The Netherlands at Hole 19
|
|
|
|
Why would intend to perform a second GU with the same SSA? |
|
Back to top |
|
|
amitava Warnings : 1 Active User
Joined: 30 Oct 2005 Posts: 186 Location: India
|
|
|
|
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 |
|
|
Bitneuker
CICS Moderator
Joined: 07 Nov 2005 Posts: 1104 Location: The Netherlands at Hole 19
|
|
|
|
Sort your inputfile and you will have to read the db only when the key changes. |
|
Back to top |
|
|
amitava Warnings : 1 Active User
Joined: 30 Oct 2005 Posts: 186 Location: India
|
|
|
|
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 |
|
|
Sandy Zimmer
Active Member
Joined: 13 Jun 2007 Posts: 826 Location: Wilmington, DE
|
|
|
|
What status code are you getting after these calls? |
|
Back to top |
|
|
Sandy Zimmer
Active Member
Joined: 13 Jun 2007 Posts: 826 Location: Wilmington, DE
|
|
|
|
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 |
|
|
amitava Warnings : 1 Active User
Joined: 30 Oct 2005 Posts: 186 Location: India
|
|
|
|
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 |
|
|
Bitneuker
CICS Moderator
Joined: 07 Nov 2005 Posts: 1104 Location: The Netherlands at Hole 19
|
|
|
|
Is you IO-area large enough to hold the rootsegment? Is your SSA near the io-area? |
|
Back to top |
|
|
amitava Warnings : 1 Active User
Joined: 30 Oct 2005 Posts: 186 Location: India
|
|
|
|
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 |
|
|
Sandy Zimmer
Active Member
Joined: 13 Jun 2007 Posts: 826 Location: Wilmington, DE
|
|
|
|
Is MB-VSSPLESC large enough? You are wiping out part of your linkage section along with WS. |
|
Back to top |
|
|
amitava Warnings : 1 Active User
Joined: 30 Oct 2005 Posts: 186 Location: India
|
|
|
|
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 |
|
|
Sandy Zimmer
Active Member
Joined: 13 Jun 2007 Posts: 826 Location: Wilmington, DE
|
|
|
|
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 |
|
|
|