Hi there,
I'm currently trying to schedule webi and deski reports. I want to set prompts values before scheduling. To do that, i try to use the Report Engine SDK.
Here is my code to get my prompts :
if ( moSession != null ) {
try {
ReportEngines moListeReportEngines = (ReportEngines) moSession.getService("ReportEngines");
ReportEngine moReportEngine;
if("WI".equals(poParam.getMsTypeDocumentBo())){
// Webi doc
moReportEngine = moListeReportEngines.getService(ReportEngines.ReportEngineType.WI_REPORT_ENGINE);
}
else if("FC".equals(poParam.getMsTypeDocumentBo())){
// Deski doc
moReportEngine = moListeReportEngines.getService(ReportEngines.ReportEngineType.FC_REPORT_ENGINE);
}
else{
coLog.error("Error");
throw new CDataAccessException("Error : you can kill yourself.");
}
moReportEngine.setLocale("fr_FR");
DocumentInstance moDoc = moReportEngine.openDocument(poParam.getMiIdentifiantBo());
}
catch (SDKException) {
// error code
}
}
It works fine when i try to instantiate a Webi doc. But when i try with a deski document (ReportEngineType.FC_REPORT_ENGINE), the openDocument() method crashs throwing the following error log :
java.lang.NoSuchMethodError: com.crystaldecisions.sdk.occa.ras21.RASConnectionFactory.getRASConnectionObjectId(Ljava/lang/String;Ljava/util/Locale;Lcom/crystaldecisions/sdk/occa/security/internal/ISecuritySession;Ljava/util/Map;I)Lcom/crystaldecisions/sdk/occa/ras21/IRASConnection;
at com.businessobjects.rebean.fc.internal.ras21.XMLviaRAS21Encode.newSession(XMLviaRAS21Encode.java:958)
at com.businessobjects.rebean.fc.internal.ras21.RAS21ReportEngineComAdapter.openDocument(RAS21ReportEngineComAdapter.java:87)
at com.businessobjects.rebean.fc.internal.ReportEngineImpl.openDocument(ReportEngineImpl.java:249)
at com.businessobjects.rebean.fc.internal.ReportEngineImpl.openDocument(ReportEngineImpl.java:269)
Thanks by advance for any help you can provide.
Edited by: David Dumon on Apr 22, 2009 5:22 PM