MVSFORUMS.com Forum Index MVSFORUMS.com
A Community of and for MVS Professionals
 
 FAQFAQ   SearchSearch   Quick Manuals   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Need help with GE status code.

 
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> IMS
View previous topic :: View next topic  
Author Message
ahreddy
Beginner


Joined: 26 Jul 2006
Posts: 7
Topics: 3

PostPosted: Sun Sep 10, 2006 12:51 pm    Post subject: Need help with GE status code. Reply with quote

Hi friends,

I am executing a DLI batch Program. It's IMS calls DB2 program.

The program access low level child segments, do some processing, taking check points, after taking check point number 2, it's doing repostioning, while doing repostioning on the SegmentC, it's abending with status code 'GE'.

Level1: SegmentA.
Level2: SegmentB, parent=SegmentA
Level3: SegmentC, parent=SegmentB
SegmentD, parent=SegmentB

Could any one help me to resolve this problem.
Back to top
View user's profile Send private message
shekar123
Advanced


Joined: 22 Jul 2005
Posts: 528
Topics: 90
Location: Bangalore India

PostPosted: Sun Sep 10, 2006 11:48 pm    Post subject: Reply with quote

ahreddy,

Status code GE indicates Segment not found.You could get GE while making any of the database calls:
Code:

     |-------|-------------|------|-------------------------------------------|
     | PCB   |             |      |                                           |
     | Status|   Database  | Cate-|                                           |
     | Code  |    Calls    | gory | Description                               |
     |-------|-------------|------|-------------------------------------------|
     |-------|-------------|------|-------------------------------------------|
     | GE    | GU, GHU     |   1  | Segment not found.                        |
     |       | GN, GHN     |      |                                           |
     |       | GNP, GHNP   |      |                                           |
     |       | ISRT (ADD)  |      |                                           |
     |-------|-------------|------|-------------------------------------------|

Check for the description below:
Code:

     --------------------------------------------------------------------------
     GE

     Explanation:


     For call-level programs:

     IMS returns this status code when:


     *   DL/I is unable to find a segment that satisfies the segment search
         argument described in a Get call.

     *   For an ISRT call, DL/I cannot find one of the parents of the segment
         being inserted.

     *   For an ISRT call, DL/I was requested to insert a root segment outside
         of the accessible range determined by a SETR statement.

     *   The program issued a STAT  (5)  call for OSAM buffer pool statistics,
         but the buffer pool does not exist.

     *   The program issued a STAT  (5) call for VSAM buffer subpool
         statistics, but the subpools do not exist.

     *   A nonmessage driven BMP issued a FLD call to an MSDB segment.  After
         the FLD call but before a commit point, the MSDB segment was deleted.
         GE can be returned for this reason after either a SYNC or a CHKP call.


     For command-level programs:

     *   DL/I is unable to find a segment that satisfies the segment described
         in a Get command.

     *   For an ISRT command, DL/I cannot find one of the parents of the
         segment you're inserting.

     *   The program issued a STAT  (5) command for ISAM or OSAM buffer pool
         statistics, but the buffer pool does not exist.

     *   The program issued a STAT call for  (5) VSAM buffer subpool
         statistics, but the subpools do not exist.


   | Rather than having an abnormal termination occur, this status code is
   | returned to the application program that issued the EXEC DLI command.

     Programmer Response:  The action you take depends on your program.

     Note:  When a GNP call for a DEDB sequential dependent segment results in
            a GE status code, the I/O area contains a length indication of 10
            bytes and the original position of the deleted portion of the
            sequential dependent part.  Position is at the end of the
            sequential dependent chain.

      (5) STAT is a Product-sensitive programming interface.

_________________
Shekar
Grow Technically
Back to top
View user's profile Send private message
ahreddy
Beginner


Joined: 26 Jul 2006
Posts: 7
Topics: 3

PostPosted: Mon Sep 11, 2006 8:48 am    Post subject: Reply with quote

Sekhar123,

Thanks for your willingness to help.

I know about GE status code, The program is working fine in production, I recompiled it in test environment, and running it in test environment to see how it works before changes.

I need suggestions, where and why the program is abending in test, because I did not make any coding changes. Could it be because of PCB ?.

Thanks

AH.
Back to top
View user's profile Send private message
shekar123
Advanced


Joined: 22 Jul 2005
Posts: 528
Topics: 90
Location: Bangalore India

PostPosted: Mon Sep 11, 2006 11:01 am    Post subject: Reply with quote

ahreddy,

Basically it could be the problem of Segments not found in the Test Database ,probably your test database is not having the database with full segments structure / data not available as in Prod for which the calls are failing. Check out the database structure in the DBD as well as PCB code in the PSB Sources .Hope this helps.
_________________
Shekar
Grow Technically
Back to top
View user's profile Send private message
sunkusiva
Beginner


Joined: 04 Apr 2006
Posts: 8
Topics: 1

PostPosted: Tue Sep 19, 2006 7:59 pm    Post subject: Reply with quote

AHReddy,
In your pgm, Are you establishing the repositioning after checkpoint at the segment that you read earlier or the segment after the one you committed?

I mean,If you read 10 Records in Segment C and took checkpoint. Now you need to reposition it, Are you doing at the 10th record that you read already (Say Approach#1) OR are you are trying to reposition at 11th With GT operator kind (Say Approach#2).

If you are going to use Approach#1, it might be problem in programming logic because you are establishing the key on the record which you read and you are failing. (This might not be the case because you took first checkpoint successfully).

If you are using Approach#2, Pgm might have taken a checkpoint at 10th Record and if 10th record is the last record that Segment C physically have, while repositioning you might be coming to reposition at 11th Record which might not be present under respective Setment B. So you might be getting 'GE' error.

My suggestion Display the SSA contents and check for the SSA values at the time of taking Check point and SSA contents while repositioning.


Thanks
Siva.
Back to top
View user's profile Send private message
vak255
Intermediate


Joined: 10 Sep 2004
Posts: 384
Topics: 79

PostPosted: Sat Sep 23, 2006 8:58 am    Post subject: Reply with quote

aHREDDY,

Check ure SSA where its repositioning, also check ure picking up the correct segment.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> IMS All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


MVSFORUMS
Powered by phpBB © 2001, 2005 phpBB Group