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
 

 

Rexx Comparisons

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> CLIST & REXX
View previous topic :: :: View next topic  
Author Message
Akatsukami

Global Moderator


Joined: 03 Oct 2009
Posts: 1754
Location: Bloomington, IL

PostPosted: Thu Oct 28, 2010 9:59 pm    Post subject: Rexx Comparisons
Reply with quote

This is not a problem...anymore. But it was interesting enough that I thought I'd mention it.

A member of my team came to me with a piece of Rexx. An IF statement that compared two account numbers was failing inexplicably; although the account numbers were obviously different, the comparison was returning "true".

After staring at the code and the trace longer than I'm willing to admit, the answer stuck me: the account numbers were composed all of decimal digits, so as far as a typeless language like Rexx was concerned, they really were numbers. The default number of significant digits in TSO REXX is nine...and the differences were all to the right of the ninth digit.

I advised him to either increase the number of significant digits with the NUMERIC DIGITS statement, or to use the built-in COMPARE function, which always does a character comparison on its first two arguments, even though they be numeric.
Back to top
View user's profile Send private message

prino

Senior Member


Joined: 07 Feb 2009
Posts: 1018
Location: Oostende, Belgium

PostPosted: Thu Oct 28, 2010 11:58 pm    Post subject:
Reply with quote

This is just as interesting, a looping compare:

Code:
/* REXX exec to demonstrate funny compare behaviour */
a = '2e0'
b = '2ee'
c = '1e1'

say "a =" a
say "b =" b
say "c =" c

if a > b then say 'a > b' else say 'a ^> b'
if b > c then say 'b > c' else say 'b ^> c'
if c > a then say 'c > a' else say 'c ^> a'
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 -> CLIST & REXX All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
This topic is locked: you cannot edit posts or make replies. Need help on If condition continuatio... ashok_uddaraju CLIST & REXX 4 Fri May 19, 2017 8:55 am
No new posts Running an REXX EXEC implicitly sho7hills CLIST & REXX 3 Thu Apr 20, 2017 8:14 am
No new posts Need help in REXX CALL program Raje1002 CLIST & REXX 5 Wed Apr 19, 2017 11:18 pm
No new posts REXX cdoe to purge a JOB from spool a... Sulabh Agrawal CLIST & REXX 11 Thu Mar 09, 2017 11:36 am
No new posts Overriding PS data in rexx Shaheen Shaik CLIST & REXX 8 Fri Mar 03, 2017 5:08 pm


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