ICE043A reason 10



IBM's flagship sort product DFSORT for sorting, merging, copying, data manipulation and reporting. Includes ICETOOL and ICEGENER

ICE043A reason 10

Postby Dean » Fri Jul 27, 2012 6:55 pm

Hi.

I am getting the below error
ICE043A 3 INVALID DATA SET ATTRIBUTES: SORTIN   RECFM   - REASON CODE IS 10


The manual says this is due to a sortin DD of dummy or null or RECFM not specified. below is my JCL

000052 //*** OUTPUT ***                                             
000053 //EXTRACT  DD  DSN=&&A643FILE,                               
000054 //             DISP=(,PASS,DELETE),                         
000055 //             DCB=(RECFM=FB,LRECL=155,BLKSIZE=27900),       
000056 //             UNIT=SYSDA,SPACE=(CYL,(1000,100),RLSE)       
000057 //*                                                         
000058 //*----------------------------------------------------------
000059 //STEP030  EXEC PGM=SORT                                     
000060 //SYSOUT   DD SYSOUT=*                                       
000061 //SORTIN   DD DSN=&&A643FILE                                 
000062 //SORTOUT  DD DSN=&&O45FILE,                                 
000063 //            DISP=(,PASS,DELETE),                           
000064 //            UNIT=SYSDA,SPACE=(TRK,(1500,500),RLSE)         
000065 //SYSIN    DD *                                             
000066   INCLUDE COND=(44,3,PD,EQ,45)                               
000067   OPTION COPY,DYNALLOC                                       


I have a similarly coded step later in the job that works just fine.
Dean
 
Posts: 9
Joined: Fri Jul 13, 2012 8:12 pm
Has thanked: 3 times
Been thanked: 0 time

Re: ICE043A reason 10

Postby Peter_Mann » Fri Jul 27, 2012 7:43 pm

Are you showing the entire job/process?
I have to assume &&A643FILE is a temporary file that came from a previous step? not coding a DISP=, NEW is assumed I belive, so the IEC043A message is leading you to the answer
The record format cannot be determined or is not valid for DFSORT
processing. Examples: The SORTIN data set has DUMMY or NULLFILE but does not have RECFM=value. The SORTOUT data set has RECFM=U.
if &&A643FILE did come from a previous step it may be empty, never opened, but passed to this step.
just a wild guess
Peter
Peter_Mann
 
Posts: 145
Joined: Fri Jun 24, 2011 7:37 pm
Location: Lowell,AR
Has thanked: 15 times
Been thanked: 3 times

Re: ICE043A reason 10

Postby Dean » Fri Jul 27, 2012 7:56 pm

Are you showing the entire job/process?


Yes and No. The EXTRACT DD is the from the previous job step which is the first step of the job. It excecutes an EZtrieve against some GDG's to produce the &&A643FILE dataset. According to the job statistics of that step &&A643FILE contains over 1 million records.

I'm not sure why how the dataset was produced is significant but there it is.
Dean
 
Posts: 9
Joined: Fri Jul 13, 2012 8:12 pm
Has thanked: 3 times
Been thanked: 0 time

Re: ICE043A reason 10

Postby Anuj Dhawan » Fri Jul 27, 2012 7:59 pm

In STEP030 for //SORTIN DD DSN=&&A643FILE try using DISP=SHR or DISP=(OLD,PASS) and see if it works.
Anuj
Anuj Dhawan
 
Posts: 273
Joined: Mon Feb 25, 2008 3:53 am
Location: Mumbai, India
Has thanked: 6 times
Been thanked: 4 times

Re: ICE043A reason 10

Postby Peter_Mann » Fri Jul 27, 2012 8:04 pm

Dean wrote:
Are you showing the entire job/process?


Yes and No. The EXTRACT DD is the from the previous job step which is the first step of the job. It excecutes an EZtrieve against some GDG's to produce the &&A643FILE dataset. According to the job statistics of that step &&A643FILE contains over 1 million records.

I'm not sure why how the dataset was produced is significant but there it is.


Then absolutly you need to specify a DISP compatible with the dataset, DISP=(OLD,PASS), or DISP=SHR or DISP=OLD, if you still have problems, I'd suggest createing a real cataloged dataset and see if the previous step actually opened the file and wrote data into it.
Peter
Peter_Mann
 
