Focal Point
[SOLVED] convert difficult alpha to decimal

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

January 05, 2011, 10:42 AM
FrankDutch
[SOLVED] convert difficult alpha to decimal
We have a dtabase that holds a A50 field
for some reason in that field sometimes it holds a value that looks like this
9,500.00 or in case of negative amount (15,765.45)
Is there an easy way to convert this or is there only the hard way by removing the unwanted characters ")" and "," and replace the "(" by a minus sign.

This message has been edited. Last edited by: FrankDutch,




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 05, 2011, 11:39 AM
Alan B
No other way that I know of Frank...


Alan.
WF 7.705/8.007
January 05, 2011, 12:37 PM
Tom Flynn
Hi Frank,

Try this, I had to create negative values:

  
DEFINE FILE EMPLOYEE
  XSAL1/D12.2BC = IF DEPARTMENT EQ 'MIS' THEN CURR_SAL * (-1) ELSE CURR_SAL;
  XSAL2/A15     = IF XSAL1 LT 0 THEN '-' || EDIT(XSAL1) ELSE EDIT(XSAL1);
  XSAL3/P12.2   = ATODBL(XSAL2, '15', XSAL3);
END
TABLE FILE EMPLOYEE
PRINT 
   LAST_NAME 
   FIRST_NAME 
   DEPARTMENT  
   XSAL1
   XSAL2
   XSAL3
END
-EXIT


hth


Tom Flynn
WebFOCUS 8.1.05 - PROD/QA
DB2 - AS400 - Mainframe
January 05, 2011, 01:24 PM
FrankDutch
thx Tom
but that is an easy one

the alpha field will look like (5000) and wont hold decimal or 1000 breaks

I think Alan is right...need the STRREP function




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 06, 2011, 10:17 AM
FrankDutch
I Solved it with the STRREP Function

-* File alphalomgtonumber.fex
DEFINE FILE CAR
BEDRAG/A15=IF COUNTRY EQ 'ITALY' THEN '(25,345.76)' ELSE IF COUNTRY EQ 'ENGLAND' THEN '1,859,001.45' ELSE '9,765.33';
BEDRAG2/A15=STRREP (15,BEDRAG ,1,')',0,'',15,BEDRAG2);
BEDRAG3/A15=STRREP (15,BEDRAG2 ,1,'(',1,'-',15,BEDRAG2);
BEDRAG4/A15=STRREP (15,BEDRAG3 ,1,',',0,'',15,BEDRAG2);
BEDRAGV/D15.2=EDIT(BEDRAG4);
END
TABLE FILE CAR
PRINT BEDRAG 
BEDRAG2
BEDRAG3
BEDRAG4
BEDRAGV
BY COUNTRY
ON TABLE COLUMN-TOTAL
END






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 07, 2011, 05:50 PM
Doug
BTW: Would / could that field contain other information as well? Or "just" an alpha variation of a numberic value (like a single "word" / item)?