Focal Point
Reversing a Numeric Sign
January 25, 2007, 11:00 AM
kt1Reversing a Numeric Sign
Hello all,
Can anyone tell why:
COMPUTE Total_AMT/P16.2C = (Sales * COMMISION / 100);
AS 'COMM-AMT'
works fine.
But
COMPUTE Total_AMT/P16.2C = (Sales * COMMISION / -100);
AS 'COMM-AMT'
Returns the error msg:
0(FOC260) AN OPERATION IS MISSING AN ARGUMENT
Thanks to all!
Webfocus 5.3.2 soon 7.1.4 IBM mainframe
WebFocus 532 soon to be 714 IBM OS/390
January 25, 2007, 11:09 AM
ptpTry:
COMPUTE Total_AMT/P16.2C = (Sales * COMMISION / (-100));
AS 'COMM-AMT'
Good Luck,
P
January 25, 2007, 11:21 AM
FrankDutchCOMPUTE Total_AMT/P16.2C = -1*(Sales * COMMISION / 100);
AS 'COMM-AMT'
|
Frank |
| prod: WF 7.6.10 platform Windows, databases: msSQL2000, msSQL2005, RMS, Oracle, Sybase,IE7 test: WF 7.6.10 on the same platform and databases,IE7 |
January 25, 2007, 11:21 AM
BlueZoneor this..
COMPUTE Total_AMT/P16.2C = (-1) * (Sales * COMMISION / 100);
AS 'COMM-AMT'
Goooooooooood day !!
Sandeep Mamidenna
-------------------------------------------------------------------------------------------------
Blue Cross & Blue Shield of MS
WF.76-10 on (WS2003 + WebSphere) / EDA on z/OS + DB2 + MS-SQL
MRE, BID, Dev. Studio, Self-Service apps & a dash of fun !!
January 25, 2007, 12:08 PM
LushengYou can not have two operators (/-) together, and you can separate them by adding ()around the negative number.
January 26, 2007, 09:27 AM
iraAgreed. No two operators together...
Try this:
COMPUTE Total_AMT/P16.2C = ((Sales * COMMISION / 100) * -1); AS 'COMM-AMT'
Also be careful if mixing and matching case - especially if in the Unix world.
Ira....
aix-533,websphere 5.1.1,apache-2.0,
wf 538(d), 537 (p),
==============
7.6.11 (t) aix 5312
websphere 6.1.19
apache 2.0
February 01, 2007, 11:01 AM
kt1Hello All,
I went with this solution and it works file:
COMPUTE Total_comm/P16.2C = -1*(Sales * COMMISSION_PCT / 100); AS 'COMMISSION-AMT'
Thanks!
WebFocus 532 soon to be 714 IBM OS/390
February 01, 2007, 12:18 PM
FrankDutchnice to know
I just wonder why you have this computed field as a Packed format instead of Decimal.
What is the main difference to use packed or decimal?
Can someone give me a reason?
|
Frank |
| prod: WF 7.6.10 platform Windows, databases: msSQL2000, msSQL2005, RMS, Oracle, Sybase,IE7 test: WF 7.6.10 on the same platform and databases,IE7 |
February 01, 2007, 12:45 PM
susannahIt has to do with the way rounding happens and the depth of decimal carrying.
packed is best for monetary figures.
| In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID |
February 02, 2007, 05:39 AM
Tony AFrank,
Basically (and I know there is more to this but I'm keeping it basic),
D format retains all decimal positions as it is passed through the various processes so even when you have D20.2, if you put 3.1415927 into it it will still retain the full value in any calculations etc. but in display it will only show 3.14. Add five of the same together and you should get 15.71 and not 15.70.
P or packed decimal, as Susannah states, is best for monetary values if you are working to a spcific number of decimals. Place 3.1415927 into a P20.2 and it will use 3.14 and lose any precision you might want.
T
In FOCUS since 1986 | WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2 | | |
WebFOCUS App Studio 8.2.06 standalone on Windows 10 | |
April 23, 2007, 12:01 PM
iraTony A. Gret reply; I could not have put it better myself.
aix-533,websphere 5.1.1,apache-2.0,
wf 538(d), 537 (p),
==============
7.6.11 (t) aix 5312
websphere 6.1.19
apache 2.0