Focal Point
[CLOSED] Loosing leading zeros when combining two reports

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

October 16, 2019, 01:31 PM
JJ
[CLOSED] Loosing leading zeros when combining two reports
I found this code within the forum and modified to show the issue. I need to combine two reports together in Excel but loosing leading zeros in DEF_COL_A. Does anyone know how to fix this?
Thank you!

Sorry, I forgot to attach the code

  

TABLE FILE CAR
PRINT
SEATS
-*BY CAR
-*BY COUNTRY
-*BY COUNTRY
BY CAR
ACROSS COUNTRY
ON TABLE HOLD AS HLD_1 FORMAT HTMTABLE
ON TABLE SET HTMLCSS ON
ON TABLE SET STYLE *
TYPE=DATA,COLUMN=N1,CLASS=NUMASTEXT,$
-*TYPE=DATA,COLUMN=N2,CLASS=NUMASNUM,$
ENDSTYLE
END
-RUN
DEFINE FILE CAR
DEF_COL_A/A20=IF COUNTRY EQ 'ENGLAND' THEN '001234' ELSE IF COUNTRY EQ 'ITALY' THEN '004231' ELSE '00056687';
END
TABLE FILE CAR
PRINT
DEF_COL_A
COMPUTE COM_COL_A/A20=IF COUNTRY EQ 'ENGLAND' THEN '001234 ' ELSE IF COUNTRY EQ 'ITALY' THEN '004231 ' ELSE '00056687 ';
BY CAR
BY COUNTRY
ON TABLE HOLD AS HLD_2 FORMAT HTMTABLE
ON TABLE SET HTMLCSS ON
ON TABLE SET STYLE *
TYPE=DATA,COLUMN=N1,CLASS=NUMASTEXT,$
-*TYPE=DATA,COLUMN=N2,CLASS=NUMASNUM,$
ENDSTYLE
END

SET HTMLFORMTYPE=XLS
-HTMLFORM BEGIN
<html xmlns:o="urn:schemas-microsoft-com:office:office"
 xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns="http://www.w3.org/TR/REC-html40">
 <head>
 <meta http-equiv=Content-Type content="text/html;">
 <meta name=ProgId content=Excel.Sheet>
 <meta name=Generator content="Microsoft Excel 10">
