Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups 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 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
No new posts Two different PDS production and test... Mani453 CLIST & REXX 6 Fri Nov 20, 2015 2:25 pm


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us