Posted: Mon Aug 02, 2004 1:25 pm Post subject: DFSORT - ICE025A Message
Hi,
Recently we migrated from Syncsort to DFSORT. One of our jobs failed with ICE025A mesaage.
ICE091I 0 OUTPUT LRECL = 2504, TYPE = V
ICE055I 0 INSERT 76222, DELETE 76221
ICE054I 0 RECORDS - IN: 0, OUT: 0
ICE025A 0 RECORD COUNT OFF
We gave a override OPTION NOCHECK and restarted the job. Could anyone explain the reason for this?
Thanks for your help.
Selva. _________________ --------------------------------------------------------
Knowledge is power. But Imagination is more important than Knowledge. -Albert Einstein
--------------------------------------------------------
Joined: 02 Dec 2002 Posts: 1618 Topics: 31 Location: San Jose
Posted: Mon Aug 02, 2004 2:31 pm Post subject:
To quote from the "Programmer Response" for message ICE025A in "DFSORT Messages, Codes and Diagnosis Guide":
Quote:
The most probable cause is that you have not specified a SORTOUT or OUTFIL data set, have specified E35, and from your E35 routine have passed a return code of 8 (do not return) too early, when there are still output records remaining. If this is the case, you can avoid receiving this message by specifying OPTION NOCHECK. If this is not the case, examine any user exit routines (especially E15 and E35) for possible return code or other errors.
The ICE055I and ICE054I messages tell me that you probably have an E35 and no SORTOUT. So you probably passed back RC=8 (do not return) before your E35 got the end-of-input indicator. That is, DFSORT had more records to pass to your exit, but you chose not to process them. DFSORT issues the ICE025A in this case unless you have NOCHECK in effect to tell DFSORT that you meant not to process the rest of the records. (DFSORT's shipped default is CHECK.)
Either Syncsort doesn't check for this situation, or it has an option for this situation which you had set to not check for it.
Since you migrated from Syncsort, you might also want to take a look at DFSORT's EXITCK=STRONG/WEAK option. DFSORT's shipped default is EXITCK=STRONG whereas I believe Syncsort's shipped default is the equivalent of EXITCK=WEAK. We recommend EXITCK=STRONG because it can catch unintended return code errors, but you need to decide for yourself whether you want STRONG or WEAK checking. _________________ Frank Yaeger - DFSORT Development Team (IBM)
Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration
DFSORT is on the Web at:
www.ibm.com/storage/dfsort
It is an internal SORT performed by a COBOL program.
This is the message I got from Syncsort version. But the job didn't fail.
WER135I TASK CALL/E35 TERMINATED PREMATURELY
Thanks,
Selva. _________________ --------------------------------------------------------
Knowledge is power. But Imagination is more important than Knowledge. -Albert Einstein
--------------------------------------------------------
Joined: 02 Dec 2002 Posts: 1618 Topics: 31 Location: San Jose
Posted: Mon Aug 02, 2004 4:32 pm Post subject:
So Syncsort also detected the situation, but only issued an informational message; so it was apparently using its equivalent of the NOCHECK option. DFSORT gives you the choice of allowing the situation (NOCHECK - RC=0) or terminating for the situation (CHECK - RC=16). Syncsort may not actually have an option to terminate for this situation.
You might want to look at the COBOL program (INPUT/OUTPUT procedures?) to see if it really intended to NOT process all of the records passed to it. _________________ Frank Yaeger - DFSORT Development Team (IBM)
Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration
DFSORT is on the Web at:
www.ibm.com/storage/dfsort
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