Tech Doc Search Tech Support User Forums WebFOCUS Newsletter Summit Education

Go
New
Search
Notify
Tools
Reply
  
Compound Reports in PDF
 Login/Join
 
Silver Member
posted
Hi
Iam working with the version 7.1.4.I have 12 reports to be displayed in a single PDF page like table (6 reports in left side and 6 reports in right side)Each report contains hold files.when iam using SET COMPOUND = OPEN and CLOSE statements it is displaying only the first report.BUt i want to display all the 12 individual pdf reports.

Example
SET COMPOUND = OPEN NOBREAK
-INCLUDE report1
-INCLUDE report2
---
---
-INCLUDE report12(ALl the 12 reports are in PDF format)
SET COMPOUND = CLOSE


And my report1 contains hold files
Example

TABLE FILE CAR
PRINT
CAR
BY COUNTRY
ON TABLE HOLD AS H1
END
TABLE FILE H1
PRINT CAR
ACROSS COUNTRY
STYLING
ON TABLE PC HOLD FORMAT PDF
END
TABLE FILE CAR
PRINT
CAR
BY COUNTRY
ON TABLE HOLD AS H2
END
TABLE FILE H2
PRINT CAR
ACROSS COUNTRY
STYLING
ON TABLE PC HOLD FORMAT PDF
END
.
.
.
.
TABLE FILE CAR
PRINT
CAR
BY COUNTRY
ON TABLE HOLD AS H5
END
TABLE FILE H5
PRINT CAR
ACROSS COUNTRY
STYLING
ON TABLE PC HOLD FORMAT PDF
END

When iam trying to to this iam getting the output s 0 number of records in table and it displays the nuber of lines
can anybody help to solve this issue.


WebFocus 7.1.4 xp html,excel,pdf
 
Posts: 41 | Registered: February 27, 2008Reply With QuoteReport This Post
Platinum Member
posted Hide Post
well i guess compound will not work...switch to component reporting...


WF Server: 7.1.4 on Z/OS and Linux, ReportCaster
Data: DB2, DB2/UDB, Adabas, SQL Server, Oracle Output: HTML,PDF,Excel2K
WF Client: Servlet, CGI
 
Posts: 133 | Registered: May 12, 2007Reply With QuoteReport This Post
Expert
posted Hide Post
quote:
ON TABLE PC HOLD FORMAT PDF


This is incorrect syntax. It should be ON TABLE PCHOLD ... There should not be a space between PC and HOLD.


Ginny
---------------------------------
Prod: WF 7.7.01 Dev: WF 7.6.9-11
Admin, MRE,self-service; adapters: Teradata, DB2, Oracle, SQL Server, Essbase, ESRI, FlexEnable, Google
 
Posts: 2723 | Location: Ann Arbor, MI | Registered: April 05, 2006Reply With QuoteReport This Post
Virtuoso
posted Hide Post
I would give each hold file and other name.
The system could be a bit confused....




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

 
Posts: 2388 | Location: Amsterdam, the Netherlands | Registered: December 03, 2006Reply With QuoteReport This Post
Expert
posted Hide Post
TABLE FILE CAR
PRINT
CAR MODEL
BY COUNTRY
ON TABLE HOLD AS H1 
END
TABLE FILE CAR
PRINT
CAR MODEL BODYTYPE
BY COUNTRY
ON TABLE HOLD AS H2 
END

TABLE FILE H1
SUM CAR
ACROSS COUNTRY
ON TABLE SET COMPOUND OPEN NOBREAK
ON TABLE SET ONLINE-FMT PDF 
END
TABLE FILE H1
PRINT MODEL
BY COUNTRY
BY CAR
ON TABLE SET ONLINE-FMT PDF 
END
TABLE FILE H2
PRINT BODYTYPE
BY COUNTRY
BY CAR
BY MODEL
ON TABLE SET COMPOUND CLOSE
ON TABLE SET ONLINE-FMT PDF 
END
  

