Focal Point
[SOLVED]string output

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

April 04, 2011, 03:56 PM
FrankDutch
[SOLVED]string output
I need to output some fields in a long fixed string.
several fields are alpha and that works wel, but some are numbers and that does not work well.

DEFINE FILE CAR
CD1/A3='500';
CD2/A4='AKCO';
COUNTRY/A2='NL';
AMOUNT1/D11.2c=ABS(SALES);
AMOUNT/A11=FTOA(AMOUNT1, '(D11.2c)', 'A11');
STRING/A20=CD1|CD2|AMOUNT|COUNTRY;
END
TABLE FILE CAR
PRINT STRING
BY COUNTRY NOPRINT
END


This does not give the proper result, the amount is concatenated so not all the lines are equal size.
Should be easy...

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

April 04, 2011, 04:37 PM
Francis Mariani
Do you have a character that separates these fields, a space perhaps?


Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
April 04, 2011, 04:37 PM
<FreSte>
Frank,

In HTML it looks like the lines are not equal in size, but I think they are:

-Fred-

DEFINE FILE CAR
CD1/A3='500';
CD2/A4='AKCO';
COUNTRY/A2='NL';
AMOUNT1/D11.2C=ABS(SALES);
AMOUNT/A11=FTOA(AMOUNT1, '(D11.2c)', 'A11');
STRING/A20=CD1|CD2|AMOUNT|COUNTRY;
END
TABLE FILE CAR
PRINT STRING
BY COUNTRY NOPRINT
ON TABLE HOLD FORMAT ALPHA
END
-RUN

-HTMLFORM BEGIN
<html>
<pre>
!IBI.FIL.HOLD;
</pre>
</html>
-HTMLFORM END

April 04, 2011, 04:58 PM
FrankDutch
Francis

they want it without a separation
but with a space separation the result will be the same I think




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

April 04, 2011, 05:27 PM
Waz
Here is a suggestion..

Use HOLD FORMAT WP.

This will give you a text report, with formatting.

You can then create a master, and retable the file as a data source.

e.g.
TABLE FILE CAR
PRINT COUNTRY
      CAR
      MODEL
      SALES/I9C
      RETAIL_COST/D10.2M

ON TABLE SAVE AS TMP_TEXT FORMAT WP

END

-RUN

FILEDEF TMP_TEXT DISK tmp_text.wp (LRECL 132 RECFM V

EX -LINES 5 EDAPUT MASTER,TMP_TEXT,CV,FILE
FILENAME=TMP_TEXT, SUFFIX=FIX,$
SEGNAME=TMP_TEXT, $
  FIELD=PRNTCTL ,ALIAS=  ,A2   ,A2   ,$
  FIELD=ROW     ,ALIAS=  ,A130 ,A130 ,$

-RUN

TABLE FILE TMP_TEXT
PRINT ROW
ON TABLE SET SHOWBLANKS ON
ON TABLE SET STYLE *
FONT=COURIER NEW, $
ENDSTYLE
END



Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!

April 05, 2011, 08:18 AM
FrankDutch
thx

I think Fred was right, when I did a hold format Alpha it appeared to be right.

The tric WAZ suggested is an interesting solution also.




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

April 05, 2011, 02:35 PM
DavSmith
Frank,

Another cat skinner; PUTDDREC in your DEFINE or COMPUTE offers a solution if you don't need an MFD.

OUT1/I1 = PUTDDREC('PUTDD1',6, STRING, 20, OUT1);




In FOCUS since 1985 - WF 8.009/8.104 Win 8 Outputs: ALL of 'em! Adapters: Sql Server Teradata Oracle