Elardus,

DFSORT Substring Search limit is indeed 32752.  The reason for different
results is due to VLSHRT parm and here as an explanation as to why you have
such results

Since the input data is a VB file, the length of each record varies and it
can have short records too.

When you used  INCLUDE COND=(5,1000,SS,EQ,X'D67DFBB0113C7464') and have
VLSHRT option, VLSHRT tells DFSORT to treat any comparison involving a
short field as false. In this case, any records less than 5+1000 = 1005
bytes are not included.

When you used  INCLUDE COND=(5,8000,SS,EQ,X'D67DFBB0113C7464') and have
VLSHRT option, So VLSHRT tells DFSORT to treat any comparison involving a
short field as false. In this case, any records less than 5+8005 = 8005
bytes are NOT included.

So in the 2nd case unless the records have a minimum length of 8005 ,
DFSORT is not going to include them and hence the reason for less number of
records.

You need to use VLSCMP instead of VLSHRT

VLSCMP tells DFSORT that you want to temporarily replace any missing
compare field bytes with binary zeros, thus allowing the short fields to be
validly compared (the binary zeros are not kept for the output records).

So use the following control cards

OPTION VLSCMP
INCLUDE COND=(5,8000,SS,EQ,X'D67DFBB0113C7464')

Here are some links which explains in detail about Short compare fields

https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.3.0/com.ibm.zos.v2r3.iceg200/ice2cg_Short_control_fields1.htm

VLSCMP/VLSHRT are explained in detail here

https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.3.0/com.ibm.zos.v2r3.icea100/opcst.htm

Further if you have any questions please let me know

Thanks,
Kolusu
DFSORT Development
IBM Corporation

IBM Mainframe Discussion List <[email protected]> wrote on
07/31/2019 08:12:59 AM:

> From: Elardus Engelbrecht <[email protected]>
> To: [email protected]
> Date: 07/31/2019 08:17 AM
> Subject: [EXTERNAL] ICETOOL / DFSORT Substring Search Limit?
> Sent by: IBM Mainframe Discussion List <[email protected]>
>
> Hi to all DFSORT gurus!
>
> Is there a limit of usage of Substring Search Limit beside of what
> is already documented?
>
>
> If I say use using ICETOOL:
>
> INCLUDE=(5,1000,SS,EQ,X'D67DFBB0113C7464'), then I got the expected
> quantity of lines and these:
>
> ICE201I A RECORD TYPE IS V - DATA STARTS IN POSITION 5

> ICE150I 1 VLSHRT NOT USED FOR SORT, MERGE, INCLUDE, OMIT OR SUM
> STATEMENT FIELDS
> ...
> ICE210I 0 PRINT    : EXCP USED, LRECL = 32756, BLKSIZE = 32760, TYPE = VB

> ...
> ICE055I 0 INSERT 0, DELETE 0
> ICE054I 0 RECORDS - IN: 1787271, OUT: 1787271
> ICE227I 0 PRINT    : DELETED = 1787268, REPORT = 0, DATA = 3
> ICE228I 0 PRINT    : TOTAL IN = 1787271, TOTAL OUT = 3
> ICE052I 0 END OF DFSORT
>
>
> Using the SAME input and with INCLUDE=(5,
> 8000,SS,EQ,X'D67DFBB0113C7464'), then I got no output and these messages:
>
> ICE201I A RECORD TYPE IS V - DATA STARTS IN POSITION 5

> ICE150I 1 VLSHRT NOT USED FOR SORT, MERGE, INCLUDE, OMIT OR SUM
> STATEMENT FIELDS
> ...
> ICE210I 0 PRINT    : EXCP USED, LRECL = 32756, BLKSIZE = 32760, TYPE = VB

> ...
> ICE055I 0 INSERT 0, DELETE 0
> ICE054I 0 RECORDS - IN: 1787271, OUT: 1787271
> ICE227I 0 PRINT    : DELETED = 1787271, REPORT = 0, DATA = 0
> ICE228I 0 PRINT    : TOTAL IN = 1787271, TOTAL OUT = 0
> ICE174I 0 NO DATA RECORDS FOR AN OUTFIL DATA SET - RC=0
> ICE052I 0 END OF DFSORT
>
> Question: In (p1,m1,SS,EQ,constant) how far apart should the p1 and
> m1 be? Or rather, what is the maximum size of m1?
>
> I am asking this despite it is indeed documented that
>
> "m1 specifies the length of the field to be tested. The length can
> be 1 to 32752 bytes."
>
> Just curious of course if you don't mind please. Of course I may
>
> Thanks in advance!
>
> Groete / Greetings
> Elardus Engelbrecht
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to [email protected] with the message: INFO IBM-MAIN
>

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to