IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Record Length Calculation Error


IBM Mainframe Forums -> DFSORT/ICETOOL
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
ojdiaz

New User


Joined: 19 Nov 2008
Posts: 98
Location: Spain

PostPosted: Wed Apr 14, 2010 11:55 pm
Reply with quote

Hello

We are testing some jobs, and we are using symbol maps on them, but for some reason, when we delete the LRECL from the output dataset, the sort won't use the outrec length for the file, but instead assings the input file LRECL as the output LRECL. The step we execute is this:

Code:

//SORT002  EXEC PGM=SORT                                         
//DFSPARM  DD *                                                 
  OPTION DYNALLOC=(,10)                                         
//TOOLMSG  DD SYSOUT=*                                           
//DFSMSG   DD SYSOUT=*                                           
//SYSPRINT DD SYSOUT=*                                           
//SYMNAMES DD DSN=D343.EX.MSTP(KEOAS72B),DISP=SHR               
//SYMNOUT  DD SYSOUT=*                                           
//SORTIN   DD DSN=EBDKEOA.INPXD05X.KEOAJ067,DISP=SHR             
//SORTOUT  DD DSN=EBDKEOA.INPXD05X.KEOAJ72B,DISP=(,CATLG,DELETE),
//            SPACE=(CYL,(100,100),RLSE),                       
//            DCB=(RECFM=FB,BLKSIZE=0)                           
  SORT FIELDS=(COD-ENTIALFA,A,                                   
               COD-OFICINFC,A,                                   
               COD-CLIENLAT,A)                                   
  OUTREC FIELDS=(COD-ENTIALFA,                                   
                 COD-OFICINFC,                                   
                 COD-CLIENLAT,                                   
                 670X,                                           
                 COD-PAISOALF,                                   
                 COD-ENTIGEST,                                   
                 COD-OFICGEST,                                   
                 COD-GCLAT,                                     
                 COD-SEGLATAM,                                   
                 COD-SUBSEG,                                     
                 XTI-PERSON,                                     
                 COD-CONVELAT,                                   
                 XTI-SEXO,                                       
                 QNU-EDADLAT,                                   
                 2X,                                             
                 C'11')                                         
  SUM FIELDS=NONE                                               