<style>
TD.NUMASTEXT
{mso-number-format:\@}
TD.NUMASNUM
{mso-number-format:\#\,\#\#0\.00}
</style>
</head>
<body>
<table>
<tr>
<td class="accountnum">
!IBI.FIL.HLD_1;
</td>
<td class="accountnum">
!IBI.FIL.HLD_2;
</td>
</tr></table>
</body>
-HTMLFORM END

This message has been edited. Last edited by: FP Mod Chuck,


WebFOCUS 8.2.05
Windows 2003
Excel, HTML, PDF
October 16, 2019, 04:51 PM
FP Mod Chuck
JJ

I think that is the nature of Excel to suppress leading zero's. I am not sure if a Excel template would allow you to override that. I have never used a template..


Thank you for using Focal Point!

Chuck Wolff - Focal Point Moderator
WebFOCUS 7x and 8x, Windows, Linux All output Formats
October 16, 2019, 06:28 PM
Hallway
Not sure what code you are referring to. There is noting posted.

You can try adding in:
SET CENT-ZERO = ON
 

at the beginning of your fex.

quote:

CENT-ZERO - Controls whether to display a leading zero in decimal-only numbers.



Hallway

 
Prod: 8202M1
Test: 8202M4
Repository:
 
OS:
 
Outputs:
 
 
 
 
October 17, 2019, 03:54 PM
JJ
Thank you for your reply, the field is alpha.


WebFOCUS 8.2.05
Windows 2003
Excel, HTML, PDF
October 17, 2019, 04:39 PM
FP Mod Chuck
JJ

When you edit your post there is a link on the left that says Options. I think you click pure HTML if that doesn't work then try Disable HTML It has been a while so I can't remember which one will do it..


Thank you for using Focal Point!

Chuck Wolff - Focal Point Moderator
WebFOCUS 7x and 8x, Windows, Linux All output Formats
October 17, 2019, 09:13 PM
Hallway

Now I see the code. 😉

To fix this all you need to to is assign the class NUMASTEXT to the DEF_COL_A column:

 TYPE=DATA,COLUMN=DEF_COL_A,CLASS=NUMASTEXT,$ 



If you don't specifically format a cell as text in Excel, it will see a number and chage the format to a number and eliminate any leading zeros.
Try this code:

TABLE FILE CAR
PRINT
SEATS
-*BY CAR
-*BY COUNTRY
-*BY COUNTRY
BY CAR
ACROSS COUNTRY
ON TABLE HOLD AS HLD_1 FORMAT HTMTABLE
ON TABLE SET HTMLCSS ON
ON TABLE SET STYLE *
TYPE=DATA,COLUMN=N1,CLASS=NUMASTEXT,$
TYPE=DATA,COLUMN=DEF_COL_A,CLASS=NUMASTEXT,$
-*TYPE=DATA,COLUMN=N2,CLASS=NUMASNUM,$
ENDSTYLE
END
-RUN
DEFINE FILE CAR
DEF_COL_A/A20=IF COUNTRY EQ 'ENGLAND' THEN '001234' ELSE IF COUNTRY EQ 'ITALY' THEN '004231' ELSE '00056687';
END
TABLE FILE CAR
PRINT
DEF_COL_A
COMPUTE COM_COL_A/A20=IF COUNTRY EQ 'ENGLAND' THEN '001234 ' ELSE IF COUNTRY EQ 'ITALY' THEN '004231 ' ELSE '00056687 ';
BY CAR
BY COUNTRY
ON TABLE HOLD AS HLD_2 FORMAT HTMTABLE
ON TABLE SET HTMLCSS ON
ON TABLE SET STYLE *
TYPE=DATA,COLUMN=N1,CLASS=NUMASTEXT,$
TYPE=DATA,COLUMN=DEF_COL_A,CLASS=NUMASTEXT,$
-*TYPE=DATA,COLUMN=N2,CLASS=NUMASNUM,$
ENDSTYLE
END

SET HTMLFORMTYPE=XLS
-HTMLFORM BEGIN

 
 
 
 



!IBI.FIL.HLD_1; !IBI.FIL.HLD_2;
-HTMLFORM END



Hallway

 
Prod: 8202M1
Test: 8202M4
Repository:
 
OS:
 
Outputs:
 
 
 
 
October 17, 2019, 09:15 PM
Hallway
*sigh I really hate this forum format.

Attempt #2:
  
TABLE FILE CAR
PRINT
SEATS
-*BY CAR
-*BY COUNTRY
-*BY COUNTRY
BY CAR
ACROSS COUNTRY
ON TABLE HOLD AS HLD_1 FORMAT HTMTABLE
ON TABLE SET HTMLCSS ON
ON TABLE SET STYLE *
TYPE=DATA,COLUMN=N1,CLASS=NUMASTEXT,$
TYPE=DATA,COLUMN=DEF_COL_A,CLASS=NUMASTEXT,$
-*TYPE=DATA,COLUMN=N2,CLASS=NUMASNUM,$
ENDSTYLE
END
-RUN
DEFINE FILE CAR
DEF_COL_A/A20=IF COUNTRY EQ 'ENGLAND' THEN '001234' ELSE IF COUNTRY EQ 'ITALY' THEN '004231' ELSE '00056687';
END
TABLE FILE CAR
PRINT
DEF_COL_A
COMPUTE COM_COL_A/A20=IF COUNTRY EQ 'ENGLAND' THEN '001234 ' ELSE IF COUNTRY EQ 'ITALY' THEN '004231 ' ELSE '00056687 ';
BY CAR
BY COUNTRY
ON TABLE HOLD AS HLD_2 FORMAT HTMTABLE
ON TABLE SET HTMLCSS ON
ON TABLE SET STYLE *
TYPE=DATA,COLUMN=N1,CLASS=NUMASTEXT,$
TYPE=DATA,COLUMN=DEF_COL_A,CLASS=NUMASTEXT,$
TYPE=DATA,COLUMN=COM_COL_A,CLASS=NUMASTEXT,$
-*TYPE=DATA,COLUMN=N2,CLASS=NUMASNUM,$
ENDSTYLE
END

SET HTMLFORMTYPE=XLS
-HTMLFORM BEGIN
<html xmlns:o="urn:schemas-microsoft-com:office:office"
 xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns="http://www.w3.org/TR/REC-html40">
 <head>
 <meta http-equiv=Content-Type content="text/html;">
 <meta name=ProgId content=Excel.Sheet>
 <meta name=Generator content="Microsoft Excel 10">
<style>
TD.NUMASTEXT
{mso-number-format:\@}
TD.NUMASNUM
{mso-number-format:\#\,\#\#0\.00}
</style>
</head>
<body>
<table>
<tr>
<td class="accountnum">
!IBI.FIL.HLD_1;
</td>
<td class="accountnum">
!IBI.FIL.HLD_2;
</td>
</tr></table>
</body>
-HTMLFORM END



Hallway

 
Prod: 8202M1
Test: 8202M4
Repository:
 
OS:
 
Outputs:
 
 
 
 
October 22, 2019, 04:23 PM
JJ
Hallway,
Thank you for your suggestion, it works in this example but in actual code, I use CSS stylesheet "endeflt.sty" and it doesn't display leading zeros. When I take out the stylesheet, it works. If you have any suggestion, I would appreciate.


TABLE FILE CAR
PRINT
SEATS
-*BY CAR
-*BY COUNTRY
-*BY COUNTRY
BY CAR
ACROSS COUNTRY
ON TABLE HOLD AS HLD_1 FORMAT HTMTABLE
ON TABLE SET HTMLCSS ON
ON TABLE SET STYLE *
TYPE=DATA,COLUMN=N1,CLASS=NUMASTEXT,$
TYPE=DATA,COLUMN=DEF_COL_A,CLASS=NUMASTEXT,$
-*TYPE=DATA,COLUMN=N2,CLASS=NUMASNUM,$
ENDSTYLE
END
-RUN
DEFINE FILE CAR
DEF_COL_A/A20=IF COUNTRY EQ 'ENGLAND' THEN '001234' ELSE IF COUNTRY EQ 'ITALY' THEN '004231' ELSE '00056687';
END
TABLE FILE CAR
PRINT
DEF_COL_A
COMPUTE COM_COL_A/A20=IF COUNTRY EQ 'ENGLAND' THEN '001234 ' ELSE IF COUNTRY EQ 'ITALY' THEN '004231 ' ELSE '00056687 ';
BY CAR
BY COUNTRY
ON TABLE HOLD AS HLD_2 FORMAT HTMTABLE
ON TABLE SET HTMLCSS ON
ON TABLE SET STYLE *
INCLUDE = IBFS:/EDA/UNICODE/_EDAHOME/ETC/endeflt.sty,
TYPE=DATA,COLUMN=N1,CLASS=NUMASTEXT,$
TYPE=DATA,COLUMN=DEF_COL_A,CLASS=NUMASTEXT,$
TYPE=DATA,COLUMN=COM_COL_A,CLASS=NUMASTEXT,$
-*TYPE=DATA,COLUMN=N2,CLASS=NUMASNUM,$
ENDSTYLE
END

SET HTMLFORMTYPE=XLS
-HTMLFORM BEGIN
<html xmlns:o="urn:schemas-microsoft-com:office:office"
 xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns="http://www.w3.org/TR/REC-html40">
 <head>
 <meta http-equiv=Content-Type content="text/html;">
 <meta name=ProgId content=Excel.Sheet>
 <meta name=Generator content="Microsoft Excel 10">
<style>
TD.NUMASTEXT
{mso-number-format:\@}
TD.NUMASNUM
{mso-number-format:\#\,\#\#0\.00}
</style>
</head>
<body>
<table>
<tr>
<td class="accountnum">
!IBI.FIL.HLD_1;
</td>
<td class="accountnum">
!IBI.FIL.HLD_2;
</td>
</tr></table>
</body>
-HTMLFORM END




WebFOCUS 8.2.05
Windows 2003
Excel, HTML, PDF
October 22, 2019, 04:50 PM
Hallway
quote:
I use CSS stylesheet "endeflt.sty"

That is actually a FOCUS style sheet. If a style sheet has the extension .sty then it is a FOCUS style sheet. A CSS stylesheet will have the extension .css. The two types of files are VERY different.

That being said... Our endeflt.sty must be different than yours, because it still works when run your code posted with that FOCUS stylesheet.

What browser are you using?


Hallway

 
Prod: 8202M1
Test: 8202M4
Repository:
 
OS:
 
Outputs:
 
 
 
 
October 22, 2019, 05:12 PM
JJ
I use IE 11. Code below is the stylesheet and I think backcolor=(rgb(255 255 255) rgb(235 235 240)) is causing the issue but not sure. Thank you!

type=report,
    color=rgb(66 70 73),
    font='Trebuchet MS',
    size=9,
    squeeze=on,
    ariconset='white',
    grid=off,
$
type=pagenum,
    style=italic,
    size=6,
    justify=right,
$
type=tabheading,
    style=bold+italic,
    size=14,
    justify=center,
$
type=tabfooting,
    style=bold+italic,
    size=12,
    justify=center,
    border-top=heavy,
    border-top-color=rgb(52 55 58),
$
type=heading,
    style=bold,
    size=12,
    justify=center,
$
type=footing,
    style=bold,
    size=10,
    justify=center,
$
type=title,
    backcolor=rgb(102 102 102),
    color=rgb(255 255 255),
    style=-underline+bold,
$
type=data,
    backcolor=(rgb(255 255 255) rgb(235 235 240)),
$
type=acrosstitle,
    border-top=light,
    border-bottom=heavy,
    border-top-color=rgb(52 55 58),
    border-bottom-color=rgb(52 55 58),
    size=9,
    style=-underline+bold,
$
type=acrossvalue,
    backcolor=rgb(218 225 232),
    style=bold,
$
type=subhead,
    size=10,
    style=bold,border-top=heavy,
    border-bottom=light,
    border-top-color=rgb(52 55 58),
    border-bottom-color=rgb(52 55 58),
$
type=subfoot,
    size=10,
    style=bold,
    border-top=light,
    border-bottom=medium,
    border-top-color=rgb(52 55 58),
    border-bottom-color=rgb(52 55 58),
$
type=subtotal,
    backcolor=RGB(200 200 200),
    style=bold,
    border-top=light,
    border-top-color=rgb(66 70 73),
$
type=grandtotal,
    backcolor=rgb(66 70 73),
    color=rgb(255 255 255),
    style=bold,
    border-top=light,
    border-bottom=heavy,
    border-top-color=rgb(66 70 73),
    border-top-style=solid,
    border-bottom-style=double,
$
TYPE=REPORT,
    OBJECT=STATUS-AREA,
    COLOR=white,
    BACKCOLOR=rgb(102 102 102),
$
TYPE=REPORT,
    OBJECT=CURRENT-ROW,
    BACKCOLOR=RGB(200 200 200),
    HOVER-BACKCOLOR=rgb(218 225 232),
$
TYPE=REPORT,
    GRAPHCOLOR=green,
    GRAPHCOLORNEG=red,
$
TYPE=REPORT,
    OBJECT=CALC-AREA,
    COLOR=white,
    BACKCOLOR=rgb(102 102 102),
$
TYPE=REPORT,
    OBJECT=MENU,
    COLOR=white,
    BACKCOLOR=rgb(102 102 102),
    BORDER-COLOR=white,
    HOVER-COLOR=rgb(66 70 73),
    hover-backcolor=rgb(218 225 232),
$

*GRAPH_SCRIPT
setFillColor(getSeries(0),new Color(48,94,213));
setFillColor(getSeries(1),new Color(237,195,27));
setFillColor(getSeries(2),new Color(136,144,151));
setFillColor(getSeries(3),new  Color(140,205,40));
setFillColor(getSeries(4),new  Color(227,136,0)  );
setFillColor(getSeries(5),new  Color(40,190,205)  );
setFillColor(getSeries(6),new  Color(255,102,102)  );
setFillColor(getSeries(7), new Color(71,186,143));
setFillColor(getSeries(8), new Color(187,90,71));
setFillColor(getSeries(9),new  Color(190,107,211));
setFillColor(getSeries(10),new Color(16,122,22));
setFillColor(getSeries(11),new Color(108,149,200));
setFillColor(getSeries(12),new Color(169,109,205)  );
setFillColor(getSeries(13),new Color(210,143,255)  );
setFillColor(getSeries(14),new Color(60,49,36));
setFillColor(getSeries(15),new Color(78,43,37));
setFillColor(getSeries(16),new Color(95,38,37));
setFillColor(getSeries(17),new Color(19,23,162));
setFillColor(getSeries(18),new Color(66,70,73));
setFillColor(getSeries(19),new Color(19,23,162));
setFillColor(getSeries(20),new Color(66,70,73));
setFillColor(getSeries(21),new Color(191,218,170));
setFillColor(getSeries(22),new Color(0,0,128));
setFillColor(getSeries(23),new Color(163,211,208));
setFillColor(getSeries(24),new Color(158,213,243));
setFillColor(getSeries(25),new Color(179,151,191));
setFillColor(getSeries(26),new Color(200,158,193));
setFillColor(getSeries(27),new Color(240,171,196));
setFillColor(getSeries(28),new Color(242,171,168));
setFillColor(getSeries(29),new Color(230,121,88));
setFillColor(getSeries(30),new Color(240,159,97));
setFillColor(getSeries(31),new Color(248,191,106));
setFillColor(getSeries(32),new Color(255,239,121));
setFillColor(getSeries(33),new Color(195,218,125));
setFillColor(getSeries(34),new Color(0,0,255));
setFillColor(getSeries(35),new Color(0,255,0));
setFillColor(getSeries(36),new Color(255,0,255));
setFillColor(getSeries(37),new Color(255,255,0));
setFillColor(getSeries(38),new Color(255,0,0));
setFillColor(getSeries(39),new Color(255,200,0));
setFillColor(getSeries(40),new Color(255,175,175));
setFillColor(getSeries(41),new Color(0,255,255));
setFillColor(getSeries(42),new Color(206,0,54));
setFillColor(getSeries(43),new Color(255,239,0));
setFillColor(getSeries(44),new Color(0,152,82));
setFillColor(getSeries(45),new Color(0,174,227));
setFillColor(getSeries(46),new Color(42,19,109));
setFillColor(getSeries(47),new Color(206,0,121));
setFillColor(getSeries(48),new Color(243,169,136));
setFillColor(getSeries(49),new Color(248,190,145));
setFillColor(getSeries(50),new Color(253,211,154));
setFillColor(getSeries(51),new Color(255,243,172));
setFillColor(getSeries(52),new Color(217,229,171));
setFillColor(getSeries(53),new Color(191,218,170));
setFillColor(getSeries(54),new Color(165,208,169));
setFillColor(getSeries(55),new Color(163,211,208));
setFillColor(getSeries(56),new Color(158,213,243));
setFillColor(getSeries(57),new Color(179,151,191));
setFillColor(getSeries(58),new Color(200,158,193));
setFillColor(getSeries(59),new Color(240,171,196));
setFillColor(getSeries(60),new Color(242,171,168));
setFillColor(getSeries(61),new Color(230,121,88));
setFillColor(getSeries(62),new Color(240,159,97));
setFillColor(getSeries(63),new Color(248,191,106));
setBorderColor(getO1AxisLine(),new Color(130,130,130));
setBorderColor(getY1AxisLine(),new Color(130,130,130));
setFillColor(getY1Title(),new Color(66,70,73));
setFillColor(getY1Label(),new Color(66,70,73));
setFillColor(getY2Label(),new Color(66,70,73));
setFillColor(getY3Label(),new Color(66,70,73));
setFillColor(getY4Label(),new Color(66,70,73));
setFillColor(getY5Label(),new Color(66,70,73));
setFillColor(getO1Title(),new Color(66,70,73));
setFillColor(getX1Title(),new Color(66,70,73));
setFillColor(getO1Label(),new Color(66,70,73));
setFillColor(getO2Label(),new Color(66,70,73));
setFillColor(getX1Label(),new Color(66,70,73));
setFillColor(getLegendText(),new Color(66,70,73));
setFillColor(getFrame(),new Color(235,235,240));
setFillColor(getChartBackground(),new Color(255,255,255));
setBorderColor(getY1MajorGrid(),new Color(204,204,204));
setBorderColor(getY1MinorGrid(),new Color(204,204,204));
setBorderColor(getY2MajorGrid(),new Color(204,204,204));
setBorderColor(getY2MinorGrid(),new Color(204,204,204));
setBorderColor(getO1MajorGrid(),new Color(204,204,204));
setBorderColor(getO1MinorGrid(),new Color(204,204,204));
setBorderColor(getX1MajorGrid(),new Color(204,204,204));
setBorderColor(getX1MinorGrid(),new Color(204,204,204));
setTransparentBorderColor(getCubeFloor(),true);
setTransparentBorderColor(getCubeLeftWall(),true);
setTransparentBorderColor(getCubeRightWall(),true);
setCubeFocusFactor(95.83333182119424);
setCubePanX(41.3);
setCubePanY(54.7);
setCubeRotationMatrix(0.9527877123115605,-0.39648905742363183,1.0691265903653806,-0.012240167246073914,1.389589570659449,0.5262420232508634,-1.1402128823990627,-0.3462324595884829,0.8877371966710723);
setCubeViewerZ(93.61645050038162);
setCubeZoomFactor(55.0);
setCubeWallThickZ(0.0);
setCubeWallThickY(0.0);
setCubeWallThickX(0.0);
setTransparentBorderColor(getSeries(0),true);
setTransparentBorderColor(getSeries(1),true);
setTransparentBorderColor(getSeries(2),true);
setTransparentBorderColor(getSeries(3),true);
setTransparentBorderColor(getSeries(4),true);
setTransparentBorderColor(getSeries(5),true);
setTransparentBorderColor(getSeries(6),true);
setTransparentBorderColor(getSeries(7),true);
setTransparentBorderColor(getSeries(8),true);
setTransparentBorderColor(getSeries(9),true);
setTransparentBorderColor(getSeries(10),true);
setTransparentBorderColor(getSeries(11),true);
setTransparentBorderColor(getSeries(12),true);
setTransparentBorderColor(getSeries(13),true);
setTransparentBorderColor(getSeries(14),true);
setTransparentBorderColor(getSeries(15),true);
setTransparentBorderColor(getSeries(16),true);
setTransparentBorderColor(getSeries(17),true);
setTransparentBorderColor(getChartBackground(),true);

setY1MajorGridStyle(0);
setY2MajorGridStyle(0);
setO1MajorGridStyle(0);
setX1MajorGridStyle(0);
setLineStyleLegendMarkers(3);
setNullLegendMarkerShapesAsSquares(false);
setFrameAutoShade(true);
setColorMode(1);
setUseDefaultBubbleMarker(false);

*GRAPH_JS
"mouseOverIndicator": {
         "enabled": true,
         "color": "yellow",
	"marker":{"size": 0}
},
"introAnimation": {
   "enabled": true,
   "duration": 1400
  },
"riserBevel":"bevel"

*END




WebFOCUS 8.2.05
Windows 2003
Excel, HTML, PDF
October 22, 2019, 07:40 PM
Hallway
I'm at a loss. I tried replacing the INCLUDE with the styling that you provided, and it still works for me. I've tried Edge(Version 78.0.276.20) and IE11, and they both work for me.

Are you using Compatibility View in your IE11? Also, what version of Excel are you using. I'm using Office 365 ProPlus and the Excel version is 1902.


Hallway

 
Prod: 8202M1
Test: 8202M4
Repository:
 
OS:
 
Outputs:
 
 
 
 
October 23, 2019, 03:40 PM
JJ
Hallway,
I had Compatibility view on and I turned off and ran it, still the same. I am running on IE 11 and Excel 2016. The difference is our office versions or the WebFOCUS versions, I am on WF 8.2.05. Thank you much for trying.


WebFOCUS 8.2.05
Windows 2003
Excel, HTML, PDF