Crystal reports hyperlinks in LBI

 9 Replies
 0 Subscribed to this topic
 22 Subscribed to this forum
Sort:
Author
Messages
mikeP
Veteran Member
Posts: 151
Veteran Member

    I have a series of Crystal 10 reports running on an LRS server that contain hyperlinks to other Crystal reports. Our provider is upgrading to LBI 9.0.3 and CR 2008, and I can't get the hyperlinks to work.

    The hyperlinks are specified as "A website on the internet" and the URLs are created using a formula like this:

    formula = "http://server:port/efs/FSRemote?fsid=RS:RS-Lawson LRS/LBI Server:543&Loc=" & {Command.CODE}

    In this example, 543 is the ID assigned to the target report when it was published in LRS, Loc is the name of the parameter in the Crystal Report, and {Command.CODE} is a value from the SQL command which is the calling report's data source. This is a simple one, others have more parameters.

    This all works fine in LRS, but not in LBI. I changed the name of the reporting server and the report ID on the URL appropriately, and if I omit the paramters from the URL, the report runs fine and displays its parameters page. However, if called with parameters, I get a blank page.

    Does anyone know the syntax for passing parameters on a hyperlink URL when the report is running on LBI?

    Thanks,

    Mike
    .

    Matthew Nye
    Veteran Member
    Posts: 514
    Veteran Member
      Mike,

      This is definately doable and there are far more options in Reporting Services. Download the latest version of the Reporting Services Admin Guide. Chapter 8 Scripting reports. My guess is you need to add the SelFormula= and SelMode=

      hth,
      matt
      If any of my answers were helpful an endorsement on LinkedIn would be much appriciated! www.linkedin.com/pub/matthew-nye/1a/886/760/
      mikeP
      Veteran Member
      Posts: 151
      Veteran Member

        Matt, thanks for your reply.  I've been studying the Admin guide for a couple days.  I think SelFormula would work if I could rework the reports to have single set of parms that could be appended to a more general selection criteria.

        However, these reports all are based on SQL commands that include nested subselects, sometimes more than one level, and the same parameter often appears in the main select and one or more subselects.

        In the same table in the manual (Chapter 8, Data Control Scripts) that lists the SelFormula control property, they also list Parameter Names.   I noticed that in the "for use with column", only RPT is listed for Parameter Names, while both URL and RPT are listed for SelFormula.  This implies that you cannot use parameters on a URL, yet the the example shown is a URL fragment. 

        Does that make sense to anyone?  Also, since parameters passed on a hyperlink URL work in LRS, it doesn't seem like Lawson would position as a better product, and remove that functionality.

         

        Matthew Nye
        Veteran Member
        Posts: 514
        Veteran Member
          Mike,

          For use with RPT means its only usable with a Crystal Report format. For URL means the information can be shared between any URL accessible system.

          The method you describe should work. This is pretty basic functionality with LBI. Have you looked at your log files (WAS or tomcat depending on your implementation)? I would bet there is some clues there when you get that white screen. also, try adding the command Dobeforeevent=false to your URL. This tells Crystal to skip the parameter page.
          If any of my answers were helpful an endorsement on LinkedIn would be much appriciated! www.linkedin.com/pub/matthew-nye/1a/886/760/
          mikeP
          Veteran Member
          Posts: 151
          Veteran Member

            Matt,

            Thank you!  Adding Dobeforeevent to the URL was exactly what was needed. 

            So I jsut searched for Dobeforeevent:
              Reporting Services Administrator and User Guide Version 9.0.3.x
              CR 2008 User Guide
              and for good measure, mylawson.lawson.com support site
            not a single hit.

            Google provided one hit, an unrelated posting from 2003 on a Delphi forum.

            How did you find this?

            Matthew Nye
            Veteran Member
            Posts: 514
            Veteran Member
              very very carefully.

              I got it from the guy that helped right the Reporting Services. He was giving a presentation at CUE a few years back and I noticed that in one of his code snippets and asked about it.

              You might also get by the parameter page if you deleted the parameter from within LBI. Then the Business Objects Viewer takes over and I think it might be able to understand that you already passed the value, but Im not positive on that.

              glad to help.
              If any of my answers were helpful an endorsement on LinkedIn would be much appriciated! www.linkedin.com/pub/matthew-nye/1a/886/760/
              Char
              Veteran Member
              Posts: 62
              Veteran Member
                Matt / Mike:
                Thanks for the great info! I'm implementing this and have it working but I still get the param screen - my URL looks like this:
                "http://server:port/efs/FSRemote?fsid=RS:RS-Lawson LRS/LBI Server:543&Dobeforeevent = false &Loc=" & {Command.CODE}

                Any ideas what I've done wrong?
                mikeP
                Veteran Member
                Posts: 151
                Veteran Member
                  I'm relying on memory cause I'm at home, but I thought I'd throw this out in case you're working now.

                  When modifying the report's properties, there's an item in the left margin menu labeled "modify report parameters" or similar. At any rate, when you click it, you get a form listing the report's parameters in a table. At the top of the form there's a checkbox "Use Crystal parameters screen" (or similar). I found that it needs to be unchecked, or you'll get prompted for parm values. (BTW, it needs to be checked for any HTML you've included in your parm prompts to be rendered properly).

                  Sorry to be so vague, I can be more precise at work tomorrow, I'll be in by 0500 PDT.
                  Char
                  Veteran Member
                  Posts: 62
                  Veteran Member
                    Thanks Mike - it's now working if I hard code the parameter value so the last part of my hyperlink is &Year=2009 but if I try &Year={?Year} or &Year={@Year}, it prompts for the paramter - I"m trying to pass the value of the param from the main report to the param of the report I'm calling (I needed a sub report within a sub report so I'm using this to get around the limitation in Crystal)
                    JillF
                    Basic Member
                    Posts: 8
                    Basic Member
                      if dobeforeevent=false doesn't work, try making sure that the "Use Crystal Parameter Page" box is unchecked.