cancel
Showing results for 
Search instead for 
Did you mean: 

Converting masses of .rpt-Files from CR XI to CR 2016

Former Member
0 Kudos

Hi there,

actually we are using Crystal Reports XI for creating letters, testemonies, some statistics and so on. Over the years more than 1.000 "relevant" .rpt-Files were created and are in use.

Now (finally) we plan to upgrade to Crystal Reports 2016; the licences were paid and we are going to install the new version (we plan a parallel use of the old an new version, because we can not convert [and check] every single file in seconds).

My question is: Is there a possibility to convert these masses of rpt-Files from one version to another (without opening every single file, accept the note and save the converted file)?

It ist clear, that we have to check every single file afterwards: We have converted some files on a trial basis and noticed, that especially some subreports made problems.

Thanks in advance

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

FYI

We found a way to convert the files with a powershell script. The script just opens a file and saves it afterwards: voila, new file format.

Former Member
0 Kudos

up to now we have never worked with documents like that (a report which opens and saves other documents), but I understand the idea. There is a routine which opens an "old" file and saves it into another, migrated file.

I will do some research how to solve this; but as we plan to migrate in july (and in the meantime there is a lot more to do besides the migration then), I will dig into it right before we will need a solution.

But: Thanks so far!

DellSC
Active Contributor
0 Kudos

Actually, you don't really have to go through all of that. The internal structure of the .rpt file hasn't changed since XI except to add new features. Since you're reports obviously don't use the new features, they won't have any of that in them. So, you should be good to run them as-is and only "converting" them when you have to make changes to a report.

How are you running your reports?

-Dell

Former Member
0 Kudos

The main problem is: The ~30 users do not want to confirm that the reports they are working with has been saved in the old format. Usually the users do not have the right so save the report, so we, the admins, have to make sure the end user can work without this notification. So, we have to migrate all the reports and - after some random checks - we observed that some subreports were gone after migrating.

So our plan was to migrate the thousands (not kidding!) of reports automatically and afterwards we would check them. An automatic migration would mean: Migrate (nothing to do for us) and then: Open, make changes (if necessary), save/close.

Without an automatic migration we have to: Open, confirm the notification, make changes (if necessary), save/close. Sounds like small stuff, but some thousand clicks more or less can make a make difference.

We actually run reports with Crystal Reports itself (known as Developers Edition in the past). The viewer would be fine, but as far as we can see, it is not possible to run reports in CR Viewer so the end user can change the parameters and will get live data with the parameters he wants. We work a lot with parameters and also with the "cherry picker" (filter) - the end user needs both ways to work with the rpt's.

Kind regards and thanks so far!

DellSC
Active Contributor
0 Kudos

I don't think there's any way to upgrade them via code - the SDK is not versioned the same way that Crystal is. However, you might try it. I would do the following:

1. Copy a small selection of reports to a temp folder for testing. Create another folder where you'll save the processed reports.

2. Write code that does the following:

a. Get the list of all of the .rpt files in the folder.

b. Create a ReportDocument object. (I'll call this "rptDoc")

c. For each .rpt file, call rptDoc.Load(<source file path and name>);

d. Call rptDoc.SaveAs(<destination file path and name>);

e. Be sure to explicitly call rptDoc.Dispose() when you're finished with it so that the memory gets garbage collected appropriately.

3. When the program is done running, open one or two of the reports to determine whether they got rid of the message your users don't want to see.

-Dell