Posts: 145
Joined: Fri Jun 24, 2011 7:37 pm
Location: Lowell,AR
Has thanked: 15 times
Been thanked: 3 times

Re: ICE043A reason 10

Postby Dean » Fri Jul 27, 2012 8:18 pm

Well..thanks!!

That fixed DFSORT.

I guess I am having trouble with the DISP rules for temporary datasets. When I add a DISP=SHR the ICE043A goes away but I get this is the JESYSMSG
20 IEF648I INVALID DISP FIELD- PASS SUBSTITUTED


When I change it to DISP=PASS I get a JCL error and this in JESYSMSG
20 IEF643I UNIDENTIFIED POSITIONAL PARAMETER IN THE DISP FIELD


Seems kinda Schizophrenic
Dean
 
Posts: 9
Joined: Fri Jul 13, 2012 8:12 pm
Has thanked: 3 times
Been thanked: 0 time

Re: ICE043A reason 10

Postby Peter_Mann » Fri Jul 27, 2012 8:21 pm

show is the entire JESLOG in the CODE tag...
we need to see line 20
the IEF648I is informational, you'll see this alot with treu temp datasets wieh coding OLD or SHR, but that's not the error
Peter
Peter_Mann
 
Posts: 145
Joined: Fri Jun 24, 2011 7:37 pm
Location: Lowell,AR
Has thanked: 15 times
Been thanked: 3 times

Re: ICE043A reason 10

Postby Peter_Mann » Fri Jul 27, 2012 8:22 pm

Peter_Mann wrote:show is the entire JESLOG in the CODE tag...
we need to see line 20
the IEF648I is informational, you'll see this alot with treu temp datasets wieh coding OLD or SHR, but that's not the error


:) I must be dislexic (sp) today
Peter
Peter_Mann
 
Posts: 145
Joined: Fri Jun 24, 2011 7:37 pm
Location: Lowell,AR
Has thanked: 15 times
Been thanked: 3 times

Re: ICE043A reason 10

Postby Akatsukami » Fri Jul 27, 2012 8:42 pm

Dean wrote:Well..thanks!!

That fixed DFSORT.

I guess I am having trouble with the DISP rules for temporary datasets. When I add a DISP=SHR the ICE043A goes away but I get this is the JESYSMSG
20 IEF648I INVALID DISP FIELD- PASS SUBSTITUTED


When I change it to DISP=PASS I get a JCL error and this in JESYSMSG
20 IEF643I UNIDENTIFIED POSITIONAL PARAMETER IN THE DISP FIELD


Seems kinda Schizophrenic

Remember that SHR is not really a disposition, it is a status. The status must be coded first, the (normal) disposition second. All of the following are syntactically valid:
  • DISP=(OLD,PASS)
  • DISP=(NEW,PASS)
  • DISP=(SHR,PASS)
  • DISP=(OLD,DELETE)
  • DISP=(NEW,DELETE)
but DISP=(PASS,anything) is not.

The default disposition for a non-NEW data set is KEEP, which is invalid for a temporary data set, although the interpreter is smart enough to realize that PASS should be substituted.
"You have sat too long for any good you have been doing lately ... Depart, I say; and let us have done with you. In the name of God, go!" -- what I say to a junior programmer at least once a day

These users thanked the author Akatsukami for the post:
Dean (Fri Jul 27, 2012 8:51 pm)
User avatar
Akatsukami
Global moderator
 
Posts: 1058
Joined: Sat Oct 16, 2010 2:31 am
Location: Bloomington, IL
Has thanked: 6 times
Been thanked: 51 times

Re: ICE043A reason 10

Postby steve-myers » Fri Jul 27, 2012 8:43 pm

The problem is

//SORTIN DD DSN=&&xxx

creates a new dataset: the default DISP is DISP=(NEW,DELETE). Since you presumably are using SMS and SMS is providing a default SPACE parameter for the DD statement, you did not get a JCL error, which you would have received before SMS.
steve-myers
Global moderator
 
Posts: 2105
Joined: Thu Jun 03, 2010 6:21 pm
Has thanked: 4 times
Been thanked: 243 times

Next

Return to DFSORT/ICETOOL/ICEGENER