Focal Point
Reversing a Numeric Sign

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/9831054902

January 25, 2007, 11:00 AM
kt1
Reversing 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
ptp
Try:

COMPUTE Total_AMT/P16.2C = (Sales * COMMISION / (-100));
AS 'COMM-AMT'

Good Luck,
P
January 25, 2007, 11:21 AM
FrankDutch
COMPUTE 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
BlueZone
or 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 !! Music
January 25, 2007, 12:08 PM
Lusheng
You can not have two operators (/-) together, and you can separate them by adding ()around the negative number.
January 26, 2007, 09:27 AM
ira
Agreed. 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
kt1
Hello 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
FrankDutch
nice 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
susannah
It 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 A
Frank,

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
ira
Tony 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