Re: Problem with ICETOOL and symbols



imorgan@xxxxxxxxxx wrote:
> I am setting up a sort that I want to use on several files.
> The process that I want adds 19 bytes to the front of the record, part
> of which is a sequence number.
>
> //TOOLIN DD *
> COPY FROM)SORTIN) USING(CTL1)
> //CTL1CNTL DD*
> SORT FIELDS=(KEY,CH,A)
> OUTFILE FNAMES=WK1,
> BUILD=(OWNER,
> NDVKYPOS,8,
> SEQNUM,8,ZD,START=1,INCR=1,
> DATAREC)
> The Symbols are:
> KEY,1,42
> DATAREC,1,1550
> OWNER,1533,3
> NDVKYPOS,1525
>
> The problem is that the symbol resolution pass doesn't resolve DATAREC.
> It doesn't flag it as an error but outputs the resolved BUILD statement
> with DATAREC still in it.
>
> However, for a slightly different BUILD statement i.e.
>
> BUILD=(OWNER,
> NDVKYPOS,8,X,
> SEQNUM,8,ZD,START=1,INCR=1,
> DATAREC)
>
> It all works beautifully.
>
> Why ?

The problem is that you've defined only part of the symbol for:

NDVKYPOS,1525

and you're trying to use that as the p part of:

NDVKYPOS,8,

You can't do that. DATAREC doesn't get resolved and you get a syntax
error.

You have to define the symbol as p,m and use it for p,m in the control
statement, e.g.

//SYMNAMES DD *
....
NDVKYPOS,1525,8
....
//CTL1CNTL DD *
....
BUILD=(OWNER,
NDVKYPOS,
SEQNUM,8,ZD,START=1,INCR=1,
DATAREC)

Frank Yaeger - DFSORT Team (IBM) - yaeger@xxxxxxxxxx
Specialties: ICETOOL, IFTHEN, OVERLAY, Symbols, Migration
=> DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort/

.



Relevant Pages


Loading