Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

GE status code even for Correct Keys

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> IMS DB/DC
View previous topic :: :: View next topic  
Author Message
Sumeru

New User


Joined: 15 Apr 2006
Posts: 10

PostPosted: Fri Dec 19, 2008 4:34 pm    Post subject: GE status code even for Correct Keys
Reply with quote

Hi,

Am facing some problem while trying to retrieve a segment using GHU database call. All the keys and other parameters passed to the DLITPLI call(Used in PLI language) are correct but still receiving an Status code GE 'Segment not found'. I checked the PSB also. It also contains the segment type which am trying to access. Can you please throw some light on this problem.

Thanks in advance..
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 19, 2008 7:03 pm    Post subject:
Reply with quote

Either you don't really have a segment with those keys or something is not coded correctly. Make sure that your SSA is fully qualified and consider posting the related code here.
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 19, 2008 9:16 pm    Post subject:
Reply with quote

One more thing - is this a root segment or a child segment?
Back to top
View user's profile Send private message
Sumeru

New User


Joined: 15 Apr 2006
Posts: 10

PostPosted: Sun Dec 21, 2008 1:23 pm    Post subject:
Reply with quote

The structure of the database is WM11(Parent segment) and WM21(shild segment).We are trying to fect the WM21 segment which is a child segment. The same code is working in BTS(Batch Terminal Simulator) and dailing when tested in IMS. We saw the unloads of the database and the segment is present in the database with the correct keys. We even tried issuing an GET NExt (GN) call and the call is fecthing all WM21's (child segments) under the parent(WM11) and failing to fecth the last occrence of the segment(segment which we really need).

If we create once more WM21 segment under the same parent segment, this time the call is fecthing the alst but one segment (the one which it didn't fecth previosly) and failing to fecth the last segment again(newly created one). Please help us to resolve this issue..

Thanks in advance
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


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

PostPosted: Sun Dec 21, 2008 7:21 pm    Post subject:
Reply with quote

"Fetch" is a DB2 term and IMS is COMPLETELY different. DB2 is relative and IMS is a heirarchy structure. You are trying to retrieve a child of a parent segment without giving IMS the key of the parent. I cannot understand how it could possibly be working in BTS if you are going after a specific child.

You can issue unqualified get nexts against child segments without knowing the parent, but if you want a specific child under a specific parent, you must full qualify both SSAs.

If you issue unqualified calls to retrieve child segments, you will get all child segments for all parents. That being said, IMS always knows where it is even if you do not. If you want to know the child's parent, you need to take a look at the key feedback area in the PCB. It will have the concatenated keys for all parents all the way up the chain.

What is your application trying to achieve?
Back to top
View user's profile Send private message
Sumeru

New User


Joined: 15 Apr 2006
Posts: 10

PostPosted: Mon Dec 22, 2008 11:32 am    Post subject:
Reply with quote

Hi Sandy,

First let me Thank for your fast response.

There are some 10 modules which perfomrs some function. ModuleX searches for a segment with the keys entered by the user on online screen. If it is not finding the segment in the database, then ModuleX inserts the segment under the parent(which is default). Then ModuleY will retrieve the segment with the same keys using the GHU call to perform some replace function.

The problem here is in ModuleY when a GHU call is issued using the complete keys of Parent and the child, it is not able to find the segment and returning the status code GE.

I tried retrieving the same segment using the complete keys in ModuleX where it is actually inserted and able to retireve the segment successfully.
But not able to retrieve it in ModuleY. icon_sad.gif

Everything is going fine in BTS and not going well in IMS. I don't why tere is difference.

For the sake of testing, i tested to retrieve the segment using Get Next calls giving the keys of parent in ModuleY, am able to retrieve all the child segments under that parent except the one which i need(which was inserted in the previos module ModuleX).

Thanks again..
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


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

PostPosted: Mon Dec 22, 2008 5:57 pm    Post subject:
Reply with quote

The problem here is in ModuleY when a GHU call is issued using the complete keys of Parent and the child, it is not able to find the segment and returning the status code GE.

Did you take a look at the SEGMENT LEVEL in the PCB to determine if the parent was retrieved? If both the parent and the child were returned, the segment level would be 2 - if just the parent, the segment level would be 1.

BTS is not reusable. Also, are these modules linked statically or dynamically? It is very difficult to determine the problem without the entire picture.
Back to top
View user's profile Send private message
Sumeru

New User


Joined: 15 Apr 2006
Posts: 10

PostPosted: Wed Dec 24, 2008 6:33 pm    Post subject:
Reply with quote

Hi Sandy,

The Segment Level is '01' from which it is clear that the parent is retrieved but the child is not retrieved. The modules were linked statically only.

Thanks again.
Back to top
View user's profile Send private message
Sandy Zimmer

Active Member


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

PostPosted: Wed Dec 24, 2008 6:48 pm    Post subject:
Reply with quote

OK - we are making progress! Was this a process that was previously working or is it all new? Will you please show us your code for this call along with the coding for the SSAs?

Please think about your link status. If indeed statically linked, you will need to re-link all modules involved. You will then have the correct load module.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> IMS DB/DC All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts UNIT=AFF for Easytrieve code gandikk JCL & VSAM 7 Wed Jul 12, 2017 11:42 pm
No new posts DB2 Program abending without giving a... rahulgarg14 DB2 7 Mon May 29, 2017 8:10 pm
No new posts Testing rerad cursor for status with ... John F Dutcher DB2 8 Fri May 19, 2017 9:35 pm
No new posts Job failing with USER = 4093 REASON C... Pradeepa S ABENDS & Debugging 1 Wed May 17, 2017 3:35 pm
No new posts COBOL Code Parsers and Lineage Establ... balimanja COBOL Programming 2 Tue May 02, 2017 3:30 am


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us