cancel
Showing results for 
Search instead for 
Did you mean: 

Crystal Server doesn't update scheduled reports changes

Former Member
0 Kudos

Very frustrated.

I had to add an optional parameter to a set of crystal reports that are scheduled multiple times for multiple parameters.  But for whatever reason, Crystal Server (2013) will not update the parameter listing and base SQL (as per SAP support and my experience) of the report, so in order for me to either get the reports to work and/or use the new parameter, i have to start from scratch.  Without it, the existing shedules fail with a "information is needed before this report can be processed"

In this particular iteration, i had to change  5 different reports for 6 clients, so i had to recreate 30 scheduled reports from scratch (requiring a full reselection of all the pre-existing 4 parameters, email addresses and the like).  Thus because i added a single optional parameter to 5 reports, i suddenly have to rework more than 120 unique parameter selections and all sorts of emails, deleting all the existing reports as well.  Each of these also is emailed out to multiple people, so if i get it wrong, they will all know about it. 

I also found that if i even just add a new value choice to one of the static parameters, there is no way for me to go to an existing scheduled report and select that new parameter.  again, i have to reschedule from scratch.  How often would a list of static variables change?  pretty often i would think.

If the repository will correctly update many of the other elements of the report (formatting, formulas etc), why cant it update the base SQL?  am i wrong in assuming that this would be a standard problem for many?  What if i had a whole slew more scheduled reports, like hundreds?  It makes no sense that Crystal Server cant adequately update itself this way for ease of use and accuracy as well.

Please, is there a magic bullet out there i dont know about?  SAP just says, sorry this is the way it is. 

thanks!

Accepted Solutions (1)

Accepted Solutions (1)

DellSC
Active Contributor
0 Kudos

Unfortunately, this is the way it works for Crystal reports - when you schedule one, a copy of the .rpt file is made and attached to the schedule.  When you update the report "template", the schedules still contain the version of the report as it was at the time it was scheduled.  "Rescheduling" uses the copy of the report that's attached to the schedule, not the new version, so you have to reschedule from scratch.

However, they seem to be able to make this work for Webi reports.

An idea has been submitted on IdeaPlace for this.  You can vote it up here:  Reflect changes to Crystal Report for future scheduled instances : View Idea

, would you publicize this when you get a chance?  Thanks!

-Dell

former_member183750
Active Contributor
0 Kudos

Will do

Former Member
0 Kudos

thanks Dell, but i seem to notice that formatting changes within the report do get populated to the existing schedule...which would mean that the rpt file attached to the schedule does get updated.  am i seeing things?  I will check, but im pretty sure that i do that kind of thing regularly.

I just got it from SAP support tech that it was the SQL that doesnt get updated.  which doesn't make sense if one part is but not the other?

Former Member
0 Kudos

Hi Dell,

Yes, i just confirmed that changes i made to add to a report do replicate to an previously scheduled version on the server.  I added a field to the report header and it shows up when i run the previously scheduled version that did not have the additional fields.

In other words, i can take an existing successful version of a report that was run, select "run now", and it runs the same report, with all the same parameters, but now the new field is where it is expected.  In other words, it is taking the latest changes in fields and formatting, but not the SQL that its based on.

former_member183750
Active Contributor
0 Kudos

Hi John

I wonder if talking to a support rep on this issue may be the more efficient way to go(?). Since you have CR Server, you probably also have an Enterprise Support Contract which should let you into the SAP Service Market Place where you can create a phone incident.

Just sayin as this may be quickest and least frustrating way to go(?).

- Ludek

Senior Support Engineer AGS Product Support, Global Support Center Canada

Former Member
0 Kudos

Thanks Ludek, but that is why i'm posting here...i already went through their support process, and that was the answer i got - behavior by design.  felt pretty cookie cutter answer too, hate to say.   In principle, am i wrong in thinking that this is an unreasonable problem to be having?  I mean, who creates reports and never updates them?  And scheduling a report can have so many variables - one of my reports has 10 parameters that need to be set, along with different emails - i hate to think i have to redo the 40 or so recurring instances of this report from scratch,  if i make any kind of SQL change. Again, fields, formatting and the like are already automatically updated, why not the SQL the report depends on?

thanks

J

DellSC
Active Contributor
0 Kudos

That's something new then, it didn't update in the past.  Cool!

-Dell.

Former Member
0 Kudos

you never saw that? Its been that way since Crystal Server 2011 (As far as i know), but it begs the question - how can you update a report partially like that without updating the SQL parts?

thx

daniel_paulsen
Active Contributor
0 Kudos

When you create a schedule, the details for that scheduled get written to the CMS database with whatever prompts,logons,destinations,formats etc were set.  If you add a parameter to the report, the SI_SCHEDULE_INFO property bag in the CMS database is not aware of this, so when the template (parent) report is loaded, the extra parameter conflicts with the info in the CMS database and the schedule fails.

As Dell pointed out,  XI3.1 made a copy of the template report when scheduling so if you ran a schedule for 10hrs from now, that copy would be used to do the schedule and not the template.  So changes to the template report were not reflected in the schedules.


