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
