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:
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?
Joined: 15 Feb 2005 Posts: 7129 Location: San Jose, CA
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.
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 >_<
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
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. . .