This works. Looks like you need to move the -INCLUDE for the hold files above the code for the reports. Also the SET commands don't seem to work in the general code.


Ginny
---------------------------------
Prod: WF 7.7.01 Dev: WF 7.6.9-11
Admin, MRE,self-service; adapters: Teradata, DB2, Oracle, SQL Server, Essbase, ESRI, FlexEnable, Google
 
Posts: 2723 | Location: Ann Arbor, MI | Registered: April 05, 2006Reply With QuoteReport This Post
Virtuoso
posted Hide Post
As Focuzsambit mentioned earlier, the standard technique for compound reports (OPEN/CLOSE/NOBREAK) will NOT give you the result you are looking for. This simply gives you the ability to place multiple reports one after another, with or without page breaks.

If you are wanting to place multiple reports "to be displayed in a single PDF page like table (6 reports in left side and 6 reports in right side)" you will have to use the technique provided by the compound PDF layout painter tool which creates each report as a component and then lets you place those components at a specific location and size on a page. I would suggest, for starters, to create each of your individual reports, then use the PDF layout painter to get your finished result, incorporating each of your individual reports.


Regards,

Darin



In FOCUS since 1991
WF Server: 7.7.04 on Linux and Z/OS, ReportCaster, Self-Service, MRE, Java, Flex
Data: DB2/UDB, Adabas, SQL Server Output: HTML,PDF,EXL2K/07, PS, AHTML, Flex
WF Client: 77 on Linux w/Tomcat
 
Posts: 2298 | Location: Salt Lake City, Utah | Registered: February 02, 2007Reply With QuoteReport This Post
<Helpme>
posted
Hi Darin, I tried to do a similar thing, but I face a strange problem. When there are intermediate hold files within the components, I do not see all my components in the final report. When each of the components is a simple table command, the desired output is seen with no issues.

But my requirement would need me to manipulate data creating multiple intermediate hold files.

Any suggestion is greatly appreciated.
 
Reply With QuoteReport This Post
Expert
posted Hide Post
How are you doing your components? Do you create them individually and then incorporate them into the compound PDF (method I recommend) or do you build them inside the PDF Layout Painter?

If method 1, do the reports with the hold files run independently, that is not from the compound document but as stand-alone focexecs?

Please advise.


Ginny
---------------------------------
Prod: WF 7.7.01 Dev: WF 7.6.9-11
Admin, MRE,self-service; adapters: Teradata, DB2, Oracle, SQL Server, Essbase, ESRI, FlexEnable, Google
 
Posts: 2723 | Location: Ann Arbor, MI | Registered: April 05, 2006Reply With QuoteReport This Post
<Helpme>
posted
Yes Ginny, I created the individual focexecs and referred (-INCLUDE) them from within the compound layout painter. The individual fex files are running perfectly fine with the hold files. I have tried a sample with one component on CAR and another component on employee. I have just used a hold file without any manipulation in the data and tried to print from the hold file.

Of course, I have tried building the components entirely inside the PDF layout painter too.

Neither of the methods worked Frowner
 
Reply With QuoteReport This Post
<Helpme>
posted
Now, the issue with having hold files is resolved. I am placing another component of insignificant dimensions (size) and displaying nothing but setting the output format to PDF. The further components can now have the hold files and still display desired output.

My first component is something like
quote:

SET COMPONENT='report1'
-*component_type report
TABLE FILE EMPLOYEE
PRINT LAST_NAME
WHERE LAST_NAME EQ 'ABC'
ON TABLE PCHOLD FORMAT PDF


And the dimensions of this component --
quote:

component='report1', type=report, position=(0.500 0.625), dimension=(0.000 0.042), $


The only problem now is, the output is spilled on to multiple pages where it could have printed on a single page. Each row is displayed on a separate page. Any suggestions please?
 
Reply With QuoteReport This Post
<Helpme>
posted
Anyone faced this problem earlier?

