This document provides a way set a publications report bursting method using the BusinessObjects Enterprise Platform Java SDKs.
For more scripts and information on how to run these scripts refer to the blog avaiable here:
shawn.penner/blog/2013/06/04/scripts-and-samples
Below is the Java Server Pages (JSP) sample
Notes:
•You would need to change the userName, password, cmsName and the publication SI_ID in the query to the values specific to your enterprise server in the provided sample code.
• The sample code is tested with BI 4.0 version of SAP BusinessObjects Platform.
Set Publication Report Bursting Method |
---|
<%@ page import = "com.crystaldecisions.sdk.occa.infostore.*, com.crystaldecisions.sdk.framework.*, com.crystaldecisions.sdk.exception.SDKException, com.businessobjects.sdk.plugin.desktop.publication.*, com.crystaldecisions.sdk.properties.*, java.util.Set, java.util.Iterator" %> <% try { String userName = "administrator"; //administrator username String password = "Password1"; //administrator password String cmsName = "localhost:6400"; //cms name String authType = "secEnterprise";
IEnterpriseSession enterpriseSession = CrystalEnterprise.getSessionMgr().logon(userName, password, cmsName, authType); IInfoStore infoStore = (IInfoStore)enterpriseSession.getService("", "InfoStore"); String query = "select * from ci_infoobjects where si_id=11475";
IInfoObjects oInfoObjects = (IInfoObjects)infoStore.query(query) ;
IInfoObject oInfoObject = (IInfoObject) oInfoObjects.get(0); IPublication pub=(IPublication)oInfoObject; out.println("Publication Name :"+pub.getTitle()+"<br>"); out.println("Publication ID :"+pub.getID()+"<br>"); out.println("Report Bursting Mode Before :"+pub.getBurstingMode()+"<br>");
//Use IPublicationBase.CeDataBurstingMode.ceSinglePass for setting single pass bursting (i.e) One database fetch is executed in a single report processing job //Use IPublicationBase.CeDataBurstingMode.ceMultiplePass for setting Multiple pass bursting (i.e) One database fetch is executed for each batch of recipients //Use IPublicationBase.CeDataBurstingMode.cePerRecipientBursting for setting Per recipient bursting (i.e) One database fetch is executed for each recipient
pub.setBurstingMode(IPublicationBase.CeDataBurstingMode.cePerRecipientBursting); infoStore.commit(oInfoObjects); out.println("Report Bursting Mode After:"+pub.getBurstingMode()+"<br>"); } catch(SDKException sdkEx) { out.println(sdkEx); } %> |