[CLOSED] How to read Decimal value from a temp SAVE file
I need to read a decimal value from a temp SAVE file then use it as a variable for further process. I am using technique as -READ SAVEFILE &Var1.length. &VAR2.length. But I got error when the &Var contains decimal point. Any suggestion? thanks in advanced.
Here I use CAR table to illustrate my question. I need to compute the Profit as D12.2.
TABLE FILE CAR
SUM
CAR.BODY.RETAIL_COST
COMPUTE Profit/D12.2 = CAR.BODY.RETAIL_COST * 0.10;
BY LOWEST CAR.ORIGIN.COUNTRY
ON TABLE SET PAGE-NUM NOLEAD
ON TABLE NOTOTAL
ON TABLE SAVE AS 'SAVE_1' FORMAT ALPHA
ON TABLE SET HTMLCSS ON
ON TABLE SET STYLE *
INCLUDE = endeflt,
$
ENDSTYLE
END
-RUN
-READ SAVE_1 &COUNTRY.A10. &COST.A11. &PROFIT.A12
-TYPE &COUNTRY ";" &COST ";" &PROFIT
My output has error of &PROFIT as : ENGLAND ";" 45319 ";" 4531.90FRANThis message has been edited. Last edited by: <Kathryn Henning>,
WebFOCUS 8.2.01 AppStudio HTML, PDF, Excel
August 17, 2015, 07:10 PM
Waz
As you are using SAVE, what is shown in the save fields ?
It should list each field saves and its format.
Waz...
Prod:
WebFOCUS 7.6.10/8.1.04
Upgrade:
WebFOCUS 8.2.07
OS:
Linux
Outputs:
HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!
August 18, 2015, 03:18 PM
Tom Flynn
This works for me, compare your code to mine...
TABLE FILE CAR
SUM
CAR.BODY.RETAIL_COST
COMPUTE Profit/D12.2 = CAR.BODY.RETAIL_COST * 0.10; NOPRINT
COMPUTE PROFIT2/A15 = FPRINT(Profit, 'D12.2', PROFIT2);
BY LOWEST CAR.ORIGIN.COUNTRY
ON TABLE SET PAGE-NUM NOLEAD
ON TABLE NOTOTAL
ON TABLE SET HOLDLIST PRINTONLY
ON TABLE HOLD AS 'SAVE_1' FORMAT ALPHA
ON TABLE SET HTMLCSS ON
ON TABLE SET STYLE *
INCLUDE = endeflt,
$
ENDSTYLE
END
-RUN
-SET &XLINES = &LINES;
-REPEAT GET_DATA &XLINES TIMES
-READ SAVE_1 NOCLOSE &COUNTRY.A10. &COST.I7. &PROFIT2.A15.
-TYPE &COUNTRY ";" &COST ";" &PROFIT2
-GET_DATA
-EXIT
Output is:
ENGLAND ";" 45319 ";" 4,531.90
FRANCE ";" 5610 ";" 561.00
ITALY ";" 51065 ";" 5,106.50
JAPAN ";" 6478 ";" 647.80
W GERMANY ";" 64732 ";" 6,473.20