Adding more than 4095 spaces



IBM's flagship sort product DFSORT for sorting, merging, copying, data manipulation and reporting. Includes ICETOOL and ICEGENER

Adding more than 4095 spaces

Postby Prasanna G » Wed Apr 12, 2017 6:23 pm

Hi

I have a variable length VSAM file (record length vary from 95 to 5387 depending on a counter value occurring in position 40). The counter is of data type Binary. I am checking the value for 04 through 99, depending on the counter value I have to blank out the values from position 208. I have the sort card as follows:


SORT FIELDS=COPY                                              
INREC IFTHEN=(WHEN=(44,2,BI,EQ,04),BUILD=(1:1,207,208:0054X)),
      IFTHEN=(WHEN=(44,2,BI,EQ,05),BUILD=(1:1,207,208:0108X)),
      IFTHEN=(WHEN=(44,2,BI,EQ,06),BUILD=(1:1,207,208:0162X)),
      IFTHEN=(WHEN=(44,2,BI,EQ,07),BUILD=(1:1,207,208:0216X)),
      IFTHEN=(WHEN=(44,2,BI,EQ,08),BUILD=(1:1,207,208:0270X)),
      IFTHEN=(WHEN=(44,2,BI,EQ,09),BUILD=(1:1,207,208:0324X)),
      IFTHEN=(WHEN=(44,2,BI,EQ,10),BUILD=(1:1,207,208:0378X)),
      IFTHEN=(WHEN=(44,2,BI,EQ,11),BUILD=(1:1,207,208:0432X)),
      IFTHEN=(WHEN=(44,2,BI,EQ,12),BUILD=(1:1,207,208:0486X)),
      IFTHEN=(WHEN=(44,2,BI,EQ,13),BUILD=(1:1,207,208:0540X)),
      IFTHEN=(WHEN=(44,2,BI,EQ,14),BUILD=(1:1,207,208:0594X)),
....
....
....
      IFTHEN=(WHEN=(44,2,BI,EQ,78),BUILD=(1:1,207,208:4050X)),
      IFTHEN=(WHEN=(44,2,BI,EQ,79),BUILD=(1:1,207,208:4104X)),
      IFTHEN=(WHEN=(44,2,BI,EQ,80),BUILD=(1:1,207,208:4158X)),
      IFTHEN=(WHEN=(44,2,BI,EQ,81),BUILD=(1:1,207,208:4212X)),
....
....
....
      IFTHEN=(WHEN=(44,2,BI,EQ,98),BUILD=(1:1,207,208:5130X)),
      IFTHEN=(WHEN=(44,2,BI,EQ,99),BUILD=(1:1,207,208:5184X))
 


When I execute the above sort card, I am getting the below error.


                  IFTHEN=(WHEN=(44,2,BI,EQ,78),BUILD=(1:1,207,208:4050X)),
                  IFTHEN=(WHEN=(44,2,BI,EQ,79),BUILD=(1:1,207,208:4104X)),
                                                                  $        
ICE111A E REFORMATTING FIELD ERROR                                        
                  IFTHEN=(WHEN=(44,2,BI,EQ,80),BUILD=(1:1,207,208:4158X)),
                  $                                                        
ICE005A 0 BLANK NEEDED IN COLUMN 1 OR OPERATION NOT DEFINED CORRECTLY      
                  IFTHEN=(WHEN=(44,2,BI,EQ,81),BUILD=(1:1,207,208:4212X)),
                  $                                                        
ICE005A 0 BLANK NEEDED IN COLUMN 1 OR OPERATION NOT DEFINED CORRECTLY      
                  IFTHEN=(WHEN=(44,2,BI,EQ,82),BUILD=(1:1,207,208:4266X)),
                  $                                                        
 


Is it because I cannot add more than 4095 spaces? I am not getting the error when the number of spaces added is less than 4096. Can DFSORT experts help me find out why the sort card fails? Please let me know if any more details are required.

Thanks
Prasanna G.
User avatar
Prasanna G
 
Posts: 68
Joined: Tue Apr 12, 2011 9:49 pm
Has thanked: 1 time
Been thanked: 0 time

Re: Adding more than 4095 spaces

Postby Robert Sample » Wed Apr 12, 2017 7:06 pm

You are limited to 4095 as a repetition factor; this is CLEARLY stated in the DFSORT Application Programming Guide manual. For 4104, you could use 4095X,9X or 2052X,2052X, or whatever makes sense to you.
Robert Sample
Global moderator
 
Posts: 3719
Joined: Sat Dec 19, 2009 8:32 pm
Location: Dubuque, Iowa, USA
Has thanked: 1 time
Been thanked: 279 times

Re: Adding more than 4095 spaces

Postby Aki88 » Wed Apr 12, 2017 7:10 pm

Hello Prasanna,

Prasanna G wrote:....Is it because I cannot add more than 4095 spaces?....


Spot on; if you check the description of the message: ICE111A, it states (relevant emphasis added):

