Portal | Manuals | References | Downloads | Info | Programs | JCLs | Mainframe wiki | Quick Ref
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Profile Log in to check your private messages Log in
 
About the limitation in Substring comparison test operand SS

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> DFSORT/ICETOOL
View previous topic :: :: View next topic  
Author Message
feng hao

New User


Joined: 26 Mar 2008
Posts: 44
Location: China

PostPosted: Tue Aug 10, 2010 12:47 pm    Post subject: About the limitation in Substring comparison test operand SS
Reply with quote

Occasionally, I needed to make a records selection using substring comparison method, and, there were about 50+ substrings needed to be listed.

However, if failed with 'ICE113A E COMPARISON FIELD ERROR'.

After that, I tried again and again~and have got the limitaition info that the largest number of substring is 28!!

But, I didn't find any notices in the reference "z/OS DFSORT Application Programming Guide".

Anybody could have a test like me and tell me ur result?
Back to top
View user's profile Send private message

feng hao

New User


Joined: 26 Mar 2008
Posts: 44
Location: China

PostPosted: Tue Aug 10, 2010 1:00 pm    Post subject:
Reply with quote

I would add my function level of DFSORT and the code as below.

The function level in my site is 'z/OS DFSORT V1R5 PTF UK51706'.

The code:
Code:
----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
  INCLUDE COND=((1,4,CH,EQ,C'GOOD'),AND,                               
           (9,6,SS,EQ,C'AAAAA1,AAAAA2,AAAAA3,AAAAA4,AAAAA5,AAAAA6,     -
                        BBBBB1,BBBBB2,BBBBB3,BBBBB4,BBBBB5,BBBBB6,     -
                        CCCCC1,CCCCC2,CCCCC3,CCCCC4,CCCCC5,CCCCC6,     -
                        DDDDD1,DDDDD2,DDDDD3,DDDDD4,DDDDD5,DDDDD6,     -
                        EEEEE1,EEEEE2,EEEEE3,EEEEE4,EEEEE5'))           
Back to top
View user's profile Send private message
smijoss

Active User


Joined: 30 Aug 2007
Posts: 114
Location: pune

PostPosted: Tue Aug 10, 2010 2:12 pm    Post subject:
Reply with quote

could you please paste the entire trace
Back to top
View user's profile Send private message
smijoss

Active User


Joined: 30 Aug 2007
Posts: 114
Location: pune

PostPosted: Tue Aug 10, 2010 2:18 pm    Post subject:
Reply with quote

try this

split you SS search into 4 parts


INCLUDE COND=(1,4,CH,EQ,C'GOOD',AND,
((9,6,SS,EQ,C'AAAAA1,AAAAA2,AAAAA3,AAAAA4,AAAAA5,AAAAA6'),OR,
(9,6,SS,EQ,C'BBBBB1,BBBBB2,BBBBB3,BBBBB4,BBBBB5,BBBBB6'),OR,
(9,6,SS,EQ,C'CCCCC1,CCCCC2,CCCCC3,CCCCC4,CCCCC5,CCCCC6'),OR,
(9,6,SS,EQ,C'DDDDD1,DDDDD2,DDDDD3,DDDDD4,DDDDD5,DDDDD6'),OR,
(9,6,SS,EQ,C'EEEEE1,EEEEE2,EEEEE3,EEEEE4,EEEEE5'))
Back to top
View user's profile Send private message
feng hao

New User


Joined: 26 Mar 2008
Posts: 44
Location: China

PostPosted: Tue Aug 10, 2010 2:28 pm    Post subject:
Reply with quote

Hi, smijoss, thanks very much for ur suggestion and we have made the same solution.

However, the aim that I posted this topic is to check it out that whether this phenomenon existes in ur or other people's site/shop, if so, I think the limitation notice should be added to the reference in the future.
Back to top
View user's profile Send private message
smijoss

Active User


Joined: 30 Aug 2007
Posts: 114
Location: pune

PostPosted: Tue Aug 10, 2010 2:44 pm    Post subject:
Reply with quote

check the page 86 "Continuation Lines" topic in "DFSORT Application Programming Guide" (ice1ca40.pdf)


you can do it but i didnt want to play around with colum positons so gave simpler solution
Back to top
View user's profile Send private message
feng hao

New User


Joined: 26 Mar 2008
Posts: 44
Location: China

PostPosted: Tue Aug 10, 2010 3:15 pm    Post subject:
Reply with quote

Well, I don't think this topic has anything related to "line continuation", does it???

It is about the limitation of total number of substring which can be listed in a DFSORT statement, just like the code I pasted.

And so far, I found that the peak is 28 substrings.
Back to top
View user's profile Send private message
smijoss

Active User


Joined: 30 Aug 2007
Posts: 114
Location: pune

PostPosted: Tue Aug 10, 2010 3:22 pm    Post subject:
Reply with quote

well you should wait for frank to reply.....

i thot to give a quick solution so that ur work doesnt get stuck ..
Back to top
View user's profile Send private message
smijoss

Active User


Joined: 30 Aug 2007
Posts: 114
Location: pune

PostPosted: Tue Aug 10, 2010 3:51 pm    Post subject:
Reply with quote

This worked absolutely fine for me !!!!!!!!!!!!!

i think you need to relook at your understanding of substring


Code:
=COLS> ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
000023 //*                                                                     00350001
000024 //SYSIN    DD *                                                         00360001
000025   OPTION COPY                                                                   
000026   INCLUDE COND=((1,4,CH,EQ,C'GOOD'),AND,                                       
000027          (9,6,SS,EQ,C'AAAAA1,AAAAA2,AAAAA3,AAAAA4,AAAAA5,AAAAA6,BBBBB1,*       
000028         BBBBB2,BBBBB3,BBBBB4,BBBBB5,BBBBB6,CCCCC1,CCCCC2,CCCCC3,CCCCC4,*       
000029         CCCCC5,CCCCC6,DDDDD1,DDDDD2,DDDDD3,DDDDD4,DDDDD5,DDDDD6,EEEEE1,*       
000030         EEEEE2,EEEEE3,EEEEE4,EEEEE5,FFFFF1,FFFFF2,FFFFF3,FFFFF4'))             




Code:
ICE143I 0 BLOCKSET     COPY  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 - 06:16 ON TUE AUG 10, 2010 - 
            OPTION COPY                                                                       
            INCLUDE COND=((1,4,CH,EQ,C'GOOD'),AND,                                           
                   (9,6,SS,EQ,C'AAAAA1,AAAAA2,AAAAA3,AAAAA4,AAAAA5,AAAAA6,BBBBB1,*           
                  BBBBB2,BBBBB3,BBBBB4,BBBBB5,BBBBB6,CCCCC1,CCCCC2,CCCCC3,CCCCC4,*           
                  CCCCC5,CCCCC6,DDDDD1,DDDDD2,DDDDD3,DDDDD4,DDDDD5,DDDDD6,EEEEE1,*           
                  EEEEE2,EEEEE3,EEEEE4,EEEEE5,FFFFF1,FFFFF2,FFFFF3,FFFFF4'))                 
ICE201I G RECORD TYPE IS F - DATA STARTS IN POSITION 1                                       
ICE751I 0 C5-K51707 C6-K51707 C7-K54603 C8-K51707 E9-K51707 C9-BASE   E5-K55337 E7-K51707     
ICE193I 0 ICEAM1 INVOCATION ENVIRONMENT IN EFFECT - ICEAM1 ENVIRONMENT SELECTED               
ICE252I 1 PARMLIB OPTIONS WERE MERGED WITH INSTALLATION MODULE DEFAULTS                       
ICE088I 0 T842SOR2.JS001   .        , INPUT LRECL = 80, BLKSIZE = 80, TYPE = FB               
ICE092I 0 MAIN STORAGE = (16777216,16777216,16764756)                                         
Back to top
View user's profile Send private message
Frank Yaeger

DFSORT Moderator


Joined: 15 Feb 2005
Posts: 7130
Location: San Jose, CA

PostPosted: Tue Aug 10, 2010 10:17 pm    Post subject:
Reply with quote

Feng hao,

Code:

 INCLUDE COND=((1,4,CH,EQ,C'GOOD'),AND,
           (9,6,SS,EQ,C'AAAAA1,AAAAA2,AAAAA3,AAAAA4,AAAAA5,AAAAA6,
                        BBBBB1,BBBBB2,BBBBB3,BBBBB4,BBBBB5,BBBBB6,     -
                        CCCCC1,CCCCC2,CCCCC3,CCCCC4,CCCCC5,CCCCC6,     -
                        DDDDD1,DDDDD2,DDDDD3,DDDDD4,DDDDD5,DDDDD6,     -
                        EEEEE1,EEEEE2,EEEEE3,EEEEE4,EEEEE5'))


C'string' specifies a single string and can be a maximum of 256 characters.

Your syntax is embedding blanks in the string. It's not giving you the string you think it is. See "z/OS DFSORT Application Programming Guide" for the correct way to code a continued string.
Back to top
View user's profile Send private message
feng hao

New User


Joined: 26 Mar 2008
Posts: 44
Location: China

PostPosted: Wed Aug 11, 2010 10:37 am    Post subject:
Reply with quote

Hi, Frank, you are always makeing the point!

Quote:
C'string' specifies a single string and can be a maximum of 256 characters.


Yes, that is the problem which I didn't realize before. It is that the max length of a string rather than the total number of substring which can be listed after the'SS'.

I was misunderstanding the problem until yesterday.Thanks very much for your accurate explanation!

----------------------------------

Hi, smijoss,

Thank you very much for your comments and good suggestions.
I didn't get the message when you suggested to me that I should check the section of 'Line continuation', otherwise, maybe I could get the point earlier. Thank you all the same!!

Have a nice day~!
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> DFSORT/ICETOOL All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts Z/OS hosted on Linux (zDT) or zVM - T... Pete Wilson All Other Mainframe Topics 0 Tue Sep 26, 2017 2:06 pm
No new posts CICS NEW SIT PARAMETERS CICS BEHAVIOR... Kyle Carroll CICS 0 Fri Nov 04, 2016 11:55 pm
No new posts COOLGEN - TSO TEST FACILITY indianrajput CA Products 4 Wed Nov 02, 2016 9:28 pm
This topic is locked: you cannot edit posts or make replies. How to supply called sub-program from... dchristensen JCL & VSAM 25 Wed Sep 14, 2016 11:36 pm
No new posts Query using SUBSTRING on a column of ... sasanka DB2 5 Mon Jul 04, 2016 1:01 pm

Facebook
Back to Top
 
Job Vacancies | Forum Rules | Bookmarks | Subscriptions | FAQ | Polls | Contact Us