As of December 1, 2020, Focal Point is retired and repurposed as a reference repository. We value the wealth of knowledge that's been shared here over the years. You'll continue to have access to this treasure trove of knowledge, for search purposes only. Moving forward, myibi is our community platform to learn, share, and collaborate. We have the same Focal Point forum categories in myibi, so you can continue to have all new conversations there. If you need access to myibi, contact us at myibi@ibi.com and provide your corporate email address, company, and name.

I have searched the forum quite a bit, but I have not found a specific example close to what I need.

In my code below, I need to be able to add the percentage sign for alpha_rate_f when there is a value. If the calculation results in a hyphen, I'll leave it as a hyphen.

I've considered different methods. Is concatenation the best and simplest?

TABLE FILE FINDATA
PRINT STORE
DEPT_SORT
DEPT_DESC
COSTS
AND COMPUTE COSTS2/A99=STRREP(100,COSTS,1,',',0,'X',99,COSTS2);
COMPUTE COSTS3/D12=ATODBL(COSTS2, '99', COSTS3);
COMPUTE COSTS4/D12=IF DEPT_SORT EQ '9' AND COSTS3 LT '5' THEN '0' ELSE COSTS3;
SALES
AND COMPUTE SALES2/A99=STRREP(100,SALES,1,',',0,'X',99,SALES2);
COMPUTE SALES3/D12=ATODBL(SALES2, '99', SALES3);
COMPUTE SALES4/D12=IF DEPT_SORT EQ '9' AND SALES3 LT '5' THEN '0' ELSE IF DEPT_SORT NE '9' THEN SALES3 ELSE SALES3;
COMPUTE RATE/D12% MISSING ON=IF SALES4 GT 0 AND COSTS4 GT 0 THEN SALES4/COSTS4 *100 ELSE MISSING;
COMPUTE ALPHA_COSTS/A15 = FTOA(COSTS4, '(D12)', ALPHA_COSTS);
COMPUTE ALPHA_COSTS_F/A15=IF COSTS4 EQ '0' THEN '^' ELSE ALPHA_COSTS;
COMPUTE ALPHA_SALES/A15 = FTOA(SALES4, '(D12)', ALPHA_SALES);
COMPUTE ALPHA_SALES_F/A15=IF SALES4 EQ '0' THEN '^' ELSE ALPHA_SALES;
COMPUTE ALPHA_RATE/A15 = FTOA(RATE, '(D12)', ALPHA_RATE);
COMPUTE ALPHA_RATE_F/A15=IF RATE EQ '0' THEN '-' ELSE ALPHA_RATE;
HOLD AS FINRPT
END
-RUN
-*-EXIT

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