ICE111A REFORMATTING FIELD ERROR
Explanation: Critical. The FIELDS, BUILD, OVERLAY,
IFTHEN BUILD or IFTHEN OVERLAY operand of an
INREC or OUTREC statement, or the OUTREC, BUILD,
OVERLAY, IFTHEN BUILD or IFTHEN OVERLAY
operand of an OUTFIL statement, contained an invalid
column, separator, position, length, keyword, pattern,
sign, constant or value. Some common errors are as
follows (note that %nn is used to represent %nnn, %nn
or %n):
v A 0 value was used.
v A null value was used where it was not permitted.
v A null string, pattern, or sign was used.
v A column was greater than 32752, or was followed
by another column.
v A position plus length was greater than 32753.
v DATE=(abcd) or DATENS(abc) was specified with a,
b or c not M, D, Y or 4, with M, D, Y or 4 specified
more than once, or with Y and 4 both specified.
v YDDD=(abc) or YDDDNS=(ab) was specified with a
or b not D, Y or 4, with D, Y or 4 specified more
than once, or with Y and 4 both specified.
v TIME=(abc) or TIMENS=(ab) was specified with ab
not 12 or 24.
v DT=(abcd) or DTNS=(abc) was specified with a, b or
c not M, D, Y or 4, with M, D, Y or 4 specified more
than once, or with Y and 4 both specified.
v The length (m for p,m or FIXLEN=m for %nn) for a
HEX or TRAN=HEX field was greater than 16376.
v The length (m for p,m or FIXLEN=m for %nn) for a
TRAN=BIT field was greater than 4094 bytes.
v A repetition factor was greater than 4095 for a
separator, or a character or hex constant was longer
than 256 bytes.

v An invalid digit or an odd number of digits was
specified for a hexadecimal constant.
v The length (m for p,m or FIXLEN=m for %nn) for a
Y2 format field was not 2 for Y2C, Y2Z, Y2P, Y2S or
Y2PP, or 1 for Y2D, Y2B or Y2DP, or 3–6 for Y2T,
Y2W, Y2TP or Y2WP, or 2–3 for Y2U, Y2X, Y2UP or
Y2XP, or 3–4 for Y2V, Y2Y, Y2VP or Y2YP.
v The length (m for p,m or FIXLEN=m for %nn) for a
Y4 format field was not 7-8 for Y4T or Y4W, 4 for
Y4U or Y4X, or 5 for Y4V or Y4Y.
v The length (m for p,m or FIXLEN=m for %nn) for an
edit field was less than 2 or greater than 8 for PD0.
v The length (m for p,m or FIXLEN=m for %nn) for an
edit field was greater than 8 for BI or FI, 16 for PD,
31 for ZD, 32 for CSF/FS or 44 for UFF or SFF.
v The length (m for p,m or FIXLEN=m for %nn) for an
edit field was not 4 for DT1, DT2, DT3, TM1, TM2,
TM3, or TM4.
v The length (m for p,m or FIXLEN=m for %nn) for an
edit field was not 8 for DC1, DC2, DC3, TC1, TC2,
TC3, TC4. DE1, DE2, DE3, TE1, TE2, TE3, or TE4.
v The length (m for p,m or FIXLEN=m for %nn) for an
edit field was not 4 or 8 for FL.
v %nn,H or %nn,F or %nn,D was specified.
v More than 31 digits or 44 characters were specified in
an edit pattern.
v SIGNz (where z is not S) was specified with Mn or
without EDIT or EDxy.
v x, y, or z in EDxy or SIGNz were the same character.
v The value for LENGTH was greater than 44.
v NOMATCH was specified after p,m or %nn rather
than after CHANGE.
v The length for a lookup input field was greater than
64 with character or hexadecimal find constants, or
greater than 1 with find bit constants.
v The length for a lookup output field was greater
than 64.
v The length for a find constant was greater than the
lookup input field length.
v A find constant was not a character, hexadecimal, or
bit constant.
v The length for a set constant or set field (m for p,m
or FIXLEN=m for %nn) was greater than the lookup
output field length.
v An invalid character was specified in a find bit
constant, or the number of bits for a find bit constant
was not 8.
v A set constant was not a character or hexadecimal
constant.
v The length for a sequence number was greater than
16.
v The value for START was greater than 100000000000.
v The value for INCR was greater than 10000000.
v The length (m for p,m or FIXLEN=m for %nn) for a
RESTART field was greater than 256 bytes.
v The length for a KEYBEGIN field (m for p,m) was
greater than 256 bytes.
v A position without length (p without m) was
specified for OVERLAY or IFTHEN OVERLAY.
v A / was specified for OVERLAY or IFTHEN
OVERLAY.
System action: The program terminates.
Programmer response: Correct the invalid value.
Aki88
 
Posts: 381
Joined: Tue Jan 28, 2014 1:52 pm
Has thanked: 33 times
Been thanked: 36 times

Re: Adding more than 4095 spaces

Postby Prasanna G » Wed Apr 12, 2017 7:21 pm

Thanks a ton to you all.
Now I have split the repetition factor to cater my needs and the job ran fine.

Thanks
Prasanna G.
User avatar
Prasanna G
 
Posts: 68
Joined: Tue Apr 12, 2011 9:49 pm
Has thanked: 1 time
Been thanked: 0 time


Return to DFSORT/ICETOOL/ICEGENER

 


  • Related topics
    Replies
    Views
    Last post