In BI4.1 (or CR Server 2013 in this case), the template report is used and a temp copy is not created in the output FRS.  So if you schedule for 10hrs from now and then make changes to the template (parent) report, the changes are reflected in the scheduled instance since the template is loaded when the schedule runs.  Cosmetic changes are fine provided they have nothing to do with the information stored in the SI_SCHEDULE_INFO property bag, but changes to the report structure or metadata (ie add a new prompt field) are not going to be reflected in the existing SI_SCHEDULE_INFO and the schedule can fail or produce incorrect data.  For this reason, the schedule must be re-created, which forces it to be created on the current template (ie metadata changes are loaded and stored in the CMS database for this new schedule).  I agree it can be arduous to have to re-enter all of the information.  To promote changing this behavior, go the the link Dell provided and “vote it up”.

An easy way around it is to use the SDK to copy the SI_SCHEDULE_INFO from a recurring instance using the SDK, and make a new recurring schedule (which will get all of the new (current) metadata from the report) and make the required changes such as new values or additional values, Schedule the new recurring instance and then delete the old recurring instance.  The SDK makes this easy for reports that have to have a lot of values set, but do not need changing when re-creating.  You cannot modify an  existing recurring schedule in a supported way as it will not have any of the updated info or potential dependencies of the report  in its property bags. A new one must be created.

DellSC
Active Contributor
0 Kudos

Great information.  Thanks Daniel!

-Dell

0 Kudos

Hi all,

does anybody know whether this issue has been changed since the original post in 2015???

DellSC
Active Contributor
0 Kudos

It has changed in more recent versions of Crystal and BOBJ/Crystal Server. If there have been no changes to any parameters, then the schedule will pick up the new version of the report. If there are any changes to a parameter, even just updating values for a static parameter, then the report will have to be rescheduled from scratch.

-Dell

venp81
Explorer
0 Kudos

Hi Dell,

Do the Recurring instances for Crystal Report need to be created from scratch after a database upgrade as well (assuming this is a parameter change to the base Crystal Report)?

We are on 4.2 SP5 Patch6 and our database team migrated the database from DBPx to DBPy. We updated the datasource for each of the Crystal Reports in our BO dev environment to point to DBPy using Crystal Reports designer and then updated the Database Configuration from CMC to use custom database logon information. Once this was done we migrated these reports from dev to prod and then tried to reschedule the Recurring instances for these reports in Prod using the 'Replace' option and in the 'Database Logon' tab we used the checkbox 'Use custom database logon information from default settings', however the generated instances are still failing with "Unable to connect: incorrect log on parameters. Details: [Database Vendor Code: -30082 ]".

Please note: If we view on demand the same report it works just fine. If we create a new schedule from scratch that also works fine.

Do we know if there's an update to this idea? https://influence.sap.com/sap/ino/#/idea/106190/?section=sectionComments. The status says 'Submitted' but not sure if there's any progress on it.

Appreciate any inputs.

Thanks,

Venkat

DellSC
Active Contributor
0 Kudos

Database changes and parameter changes still require a new schedule (not reschedule) in order to work correctly. Other changes to reports are automatically picked up.

-Dell

venp81
Explorer
0 Kudos

Thank you.

Do we know where we are at with the improvement request? 8 years and no decision yet?

DellSC
Active Contributor
0 Kudos

As I noted above, most of the improvement has been implemented - it used to be that you had to recreate all schedules for any Crystal report that had been updated, regardless of what was updated. Now you only have to recreate schedules when there is an update to the database or the parameters. I don't think it's going to go any further than that.

-Dell

Answers (2)

Answers (2)

Former Member
0 Kudos

This message was moderated.

Former Member
0 Kudos

thank you Daniel for that clear response - i see now how the behavior i'm seeing can make sense.  And having a solution in terms of the SDK sounds like the way to go.    I guess the real question is whether this can be made to be a new feature - i mean if i can somehow do it via the SDK to create new instances with existing parameters, then maybe it could be done within the UI as well.   Similar to mapping dialog when you change data sources within Crystal Reports, if a dialog could prompt for fixing the parameter list to match old to new.

Also, maybe having a flag to show that a recurring scheduled report is stale would be nice to know about before it fails on the next run. 

Finally, just as a sanity check - isn't this an ongoing problem for others?  I'm just surprised it doesn't seem to have been addressed - i mean Crystal Server is great for getting out hundreds of reports accurately and on time - but i have rarely been able to leave a report in it's original state - they always want changes.  Breaking a scheduled report that everyone depends on is a huge black eye - if i have to recreate all sorts of schedules to accept new parameters is likely to introduce new errors (and often i can't test the new schedule without sending out emails too early.)   Argh - it just makes me very frustrated - I have too many other things on my plate to worry about schedules that were already settled. 

Maybe the SDK will open up more options for me to manage the schedules better anyway - i find the web interface really difficult to manage - even just to check that all the parameters are set correctly can be an exercise in whack a mole as the interface keeps updating  and blocking right clicks, and is slow too.   OK, rant over.  thanks again for your info.

J

DellSC
Active Contributor
0 Kudos

If you want more info about the SDK, there are links and discussions here:

.NET: 

Java: 

Note that this is NOT the same SDK as the Crystal for Visual Studio or Crystal for Eclipse!  It will allow you to do some of the same things, but you cannot mix the assemblies or library files in the same application.

Both of these spaces include links to sample code.  I also have some "tutorial" apps in C# available on my website:  http://www.dellstinnett.com/sample_code.html. Most of the code is older, but the techniques are the same.

-Dell


Former Member
0 Kudos

Thanks Dell, i was just poking around trying to find the SDK on the site, and your answer popped up (on Google no less - that's fast indexing!)

Again, appreciate the help and info from everyone.

J