Discussion:
Variable _REPORTOUTPUT is not found
(too old to reply)
Paul Pedersen
2008-01-08 16:35:36 UTC
Permalink
I finally decided to bite the bullet and start learning some of these fancy
new reporting features. OK, I'm a couple years late...

So I SET REPORTBEHAVIOR 90, tweaked a few report fields that no longer fit,
and all seemed well. (The first page was slow to appear - extremely,
unacceptably slow when the debugger was open - but it worked.) But I was
chagrined to discover that it would not run at the client site: "Variable
_REPORTOUTPUT is not found."

I have since come to understand that REPORTBEHAVIOR 90 requires
reportoutput.app, and that I have to explicitly set _REPORTOUTPUT to that.

A few questions:

1. Is my understanding correct? Do I have to include reportoutput.app in my
installations?

2. What happened to the variable _REPORTOUTPUT? It's one thing for
reportoutput.app to be missing, quite another for that variable to simply
disappear.

3. What else might I be missing?

4. I'm not thrilled with including reportoutput.app when I don't know what's
in it. I can find the code for it in xsource, but xsource has not yet been
updated for SP2. Has the code for reportoutput.app changed since SP1? (Does
anyone outside MS know the answer to that?)

5. So far, I'm not seeing the benefit of reportbehavior 90. What do I need
it for? Is it required in order to use multiple detail bands? Export to pdf?
Dan Freeman
2008-01-08 18:29:47 UTC
Permalink
Yes, you must include reportoutput.app if you're using REPORTB 90. (And
reportbuilder.app and reportpreview.app if you're using those features.)

It's slow because the entire report (i.e. all pages) is rendered as a
multi-page TIFF before displaying the first page.

Yes, there have been changes in the reporting subsystem in SP2, not all of
them beneficial.

Remember that with the new report engine, most of the rendering and output
is done in Xbase code. The primary benefit of REPORTB 90 is the
ReportListener class.

At SWFox, Cathy Pountney did a presentation on a report listener that takes
over printing and allows you to offer your users features normally relegated
to the printer driver (i.e. book fold, multiple pages per sheet, etc.). We
simply could not do that AT ALL before unless users had the right printer
driver. Now we can do it under *our* control.

Dan
Post by Paul Pedersen
I finally decided to bite the bullet and start learning some of these
fancy new reporting features. OK, I'm a couple years late...
So I SET REPORTBEHAVIOR 90, tweaked a few report fields that no
longer fit, and all seemed well. (The first page was slow to appear -
extremely, unacceptably slow when the debugger was open - but it
worked.) But I was chagrined to discover that it would not run at the
client site: "Variable _REPORTOUTPUT is not found."
I have since come to understand that REPORTBEHAVIOR 90 requires
reportoutput.app, and that I have to explicitly set _REPORTOUTPUT to that.
1. Is my understanding correct? Do I have to include reportoutput.app
in my installations?
2. What happened to the variable _REPORTOUTPUT? It's one thing for
reportoutput.app to be missing, quite another for that variable to
simply disappear.
3. What else might I be missing?
4. I'm not thrilled with including reportoutput.app when I don't know
what's in it. I can find the code for it in xsource, but xsource has
not yet been updated for SP2. Has the code for reportoutput.app
changed since SP1? (Does anyone outside MS know the answer to that?)
5. So far, I'm not seeing the benefit of reportbehavior 90. What do I
need it for? Is it required in order to use multiple detail bands?
Export to pdf?
Paul Pedersen
2008-01-08 20:02:39 UTC
Permalink
That is useful information. Thanks!
Post by Dan Freeman
Yes, you must include reportoutput.app if you're using REPORTB 90. (And
reportbuilder.app and reportpreview.app if you're using those features.)
It's slow because the entire report (i.e. all pages) is rendered as a
multi-page TIFF before displaying the first page.
Yes, there have been changes in the reporting subsystem in SP2, not all of
them beneficial.
Remember that with the new report engine, most of the rendering and output
is done in Xbase code. The primary benefit of REPORTB 90 is the
ReportListener class.
At SWFox, Cathy Pountney did a presentation on a report listener that
takes over printing and allows you to offer your users features normally
relegated to the printer driver (i.e. book fold, multiple pages per sheet,
etc.). We simply could not do that AT ALL before unless users had the
right printer driver. Now we can do it under *our* control.
Dan
Post by Paul Pedersen
I finally decided to bite the bullet and start learning some of these
fancy new reporting features. OK, I'm a couple years late...
So I SET REPORTBEHAVIOR 90, tweaked a few report fields that no
longer fit, and all seemed well. (The first page was slow to appear -
extremely, unacceptably slow when the debugger was open - but it
worked.) But I was chagrined to discover that it would not run at the
client site: "Variable _REPORTOUTPUT is not found."
I have since come to understand that REPORTBEHAVIOR 90 requires
reportoutput.app, and that I have to explicitly set _REPORTOUTPUT to that.
1. Is my understanding correct? Do I have to include reportoutput.app
in my installations?
2. What happened to the variable _REPORTOUTPUT? It's one thing for
reportoutput.app to be missing, quite another for that variable to
simply disappear.
3. What else might I be missing?
4. I'm not thrilled with including reportoutput.app when I don't know
what's in it. I can find the code for it in xsource, but xsource has
not yet been updated for SP2. Has the code for reportoutput.app
changed since SP1? (Does anyone outside MS know the answer to that?)
5. So far, I'm not seeing the benefit of reportbehavior 90. What do I
need it for? Is it required in order to use multiple detail bands?
Export to pdf?
Cathy Pountney
2008-01-08 18:34:53 UTC
Permalink
See inline...
Post by Paul Pedersen
1. Is my understanding correct? Do I have to include reportoutput.app in
my installations?
Yes.
Post by Paul Pedersen
2. What happened to the variable _REPORTOUTPUT? It's one thing for
reportoutput.app to be missing, quite another for that variable to simply
disappear.
_REPORTOUTPUT is the system variable that contains the name of the output
app to run when you run reports with the new behavior. By default it
contains 'C:\PROGRAM FILES\MICROSOFT VISUAL FOXPRO 9\REPORTOUTPUT.APP'. You
don't have to change this variable. You just have to be sure to distribute
the ReportOutput.APP file with your application.
Post by Paul Pedersen
3. What else might I be missing?
You also need to distribute 'C:\PROGRAM FILES\MICROSOFT VISUAL FOXPRO
9\REPORTPREVIEW.APP' which is the application that provides the new preview
for reports.

