Focal Point
[CASE-OPENED] HFREEZE assist

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

June 15, 2010, 03:31 PM
Ken Junkins
[CASE-OPENED] HFREEZE assist
I'm looking for anyone with a depth of knowledge of HFREEZE. I've read every little bit on Focal Point and throughout the IBI technical manuals about HFREEZE, but still only come up wth the same shallow use.

My problem is in controlling the output, particularly column widths. The best usage of the command for what I want to do is:

ON TABLE SET HTMLCSS ON

ON TABLE SET STYLE *
.
.
.
SQUEEZE=OFF,
$

TYPE=REPORT,
.
.
.
HFREEZE=TOP,
$

A photo or the redacted report is here:
http://farm5.static.flickr.com...753_785a0562cf_b.jpg

Notice in the column "DESCRIPTION" the amount of space to the right of "STAFF BEN-T/R OUT-ST". That is what I want to get rid of.

From the WebFOCUS documentation: SQUEEZE=OFF Assigns column widths based on the field format specified in the Master File. This value pads the column width to the length of the column title or field format descriptions, whichever is greater.

The field "DESCRIPTION" has a format of A20, and in fact the HTML output sets the CSS STYLE for that column to 20:

  
<COL STYLE="WIDTH:20em">


You can see that the data actually has 20 characters in it, but at least 1/3 of the column is padded out with whitespace.

I need to reduce this space to get the whole width of the report to fit into a screen width. The report when generated as standard HTML fits with room to spare, but this arbitrary padding makes the report too wide. I could write a complex JavaScript to handle this, but I shouldn't have to. Does anyone have experience with working with HFREEZE and getting output exactly as they like?

This message has been edited. Last edited by: <Kathryn Henning>,


WF 7.6.8
Reporting Server on OpenVMS
June 16, 2010, 03:39 PM
Dan Satchell
You can use SQUEEZE to specify a column width in HTML output. Data that doesn't fit the specified width gets wrapped.

TABLE FILE CAR
 PRINT COUNTRY CAR MODEL BODYTYPE SEATS
 ON TABLE SET HTMLCSS ON
 ON TABLE SET STYLE *
  TYPE=REPORT, HFREEZE=TOP, $
  TYPE=DATA, COLUMN=COUNTRY, SQUEEZE=1.0, $
  TYPE=DATA, COLUMN=CAR, SQUEEZE=1.2, $
  TYPE=DATA, COLUMN=MODEL, SQUEEZE=2.0, $
 ENDSTYLE
END



WebFOCUS 7.7.05
December 06, 2013, 10:08 AM
Ian Dalton
We are having similar issues with HFREEZE as discussed above. When we have HFREEZE=ON, the report width is considerably wider than with HFREEZE=OFF despite putting WRAP statements to force column widths. Any reason why HFREEZE would widen the columns on the report ?
Here is my code.......


TABLE FILE CAR
HEADING CENTER
"CAR DATA WITH HFREEZE"
" "
PRINT COUNTRY CAR MODEL
-* BODYTYPE SEATS
ON TABLE SET HTMLCSS ON
ON TABLE SET STYLE *
INCLUDE=endeflt,
$
TYPE=REPORT, HFREEZE=ON, $
TYPE=DATA, COLUMN=COUNTRY, WRAP=1.0, $
TYPE=DATA, COLUMN=CAR, WRAP=1.0, $
TYPE=DATA, COLUMN=MODEL, WRAP=1.0, $
ENDSTYLE
FOOTING CENTER
"RUN ON: &DATEDMYY AT: &TOD "
" "
END
-EXIT

Ian


_______________________
*** WebFOCUS 8.1.05M ***
December 27, 2013, 02:04 PM
<Kathryn Henning>
Hi Ian,

Please open a case on InfoResponse Online so that we can look into this issue.

Thanks and regards,

Kathryn
December 31, 2013, 02:27 PM
susannah
Ian, what happens if you get rid of
INCLUDE=endeflt,
$

hfreeze works for me with squeeze and/or wrap




In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
January 08, 2014, 06:55 AM
Ian Dalton
Hi Susannah,
Tried your suggestion with the removal of the INCLUDE=endeflt,
statement but makes no diffrence. Report is still wider with HREEZE=ON.
Regards,
Ian (in positively balmy London - 10 deg. C)


_______________________
*** WebFOCUS 8.1.05M ***
January 10, 2014, 06:33 AM
Ian Dalton
Have raised a case as suggested by Kathryn.


