CRYSTAL REPORTS QUESTIONS

How Can I Schedule Crystal Reports with Dynamic Parameters?

Schedule Crystal Reports with dynamic parameters by supplying the required values at execution time. Relative dates suit a moving reporting period; recipient data suits different customer or branch reports.

CRD can use Inserts and data-driven schedules to carry those changing values into the recurring job.

  
The changing report

Keep last month’s dates from becoming this month’s mistake

Imagine sending a monthly branch statement. September’s delivery was correct, so you reuse its settings in October. The file arrives on time, but still contains September’s selection.

The schedule controls when execution starts. The parameters control what it reports. Changing one does not necessarily change the other, which is why a perfectly punctual job can select the wrong month.

For this example, finance needs the previous completed month for each branch. That creates two changing inputs: a period that advances with the calendar and a branch value that differs between recipients.

Write down the intended period

“Last month” needs an agreed calendar or fiscal meaning. A date range on the finished statement helps finance see what was actually selected.

  
Your options

Use Crystal Reports dynamic parameters for branch statements

A Crystal report can express relative selection in its own design, while SAP Crystal Server schedules can hold report parameters. If recipient-specific publications already meet the job, keep that native route; automated personalized publishing requires Concurrent Sessions licensing.

CRD Inserts can supply date constants instead of a date typed during setup. A Data-Driven schedule reads query results and uses those values for parameters and delivery instructions. That lets finance maintain branch assignments in the data it already manages.

A dynamic parameter prompt in the report designer is not by itself an unattended distribution list. Decide where the execution-time values will come from and how they reach the report. The CRD data-driven guide explains the mapping.

Keep the instructions together

A branch parameter and an email address describe one reporting assignment. Reviewing them together makes a mismatched statement easier to detect.

  
Set it up

Prepare the next branch statement in CRD

Start with two branches whose figures are easy to distinguish. Confirm the report actually uses its branch and date parameters, including the relevant subreports. Then configure the source connections on the reporting host.

For the moving dates, choose the appropriate constants through Inserts. For branch-specific runs, prepare a driver query that returns the approved branch parameter and destination. Map each returned field to the corresponding report or delivery setting.

Run the two branches to controlled destinations. Open each statement and inspect its branch identity, first and last transaction dates, and total. Changing an email address must not change which branch data the recipient is authorized to receive.

Try a month boundary and a rerun for an older period. A recurring relative date is appropriate for the next cycle; a historical request needs its intended dates preserved deliberately.

Test the missing value

Decide how an incomplete branch assignment becomes visible for correction. An absent parameter must not silently broaden the statement to every branch.

  
For developers

Let the application supply an authorized reporting assignment

A branch portal may already know which branch a signed-in user belongs to. Keep that authorization in the portal, then use a verified CRD configuration workflow to supply the report values. A browser-supplied branch ID is not proof of permission.

Technical reference: parameter visibility and concurrent requests

CRD’s Single Report guide states that detected parameters must be used, visible and prompted at runtime. Preserve the parameter’s expected type and selection semantics; a formatted date string and a DateTime value are not interchangeable in every configuration.

Use the CRD API reference for the installed version’s parameter-update contract. Avoid concurrent requests changing one shared schedule’s branch or recipient fields. Read back the intended configuration and retain the reporting period with the execution reference.

Keep a rerun separate

Recreating August’s statement should not leave the regular job set to August. Confirm its next scheduled configuration after the request.

  
Your next step

Let the statement advance with finance’s calendar

Finance receives the intended month for each branch, without someone reopening every job to change two dates. The useful result is a correct statement and a maintained assignment, rather than a growing collection of copied schedules.

Explore CRD personalized distribution with your own branch list. The Crystal Reports automation overview shows how parameters connect with output and delivery.

Contributors:

Christian Ofori-Boateng

Christian Ofori-Boateng

CEO, ChristianSteven Software