View previous topic :: View next topic
|
Author |
Message |
Vidya Bhama
New User
Joined: 17 Sep 2008 Posts: 41 Location: Chennai
|
|
|
|
What is the status code returned by a GN call with a Qualified SSA return on reaching the end of database GE or GB? |
|
Back to top |
|
|
Sinkaravelan S
New User
Joined: 21 Apr 2008 Posts: 27 Location: coimbatore-TN india
|
|
|
|
Vidya,
GB - End of DB reached
GE - Segment not found
and also this one of the important interview question..so study well each and every concept in ims ..
Thanks, |
|
Back to top |
|
|
Sandy Zimmer
Active Member
Joined: 13 Jun 2007 Posts: 826 Location: Wilmington, DE
|
|
|
|
The most important concept of IMS is POSITION. IMS is very smart. It knows where it is.
For instance - think about doing a path insert with 2 higher level fully qualified SSA. You do not get spaces in your return status code. What happened? You think maybe the segment was already there, but your status code is NOT II. It is GE. GE indicates not found. Now look at the segment level returned and you will know on which of your fully qualified key ssa statements was in error. |
|
Back to top |
|
|
Vidya Bhama
New User
Joined: 17 Sep 2008 Posts: 41 Location: Chennai
|
|
|
|
Hi,
Thanks for the reply.
My program makes a GN call with the primary key for the database which is
num PIC 9(6)
dept PIC X(3).
In the program, I supply the value to the partial Key "NUM" only and use "LOW VALUES" for Dept. When I make the GN call it gives me a code "GE" even if the NUM value is present in the database.
my SSA checks for NUMDEPT >= DB primary key.
Can you please explain this behaviour. |
|
Back to top |
|
|
Sandy Zimmer
Active Member
Joined: 13 Jun 2007 Posts: 826 Location: Wilmington, DE
|
|
|
|
Are you using a boolean SSA with greater or equal? I think you are using just equal and there is no such key. Try displaying the PCB concatenated key value. |
|
Back to top |
|
|
Sandy Zimmer
Active Member
Joined: 13 Jun 2007 Posts: 826 Location: Wilmington, DE
|
|
|
|
If you use just > you must check for a change in num value if you do not want anything other the value that you are loading. If you use a boolean, then you would load num value and load high values in the second part of the ssa for dept and < in the operator. |
|
Back to top |
|
|
itssreehere Warnings : 1 New User
Joined: 10 Jan 2006 Posts: 65 Location: chennai
|
|
|
|
I was searching for the reolution for a similar issue and saw this posting. Though this is an old post I thought this reply will be helpful for someone in future.
I was issuing a boolean call to a DB using partial key and unknown part of the key was populated with Low-values and high-values. Still the call returned 'GE' though there were many data present in the DB satisfying the condition.
When I checked in the database data was not stored in the physical sequence of the key field. In DBD the dataset access method was HDAM and for HDAM databases it is not mandatory to have key fields in sequence. This created the issue. I was able to retrieve the data in the format I wanted by including a secondary index (VSAM) created on the same keyfield in the PSB and PCB mask the database calls were changed accordingly. So my understanding is that boolean calls with partial keys may not return the expected result if the data is not in physical sequence of the key in the DB. |
|
Back to top |
|
|
|