_______________________
*** WebFOCUS 8.1.05M ***
January 10, 2014, 12:13 PM
j.gross
Try applying SQUEEZE to the column as a whole, and WRAP to the data cells within it:
type=report,column=DESCRIPTION,squeeze=on,$
type=data,column=DESCRIPTION,wrap=1.25,$

With a little bit of luck, when all the data is "thin" the column will contract, and when any of it is "fat" the column will expand up to 1.25 and the data will wrap within that.


- Jack Gross
WF through 8.1.05
January 14, 2014, 09:36 AM
Ian Dalton
Sorry Jack made no difference.
I put....
ON TABLE SET STYLE *
INCLUDE=endeflt,
$
type=report,HFREEZE=ON, $
type=report,column=DESCRIPTION,squeeze=on,$
type=data,column=DESCRIPTION,wrap=1.25,$
$
ENDSTYLE


_______________________
*** WebFOCUS 8.1.05M ***
January 14, 2014, 10:53 AM
j.gross
I would open the hood (bonnet?) and analyze the generated HTML code.

Cut down the report to a few rows, run it with and without HFREEZE, and compare the generated HTML to see what's behind the difference in behavior. -- Of course, the gremlin may lie partly or entirely in dynamic changes to the style attributes when HFREEZE=ON is used, but it's a good starting point.
January 14, 2014, 11:12 AM
Ian Dalton
Will give it a whirl and let you know. Thanks Jack.


_______________________
*** WebFOCUS 8.1.05M ***
January 14, 2014, 12:14 PM
Tony A
Hi Ian,

Sorry I missed this!

Do not forget that when you use WIDTH or WRAP they must be applied on a TYPE=REPORT.

Using your original sample code with this correction works fine for me on 7.7.03.

T



In FOCUS
since 1986
WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2  
WebFOCUS App Studio 8.2.06 standalone on Windows 10 
January 15, 2014, 05:52 AM
Ian Dalton
Sorry Tony - tried your suggestion using stylesheet below but HFREEZE=ON still gives a wider report (7.7.03).
Ian


ON TABLE SET STYLE *
INCLUDE=endeflt,
$
TYPE=REPORT, HFREEZE=ON, $
TYPE=REPORT, COLUMN=COUNTRY, WRAP=1.0, $
TYPE=REPORT, COLUMN=CAR, WRAP=1.0, $
TYPE=REPORT, COLUMN=MODEL, WRAP=2.0, $
ENDSTYLE


_______________________
*** WebFOCUS 8.1.05M ***
January 15, 2014, 06:39 AM
Tony A
Hi Ian,

Running your code from above in 7.7.03, with your later styling produces a narrowed output -
TABLE FILE CAR
HEADING CENTER
"CAR DATA WITH HFREEZE"
" "
PRINT COUNTRY CAR MODEL 
-* BODYTYPE SEATS
ON TABLE SET HTMLCSS ON
ON TABLE SET STYLE *
INCLUDE=endeflt,
$
TYPE=REPORT, HFREEZE=ON, $
TYPE=REPORT, COLUMN=COUNTRY, WRAP=1.0, $
TYPE=REPORT, COLUMN=CAR, WRAP=1.0, $
TYPE=REPORT, COLUMN=MODEL, WRAP=2.0, $
ENDSTYLE
FOOTING CENTER
"RUN ON: &DATEDMYY AT: &TOD "
" "
END
-EXIT

Produces the one on the left. The one on the right is with the original code (e.g. TYPE=DATA plus your change to WRAP=2.0 for MODEL).



T

This message has been edited. Last edited by: Tony A,



In FOCUS
since 1986
WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2  
WebFOCUS App Studio 8.2.06 standalone on Windows 10 
January 15, 2014, 07:15 AM
Ian Dalton
Hi Tony, Agreed that it is narrower but still considerably wider than with HFREEZE=OFF.
I think Jack's earlier comment re analyzing the generated HTML code could be the go.
Cheers,
Ian


_______________________
*** WebFOCUS 8.1.05M ***
January 15, 2014, 09:14 AM
Tony A
Indeed, and the main problem that exists is the inclusion of the two three <colgroup> tags. If you capture the HTML and comment these two three occurences out then your output is as you would wish.

Now the problem. You cannot affect the HTML produced without post parsing it as an HTMTABLE output.

T

This message has been edited. Last edited by: Tony A,



In FOCUS
since 1986
WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2  
WebFOCUS App Studio 8.2.06 standalone on Windows 10 
January 15, 2014, 12:01 PM
Ian Dalton
Yes I see what you mean Tony - as I said earlier I have raised a case so will see what comes out of that !!


_______________________
*** WebFOCUS 8.1.05M ***