The output in the compound PDF layout painter generated report is spilled onto multiple pages. Each row is displayed on a separate page. Any idea how to get this resolved?
 
Reply With QuoteReport This Post
Virtuoso
posted Hide Post
in the code you posted, you are not really " displaying nothing." You are running a report that is empty because no records meet the criteria - yeah I know, it's semantics. What would be the purpose of running a report and putting it onto a compound report if there is never anything in it?

When you say each row is on a separate page, each row of what? Maybe check to overflow properties in the layout tool? check use of PAGE-BREAK or NOBREAK?

Kind of hard to know what the elephant does by looking at it's tail.


Regards,

Darin



In FOCUS since 1991
WF Server: 7.7.04 on Linux and Z/OS, ReportCaster, Self-Service, MRE, Java, Flex
Data: DB2/UDB, Adabas, SQL Server Output: HTML,PDF,EXL2K/07, PS, AHTML, Flex
WF Client: 77 on Linux w/Tomcat
 
Posts: 2298 | Location: Salt Lake City, Utah | Registered: February 02, 2007Reply With QuoteReport This Post
Virtuoso
posted Hide Post
Helpme

if you see your code try to understand it.
Position means where the report starts
Dimension is the size.
If you change the last on to (5 12) it might look better. You have to play a bit with the size, it depends on other settings. Maybe you also need an overflow page.




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

 
Posts: 2388 | Location: Amsterdam, the Netherlands | Registered: December 03, 2006Reply With QuoteReport This Post
<Helpme>
posted
Thanks for your posts Frank and Darin.

Let me make one thing clear to you. The first component of the report is an empty report because if my first component has hold files, I am not seeing other report components on the final generated report. My report has another two components apart from this very small (in dimensions) first component which is purposely made empty. Earlier, when I did not have this first empty component, only one component got displayed on the final output inspite of having two components in the design and code. To get two components displayed, I had to go with this option of placing a dummy empty component first. I very well know that position and dimension are totally different attributes and size is represented by dimension. Dimensions of my first component are purposely made very small because I do not want to see that component which is placed only to avoid other problem with displaying multiple components.

I did not do an explicit page-break but still it happens.

My problem now is the records of other two components are getting printed one on each new page.

This message has been edited. Last edited by: <Helpme>,
 
Reply With QuoteReport This Post
<Helpme>
posted
Here is my entire code --

quote:

COMPOUND LAYOUT
UNITS=IN, $
SECTION=section1, LAYOUT=ON, MERGE=ON, ORIENTATION=LANDSCAPE, PAGESIZE=Letter, $
pagelayout=1, name='Layout page 1', $
component='report1', type=report, position=(0.500 0.625), dimension=(0.000 0.042), $
component='report2', type=report, position=(0.500 0.792), dimension=(4.063 3.354), $
component='report3', type=report, position=(4.927 0.792), dimension=(4.042 3.469), $
END
SET COMPONENT='report1'
-*component_type report
TABLE FILE EMPLOYEE
PRINT LAST_NAME
WHERE LAST_NAME EQ 'ABC'
ON TABLE PCHOLD FORMAT PDF
END
SET COMPONENT='report2'
-*component_type report
TABLE FILE EMPLOYEE
PRINT LAST_NAME FIRST_NAME
ON TABLE PCHOLD FORMAT PDF
END
SET COMPONENT='report3'
-*component_type report
TABLE FILE CAR
PRINT CAR MODEL
ON TABLE PCHOLD FORMAT PDF
END
COMPOUND END


If you run this code, you wil notice that output is generated with one record on each new page and that exactly is my problem. Any help please?
 
Reply With QuoteReport This Post
Virtuoso
posted Hide Post
The problem is that you have a coordinated report, but are not using any BY fields for coordination so it is going off of last name. Add the same BY field in each report or turn off coordination and you'll get what you need.

