Focal Point
[SOLVED]Compound Report graph page-break problem

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

August 05, 2011, 03:16 PM
SeyedG
[SOLVED]Compound Report graph page-break problem
Hi All,
We are using WebFocus Dev Studio 7.6.11. I am having problems with a graph that page breaks by employee ID instead of division. Both report and graph are sorted first by division and then by employee ID. To post this question on this site, I have duplicated the problem using the CAR file. In the example that I am listing below, I have sorted both graph and report by 'Country' and then ‘Car’. However, when I run this report, a new graph appears on each page even when data shown belongs to the previous graph.

Here is the code:

SET HTMLARCHIVE=ON
COMPOUND LAYOUT PCHOLD FORMAT PDF
UNITS=IN, $
SECTION=section1, LAYOUT=ON, METADATA='0.5^0.5^0.5^0.5^1', MERGE=OFF, ORIENTATION=PORTRAIT, PAGESIZE=Letter,  $
PAGELAYOUT=1, NAME='Page layout 1', text='Page layout 1', TOC-LEVEL=1, BOTTOMMARGIN=0.5, TOPMARGIN=0.5, METADATA='BOTTOMMARGIN=0.5,TOPMARGIN=0.5,LEFTMARGIN=0,RIGHTMARGIN=0,', $
COMPONENT='graph1', TEXT='graph1', TOC-LEVEL=2, POSITION=(1.458 0.833), DIMENSION=(5.621 4.269), METADATA='Z-INDEX: 100; LEFT: 1.458in; WIDTH: 5.621in; POSITION: absolute; TOP: 0.833in; HEIGHT: 4.269in', $
COMPONENT='report1', TEXT='report1', TOC-LEVEL=2, POSITION=(0.624 5.625), DIMENSION=(7.294 2.083), METADATA='Z-INDEX: 100; LEFT: 0.624in; OVERFLOW: auto; WIDTH: 7.294in; POSITION: absolute; TOP: 5.625in; HEIGHT: 2.083in', $
END
SET COMPONENT='graph1'
-*component_type graph
GRAPH FILE CAR
SUM CAR.BODY.RETAIL_COST
ACROSS CAR.COMP.CAR
BY CAR.ORIGIN.COUNTRY
BY CAR.COMP.CAR
HEADING
"<CAR.ORIGIN.COUNTRY "
ON GRAPH SET LOOKGRAPH VBAR
ON GRAPH SET GRAPHEDIT SERVER
ON GRAPH SET BARNUMB OFF
ON GRAPH SET 3D OFF
ON GRAPH SET VZERO ON
ON GRAPH SET GRID ON
ON GRAPH SET VAXIS 4.269
ON GRAPH SET HAXIS 5.621
ON GRAPH SET GRWIDTH 1
ON GRAPH HOLD AS HOLD FORMAT SVG
ON GRAPH SET GRAPHSTYLE *
setMarkerDisplay(true);
setConnectLineMarkers(false);
setConnectScatterMarkers(false);
setO1LabelDisplay(true);
setO1AxisSide(0);
setO1MajorGridDisplay(true);
setO1MajorGridStyle(0);
setO1MinorGridDisplay(false);
setAxisAssignment(0,0);
setY1LabelDisplay(true);
setY1AxisSide(0);
setY1MajorGridDisplay(true);
setY1MajorGridStyle(0);
setY1MinorGridDisplay(false);
setTextFormatPreset(getY1Label(),-1);
setTextFormatPattern(getY1Label(),"#.##");
setPieFeelerTextDisplay(1);
setPieLabelDisplay(0);
setTextFormatPreset(getPieSliceLabel(),1);
setRiserBorderMode(1);
setSeriesDefaultTransparentBorderColor(true);
setUseSeriesBorderDefaults(true);
setLegendDisplay(true);
setFontSizeAbsolute(getY1Title(),true);
setFontSizeAbsolute(getY1Label(),true);
setFontSizeAbsolute(getY2Title(),true);
setFontSizeAbsolute(getY2Label(),true);
setFontSizeAbsolute(getO1Title(),true);
setPlace(true);
ENDSTYLE
ON GRAPH SET STYLE *
SQUEEZE=ON,
ORIENTATION=PORTRAIT,
$
TYPE=REPORT,
GRID=OFF,
FONT='TIMES NEW ROMAN',
SIZE=10,
$
TYPE=HEADING,
LINE=1,
JUSTIFY=CENTER,
$
TYPE=HEADING,
LINE=1,
OBJECT=TEXT,
ITEM=1,
SIZE=14,
COLOR='BLACK',
$
TYPE=HEADING,
LINE=1,
OBJECT=FIELD,
ITEM=1,
SIZE=14,
COLOR='BLACK',
$
ENDSTYLE
END
-RUN
TABLE FILE CAR
" "
SUM
COMPUTE CNTR/I4 = CNTR + 1; NOPRINT
COMPUTE CNTR2/A4 = IF &FOCGRAPHCNT EQ 1 THEN ' ' ELSE FTOA(CNTR-1,'(F4)','A4'); NOPRINT
COMPUTE IMG/A16 = 'HOLD'||LJUST(4,CNTR2,'A4')|| '.svg';NOPRINT
BY CAR.ORIGIN.COUNTRY NOPRINT
ON CAR.ORIGIN.COUNTRY PAGE-BREAK
ON TABLE SET PAGE-NUM NOLEAD
ON TABLE PCHOLD FORMAT PDF
ON TABLE SET STYLE *
type=HEADING, IMAGE=(IMG), position=(0 0), $
TYPE=REPORT,PAGE-LOCATION=OFF,$
END
SET COMPONENT='report1'
-*component_type report
TABLE FILE CAR
PRINT
'CAR.CARREC.MODEL'
'CAR.BODY.BODYTYPE'
'CAR.BODY.DEALER_COST'
'CAR.BODY.RETAIL_COST'
BY 'CAR.ORIGIN.COUNTRY'
BY 'CAR.COMP.CAR'
ON CAR.ORIGIN.COUNTRY PAGE-BREAK
ON CAR.COMP.CAR PAGE-BREAK
HEADING
""
FOOTING
""
ON TABLE SET PAGE-NUM OFF
ON TABLE NOTOTAL
ON TABLE PCHOLD FORMAT PDF
ON TABLE SET HTMLCSS ON
ON TABLE SET STYLE *
UNITS=IN,
SQUEEZE=ON,
ORIENTATION=PORTRAIT,
$
TYPE=REPORT,
GRID=OFF,
FONT='TIMES NEW ROMAN',
SIZE=10,
$
ENDSTYLE
END
COMPOUND END



