cancel
Showing results for 
Search instead for 
Did you mean: 

Seeking Advice: Python Script for Crystal Report 2013 Generation

brucewayne2023
Discoverer
0 Kudos

Hello SAP Community,

I am currently exploring the integration of Python with Crystal Report Server 2013 for report generation. I would appreciate any insights or advice from those with experience with this integration.

Specifically, I want to create a Python script that can interact with Crystal Report Server 2013 to generate reports. Additionally, I'm curious about the Python packages that need to be installed alongside the Crystal Report runtime for seamless integration.

If you have successfully implemented such a solution or have valuable knowledge regarding this, could you please share your experiences, best practices, and any tips that might be helpful?

Thank you in advance for your assistance!

Best regards

SAP Crystal Reports - SDK 

Accepted Solutions (0)

Answers (1)

Answers (1)

DellSC
Active Contributor

There are several SDKs available for Crystal Reports Server (CRS).

.NET and Java SDKs are available in the Client Tools install and there is a RESTful Web Services (RWS) SDK that runs on the web server.  You would need to use the RWS SDK with Python.

There are two parts to the RWS SDK for CRS - Platform and Crystal Reports.   The challenge is that for the 2013 version of CRS, the Crystal Reports RWS will only work with Crystal for Enterprise reports - it won't work with "classic" Crystal reports - and it's used to show parts of reports or expose reports as a data source.  You can't use it to schedule reports.  You can, however, schedule reports using the Platform RWS SDK.  

Since CRS uses the same software foundation as the SAP BusinessObjects BI Platform, ou can find the Help for this here:  https://help.sap.com/docs/SAP_BUSINESSOBJECTS_BUSINESS_INTELLIGENCE_PLATFORM/db6a17c0d1214fd6971de66....  

This blog has information about configuring RWS and getting started with it:  https://community.sap.com/t5/technology-blogs-by-sap/bi-platform-rest-sdk-rws-in-boe-4-2/ba-p/133204...

And this is more info about how to get started:  https://help.sap.com/docs/SUPPORT_CONTENT/bobjip/3354091866.html

-Dell

brucewayne2023
Discoverer
0 Kudos

Hi Dell, 

Appreciate your detailed response.

I already created a .NET solution. But I think the Python script will be much simpler. 

The only intention of the solution will be to generate reports if reports are not getting generated as scheduled on CRS.

We have about 40 reports scheduled to get generated on the CRS. 

Sometimes, reports do not get generated. I found this in the SIA_**_CRS_trace.000001.glf -

[Error null] Server Intelligence Agent has lost its connection to the CMS cluster but will continue to attempt to reconnect. Please verify that the CMSs in your cluster are running.

I think if the Python script could restart the CRS server upon seeing that error, we should be fine.

Any advice regarding the design would be appreciated.

 

DellSC
Active Contributor
0 Kudos

That particular error message indicates that you have bigger issues than an occasional report not getting scheduled. You should investigate what's causing the SIA to become disconnected.

Since you're running CRS and that doesn't run on a cluster like BOBJ does, I suspect that the issue could be that you're losing the connection to the CMS database. If the CMS database is on another server, this is a network issue. If it's on the same server, this could be RAM or CPU contention issues between CRS and the database.

Since the SIA runs as a service, you don't need the SDK to stop it and start it. Instead, your Python program would interact with the operating system to issue a Net Stop command to the service, wait for the service to completely shut down, and then call Net Start to restart the SIA.

-Dell