Clarity

  • 1.  Jaspersoft Parameter Issues

    Posted Mar 09, 2016 10:37 AM

    Hi

    Clarity 14.3.0.3 with SQL Server.

    I am trying to create a simple parameterised report in Jaspersoft Studio  - following the steps set out in CA's Jaspersoft Report Development Guide for SaaS PDF.

    I have created a report and it returns data in JS Studio.  I've added the required parameters and the query parameters in the design, successfully deployed it to the server, and added the following input controls to the report.

    • includeInactiveInvestments - from: CA PPM \ Input Controls \ Report Specific
    • investmentManagerKey_1 - from: CA PPM \ Input Controls\Common
    • investmentKey_1 - from CA PPM \ Input Controls\ Common

     

    All exactly as per the document, which specifies no other parameters.

     

    When  run the report from Clarity Advance Reporting, none of those input controls display in the panel and I get this error:

    Capture.JPG

     

    If I log in to the JS Server directly I don't get the error but don't get the input control panels either.

     

    Looking at the Investment Manager input control I can see it references this query ca_ppm/input_controls/queries/investmentManager, which has the populateInvestmentManager in its where clause.

    The Investment key control does something similar and also has references to OBS parameters.

    I have tried adding them in manually to my report design but this leads to further errors.

     

    So my question is, is the documentation wrong and I in fact do need to add other parameters? Or is there an issue with how the report reads the supplied input controls?

     

    Any suggestions as always welcome.



  • 2.  Re: Jaspersoft Parameter Issues

    Posted Mar 24, 2016 09:31 AM

    Hi, On my side the ca_ppm/input_controls/queries/investmentManager query have nothing in the where clause related to populateInvestmentManager.

     

    See bellow the InvestmentManager input control query

     

    SELECT r.resource_key AS resource_key,

           r.resource_id AS resource_id,

           r.resource_name AS resource_name           

    FROM   dwh_res_resource r

           INNER JOIN dwh_inv_investment m ON r.resource_key = m.investment_manager_key

    WHERE  1=1

    AND    r.is_role = 0

    AND    r.is_active = 1

    AND    ((EXISTS (SELECT user_key

                     FROM   dwh_res_security

                     WHERE  global_view_right = 1

                     AND    user_uid = $P{LoggedInUsername}))

            OR

            (EXISTS (SELECT resource_key

                     FROM   dwh_res_security

                     WHERE  resource_key = r.resource_key

                     AND    user_uid = $P{LoggedInUsername})))

    ORDER BY r.resource_name

     

    Is it possible somebody in your organization did modify he OOB query for a specific report?  If so, probably that some other report using this input control do  not work anymore...does the Investment Allocations and Assignments report return the same error when you run it?



  • 3.  Re: Jaspersoft Parameter Issues

    Posted Mar 24, 2016 11:38 AM

    Hi

    That query definitely does require a populate parameter - see my screenshot.  No one has edited it  Perhaps we are on different versions.

    In the end I gave up on trying to implement the example due to pressure of time and moved on to a real requirement, which used the Project Manager query.  I had to manually create the populateProjectManager Boolean parameter in JS Studio and this allowed the input control to work correctly.  Whether that is the right way or not, I have no idea.

     

    The documentation in the area of both OOTB parameter definition/usage and the best practice for deployment of reports to the server is not sufficient in my opinion.  It's way too time consuming to have to delve into the definitions of all the various JS resources to work out what needs to go into a report for it to work .

     

    Capture.JPG