What changes can I make to ensure that the graph is displayed only when country changes and not the car?

Thank you for your help,

Seyed

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


WebFOCUS 8.0.09
App Studio 8009
Linux Kernel-2.6
DBMS: Oracle 11g
all output (Excel, HTML, AHTML, PDF)
August 07, 2011, 05:52 PM
Waz
Is this what you wanted ?

-*new file
SET HTMLARCHIVE=ON
COMPOUND LAYOUT PCHOLD FORMAT PDF
UNITS=IN, $
SECTION=section1, LAYOUT=ON, METADATA='0.5^0.5^0.5^0.5^1', MERGE=ON, ORIENTATION=PORTRAIT, PAGESIZE=Letter,  $
PAGELAYOUT=1, NAME='Page layout 1', text='Page layout 1', TOC-LEVEL=1, BOTTOMMARGIN=0.5, TOPMARGIN=0.5, METADATA='BOTTOMMARGIN=0.5,TOPMARGIN=0.5,LEFTMARGIN=0,RIGHTMARGIN=0,', $
COMPONENT='graph1', TEXT='graph1', TOC-LEVEL=2, POSITION=(1.458 0.833), DIMENSION=(5.621 4.269), METADATA='Z-INDEX: 100; LEFT: 1.458in; WIDTH: 5.621in; POSITION: absolute; TOP: 0.833in; HEIGHT: 4.269in', $
COMPONENT='report1', TEXT='report1', TOC-LEVEL=2, POSITION=(0.624 5.625), DIMENSION=(7.294 2.083), METADATA='Z-INDEX: 100; LEFT: 0.624in; OVERFLOW: auto; WIDTH: 7.294in; POSITION: absolute; TOP: 5.625in; HEIGHT: 2.083in', $
END
SET COMPONENT='graph1'
-*component_type graph
GRAPH FILE CAR
SUM CAR.BODY.RETAIL_COST
ACROSS CAR.COMP.CAR
BY CAR.ORIGIN.COUNTRY
-* ###### Commented out BY CAR.COMP.CAR
HEADING
"<CAR.ORIGIN.COUNTRY "
ON GRAPH SET LOOKGRAPH VBAR
ON GRAPH SET GRAPHEDIT SERVER
ON GRAPH SET BARNUMB OFF
ON GRAPH SET 3D OFF
ON GRAPH SET VZERO ON
ON GRAPH SET GRID ON
ON GRAPH SET VAXIS 4.269
ON GRAPH SET HAXIS 5.621
ON GRAPH SET GRWIDTH 1
ON GRAPH HOLD AS HOLD FORMAT SVG
ON GRAPH SET GRAPHSTYLE *
setMarkerDisplay(true);
setConnectLineMarkers(false);
setConnectScatterMarkers(false);
setO1LabelDisplay(true);
setO1AxisSide(0);
setO1MajorGridDisplay(true);
setO1MajorGridStyle(0);
setO1MinorGridDisplay(false);
setAxisAssignment(0,0);
setY1LabelDisplay(true);
setY1AxisSide(0);
setY1MajorGridDisplay(true);
setY1MajorGridStyle(0);
setY1MinorGridDisplay(false);
setTextFormatPreset(getY1Label(),-1);
setTextFormatPattern(getY1Label(),"#.##");
setPieFeelerTextDisplay(1);
setPieLabelDisplay(0);
setTextFormatPreset(getPieSliceLabel(),1);
setRiserBorderMode(1);
setSeriesDefaultTransparentBorderColor(true);
setUseSeriesBorderDefaults(true);
setLegendDisplay(true);
setFontSizeAbsolute(getY1Title(),true);
setFontSizeAbsolute(getY1Label(),true);
setFontSizeAbsolute(getY2Title(),true);
setFontSizeAbsolute(getY2Label(),true);
setFontSizeAbsolute(getO1Title(),true);
setPlace(true);
ENDSTYLE
ON GRAPH SET STYLE *
SQUEEZE=ON,
ORIENTATION=PORTRAIT,
$
TYPE=REPORT,
GRID=OFF,
FONT='TIMES NEW ROMAN',
SIZE=10,
$
TYPE=HEADING,
LINE=1,
JUSTIFY=CENTER,
$
TYPE=HEADING,
LINE=1,
OBJECT=TEXT,
ITEM=1,
SIZE=14,
COLOR='BLACK',
$
TYPE=HEADING,
LINE=1,
OBJECT=FIELD,
ITEM=1,
SIZE=14,
COLOR='BLACK',
$
ENDSTYLE
END
-RUN
TABLE FILE CAR
" "
SUM
COMPUTE CNTR/I4 = CNTR + 1; NOPRINT
COMPUTE CNTR2/A4 = IF &FOCGRAPHCNT EQ 1 THEN ' ' ELSE FTOA(CNTR-1,'(F4)','A4'); NOPRINT
COMPUTE IMG/A16 = 'HOLD'||LJUST(4,CNTR2,'A4')|| '.svg';NOPRINT
BY CAR.ORIGIN.COUNTRY NOPRINT
ON CAR.ORIGIN.COUNTRY PAGE-BREAK
ON TABLE SET PAGE-NUM NOLEAD
ON TABLE PCHOLD FORMAT PDF
ON TABLE SET STYLE *
type=HEADING, IMAGE=(IMG), position=(0 0), $
TYPE=REPORT,PAGE-LOCATION=OFF,$
END
SET COMPONENT='report1'
-*component_type report
TABLE FILE CAR
PRINT
'CAR.CARREC.MODEL'
'CAR.BODY.BODYTYPE'
'CAR.BODY.DEALER_COST'
'CAR.BODY.RETAIL_COST'
BY 'CAR.ORIGIN.COUNTRY'
BY 'CAR.COMP.CAR'
ON CAR.ORIGIN.COUNTRY PAGE-BREAK
-* ###### Commented out ON CAR.COMP.CAR PAGE-BREAK
HEADING
""
FOOTING
""
ON TABLE SET PAGE-NUM OFF
ON TABLE NOTOTAL
ON TABLE PCHOLD FORMAT PDF
ON TABLE SET HTMLCSS ON
ON TABLE SET STYLE *
UNITS=IN,
SQUEEZE=ON,
ORIENTATION=PORTRAIT,
$
TYPE=REPORT,
GRID=OFF,
FONT='TIMES NEW ROMAN',
SIZE=10,
$
ENDSTYLE
END
COMPOUND 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!

