Is com.businessobjects.sdk.ceutils.prompts.PromptsUtil deprecated ?
Hi
Is there a way to confirm if com.businessobjects.sdk.ceutils.prompts.PromptsUtil has been deprecated for BusinessObjects Enterprise XI 3.1 SP4 ?
I see the following posts saying that it could be a documentation error and it has not been deprecated for web intelligene but nothing specific to my version
BOE 3.1 Service Pack 2 SDK changes
Schedule webi with prompts problem
If it has been deprecated whats the correct way for populating webi prompts ?
Thanks
Our code is similar to what you have, but if we don't use the .refresh command, the new values are not populated on the report. Do you have any idea why? Our issue is that when it schedueles the report, it doesn't return quickly. It waits until the report is done. Here is our code:
public static void sendReport
( IEnterpriseSession eSession,
String TstPrdFlag,
int jobControlId,
String docId,
int format,
String mimeType,
String filepath
try
IInfoStore infoStore = (IInfoStore) eSession.getService("InfoStore");
//get WebI doc
IInfoObjects infoObjects = infoStore.query("Select TOP 1 * From CI_INFOOBJECTS Where "
+ " SI_KIND='Webi' And SI_INSTANCE=0 "
+ " And SI_ID = '" + docId + "'");
IWebi webi = (IWebi) infoObjects.get(0);
ISchedulingInfo schedInfo = webi.getSchedulingInfo();
//============================================================================
// Set Prompts
//============================================================================
if (webi.hasPrompts())
try
ReportEngine reportEngine = (ReportEngine) eSession.getService("WebiReportEngine");
DocumentInstance docInst = (DocumentInstance) reportEngine.openDocument(webi.getID());
docInst.refresh();
Prompts prompts = docInst.getPrompts();
for (int j = 0; j < prompts.getCount(); j++)
// assumes only a single value per prompt - no MultiValues
Prompt prompt = prompts.getItem(j);
String [] vals = new String[1];
vals[0] = getParameter (TstPrdFlag, jobControlId, prompt.getName());
//System.out.println(prompt.getName()+ " " + vals[0]);
prompt.enterValues(vals);
docInst.setPrompts();
docInst.refresh();
docInst.save();
//getSQL (docInst);
//DataProvider dp = docInst.getDataProviders().getItem(0); // retrieve the DataProvider that you would like the SQL for
//String sql = dp.getQuery().getSQL(); // the SQL out of the DataProvider
//System.out.println(sql);
//PromptsUtil.populateWebiPrompts(prompts, webi);
docInst.closeDocument();
reportEngine.close();
catch (REException e)
e.printStackTrace();
//===========================================================================
// Format as Excel or PDF
//===========================================================================
webi.getWebiFormatOptions().setFormat(format);
//===========================================================================
// send to disk
//===========================================================================
//Get the destination object from schedulingInfo
IDestination destinationObject = schedInfo.getDestination();
//IDestinations destinations = schedInfo.getDestinations();
//IDestination destinationObject = (IDestination) destinations.get(0);
// Specify that we are writing to disk
destinationObject.setName("CrystalEnterprise.DiskUnmanaged");
// Get the Destination plug-in. Note that the SI_PARENTID will always be 29.
IDestinationPlugin destinationPlugin = (IDestinationPlugin)
infoStore.query("SELECT * FROM CI_SYSTEMOBJECTS WHERE SI_NAME='CrystalEnterprise.DiskUnmanaged'").get(0);
destinationObject.copyToPlugin(destinationPlugin);
IDiskUnmanagedOptions diskUnmanagedOptions = (IDiskUnmanagedOptions) destinationPlugin.getScheduleOptions();
diskUnmanagedOptions.getDestinationFiles().add(filepath);
destinationObject.setFromPlugin(destinationPlugin);
//===========================================================================
// Schedule WebI report to run once now
//===========================================================================
schedInfo.setRightNow(true);
schedInfo.setType(CeScheduleType.ONCE);
// Tell the CMS to schedule the report.
infoStore.schedule (infoObjects);
} catch (SDKException e)
throw new Error ("Failed to schedule report. Exception caught: " + e.getMessage());
Similar Messages
-
Hello,
I am trying to export / package Design Studio SDK, i am able to test / run it successfilly in eclipse but, getting error "Unable to find: Installable Unit [ id=com.businessobjects.mds.olap.protocol.ess_japi version=14.0.0.201504131108 ]" while packaging design studio SDK. when i am exporting the project it is failing at 78% and getting the above error. PFA screen shoot for the same.
Detailed Error:
C:\Users\Saurav\workspace\SDK_Packaging\package.SDK_Packaging.group.group.group.xml:88: The following error occurred while executing this line:
C:\Users\Saurav\workspace\SDK_Packaging\package.SDK_Packaging.group.group.group.xml:2369: Unable to find: Installable Unit [ id=com.businessobjects.mds.olap.protocol.ess_japi version=14.0.0.201504131108 ]
at org.apache.tools.ant.ProjectHelper.addLocationToBuildException(ProjectHelper.java:551)
at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:444)
at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
at sun.reflect.GeneratedMethodAccessor200.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:392)
at org.apache.tools.ant.Target.performTasks(Target.java:413)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.eclipse.ant.internal.core.ant.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:672)
at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:498)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.ant.core.AntRunner.run(AntRunner.java:378)
at org.eclipse.pde.internal.core.exports.FeatureExportOperation.runScript(FeatureExportOperation.java:422)
at org.eclipse.pde.internal.core.exports.FeatureExportOperation.doExport(FeatureExportOperation.java:285)
at org.eclipse.pde.internal.core.exports.FeatureExportOperation.doExport(FeatureExportOperation.java:223)
at org.eclipse.pde.internal.core.exports.FeatureExportOperation.run(FeatureExportOperation.java:107)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
Caused by: C:\Users\Saurav\workspace\SDK_Packaging\package.SDK_Packaging.group.group.group.xml:2369: Unable to find: Installable Unit [ id=com.businessobjects.mds.olap.protocol.ess_japi version=14.0.0.201504131108 ]
at org.eclipse.equinox.p2.internal.repository.tools.tasks.AbstractRepositoryTask.prepareIUs(AbstractRepositoryTask.java:186)
at org.eclipse.equinox.p2.internal.repository.tools.tasks.MirrorTask.execute(MirrorTask.java:60)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
at sun.reflect.GeneratedMethodAccessor200.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:392)
at org.apache.tools.ant.Target.performTasks(Target.java:413)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
at org.eclipse.ant.internal.core.ant.EclipseSingleCheckExecutor.executeTargets(EclipseSingleCheckExecutor.java:30)
at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442)
... 26 more
ThanksHello All,
Thanks for giving time for this thread. I have solved this issue. Actually when we create Feature Project by default all Pugins and Fregemets will be added to featured project(i guess in some eclipse version since SAP has not mentained any Note for this), we need to delete unnecessary plugins from the featured project. Just select all and right click and delete. Then again add SAP Sample SDK.
Even thought it will packaged properly and will create zip file and you will be able import it to the Design Studio but you cann't select and install it to the Plateform from Design Studio, make sure for this you have Unchecked Ckeckbox: Unpack the plug-in archive after the installation.
I think this will help.
Thanks -
Com.crystaldecisions.sdk.exception.sdkExecption$InvalidCMSSyntax
hello,
i use infowiew by programm via url
http://pa/businessobjects/enterprise11/desktoplaunch/opendoc/view_report_pack.jsp?sdoc=devel&user=Administrator&pass=&cms=pack-81b36a7e9d&userdb=fo&passdb=fo&schamp=Date_EA&stype=DATE&svaleur=01/02/2007
the reports display one page (connection cms ok , connection db ok )
When i clik on button export or button next page
or button zoom 400% (Toolbar) i have an error
com.crystaldecisions.sdk.exception.sdkExecption$InvalidCMSSyntax
Have you an idea ?
option of viewer ?
Thanks Michel
<%@ page import = "com.crystaldecisions.sdk.occa.infostore.*,
com.crystaldecisions.sdk.plugin.desktop.common.*,
com.crystaldecisions.sdk.framework.*,
com.crystaldecisions.sdk.occa.security.*,
com.crystaldecisions.sdk.exception.SDKException,
com.crystaldecisions.sdk.occa.managedreports.IReportSourceFactory,
java.util.Locale,
java.util.*,
java.lang.String,
com.crystaldecisions.sdk.occa.report.data.*,
com.crystaldecisions.report.web.viewer.*"
%>
<%
// CMS : Nom de la machine exemple sethseth
// user : nom de l'utilisateur CMS exemple Administrator
// pass : mot de passe de l'utilisateur example vide
// Sdocname : nom du rapport Rpt
// notes avant il faut l'integrer dans InfoView
// userDb : utilisateur de la base de donnee exemple rcteaxeriah
// passDb : Mot de passe de la Bd exemple rcteaxeriah
// MM : recupére les infos passés en paramétre par l'url
String cms = request.getParameter("cms");
String user = request.getParameter("user");
String pass = request.getParameter("pass");
String sdocName = request.getParameter("sdoc");
String userDb = request.getParameter("userdb");
String passDb = request.getParameter("passdb");
// Multiparametre
String[] tab_schamp = request.getParameterValues("schamp");
String[] tab_stype = request.getParameterValues("stype");
String[] tab_svaleur = request.getParameterValues("svaleur");
try {
//Log in.
IEnterpriseSession enterpriseSession = CrystalEnterprise.getSessionMgr().logon(user,pass,cms,"secEnterprise");
//Grab the InfoStore from the httpsession
IInfoStore infoStore = (IInfoStore)enterpriseSession.getService("", "InfoStore");
//Query for the report object in the CMS. See the Developer Reference guide for more information the query language.
IInfoObjects oInfoObjects = (IInfoObjects)infoStore.query("SELECT TOP 1 * " +
"FROM CI_INFOOBJECTS " +
"WHERE SI_PROGID = 'CrystalEnterprise.Report' AND SI_INSTANCE=0 AND SI_NAME='" + sdocName + "'" );
if (oInfoObjects.size() > 0) {
//Retrieve the latest instance of the report
IInfoObject oInfoObject = (IInfoObject) oInfoObjects.get(0);
//Use the PS report factory to obtain a report source that will be processed on the Page Server.
IReportSourceFactory factoryPS = (IReportSourceFactory)enterpriseSession.getService("PSReportFactory");
Object reportSource = factoryPS.openReportSource((oInfoObject), Locale.ENGLISH);
session.setAttribute("reportSource", reportSource);
//Build database logon connection infos object. A connection info object containing the logon
//credentials must be created for each connection in the report. This will be passed into the report via
//the Viewer SDK so that the user is not prompted for report database logon credentials.
ConnectionInfo dbLogonInfo = new ConnectionInfo();
dbLogonInfo.setUserName(userDb);
dbLogonInfo.setPassword(passDb);
ConnectionInfos dbLogonInfos = new ConnectionInfos();
dbLogonInfos.add(dbLogonInfo);
//Put this object in session so that it can be retrieved and used by the viewer.
session.setAttribute("dbLogonInfos", dbLogonInfos);
CrystalReportViewer viewer = new CrystalReportViewer();
viewer.setName("CrystalReportViewer");
// Active l'exportation et l'impression sur le visualisateur
viewer.setOwnPage(true);
//Impression possible sur le mode ActiveX
viewer.setPrintMode(CrPrintMode.ACTIVEX);
//le rapport sera affiché sur le Viewer
//Object reportSource = session.getAttribute("reportSource");
viewer.setReportSource(reportSource);
//cache la fenetre d'authentification à la BD (Nom utilisateur et mot de passe)
// et se connecte directement à la base de donnée oracle
//ConnectionInfos dbLogonInfos = (ConnectionInfos)session.getAttribute("dbLogonInfos");
viewer.setDatabaseLogonInfos(dbLogonInfos);
Fields fields = new Fields();
// multi parametre entree
for (int l_i_Nbr_Champ = 0; l_i_Nbr_Champ < tab_schamp.length; l_i_Nbr_Champ++)
////////////// Paramétre entrée = DATE //////////////////////////////////////////////////////
/// TEST = if (tab_stype[l_i_Nbr_Champ].equals("DATE"))
// extraction du format JJ/MM/AAAA et déclaration des variables
// Année
int iannee = Integer.parseInt(tab_svaleur[l_i_Nbr_Champ].substring(6,10));
// le mois de janvier commence a 0
int imois = Integer.parseInt(tab_svaleur[l_i_Nbr_Champ].substring(3,5)) -1 ;
// Jour
int ijour = Integer.parseInt(tab_svaleur[l_i_Nbr_Champ].substring(0,2));
setParameterValueDate(fields,tab_schamp[l_i_Nbr_Champ],"",iannee,imois,ijour,out);
////////////// Fin Parametre entree = DATE ////////////////////////////////////////
////////////// Paramétre entrée = STRING //////////////////////////////////////////////////////
if (tab_stype[l_i_Nbr_Champ].equals("STR"))
setParameterValueStr(fields,tab_schamp[l_i_Nbr_Champ],"",tab_svaleur[l_i_Nbr_Champ],out);
////////////// Fin Parametre entree = STRING ////////////////////////////////////////
// force le parametre dans le browser
viewer.setParameterFields(fields);
// prompt du parametre de saisie caché
// car on veut que le rapport s'affiche automatiquement
viewer.setEnableParameterPrompt(false);
// // Rafraichissement
viewer.refresh();
// appel browser
viewer.processHttpRequest(request, response, getServletConfig().getServletContext(), null);
// Nettoyage
viewer.dispose();
else {
out.println("Report " + sdocName + " not found.");
catch(SDKException sdkEx) {
out.println(sdkEx);
%>
<%!
static void setParameterValueDate(Fields oFields, String paramName, String reportName,int annee,int mois,int jour,JspWriter out) throws javax.servlet.jsp.JspException
// FORMAT DATE
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_MONTH, jour);
calendar.set(Calendar.MONTH, mois);
calendar.set(Calendar.YEAR, annee);
Object value = calendar.getTime();
ParameterField oParameterField = new ParameterField();
oParameterField.setReportName(reportName);
Values oValues = new Values();
ParameterFieldDiscreteValue oParameterFieldDiscreteValue = new ParameterFieldDiscreteValue();
oParameterField.setName(paramName);
oParameterFieldDiscreteValue.setValue(value);
oValues.add(oParameterFieldDiscreteValue);
oParameterField.setCurrentValues(oValues);
oFields.add(oParameterField);
%>
<%!
private void setParameterValueStr(Fields oFields, String paramName, String reportName, Object value,JspWriter out) throws javax.servlet.jsp.JspException
ParameterField oParameterField = new ParameterField();
oParameterField.setReportName(reportName);
Values oValues = new Values();
ParameterFieldDiscreteValue oParameterFieldDiscreteValue = new ParameterFieldDiscreteValue();
oParameterField.setName(paramName);
oParameterFieldDiscreteValue.setValue(value);
oValues.add(oParameterFieldDiscreteValue);
oParameterField.setCurrentValues(oValues);
oFields.add(oParameterField);
%>
<%!
static void Affiche(JspWriter out, String s) throws javax.servlet.jsp.JspException
try
out.println(s);
catch(java.io.IOException e)
{ throw new javax.servlet.jsp.JspException(e); }
return;
%>
{code]The reason this is happening is because of how you are storing your CMS name. You are storing the CMS name in the request object
String[] tab_schamp = request.getParameterValues("schamp");
String[] tab_stype = request.getParameterValues("stype");
String[] tab_svaleur = request.getParameterValues("svaleur");
but when you change the zoom level - a postback occurs and your code is run again. However this time the request object is empty and there's no values to retrieve.
So your options are:
1. After you run through the first time, save the report / reportsource in session and just retrieve that on each subsequent postback. This is a common technique.
2. Save the values that you retrieved from the request object into something that persists between postbacks - such as session or a cookie.
Shawn -
Package com.businessobjects.rebean.wi a lot of of warnings.
I want to read Web Intelligence Report's detail information,such as Block,Cell,Border.
But a lot of api comment with Warning: This interface is no longer functional from the SAP BusinessObjects XI 4.0 release onwards. from more detail,please visit url below.
http://help.sap.com/javadocs/bip/40/re/en/com/businessobjects/rebean/wi/package-summary.html
the deprecated api is not supported or moved to another package?
if moved to another package,would mind tell me the package names.
thanks
Edited by: Wanhua Liu on Dec 2, 2011 9:11 AMA lot of APIs in Rebean\ Report Engine Java SDK are disfunctional in BI 4.0 and there is no replacement. For details on which APIs are removed please look at the
[Rebean Developer Guide|http://help.sap.com/businessobject/product_guides/boexir4/en/xi4_resdk_java_dg_en.pdf] -
I am testing BOE 4.0 with a simple jsp based on the samples. The code is what I used to test BOE xi 3.1. But I ran into some report display inconsistencies with 3.1 so I am trying 4.0. The code below works in 3.1 But in 4.0, I get the report viewer screen coming up but get a null pointer exception coming to the screen.
2014-06-18 13:48:01
java.lang.NullPointerException
at com.crystaldecisions.sdk.occa.report.application.ControllerBase.checkViewReportRight(ControllerBase.java:114)
at com.crystaldecisions.sdk.occa.report.application.ReportSource.getPage(ReportSource.java:945)
at com.crystaldecisions.sdk.occa.report.application.AdvancedReportSource.getPage(AdvancedReportSource.java:343)
at com.businessobjects.report.web.event.PageListener.renderContentLocally(PageListener.java:394)
at com.businessobjects.report.web.event.PageListener.getPage(PageListener.java:181)
at com.businessobjects.report.web.event.PageListener.updatePage(PageListener.java:123)
at com.businessobjects.report.web.event.UpdatePageEvent.processListener(UpdatePageEvent.java:47)
at com.businessobjects.report.web.event.ViewerBroadcaster.broadcast(ViewerBroadcaster.java:109)
at com.businessobjects.report.web.event.EventQueue.processEvents(EventQueue.java:53)
at com.businessobjects.report.web.component.ViewerContainer.processEvents(ViewerContainer.java:1403)
at com.businessobjects.report.web.WorkflowController.doEventProcessing(WorkflowController.java:353)
at com.businessobjects.report.web.WorkflowController.doLifecycle(WorkflowController.java:255)
at com.businessobjects.report.web.WorkflowController.doAsyncLifecycle(WorkflowController.java:106)
at com.crystaldecisions.report.web.viewer.CrystalReportViewerUpdater._processHttpRequest(CrystalReportViewerUpdater.java:61)
at com.crystaldecisions.report.web.ServerControl.processHttpRequest(ServerControl.java:345)
at com.crystaldecisions.report.web.viewer.CrystalReportViewerServlet.doUpdate(CrystalReportViewerServlet.java:156)
at com.crystaldecisions.report.web.viewer.CrystalReportViewerServlet.doPost(CrystalReportViewerServlet.java:144)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:662)
Here is the AlwaysRequiredSteps_UnmanagedRas.jsp
<%
String path = "rassdk://C:\\reports\\asn.rpt";
ReportAppSession ra = new ReportAppSession();
ra.createService("com.crystaldecisions.sdk.occa.report.application.ReportClientDocument");
ra.setReportAppServer("10.189.15.175:1566");
ra.initialize();
ReportClientDocument clientDoc = new ReportClientDocument();
clientDoc.setReportAppServer(ra.getReportAppServer());
clientDoc.open(path, OpenReportOptions._openAsReadOnly);
%>
Here is the OpenReport.jsp
<%@ page contentType="text/html; charset=utf-8" %>
<%@
page import="com.crystaldecisions.sdk.occa.report.application.*,
com.crystaldecisions.sdk.occa.report.data.*,
com.crystaldecisions.sdk.occa.report.lib.*,
com.crystaldecisions.report.web.viewer.*,
com.crystaldecisions.sdk.occa.report.definition.*"
%>
<html>
<head>
<title>Preview Report</title>
</head>
<body>
<%@ include file="AlwaysRequiredSteps_UnmanagedRAS.jsp"%>
<%
Tables oTablesCollection = clientDoc.getDatabaseController().getDatabase().getTables();
for(int i = 0; i < oTablesCollection.size(); i++) {
// We'll get two copies of the original table, change one, and use set table.
ITable originalTable = oTablesCollection.getTable(i);
ITable changedTable = oTablesCollection.getTable(i);
IConnectionInfo newConnectionInfo = new ConnectionInfo();
PropertyBag attributes = new PropertyBag();
attributes.putBooleanValue(PropertyBagHelper.CONNINFO_SSO_ENABLED, false);
attributes.putStringValue(PropertyBagHelper.CONNINFO_CRQE_DATABASETYPE, "JDBC (JNDI)");
attributes.putStringValue(PropertyBagHelper.CONNINFO_DATABASE_DLL, "crdb_jdbc.dll");
attributes.putStringValue(PropertyBagHelper.CONNINFO_CRQE_DATABASENAME, "");
attributes.putBooleanValue(PropertyBagHelper.CONNINFO_CRQE_SQLDB, true);
PropertyBag logonProperties = new PropertyBag();
logonProperties.putStringValue("JDBC Connection String", "!oracle.jdbc.driver.OracleDriver!jdbc:oracle:thin:{userid}/{password}@10.189.12.248:1521:gbg");
logonProperties.putBooleanValue("Trusted_Connection", false);
logonProperties.putBooleanValue("Use JDBC", true);
logonProperties.putStringValue("Database Class Name", "oracle.jdbc.driver.OracleDriver");
logonProperties.putStringValue("Connection URL", "jdbc:oracle:thin:@10.189.12.248:1521:gbg");
logonProperties.putStringValue("Server", "10.189.12.248");
attributes.put(PropertyBagHelper.CONNINFO_CRQE_LOGONPROPERTIES, logonProperties);
attributes.putStringValue("QE_ServerDescription", "10.189.12.248");
newConnectionInfo.setKind(ConnectionInfoKind.CRQE);
newConnectionInfo.setUserName("dsdone");
newConnectionInfo.setPassword("dbuser");
newConnectionInfo.setAttributes(attributes);
changedTable.setQualifiedName("DSDONE" + "." + changedTable.getName());
changedTable.setConnectionInfo(newConnectionInfo);
// Commit the changes by calling the setTableLocation method from
// the Database controller with the new table
clientDoc.getDatabaseController().setTableLocation(originalTable, changedTable);
// Create a Viewer object
CrystalReportViewer viewer = new CrystalReportViewer();
// Set the name for the viewer
viewer.setName("Crystal_Report_Viewer");
// Set the report source for the viewer to the ReportClientDocument's report source
viewer.setReportSource(clientDoc.getReportSource());
// Process the http request to view the report
viewer.processHttpRequest(request, response, getServletConfig().getServletContext(), out);
// Dispose of the viewer object
viewer.dispose();
// Release the memory used by the report
clientDoc.close();
%>
</body>
</html>Hi Jason,
Call any one of the methods
viewer.dispose(); or clientDoc.close();
Do not use both in BI 4.x version.
Test the same and let me know if it works.
Thanks,
Prithvi -
Hi All,
I am using BO XI R2 version.
I am facing issues with BOE Java SDK web application.
In this application, I have just by-passed login page(jsp page) and logout from BO. But, it is throwing errors as mentioned below:
Generated servlet error:
E:\BusinessObjects\Tomcat\work\Catalina\localhost\_\org\apache\jsp\BO_005fHello_005fWorld\login_jsp.java:6: package com.crystaldecisions.sdk.framework does not exist
import com.crystaldecisions.sdk.framework.CrystalEnterprise;
Application gives errors for these two packages:
package com.crystaldecisions.sdk.framework
package com.crystaldecisions.sdk.exception
Can anyone please tell me the solution?
From where I can get the jar files to resolves these problems?
I tried to search these jar files in BO installation folder but was not able to get.
Can anyone tell the exact folder path for these jar files, if it is there.
Or any link to download jar files.
Thanks in advance.Hello ,
-In order to run your application, please copy the Business Objects JAR files from the installed location.
-For example : If you have installed Business Objects on C:
then , go to the path :
C:\Program Files\Business Objects\common\3.5\Java\Lib and copy all the Jar files from that location including JAR files that are present in the external folder.
-Paste these JAR files inside lib folder of your application.
-The class com.crystaldecisions.sdk.framework comes under cesession.jar
Thanks,
Chinmay -
Hi,
I am trying to run the crystal reports from a web-app in jboss app server (4.3.2).
However on running the jsp the below error is received.
com.crystaldecisions.sdk.occa.report.lib.ReportSDKException---- Error code:-2147467259 Error code name:failed
Please help me if you have come across such exception.
Thanks,
LakshmiHello guys,
First thank you for your time and help !
Today finally I was able to resolve my problem. I think that somehow my project (Java Dynamic Web Project) was corrupted becouse I wasn't able to find the report on runtime in any way (I try to put it in .ear as well). Now I have created one new fresh Dynamic Web project and add Crystal Reports facets to it. Then I put my report file in "reports" folder under WebContent and I was able to find it on runtime. My CRConfig.xml is availiable under /WEB-INF/classes/ and it CONTAINS the following <reportlocation>../..</reportlocation> tag.
I found very useful and helpfull articles here :
http://publib.boulder.ibm.com/infocenter/iadthelp/v7r0/index.jsp?topic=/com.businessobjects.integration.eclipse.devtools.doc/developer/DisplayReports5.html
http://publib.boulder.ibm.com/infocenter/iadthelp/v7r0/index.jsp?topic=/com.businessobjects.integration.eclipse.devtools.doc/developer/JRCReference3.html
I still don't know what was the root couse for my problem. I hope that I never see this problem again
Regards,
Ivo
Edited by: Ivo Kotev on Sep 21, 2011 10:35 AM -
Load linkage error - "com/crystaldecisions/sdk/occa/report/data/Fields"
We had installed and were using Crystal Reports for Eclpse with JBoss 4.2. We recently upgraded to JBoss 5.1 Our crystal reports do not work from the web interface anymore. The error we get is:
Caused by: java.lang.LinkageError: loader constraint violation: loader (instance of org/jboss/web/tomcat/service/WebCtxLoader$ENCLoader) previously initiated loading for a different type with name "com/crystaldecisions/sdk/occa/report/data/Fields"
It looks like there might be a class conflict with JBoss jars? Any ideas on which jars to look at would be really appreciated. Any other ideas or suggestions on what this error might be?
Thank you.Based on the supported platforms document, I don't believe that JBoss 5.1 is on the list of application servers that are supported by Crystal Reports For Eclipse Version 2. I believe that the versions of JBoss that are supported are 4.2 and 5. By not supported, it means that SAP BusinessObjects hasn't tested and certified against these versions.
As for the error, I'm not sure which jar file would be causing the conflict.
Regards.
- Robert -
Hi,
I got the following Exception when I try to open a report from page server in CRS 2008.
]] Root cause of ServletException.
java.lang.NoSuchMethodError: com/crystaldecisions/sdk/occa/report/reportsource/IReportSource.getPreferredViewingLocale()Ljava/util/Locale;
at com.businessobjects.report.web.b.a.aJ(Unknown Source)
at com.businessobjects.report.web.a.r.try(Unknown Source)
at com.businessobjects.report.web.a.r.saveState(Unknown Source)
at com.businessobjects.report.web.a.u.saveState(Unknown Source)
at com.businessobjects.report.web.a.m.saveState(Unknown Source)
Truncated. see log file for complete stacktrace
The class I have imported is the following.
com.crystaldecisions.sdk.occa.report.reportsource.IReportSource
How to get rid of this exception?
Thanks & Regards,
SteveHi Aasavari,
This is the snippet of the java
String userName = "xxxxxxx";
String password = "xxxxxxxxx";
String auth = "secEnterprise";
String pageServer = "xxxxxxxxxxxx";
String report = "report";
ISessionMgr sessionMgr = CrystalEnterprise.getSessionMgr();
IEnterpriseSession enterpriseSession = sessionMgr.logon(userName, password, pageServer, auth);
// get info store from enterpise session
IInfoStore iStore = (IInfoStore) enterpriseSession.getService("InfoStore");
// get a collection of SI_ID from info store
IInfoObjects infoObjects = iStore.query("Select SI_ID From CI_INFOOBJECTS Where SI_NAME='" + report + "' And SI_INSTANCE=0");
// get the first SI_ID from the collection
IInfoObject infoObject = (IInfoObject)infoObjects.get(0);
// get report source factory from enterprise session
IReportSourceFactory reportFactory = (IReportSourceFactory) enterpriseSession.getService ("", "PSReportFactory");
// get report from report factory
Object reportSource = reportFactory.openReportSource(infoObject.getID(), Locale.ENGLISH);
HttpSession session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(true);
session.setAttribute("reportSource", reportSource);
Below are the jsp source code.
<%@ page import= "com.crystaldecisions.report.web.viewer.*" %>
<%@ page import="com.crystaldecisions.sdk.occa.report.data.*"%>
<%@ page import="com.crystaldecisions.sdk.occa.report.application.reportsourcefactory.RasReportSourceFactory"%>
<%@ page import="com.crystaldecisions.sdk.occa.report.reportsource.IReportSourceFactory2"%>
<%@ page import="com.crystaldecisions.sdk.occa.report.reportsource.IReportSource"%>
<%@ page import= "java.util.Date" %>
<%
Object reportSource = session.getAttribute("reportSource");
CrystalReportViewer viewer = new CrystalReportViewer();
viewer.setReportSource(reportSource);
viewer.setOwnPage(true);
viewer.setPrintMode(CrPrintMode.ACTIVEX);
viewer.processHttpRequest(request, response, getServletConfig().getServletContext(), null);
%>
Thanks & Regards,
Steve -
Missing com.crystaldecisions.sdk.framework directory and classes
Hello,
I installed crystal report server 2008 and Iu2019m missing the directory and classes in "com.crystaldecisions.sdk.framework" on the webreporting.jar package. Does anyone know why? Or does anyone know where I can get the complete webreporting.jar package. I extracted all the files from the webreporting.jar file this is why I know this. ThanksIf you don't first refer to the BusinessObjects Enterprise Java SDK Developer Guide available on this page:
[http://www.sdn.sap.com/irj/boc/sdklibrary]
for the required jar files, then you're essentially flying blind into a hurricane with fuel gauge on empty.
Sincerely,
Ted Ueda -
Hi All,
I am trying to create a web session with Java SDK using Eclipse. I am use Business Objects XI R3.1. While creating web session it gives me exception on line SessionInfo boSI = boSession.login(boCredential);
I have ensured user name password and cms url.
java.lang.ClassCastException: com.businessobjects.dsws.session.impl.CredentialIm
pl
at com.businessobjects.dsws.session.SessionSkeleton.login(Unknown Source
at com.businessobjects.dsws.session.SessionMessageReceiverInOut.invokeBu
sinessLogic(Unknown Source)
at org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.invokeBus
inessLogic(AbstractInOutSyncMessageReceiver.java:42)
at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMe
ssageReceiver.java:96)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)
at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostReq
uest(HTTPTransportUtils.java:275)
at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:1
20)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:173)
at com.businessobjects.dsws.wsc.common.axis.FlashFilter.doFilter(Unknown
Source)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p
rocessConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo
int.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol
lowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:684)
at java.lang.Thread.run(Thread.java:595)
Thanks in advance,
RajendraI have experienced exactly the same problem with saaj from jwsdp 2.0
If you found a solution, please give us a short feedback ?
I juste noticed that the same code works great with axis 1.4 saaj api. -
com.crystaldecisions.sdk.exception.SDKException$ServiceNotFound: The service WebiReportEngine could not be found
Here is the code I have used to obtain a report engine object
oEnterpriseSession = CrystalEnterprise.getSessionMgr().logon(username, password, cms, authType);
reportEngine = (ReportEngine) oEnterpriseSession.getService("","WebiReportEngine");
Exception lies in the above line .. I am not able to debugTo get the ReportEngine object use the following code:
// Retrieve the Report Engines
ReportEngines boReportEngines = (ReportEngines) boEnterpriseSession.getService("ReportEngines");
// Retrieve the Report Engine for Web Intelligence documents
ReportEngine boReportEngine = boReportEngines.getService(ReportEngines.ReportEngineType.WI_REPORT_ENGINE);
You may also want to look at our samples using the Report Engine SDK available here:
http://diamond.businessobjects.com/samples/86/1199/ -
Hi ,
I am using Crystal Reports v XI with java. when i try to compile the java program , error is occured as
package com.crystaldecisions.sdk.occa.report.reportsource does not exist
import com.
com.crystaldecisions.sdk.occa.report.reportsource.IReportSource;
^
I looked for the jar file to set class path but I colud not find that. I think jar file containing this package might be missed. if so , How can i get it. is there any possibility to download that . please help me.
[email protected]
thank you.heee hiiii,
i am also a new user of it....
if u r using eclipse IDE
u can download plugins and features of crystalReport for eclipse
on www.businessobjects.com
and then try out -
Error com.businessobjects.enterprise.fullclient.FullClient
I work with Desktop Intelligence to create reports. After creating a export my custom reports to Infoview.
I also use Business Objects integrated with Clarity PPM from CA Technologies.
My reports run in Infoview and Desktop Intelligence. When I try to open these reports in Clarity this error appears: com.businessobjects.enterprise.fullclient.FullClient.
Does anyone who also works with Clarity PPM and Desktop Intelligence can help me?
Thanks a lot,
Lenyllson de Moura
Gestão TI - Brasilia/BrazilI know this is a really old thread, but I've been looking all over for the solution to my error
could not load file or assembly businessobjects.enterprise.sdk
I had copied the businessobjects.enterprise.sdk.dll from my dev machine to the bin directory of the website, but then got other errors about not finding any source lines in file.
Copied all the netmodule files that go with the dll, and everything works great now!
Thank you so much! -
I am attempting to automate the "Save As" or export funtion of a webi doc but the documentation that states:
ReportEngine repEngine = (ReportEngine)EnterpriseSession.getService("ReportEngine");
Fails with:
com.crystaldecisions.sdk.exception.SDKException$ServiceNotFound: The service ReportEngine could not be found
When I run:
enterpriseSession.getServiceNames("CMSName", 0);
There is now "ReportEngine" listed.
Can anyone help????? This is not JSP but a command line app that simple need to open a doc, then to getView() to get the binary version of the Webi doc in PDF and simply save to disk via some java method.
I can get the doc, query reports, schedule reports, etc.. Just not export the report to disk.
Can anyone help???These are the only things that show up when I call:
EnterpriseSession().getServiceNames("sales-demo", 0);
Batch
Diagnostics
InfoStore
Logon
NameService
OCAAdministrator
Pinger
PluginDistribution
Session
APSAdmin
AuditAdmin
ISGeneralAdmin
SSOAdmin
This is the whole error:
Exception in thread "main" java.lang.NoClassDefFoundError: com/businessobjects/wp/dbg/DBGTraceable
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at com.businessobjects.rebean.wi.occa.WebiReportEngine.<init>(WebiReportEngine.java:66)
at com.businessobjects.rebean.wi.occa.WebiReportEngineFactory.makeOCCA(WebiReportEngineFactory.java:64)
at com.crystaldecisions.sdk.framework.internal.a.getService(Unknown Source)
at com.crystaldecisions.sdk.framework.internal.a.getService(Unknown Source)
at com.tidalsoft.adaptors.buisnessobjects.EnterpriseSession.getReportEngine(EnterpriseSession.java:72)
at com.tidalsoft.adaptors.buisnessobjects.BO.main(BO.java:28)
Maybe you are looking for
-
How do I get text inside a table column to stretch the whole column width?
Hi I am using JDeveloper Studio Edition Version 11.1.1.0.2. I have some tables where one of the columns are quite wide (700px) wide and some quite narrow 50px. It doesn´t look pretty. The input text inside the 50px column looks like it stretches out
-
Mac Mini Dual Processor?
I was told by a salesman at the guitar center that I could hook my mac mini G4 to a powermac G5 to boost the speed a bit. I don't really know how I'd do that, but my question is, if that's possible could I hook up a Mac MIni G4 to another one of the
-
TableView: ITERATOR in MVC
Using the MVC design pattern, ITERATOR methods (e.g. IF_HTMLB_TABLEVIEW_ITERATOR~RENDER_CELL_START) can be implemented in the Controller, in the Model or in a seprated class. I give my vote to the CONTROLLER... And you, which is the best place where
-
GR reversal prior to Credit memo
Hi Experts, I am exlaining scenario below: After creating Purchase order, GR(Mvt type 101) document is created,and Invoice is also posted. In our present scenario, user can do GR reversal (Mvt type 102) even if Credit memo is not posted against the I
-
32 bit windows 7 and Two- 4GB sticks of RAM and dual channels
Hello, I have a Desktop running Win 7 32 bit. At the moment I have 1 4GB stick of RAM in. I have another 4 GB stick of ram(Same brand as the first one) . I know win 7 32 can't go over 4GB of RAM but was wondering if I put both sticks in will I get be