Also, there is still no need for the empty report. Still not quite sure why you think you need it, but whatever it is, that's not the real issue. Code below produces a correct coordinated compound report:
-* File COMPOUND PAGES
-* Default Mode: ResourceLayout
COMPOUND LAYOUT
UNITS=IN, $
SECTION=section1, LAYOUT=ON, MERGE=ON, ORIENTATION=LANDSCAPE, PAGESIZE=Letter, $
pagelayout=1, name='Layout page 1', $
component='report1', type=report, position=(0.417 0.833), dimension=(2.917 4.375), $
component='report2', type=report, position=(4.583 0.833), dimension=(3.333 4.375), $
pagelayout=2, name='Layout page 2', $
END
SET COMPONENT='report1'
-*component_type report
TABLE FILE CAR
PRINT
CAR
DEALER_COST
BY COUNTRY NOPRINT
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,
PAGESIZE='Letter',
SQUEEZE=ON,
ORIENTATION=PORTRAIT,
$
TYPE=REPORT,
GRID=OFF,
FONT='ARIAL',
SIZE=9,
COLOR='BLACK',
BACKCOLOR='NONE',
STYLE=NORMAL,
$
TYPE=TITLE,
STYLE=BOLD,
$
ENDSTYLE
END
SET COMPONENT='report2'
-*component_type report
TABLE FILE CAR
PRINT
CAR
RETAIL_COST
BY COUNTRY NOPRINT
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,
PAGESIZE='Letter',
SQUEEZE=ON,
ORIENTATION=PORTRAIT,
$
TYPE=REPORT,
GRID=OFF,
FONT='ARIAL',
SIZE=9,
COLOR='BLACK',
BACKCOLOR='NONE',
STYLE=NORMAL,
$
TYPE=TITLE,
STYLE=BOLD,
$
ENDSTYLE
END
COMPOUND END


Regards,

Darin



In FOCUS since 1991
WF Server: 7.7.04 on Linux and Z/OS, ReportCaster, Self-Service, MRE, Java, Flex
Data: DB2/UDB, Adabas, SQL Server Output: HTML,PDF,EXL2K/07, PS, AHTML, Flex
WF Client: 77 on Linux w/Tomcat
 
Posts: 2298 | Location: Salt Lake City, Utah | Registered: February 02, 2007Reply With QuoteReport This Post
<Helpme>
posted
Thank you very nuch Darin. Turning off the Coordinate Report attribute works fine.

Coming to using the empty report --

Please try the below code which has an intermediate hold file in the first component. My actual report will be more complex and needs many hold files to generate the final desired output.

quote:

COMPOUND LAYOUT
UNITS=IN, $
SECTION=section1, LAYOUT=ON, MERGE=ON, ORIENTATION=LANDSCAPE, PAGESIZE=Letter, $
pagelayout=1, name='Layout page 1', $
component='report1', type=report, position=(0.417 0.833), dimension=(2.917 4.375), $
component='report2', type=report, position=(4.583 0.833), dimension=(3.333 4.375), $
pagelayout=2, name='Layout page 2', $
END
SET COMPONENT='report1'
-*component_type report
TABLE FILE CAR
PRINT CAR
DEALER_COST
COUNTRY
ON TABLE HOLD AS 'CAR1' FORMAT ALPHA
END
TABLE FILE CAR1
PRINT
CAR
DEALER_COST
BY COUNTRY NOPRINT
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,
PAGESIZE='Letter',
SQUEEZE=ON,
ORIENTATION=PORTRAIT,
$
TYPE=REPORT,
GRID=OFF,
FONT='ARIAL',
SIZE=9,
COLOR='BLACK',
BACKCOLOR='NONE',
STYLE=NORMAL,
$
TYPE=TITLE,
STYLE=BOLD,
$
ENDSTYLE
END
SET COMPONENT='report2'
-*component_type report
TABLE FILE CAR
PRINT
CAR
RETAIL_COST
BY COUNTRY NOPRINT
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,
PAGESIZE='Letter',
SQUEEZE=ON,
ORIENTATION=PORTRAIT,
$
TYPE=REPORT,
GRID=OFF,
FONT='ARIAL',
SIZE=9,
COLOR='BLACK',
BACKCOLOR='NONE',
STYLE=NORMAL,
$
TYPE=TITLE,
STYLE=BOLD,
$
ENDSTYLE
END
COMPOUND END