August 08, 2011, 04:26 PM
SeyedG
Hi Waz,
This is precisely what I wanted. Thank you very much. I hope that I could make similar changes to the original compound report.

Thanks again,

Seyed


WebFOCUS 8.0.09
App Studio 8009
Linux Kernel-2.6
DBMS: Oracle 11g
all output (Excel, HTML, AHTML, PDF)
August 08, 2011, 04:27 PM
SeyedG
[SOLVED]


WebFOCUS 8.0.09
App Studio 8009
Linux Kernel-2.6
DBMS: Oracle 11g
all output (Excel, HTML, AHTML, PDF)
August 08, 2011, 05:49 PM
Waz
Hi SeyedG,

Do you understand the changes I made, and why it solved your issue ?

Also you can update the title of your original post to add [SOLVED] to it, by clicking on the folder with the pencil.

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


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!

August 09, 2011, 12:37 PM
SeyedG
Hi Waz,
I used UltraCompare and compared your suggested code with the original code and found the changes to be as follows:

1) In section1 (entire report), you have set MERGE=ON
2) In the graph section, you have omitted sort on car
3) In the report section, you have removed page break on Car

But, will appreciate to get your explanation of why this change works.

Regarding placing a [SOLVED] in the subject line, I clicked on the folder with pencil on it, but the subject line was not updatable.

Thank you so much,

Seyed


WebFOCUS 8.0.09
App Studio 8009
Linux Kernel-2.6
DBMS: Oracle 11g
all output (Excel, HTML, AHTML, PDF)
August 09, 2011, 06:22 PM
Waz
Hi Seyed,

The MERGE=ON combines each report according to the first sort field of each report.

Points 2 and 3 made sure that the reports would match up when merged. i.e. one graph per report page.

You must edit the first post to change the subject line.


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!

August 10, 2011, 08:46 AM
SeyedG
Hi Waz,
I appreciate your assistance with this issue. I plan to use what I learned from you in the actual compound report which consists of 3 reports and 2 graphs. So far I am good with the first three components of the report. The forth component which is the second graph is not page breaking right.

Again, thank you very much,

Seyed


WebFOCUS 8.0.09
App Studio 8009
Linux Kernel-2.6
DBMS: Oracle 11g
all output (Excel, HTML, AHTML, PDF)