Run Reporter from an Event (OpenInsight)
At 30 AUG 2001 09:10:52AM Richard Richter wrote:
I am trying to run Reporter from a click event on a button. I've tried both the Utility and Repository commands. I'm fine until I get to the /SEL switch. I've tried reporterbasic and revelationbasic. I've tried every permutation of punctuation (sorry for the alliteration) and I'm just not getting it. The file name is OEX_DATA and the field name is KEY. From a command line I'd normally say:
List OEX_DATA with Key=08/29/01".
Does anybody have any ideas what I'm doing wrong?
v=Repository('EXECUTE','TMT*OIREPORT*RDLAYOUT*DAILYDATA.RPT','/PV=1, /SELTYPE=reporterbasic, /SEL=OEX_DATA.KEY=08/29/01"')
Thanks,
Richard Richter
At 30 AUG 2001 03:59PM j Vaughan wrote:
This is how we do it:
STATUS=UTILITY('RUNWIN',DRIVE():'\REPORTER.EXE /AP=??? /UN=??? /RP=.\DATA\REPORTS\???.rpt /RE=0 /PV=1 /QU')
replace question marks with ap id, user name and report name.
At 30 AUG 2001 08:49PM Richard Richter wrote:
Thanks for the help.
My problem is not with getting Reporter or my report to run. I can't get the /SEL= to work. Where I should get only one record, I get all the records.
I really do appreciate any help that's given.
Richard Richter
At 30 AUG 2001 09:49PM David Pociu wrote:
Richard,
Try pre-creating the list of ids as per the following Basic+ code:
open 'SYSLISTS' to syslistsf then
write po_id to syslistsf, 'TOOL_PO_PRINT_':@STATION thenline= 'REPORTER.EXE /AP=INSIGHT /UN=INSIGHT /REP=1 /PR=1 /BA=1 /QU=1 /RP= TOOL_PO_PRINT.RPT'utility("RUNWIN" , line)end elsemsg( @window , "Cannot write Tool PO ID to the SYSLISTS table. Your purchase order will not be printed")endend else
msg( @window , "Cannot open the SYSLISTS table. Your purchase order will not be printed":@vm:"Please contact the system administrator!")end
In the query part of the report (in Reporter) set the language to Basic+, and put the following in there (obviously change the TOOL_PO_PRINT_ part to something else):
GETLIST TOOL_PO_PRINT_@STATION
This worked for me last time I had the patience to work with Reporter.
Dave
At 31 AUG 2001 02:51PM Richard Richter wrote:
Thanks Dave for the input.
I tried what you recommended. I now get a window name Open with the following message: The report or query is locked by another user. There's an OK button.
After you click OK Reporter opens without any report open. I know there is no other user, since this is a single user system. Anybody have any ideas?
Thanks,
Richard Richter
At 03 SEP 2001 03:41AM Richard Bright wrote:
Richard,
The method outlined by Dave should be Ok.
I will look closer - but in the interim can you verify that this is the last bit of code in your event chain.
Do you have passwords on your system?
I have made a lot of use of Reporter. By an large it works fine - but there are times when it can be quite unforgiving - particularly when the report has traped some messy symbolic code.
Richard Bright
At 03 SEP 2001 11:51AM Richard Richter wrote:
Richard,
This is the click event in question:
Declare Function Utility
Declare Subroutine RList
RList("SELECT DAILY_DATA WITH KEY=08/29/01'",4,"DAILY_DATA","","")
RetVal=Utility('RUNWIN','D:\REVSOFT\OINSIGHT\REPORTER.EXE /AP=DAILY_DATA /UN=RPR /SELTYPE=REVELATIONBASIC /PV=1 /RP=DAILY_DATA.RPT /SEL=GETLIST DAILY_DATA"')
RETURN 0
After the clicking on the button, the Rlist runs (it appears in the SYSLISTS table) and I then get a window titled Open with the yellow triangle with an exclamation mark and the following note:
The report or query is locked by another user.
There's a highlighted OK button. When you click OK, Reporter opens without any report or data showing.
There are no passwords on the system. If I use the Repository command, I get the same results.
Thanks for your help.
Richard Richter
At 03 SEP 2001 01:14PM Mike Ruane wrote:
Richard-
Try passing the username with the default username for the application.
Mike
At 05 SEP 2001 07:07AM Richard Bright wrote:
Richard,
If you are still floundering around suggest you look at truncating the parameter string you are passing.
If I recall, over-long parameters eat into the environment allowance and get truncated (without your help).
The standard string I use to call reports is:
Stat=Utility('RUNWIN','REPORTER.EXE /RP=:Rpt_Name:' /AP=:@appid:' /UN=:@USERNAME:' /PV=1 /QU=1')
The other comment is that the savelist is to say @appid:'*':@Station
and the call in Reporter Query as Basic+ is GETLIST @appid*@Station
Note no quotes in the GetList statement.
Richard Bright