Home / Tech Tip / Crystal Tech Tip / Crystal Reports – Dynamic Prompt Best Practices

Crystal Reports – Dynamic Prompt Best Practices

Question:

How can I better manage my Crystal Reports Dynamic Prompts?

Answer:

There are 2 ways you can create Dynamic Prompts in Crystal Reports XIR2:

  1. In the Crystal Reports application.

OR

  1. In the Business View Manager application (if you have purchased Business Objects Enterprise).

 

The first method, creating the Dynamic Prompt in the Crystal Reports application (detailed below) has these disadvantages:

  • If you publish the Crystal report to the Business Objects Enterprise, the dynamic prompt automatically gets created in Business View Manager, so you could potentially be overwriting a dynamic prompt already created with the same name in the system.
  • You do not have a clear view or inventory of all dynamic prompts created in the system.
  • You cannot schedule the prompt to be refreshed at regular intervals within Crystal Reports to speed up report processing time.

Creating a Dynamic Prompt in Crystal Reports:

  1. Right-click on Parameter Fields in the Field Explorer and select New.
  2. Type in the name for your Prompt field (Supervisor ID in this example).
  3. Select the data type for the prompt (number in this example).
  4. Select Dynamic from the List of Values drop-down menu in the upper right-hand corner.

  1. Click on the Value field and select the database field you want as your values for the prompt.
  2. Select any other options in the Options section on the bottom of the screen and then click OK to save the new Dynamic Prompt.
  3. Now publish the report to Business Objects Enterprise by going to the File>Save As> and selecting Enterprise folder (see below). Select the appropriate Enterprise folder to save the report and click on the Save button.

  1. Now, open up Business View Manager and open the Repository Explorer (if it doesn’t automatically open, go to the View menu and select Repository Explorer).
  2. Notice that under the Dynamic Cascading Prompts folder your new prompt (Supervisor ID is this example) has been created automatically.

The second method (detailed below), creating the Dynamic Prompt in the Business View Manager application has these advantages:

  • Assists you in successfully managing all dynamic prompts from one area.
  • Allows all report developers to share dynamic prompts with each other without having to re-create them or run the risk of overwriting each other’s work.
  • Allows you to schedule fairly “static” or large prompts to improve report performance.

Creating a Prompt in Business View Manager:

    1. First create a Data Connection, which is the connection to the data source that holds your prompt values. Give your data connection a name (naming convention is name DC) and save it to the Repository. Example below SupervisorID DC save in Dynamic Cascading Prompts Repository folder. File menu>New>Data Connection

    1. Next create a Data Foundation which will be based off of the Data Connection you just created below (see below, example: select the Data Connection named: SupervisorID DC). This is the step you will choose the table you want to use for your prompt. File menu>New>Data Foundation

    1. Next, name your Data Foundation (naming convention name DF). Example below: Supervisor ID DF and save it to the Repository.

    1. Next, create a Business Element based on your Data Foundation, this is the level you want to choose which field you want to use for your prompt value. File menu>New>Business Element

    1. Name your Business Element, naming convention name BE (Example: SupervisorID BE) and save it to the Repository.

    1. Next create a Business View that will use the Business Element you created in the previous step. File menu>New>Business View

    1. Name your Business View (naming convention is name BV) and save it to the Repository.

    1. Finally, create a List of Values based on the Business View you created in the previous step and select a field to use. Go to File menu>New>List of Values

    1. Name your Business View (naming convention name LOV, this example: Supervisor ID LOV) and save it to the repository.

    1. Now open the Crystal Report you want to use this prompt in and click on your parameter fields and select the parameter you want to make dynamic. Once you select Dynamic from the List of Values drop-down menu in the upper right-hand part of the screen, you can then select the Existing radio button (see below) and then select the SupervisorID LOV object you just created from the drop-down menu next to the radio.

    1. You can also go back into Business View Manager and go to the Repository Explorer and right-click on your LOV object and select Schedule List of Values to schedule this list of values. (For example, if the data doesn’t change very frequently, schedule the list to be refreshed on a weekly basis. Scheduling greatly improves report performance).

About ckruger

Check Also

Let's Speak BO Webinar Now You See Me, Now You Don’t! August 8 2017

Webinar: Now You See Me, Now You Don’t!

Join us and Creative Technology & Training Solutions’ Michael Ward, as he demonstrates and discusses …

7 comments

  1. Thanks for your details on business view manager. We recently upgraded our crystal server to 4.1 Windows server 2012 Swk server 2012. Added ssl. Turned off the firewall. Within cmc, when I right click on a report and click view, I can see the dynamic cascading prompts dcp and other reports where the list may be static.

    When I try to view these same reports from Maximo runbocrystalreport.jsp none of the dcp nor lov show up. If I enter the values manually the report renders fine.

    I used to submit to crystal server on port 8080 but had to change to 443 after the ssl.

    We tried business view manager and updated the database login info for the dc responsible for the dcp but that didn’t do anything.

    Not sure how we go about troubleshooting what the issue is.

    Any thoughts?

  2. Rajesh Ponnurangam

    Hello Sun here are some leads on troubleshooting

    • Login to Business View Manager (BVM). (Use an Administrator account and Enterprise Authentication)
    • Locate the LOV name as seen in Crystal Reports in the Repository explorer.
    • Test the data connection, data foundation, Business element and Business view
    • Right click on the business view and business element and select Browse field
    • If the tests are successful so far, create a new crystal report based on the same business view
    • If you get data in crystal reports then it proves that BVM data connection is fine and you need to trouble shoot the BI server

    You can try the following option as well

    • Double click the LOV in Business View manger. Set the ‘Oldest on-demand data given to a client (seconds)’ to 0. Select ‘Clear Instance’ and OK and test the behavior

    • You can also check the Refresh Options of the report object in CMC and make sure the option “Use Object Repository when refreshing the report” is selected and refresh the report.

    FYI! As per best practices, Business view manager needs to be installed on the destination environment before migrating LOV’s

  3. I say that rptappserver.glf had an error

    |24f33a23-9c86-9f84-da13-a52a4138d52a|2016 05 03 11:12:27:666|-0700
    |Error| |>>|E|
    |rptappserver_CRYSTAL4.CrystalReports2016ReportApplicationServer|
    432|10092|| ||||||||||||||||||||||
    assert failure: (.\BELOVDataSource.cpp:1394).
    (false : BELOV: Caught COM exception when fetching data from RAS. – -2147467259).

    I turned tracing to medium and saw that the error message included details about not having edit rights to a specific dcp.

    I added the user using business view manager and gave that user read and edit rights.

    I was able to see the dcp after giving edit rights.

    I guess because business view manager has an option where crystal will cache the query results for 300 seconds, it has to store and refresh the query results somewhere. This must be where the edit rights come in. I tried setting the cache to 0 seconds but still got the error from crystal.

    Thanks for the tips. I used the setting to zero.

  4. How do you edit and view what has been scheduled in Business View Manager?
    For example, I schedule the LOV for every Sunday at noon; how do I go in and see that this ran successfully each Sunday, or when it is scheduled to run for?

  5. Rajesh Ponnurangam

    Hello Jeff,

    You can check the schedule status by double clicking on the same LOV in Business View Manager. You will be able to view the Success/Failure message, creation time and Start time.

  6. Thank you Rajesh.
    Can I see what the schedule is for a LOV, or only what has ran successful/unsuccessfully?

  7. Rajesh Ponnurangam

    You should be able to check the schedule for each and every LOV created in Business View manager.

Leave a Reply

Your email address will not be published. Required fields are marked *