Home Server
New Blog Posts: Merging Reports - Part 1 and Part 2

Custom Parameters in URLs

edited September 2003 in Server
I'm setting up reports using custom parameters and I'm passing the parameter
values to the reports via the URL. Here's an example where I'm passing two
custom parameters, SLSPSecurity and SLRPStoreID:

http://nsdevstation/slwebtier?content=viewer&volume=SpeedLine Reports&name=Sales\Sales by Category&folder=v1d0&SessionID={E35361C8-3F98-4081-8AEF-7552CC88CAAD}&zoom=70&SLSPSecurity=Sales&SLRPStoreID=10138

In the web tier: following the custom parameters demo, I'm moving the
parameter values from the "content" parameters to the "session" and
"service" parameters. SLSPSecurity gets moved to the session parameters and
SLRPStoreID gets moved to the service parameters.

Both the custom session and report parameters get passed through to the
report server without any problem. However, when I press the refresh
button, the custom report parameters are lost. The URLs for the zoom and
refresh buttons do not contain my custom parameter values:

http://nsdevstation/slwebtier?content=viewer&volume=SpeedLine Reports&name=Sales\Sales by Category&folder=v1d0&SessionID={E35361C8-3F98-4081-8AEF-7552CC88CAAD}&refresh=1

How do I fix this so that my custom parameters get passed to the toolbar
buttons?

Comments

  • edited September 2003

    The session and report parameters are cached by the WebTier and sent to
    the report server for each request.

    As an example, run the RBServer\Demos\WebTier\CustomParameters demo.
    After you run one of the reports, check the rbWebPub\Cache directory.
    There is a subdirectory created for each session. In this directory will
    be a file called SessionParameters.txt. There will also be a subfolder
    for each report previewed in the session. Each subfolder has a unique
    number that represents the report session. Inside this folder there will
    be a file called ReportParameters.txt.

    Try this.

    Run the custom parameters demo using one session of Delphi to run the
    WebTier and a second session of Delphi to run the report server. Place a
    stop in the server code for the volume event handler called
    TdmReportTemplateVolume.rsReportTemplateVolume1BeforePublishReport. The
    aEventParams object passed to the event-handler contains a
    SessionParameters and ReportParameters propery. When I hit refresh, the
    parameters are passed to this event.






    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited September 2003
    Aha! I figured it out. In my web tier, before accessing the report
    parameters, I was calling GetReportParameters because it seemed like a good
    idea. Apparently, it wasn't.
This discussion has been closed.