View previous topic :: View next topic
|
Author |
Message |
Ajay Baghel
Active User
Joined: 25 Apr 2007 Posts: 206 Location: Bangalore
|
|
|
|
I am reading file into stem var inrec.
"execio * diskr indd (stem inrec. finis"
last-var = inrec.1
The above assignment statement is failing with bad arithmetic conversion error.
I am able to see value 191003 correctly when I display inrec.1 using say.
Pls advise |
|
Back to top |
|
|
prino
Senior Member
Joined: 07 Feb 2009 Posts: 1306 Location: Vilnius, Lithuania
|
|
|
|
Show a trace, straight assignments in REXX cannot cause this error! |
|
Back to top |
|
|
Willy Jensen
Active Member
Joined: 01 Sep 2015 Posts: 712 Location: Denmark
|
|
|
|
'last-var = inrec.1 ' means subtract value of var=inrec.1 (which would evaluate to 0 or 1) from value of last.
Change the minus sign to something else. |
|
Back to top |
|
|
Willy Jensen
Active Member
Joined: 01 Sep 2015 Posts: 712 Location: Denmark
|
|
|
|
Sorry, my explanation was wrong - but it is caused by the minus sign in the varname. |
|
Back to top |
|
|
sergeyken
Senior Member
Joined: 29 Apr 2008 Posts: 2010 Location: USA
|
|
|
|
Willy Jensen wrote: |
'last-var = inrec.1 ' means subtract value of var=inrec.1 (which would evaluate to 0 or 1) from value of last. |
Even worse:
The expression last-var = inrec.1
is in fact considered as
last - (var = inrec.1)
where the comparison (var = inrec.1) is always valid; it produces either 1, or 0 (with the highest probability of 0)
Next, the current value of last is considered:
1) when last is not defined, the value is 'LAST'
An attempt to calculate 'LAST' - 1 or 'LAST' - 0 would cause "bad arithmetic conversion"
2) when last is defined as non-numeric, like last = 'Hello!', then the same result as #1: "bad arithmetic conversion"
3) when last is defined as numeric, like last = 12345, then result of subtraction would be either 12345, or 12344, and then this numeric value would tried to be considered as invalid REXX expression, or TSO command, and would cause another error. |
|
Back to top |
|
|
|