Page 2 of 3

Re: Invalid referback in DCB field

PostPosted: Sun Nov 30, 2014 2:19 am
by Gallium
I replaced my //SORTTEMP line with your 2 lines like so:

//JOB1 JOB
//SORT EXEC PGM=DFSORT                                   
//SYSOUT DD SYSOUT=*                                     
//SORTIN DD NEW.SPECIAL.DATA.SET,DISP=SHR
//SET DD DUMMY,DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)
//SORTTEMP DD DSN=&&SORTTEMP,DCB=*.SET             
//SYSIN DD *
  INCLUDE...                                             


I can't make sense of what is output by the job? Normally the error is obvious and listed, but this output is like nothing I've seen before! One thing that occurs a couple of times is:

NO ACTIVE MODULE FOUND 

Re: Invalid referback in DCB field

PostPosted: Sun Nov 30, 2014 3:30 am
by prino
gallium wrote:Skillset: Student on Computer Sceince Course

Isn't it about time you start asking your tutor what you are doing wrong, rather than waste time here?

Re: Invalid referback in DCB field

PostPosted: Sun Nov 30, 2014 4:05 am
by Gallium
I have but he doesn't reply!

Re: Invalid referback in DCB field

PostPosted: Sun Nov 30, 2014 4:17 am
by Gallium
I was hoping BillyBoyo would reply anyway, he said that he knows what the problem is!

Re: Invalid referback in DCB field

PostPosted: Sun Nov 30, 2014 6:18 am
by BillyBoyo
//JOB1 JOB
//SORT EXEC PGM=DFSORT                                   
//SYSOUT DD SYSOUT=*                                     
//SORTIN DD NEW.SPECIAL.DATA.SET,DISP=SHR
//SET DD DUMMY,DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)
//SORTTEMP DD DSN=&&SORTTEMP,DCB=*.SET             
//SYSIN DD *
  INCLUDE...                 


Why have you got EXEX PGM=DFSORT? Change that to PGM=SORT or PGM=ICEMAN if you don't like the look of SORT.

Get rid of the //SET DD statement altogether. It is not needed, Get rid of the referback, You don't need DCB info at all, you do need things like SPACE and UNIT, I'd suggest SPACE=(CYL,1) and UNIT=SYSDA, and a DISP, presumably (NEW,PASS) (which you can shorten to (,PASS).

I don't know what the INCLUDE is.Without seeing you code, I don't know if you correctly don't want a SORTOUT DD. Presumably there is a second step which uses &&SORTTEMP?

Re: Invalid referback in DCB field

PostPosted: Sun Nov 30, 2014 8:04 am
by Gallium
This is almost the full code (I haven't included all the SORT and ICETOOL stuff.

//JOB1 JOB
//SORT EXEC PGM=DFSORT                                   
//SYSOUT DD SYSOUT=*                                     
//SORTIN DD NEW.SPECIAL.DATA.SET,DISP=SHR
//SET DD DUMMY,DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)
//SORTTEMP DD DSN=&&SORTTEMP,DCB=*.SET             
//SYSIN DD *
   INCLUDE...
   SORT FIELDS=...
   SUM FIELDS=...                 
 /*                                     
 //TOOL EXEC PGM=ICETOOL                 
 //RPT DD SYSOUT=*                   
 //TOOLMSG DD SYSOUT=*                   
 //DFSMSG DD SYSOUT=*                   
 //TOOLIN DD *                           
 DISPLAY FROM(SORTTEMP) LIST(RPT)-   
    TITLE..   
    HEADER...   
    BTITLE...                 
 /*                                     


Yes, SORTTEMP is what the ICETOOL report is being generated from.

Re: Invalid referback in DCB field

PostPosted: Sun Nov 30, 2014 2:05 pm
by BillyBoyo
OK, so have you tried what I suggested?

What happens when you do? Not just a description, but the ouput.

Re: Invalid referback in DCB field

PostPosted: Sun Nov 30, 2014 8:49 pm
by Gallium
Okay so this is what I have now:

//LISTTELL JOB                                       
//SORT EXEC PGM=SORT                                               
//SYSOUT DD SYSOUT=*                                               
//SORTIN DD DSN=NEW.SPECIAL.DATA.SET,DISP=SHR         
//SORTTEMP DD DSN=&&SORTTEMP,SPACE=(CYL,1),UNIT=SYSDA,DISP=(,PASS)
//SYSIN DD *                                                       
  INCLUDE COND=...                               
  SORT FIELDS=...                               
  SUM FIELDS=...                                         
/*                                                                 
//TOOL EXEC PGM=ICETOOL                                           
//RPT DD SYSOUT=*                                             
//TOOLMSG DD SYSOUT=*                                             
//DFSMSG DD SYSOUT=*                                               
//TOOLIN DD *                                                     
DISPLAY FROM(SORTTEMP) LIST(RPT)-                             
   TITLE...                                   
   HEADER...                                                     
   BTITLE...                                                                   
/*                                                                 
//                                                                 


One question though, how does SPACE=(CYL... etc. know that I am referring to NEW.SPECIAL.DATA.SET?

I have only one error that I can see now though, it says:

ICE605A 2 REQUIRED DD STATEMENT NOT FOUND:  SORTTEMP             
ICE602I 0 OPERATION RETURN CODE:  12                             
                                                                 
                                                                 
ICE601I 0 DFSORT ICETOOL UTILITY RUN ENDED - RETURN CODE:  12   

Re: Invalid referback in DCB field

PostPosted: Sun Nov 30, 2014 10:06 pm
by BillyBoyo
You need a //SORTTMP DD statement in the second step. Just DSN=&&SORTTEMP,DISP=(OLD,PASS) should do.

The CYL does not apply to the input dataset, which already has space allocated to it. In the first step you are creating a new temporary dataset, so you need to give it some space.

Re: Invalid referback in DCB field

PostPosted: Sun Nov 30, 2014 11:14 pm
by Gallium
No what I mean is how does it know that the new temporary dataset is an exact copy of NEW.SPECIAL.DATA.SET?

Also, where is the best place to put the //SORTTEMP DD statement in the second step? Just above the //TOOLIN DD *