If you are giving the user the ability to modify reports in your
application, you also need to distribute 'C:\PROGRAM FILES\MICROSOFT VISUAL
FOXPRO 9\REPORTBUILDER.APP'
Post by Paul Pedersen
4. I'm not thrilled with including reportoutput.app when I don't know
what's in it. I can find the code for it in xsource, but xsource has not
yet been updated for SP2. Has the code for reportoutput.app changed since
SP1? (Does anyone outside MS know the answer to that?)
Yes, the code has changed between SP1 and SP2. If it's any consolation, I
have been using SP2 and have distributed client applications using the newer
reporting features without any major problems. Yes .. there are bugs .. and
I'm hoping MSFT addresses them. The bottom line is that if you want to SET
REPORTBEHAVIOR 90, you MUST distribute these files with your application.
Post by Paul Pedersen
5. So far, I'm not seeing the benefit of reportbehavior 90. What do I need
it for? Is it required in order to use multiple detail bands? Export to pdf?
Wow ... Where do I even begin? The power with the new reporting features is
beyond what you can imagine. You just have to get creative. I have two
whitepapers on the MSDN website that were written when VFP 9 first came out.
These are just the tip of the iceberg.

http://msdn2.microsoft.com/en-us/library/ms965279.aspx
http://msdn2.microsoft.com/en-us/library/ms965281.aspx

I presented a session at the Southwest Fox conference in October that showed
how to do all kinds of stuff such as printing a report from the preview
window WITHOUT closing the preview ... printing multiple pages per sheet of
paper ... shrinking a report so that more fits on the page, taking a
landscape report and shrinking the size, rotating it to portrait and taking
advantage of the extra length ... printing a booklet with front and back
printed in the order needed to grab the paper out of the printer, staple it,
and be done!

The new reporting features open up all kinds of options!!

Cathy Pountney
Microsoft Visual FoxPro MVP
Paul Pedersen
2008-01-08 20:04:54 UTC
Permalink
Post by Cathy Pountney
Post by Paul Pedersen
2. What happened to the variable _REPORTOUTPUT? It's one thing for
reportoutput.app to be missing, quite another for that variable to simply
disappear.
_REPORTOUTPUT is the system variable that contains the name of the output
app to run when you run reports with the new behavior. By default it
contains 'C:\PROGRAM FILES\MICROSOFT VISUAL FOXPRO 9\REPORTOUTPUT.APP'.
You don't have to change this variable. You just have to be sure to
distribute the ReportOutput.APP file with your application.
Thank you for your very helpful responses. I will read those whitepapers.

But about that variable... The error message was "Variable '_REPORTOUTPUT'
is not found", not "reportoutput.app was not found". A variable dump shows
that _REPORTOUTPUT does exist but is the empty string. Was that a bogus
error message or am I misunderstanding something?
Mike
2008-01-09 03:55:29 UTC
Permalink
I had the same error message with using the Fox V9 report writer. The
program worked fine in the development environment, but when the user ran
the application (.exe) they would get a "_ReportOutput Variable Not Found"
message.

I ended up assigning the _REPORTOUTPUT to the path and name of the report
listener (_REPORTOUTPUT = 'mypath\reportoutput.app") and everything worked.
Post by Paul Pedersen
Post by Cathy Pountney
Post by Paul Pedersen
2. What happened to the variable _REPORTOUTPUT? It's one thing for
reportoutput.app to be missing, quite another for that variable to
simply disappear.
_REPORTOUTPUT is the system variable that contains the name of the output
app to run when you run reports with the new behavior. By default it
contains 'C:\PROGRAM FILES\MICROSOFT VISUAL FOXPRO 9\REPORTOUTPUT.APP'.
You don't have to change this variable. You just have to be sure to
distribute the ReportOutput.APP file with your application.
Thank you for your very helpful responses. I will read those whitepapers.
But about that variable... The error message was "Variable '_REPORTOUTPUT'
is not found", not "reportoutput.app was not found". A variable dump shows
that _REPORTOUTPUT does exist but is the empty string. Was that a bogus
error message or am I misunderstanding something?
Cathy Pountney
2008-01-09 13:54:11 UTC
Permalink
Post by Paul Pedersen
But about that variable... The error message was "Variable '_REPORTOUTPUT'
is not found", not "reportoutput.app was not found". A variable dump shows
that _REPORTOUTPUT does exist but is the empty string. Was that a bogus
error message or am I misunderstanding something?
It could have been a bogus error message .. it wouldn't be the first time
VFP didn't properly report its errors!!
Paul Pedersen
2008-01-16 05:08:21 UTC
Permalink
FYI, xsource for sp2 is available. Apparently it has been available since
November. News to me. Anyway, here it is:

http://www.microsoft.com/downloads/details.aspx?FamilyId=320B6438-BE76-48C7-A68E-1792E2AA3BF2&displaylang=en
Loading...