Since, there is a hold file in the first component, the final report displays only one component.
 
Reply With QuoteReport This Post
Virtuoso
posted Hide Post
The hold file cannot be a component.


In Focus since 1993. WebFOCUS 7.7.03 Win 2003
 
Posts: 1839 | Location: San Antonio | Registered: February 28, 2005Reply With QuoteReport This Post
<Helpme>
posted
The hold file is not a component by itself. It is just a part of the component.
 
Reply With QuoteReport This Post
Virtuoso
posted Hide Post
Is it neccessary to use this?. Can't you use the old fashioned way
ON TABLE PCHOLD FORMAT PDF OPEN
ON TABLE PCHOLD FORMAT PDF NOBREAK
ON TABLE PCHOLD FORMAT PDF NOBREAK CLOSE

Then you can put all the hold files you want and not worry about components or dimensions


In Focus since 1993. WebFOCUS 7.7.03 Win 2003
 
Posts: 1839 | Location: San Antonio | Registered: February 28, 2005Reply With QuoteReport This Post
<Helpme>
posted
Will the old fashion let me place my components however I want? Using PDF OPEN, PDF NOBREAK, PDF NOBREAK CLOSE will place the component one after the other.. isn't it?
 
Reply With QuoteReport This Post
Virtuoso
posted Hide Post
I use hold files frequently in compound reports without problem. I cut and pasted your code as is and I can see both reports on the page.

And the old-fashioned way doesn't allow you to place multiple reports however you want,(but, as always, there are ways around that.)

I would stick with the "new" way for what you need. And again, I didn't see any problems with your code.

This message has been edited. Last edited by: Darin Lee,


Regards,

Darin



In FOCUS since 1991
WF Server: 7.7.04 on Linux and Z/OS, ReportCaster, Self-Service, MRE, Java, Flex
Data: DB2/UDB, Adabas, SQL Server Output: HTML,PDF,EXL2K/07, PS, AHTML, Flex
WF Client: 77 on Linux w/Tomcat
 
Posts: 2298 | Location: Salt Lake City, Utah | Registered: February 02, 2007Reply With QuoteReport This Post
<Helpme>
posted
It worked for you???

I have tried this in many different ways but when I use hold files, I am not able to get two components printed on the reprot. Will there be any setting that I am missing?
 
Reply With QuoteReport This Post
Virtuoso
posted Hide Post
Worked for me. Try this - if you are using DevStudio, turn on the Message Viewer (click the little down arrow by the blue "Run Arrow" and set to on.) This allows you to see the code that is used even though the output is PDF. Check the code and see if you are getting any errors.

The code is pretty straighforward so I'm not sure why it works for me but not for you.


Regards,

Darin



In FOCUS since 1991
WF Server: 7.7.04 on Linux and Z/OS, ReportCaster, Self-Service, MRE, Java, Flex
Data: DB2/UDB, Adabas, SQL Server Output: HTML,PDF,EXL2K/07, PS, AHTML, Flex
WF Client: 77 on Linux w/Tomcat
 
Posts: 2298 | Location: Salt Lake City, Utah | Registered: February 02, 2007Reply With QuoteReport This Post
<Helpme>
posted
Thanks Darin.

I always have my message viewer turned on. And I did not see any error for this fex. I really wonder how it works for you but not for me.
 
Reply With QuoteReport This Post
  Powered by Social Strata  
 


Copyright © 1996-2013 Information Builders, leaders in enterprise business intelligence.