/*                                                               
//SYSPRINT DD SYSOUT=*                                           
//SYSDBOUT DD SYSOUT=4,DEST=JESTC3                               
//CEEDUMP  DD SYSOUT=4,DEST=JESTC3                               
//SYSABOUT DD SYSOUT=4,DEST=JESTC3                               
//SYSOUT   DD SYSOUT=*                                           


And the symbol map and it's translation is as follows:

Code:
 ------- ORIGINAL STATEMENTS FROM SYMNAMES -------
       PMEC1062-RECORD,1,67,CH             R
         COD-PAISOALF,1,2,CH               PAíS
         COD-ENTIGEST,*,4,CH               BANCO DE PERTEN DEL GESTOR
         COD-OFICGEST,*,4,ZD               OFICINA DE PERTEN DEL GESTOR
         COD-GCLAT,*,20,CH                 MATRíCULA DEL GESTOR
         COD-ENTIALFA,*,4,CH               BANCO DE PERTEN DEL CLIENTE
         COD-OFICINFC,*,4,ZD               OFICINA DE PERTEN DEL CLIENTE
         COD-CLIENLAT,*,9,CH               CóDIGO DE CLIENTE
         COD-SEGLATAM,*,5,CH               SEGMENTO DEL CLIENTE
         COD-SUBSEG,*,5,CH                 SUBSEGMENTO DEL CLIENTE
         XTI-PERSON,*,1,CH                 TIPO DE CLIENTE ('F'/'J')
         COD-CONVELAT,*,5,CH               CONVENIO DEL CLIENTE
         XTI-SEXO,*,1,CH                   SEXO ('H'/'M')
         QNU-EDADLAT,*,3,ZD                EDAD
1
 ------------------ SYMBOL TABLE -----------------
 PMEC1062-RECORD,1,67,CH
 COD-PAISOALF,1,2,CH
 COD-ENTIGEST,3,4,CH
 COD-OFICGEST,7,4,ZD
 COD-GCLAT,11,20,CH
 COD-ENTIALFA,31,4,CH
 COD-OFICINFC,35,4,ZD
 COD-CLIENLAT,39,9,CH
 COD-SEGLATAM,48,5,CH
 COD-SUBSEG,53,5,CH
 XTI-PERSON,58,1,CH
 COD-CONVELAT,59,5,CH
 XTI-SEXO,64,1,CH
 QNU-EDADLAT,65,3,ZD


And here is the Sort output:

Code:
1ICE270I 0 PROCESSING SYMNAMES STATEMENTS
 ICE280I 0 ORIGINAL STATEMENTS FROM DFSPARM  FOLLOW
             OPTION DYNALLOC=(,10)
 ICE280I 1 ORIGINAL STATEMENTS FROM SYSIN    FOLLOW
             SORT FIELDS=(COD-ENTIALFA,A,
                          COD-OFICINFC,A,
                          COD-CLIENLAT,A)
             OUTREC FIELDS=(COD-ENTIALFA,
                            COD-OFICINFC,
                            COD-CLIENLAT,
                            670X,
                            COD-PAISOALF,
                            COD-ENTIGEST,
                            COD-OFICGEST,
                            COD-GCLAT,
                            COD-SEGLATAM,
                            COD-SUBSEG,
                            XTI-PERSON,
                            COD-CONVELAT,
                            XTI-SEXO,
                            QNU-EDADLAT,
                            2X,
                            C'11')
             SUM FIELDS=NONE
 ICE282I 0 PERFORMING SYMBOL SUBSTITUTION AS NEEDED
 ICE143I 0 BLOCKSET     SORT  TECHNIQUE SELECTED
 ICE250I 0 VISIT http://www.ibm.com/storage/dfsort FOR DFSORT PAPERS, EXAMPLES AND MORE
 ICE000I 1 - CONTROL STATEMENTS FOR 5694-A01, Z/OS DFSORT V1R10 - 18:43 ON WED APR 14, 2010 -
0            OPTION DYNALLOC=(,10)
 ICE140I 0 END OF PARAMETERS FROM DFSPARM  - SYSIN OR SORTCNTL/PARAMETER LIST CONTROL STATEMENTS FOLLOW
            SORT FIELDS=(31,4,CH,A,35,4,ZD,A,39,9,CH,A)
            OUTREC FIELDS=(31,4,35,4,39,9,670X,1,2,3,4,7,4,11,20,48,5,53,5,58,1,59*
                          ,5,64,1,65,3,2X,C'11')
            SUM FIELDS=NONE
 ICE201I F RECORD TYPE IS F - DATA STARTS IN POSITION 1
 ICE751I 0 C5-K48846 C6-K90014 C7-K45047 C8-K46331 E9-K47759 C9-BASE   E5-K48846 E7-K48846
 ICE193I 0 ICEAM1 INVOCATION ENVIRONMENT IN EFFECT - ICEAM1 ENVIRONMENT SELECTED
 ICE088I 1 KEOAL70X.SORT002 .        , INPUT LRECL = 67, BLKSIZE = 27939, TYPE = FB
 ICE093I 0 MAIN STORAGE = (MAX,8388608,8388608)
 ICE156I 0 MAIN STORAGE ABOVE 16MB = (8331248,8331248)
 ICE127I 0 OPTIONS: OVFLO=RC0 ,PAD=RC0 ,TRUNC=RC0 ,SPANINC=RC16,VLSCMP=N,SZERO=Y,RESET=Y,VSAMEMT=Y,DYNSPC=256
 ICE128I 0 OPTIONS: SIZE=8388608,MAXLIM=1048576,MINLIM=450560,EQUALS=Y,LIST=Y,ERET=ABEND,MSGDDN=SYSOUT
 ICE129I 0 OPTIONS: VIO=Y,RESDNT=ALL ,SMF=FULL ,WRKSEC=Y,OUTSEC=Y,VERIFY=N,CHALT=N,DYNALOC=N             ,ABCODE=MSG
 ICE130I 0 OPTIONS: RESALL=4096,RESINV=0,SVC=109 ,CHECK=Y,WRKREL=Y,OUTREL=Y,CKPT=N,COBEXIT=COB2
 ICE131I 0 OPTIONS: TMAXLIM=8388608,ARESALL=0,ARESINV=0,OVERRGN=65536,CINV=Y,CFW=Y,DSA=0
 ICE132I 0 OPTIONS: VLSHRT=N,ZDPRINT=Y,IEXIT=N,TEXIT=N,LISTX=N,EFS=NONE    ,EXITCK=S,PARMDDN=DFSPARM ,FSZEST=N
 ICE133I 0 OPTIONS: HIPRMAX=OPTIMAL,DSPSIZE=MAX ,ODMAXBF=0,SOLRF=N,VLLONG=N,VSAMIO=N,MOSIZE=750
 ICE235I 0 OPTIONS: NULLOUT=RC0
 ICE084I 0 EXCP ACCESS METHOD USED FOR SORTOUT
 ICE084I 0 EXCP ACCESS METHOD USED FOR SORTIN
 ICE750I 0 DC 27939 TC 0 CS DSVOO KSZ 21 VSZ 21
 ICE752I 0 FSZ=417 RC  IGN=0 E  AVG=76 0  WSP=41 C  DYN=0 0
 ICE751I 1 DE-BASE   D5-BASE   D9-BASE   E8-K48846
 ICE090I 0 OUTPUT LRECL = 67, BLKSIZE = 27939, TYPE = FB   (SDB)
 ICE080I 0 IN MAIN STORAGE SORT
 ICE055I 0 INSERT 0, DELETE 0
 ICE054I 0 RECORDS - IN: 112, OUT: 112
 ICE134I 0 NUMBER OF BYTES SORTED: 7504
1ICE253I 0 RECORDS SORTED - PROCESSED: 112, EXPECTED: 417
 ICE199I 0 MEMORY OBJECT STORAGE USED = 0M BYTES
 ICE180I 0 HIPERSPACE STORAGE USED = 0K BYTES
 ICE188I 0 DATA SPACE STORAGE USED = 0K BYTES
 ICE052I 0 END OF DFSORT


So, even when the outrec has a 670X field, the output file is set to 67 bytes. I'm working in a new shop now, and in the previous one, the sort calculated the LRECL by itself. I think it might be one option, but i can't seem to find out which one is it. Any ideas what could be wrong?

Thanks a lot

Oliver
Back to top
View user's profile Send private message
Frank Yaeger

DFSORT Developer


Joined: 15 Feb 2005
Posts: 7129
Location: San Jose, CA

PostPosted: Thu Apr 15, 2010 1:08 am
Reply with quote

Quote:
it might be one option, but i can't seem to find out which one


ICE133I ... SOLRF=N

It's the SOLRF option.

DFSORT's shipped default and recommended setting is SOLRF=YES which tells DFSORT to use the reformatted length for the SORTOUT LRECL.

Your site has changed the default to SOLRF=NO which tells DFSORT not to use the reformatted length for the SORTOUT LRECL.

I'd suggest you try to get your site to change the default back to SOLRF=YES. If they won't do that, then you'll need to specify the SOLRF run-time option for every job for which you want to use the reformatted length for the SORTOUT LRECL, e.g.

Code:

//DFSPARM DD *
   OPTION SOLRF
/*
Back to top
View user's profile Send private message
ojdiaz

New User


Joined: 19 Nov 2008
Posts: 98
Location: Spain

PostPosted: Fri Apr 16, 2010 12:14 pm
Reply with quote

Frank Yaeger wrote:

I'd suggest you try to get your site to change the default back to SOLRF=YES. If they won't do that, then you'll need to specify the SOLRF run-time option for every job for which you want to use the reformatted length for the SORTOUT LRECL, e.g.

Code:

//DFSPARM DD *
   OPTION SOLRF
/*


I think that Mankind first arrives at pluto than this support people changes an option. They are quite restrictive for no apparent reason. They insist in forbidding Icetool and many more features, and when I ask Why, the reason is: Because that's how it is ¬_¬

Anyway, thanks a lot for your usual support Frank. That solved the issue.

Best regards

Oliver

Ps - Sighs... Miss my old shop, there i had a blank check to do whatever i wanted with "new tech stuff" and they usually adopted them >_<
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Fri Apr 16, 2010 9:16 pm
Reply with quote

Hello,

Quote:
I think that Mankind first arrives at pluto than this support people changes an option.
Some places are most reluctant. . . A small amount of this is because lots of people want to "keep things as they have been". What i see happening more and more is that the "real" systems programmers have gone and the replacements are often marginally competent (at best). These organizations are afraid to change anything because previous attempts to upgrade something caused some kind of major service outage. . . This can range from a product like the sort or Easytrieve to the entire db2 environment or the operating system itself.

Quote:
They are quite restrictive for no apparent reason.
Following is a reason i hear at many aites. . .
Another current topic wrote:
Nobody at my place used this type of condition before so nobody knows here.
In addition to the "code" being unfamiliar to most of the staff, the current "turnover methodology" does not include "sort-gram" promotion. Indeed, many places restrict using the full capability of the sort (and from using ICETOOL at all) because there is no review process in place. . .

I don't say that i agree with this line of thinking, but i do see this very often. . .
Back to top
View user's profile Send private message
Frank Yaeger

DFSORT Developer


Joined: 15 Feb 2005
Posts: 7129
Location: San Jose, CA

PostPosted: Fri Apr 16, 2010 10:07 pm
Reply with quote

Quote:
They insist in forbidding Icetool and many more features, and when I ask Why, the reason is: Because that's how it is


You have my condolences. icon_rolleyes.gif
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> DFSORT/ICETOOL

 


Similar Topics
Topic Forum Replies
No new posts Store the data for fixed length COBOL Programming 1
No new posts How to split large record length file... DFSORT/ICETOOL 10
No new posts PARSE Syntax for not fix length word ... JCL & VSAM 7
No new posts Error to read log with rexx CLIST & REXX 11
No new posts Error when install DB2 DB2 2
Search our Forums:

Back to Top