IBM Support

After migration from data-push to data-pull mode, Crystal Reports do not allow selection of multiple values in dynamic parameters

Troubleshooting


Problem

After migrating Crystal Reports from data-push to data-pull mode, the reports do not allow selecting multiple values in dynamic parameters when using IBM Rational ClearQuest.

Symptom

Steps to reproduce:

  1. Migrate an existing Crystal Report from data-push to data-pull mode
  2. Open the report with Crystal Report designer to edit
  3. Edit any parameter that required multiple values.

Result: The Allow multiple values option is grayed out and it cannot be changed to True, thus multiple values cannot be entered when executing a report.

Cause

After migrating a data-push report to data-pull mode, the queries that are saved in reports are thereafter considered SQL stored procedures.

The new version of Crystal Report doesn't allow multiple values for queries that are stored procedures.

Resolving The Problem

In order to bypass this problem, a parent report need to be created for the problematic report.
The problematic report needs to be inserted in the parent report as a sub-report.
Add to the parent report all parameters that are required by the problematic report.

One formula for each parameter that requires multiple values will also be needed.

Review the following 3 notes before proceeding to the solution.

Note 1: Before you start, check the JRC version and make sure you are using the Crystal Reports JRC 12.x runtime. If your are using old version e.g. CR JRC 11.x, please do the following steps:

  1. Download a new version of JRC 12.x from the SAP web site.
  2. Navigate to the directory where configureJRC is deployed in Rational ClearQuest

    Example: %CLEARQUEST_HOME%\cqweb\cqwebprofile\installedApps\dfltCell\RationalClearQuestWebReport.ear\CQWebReportModule.war

  3. Run configureJRC remove

  4. Copy JRC 12.x to the path in step 2

  5. Run configureJRC12 <yourJRC12FileName>.zip

  6. Restart the ClearQuest Web server profile


Note 2: Before you start, ensure you are using Rational ClearQuest 8.0.0.11, 8.0.1.4 or a later version. If not, upgrade ClearQuest first because it contains a required fix for this solution.


Note 3: In the instructions below, the use of "parent report" is used to indicate the new parent report created and "migrated report" and "subreport" to indicate the migrated report that requires multiple values in a parameter.


Steps to solve the problem:
  1. Migrate reports that are based on dynamic query from data-push to data-pull mode with CRMT (Crystal report migration tool). Review the Rational ClearQuest Knowledge Center for more details.

  2. Open Crystal report designer and create a parent report as follows:

    2.1. Create a blank report to server as parent report.


    2.2. In Field Explorer pane, right click on Parameter Fields and choose New... to create one or more multiple values parameters with any reasonable name for parent report. These parameters need to correspond one by one with the parameters that are required by the migrated report (If migrated report has 3 parameters, then create 3 parameters with similar names).

    Example: There is one parameter ParameterA in problem report, create one parameter named ParameterA_parent in parent report.


    2.3. In the Edit Parameter windows, for Allow Multiple Values option, select True from dropdown list; and for List of Values option, select Dynamic from drop-down list.


    2.4. Provide selectable values for this parameter in parent report.


    2.5. In parent report, create one formula for each parameter that requires multiple values.
    Use names such as formulaForParameterA to easily associate them with the relevant parameter. This formula will convert multiple the values to a string.

    The formula needs to be like this exactly:

    '######_' + Join({?ParameterA_parent},",")

    Where ParameterA_parent is the name of multiple parameter you created in step 2.1.


    2.6. Suppress the Report Header and Details section of parent report since we don't need them.


    2.7. Select Insert - Subreport on parent report, to insert the migrated report (the one migrated from push to pull) as a subreport in the Report Footer section (actually any section will be fine).


    2.8. Link the formula (for example formulaForParameterA) to the sub report corresponding parameter that requires a multiple-value:

    1. Right click on the subreport and select Change Subreport Link.
    2. In the Change Subreport Link window, select the formula formulaForParameterA in the upper left corner list and click on the arrow >, to bring it in the Field to link to list.
    3. In the bottom left corner, select the sub report parameter you want to associate with this formula (for example ParameterA) from the drop-down list .
    4. Click OK
    5. Save all changes


    2.9. Do step 2.8 for all parameters.
    * If it is a multiple parameter, do as in step 2.8.
    * If it is a single value parameter, link it to migrated report directly (without using Formula).


    2.10. Preview the parent report.
    You will be prompted by a dialog to enter multiple values as parameters. Enter multiple values. The report should be displayed correctly based on the values just input.
    You can also execute report in report launcher by copying the parent report to working directory of launcher. The migrated doesn't need to be copied.

[{"Product":{"code":"SSSH5A","label":"Rational ClearQuest"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Reporting","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"7.1;7.1.0.1;7.1.0.2;7.1.1;7.1.1.1;7.1.1.2;7.1.1.3;7.1.1.4;7.1.1.5;7.1.1.6;7.1.1.7;7.1.1.8;7.1.1.9;7.1.2;7.1.2.1;7.1.2.10;7.1.2.11;7.1.2.12;7.1.2.13;7.1.2.14;7.1.2.2;7.1.2.3;7.1.2.4;7.1.2.5;7.1.2.6;7.1.2.7;7.1.2.8;7.1.2.9;8.0;8.0.0.1;8.0.0.10;8.0.0.11;8.0.0.2;8.0.0.3;8.0.0.4;8.0.0.5;8.0.0.6;8.0.0.7;8.0.0.8;8.0.0.9;8.0.1;8.0.1.1;8.0.1.2;8.0.1.3;8.0.1.4","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
16 June 2018

UID

swg21679569