Page 1 of 2

ICE043A reason 10

PostPosted: Fri Jul 27, 2012 6:55 pm
by Dean
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.

Re: ICE043A reason 10

PostPosted: Fri Jul 27, 2012 7:43 pm
by Peter_Mann
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

Re: ICE043A reason 10

PostPosted: Fri Jul 27, 2012 7:56 pm
by Dean
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.

Re: ICE043A reason 10

PostPosted: Fri Jul 27, 2012 7:59 pm
by Anuj Dhawan
In STEP030 for //SORTIN DD DSN=&&A643FILE try using DISP=SHR or DISP=(OLD,PASS) and see if it works.

Re: ICE043A reason 10

PostPosted: Fri Jul 27, 2012 8:04 pm
by Peter_Mann
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.

Re: ICE043A reason 10

PostPosted: Fri Jul 27, 2012 8:18 pm
by Dean
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

Re: ICE043A reason 10

PostPosted: Fri Jul 27, 2012 8:21 pm
by Peter_Mann
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

Re: ICE043A reason 10

PostPosted: Fri Jul 27, 2012 8:22 pm
by Peter_Mann
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

Re: ICE043A reason 10

PostPosted: Fri Jul 27, 2012 8:42 pm
by Akatsukami
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.

Re: ICE043A reason 10

PostPosted: Fri Jul 27, 2012 8:43 pm
by steve-myers
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.