Changing report schema using CRJ SDK
Mr Ted,
I would like to change the report schema name in runtime, but i want a way other than uding dataBaseController.setTableLocation() method which cause some issue like breaking the link between command table paramter and the report parameter it self.
is there any way do that? to chnage the report schema(the DAata base schema the report is to connect to)
thanks
Shehab
Search Forums before posting
Similar Messages
-
Concurrent report export using enterprise SDK question
Hello,<br>
Our company uses Enterprise SDK to export report to PDF. We test our software using CR Server 2008 trial version. I am looking for advices for following questions:<br>
1. As out testing server is trial version at the moment, it does not complain or generate any warning messages on numbers of concurrent users (we can only view current sessions and licenses from CMC). Could someone please let me know what will happen when full version CR server detects that max limit concurrent users access has reached? Will the server notify SDK, and SDK will generate exception; or the request will be queued until any other concurrent user end his session. <br>
2. We implement an EJB to invoke SDK process. While EJB itself is thread safe, I am not quite sure if enterprise SDK is thread safe too. My assumption is that one SDK will be instantiated per JVM (like JRC?). It will issue a new thread to each report request (from EJB). Please correct me if I am completely wrong. <br>
3. This is about licensing. Our scenario is there will be multiple (and concurrent) end users use our J2EE system, and may request report from CR server. Our J2EE system, however, will use one user account to login to CR server through enterprise SDK. In the other word, CR server will treat our J2EE system as one user (even if there are multiple or concurrent request). My question is that does it violate legal agreement with Business Object if I configure the user account our J2EE system uses as Named user?! If it is, we will get concurrent user licenses instead. Please advice. Thank you =)<br>
Kind Regards,<br>
mlieHello Adam, <br>
Thanks for your reply. It is very helpful. <br>
As for point 1, what exact SDKException will SDK throw (e.g. SDKException.Unexpected)?<br>
In point 2, "There have been issues reported previously that only occur when using EJB's.". Is it possible to let me know what kind of issues they are? <br>
In point 3, as CMS supports Window AD authentication, and our system uses same mechanism to perform authentication, I guess the best strategy is to implement single sign on? Please advice. Thank you <br>
Regards,<br>
mlie -
Can compression be done without changing YUV by using QuickTime SDK?
Hi,
I am using QuickTime 7.3 SDK on Mac OS 10.6.1.
I was trying to compless in picture an aplication, using Quicktime SDK.
Can compression be done without changing YUV of picture by using QuickTime SDK?
Can compression be done without changing YUV of picture by using anoter soft?
If it is possible to do , it teaches to me the soft.Hi,
I am using QuickTime 7.3 SDK on Mac OS 10.6.1.
I was trying to compless in picture an aplication, using Quicktime SDK.
Can compression be done without changing YUV of picture by using QuickTime SDK?
Can compression be done without changing YUV of picture by using anoter soft?
If it is possible to do , it teaches to me the soft. -
Need opinion on SE38 changing reports developed using report painter
Hi all,
I need opinion on whether the report produced using report painter and se38.
Can i use se38 to modify a report which was produced by report painter?
Thanks
William YauHi,
You can change it thru SE38, but doesn't serve the purpose,
if it's regenerated dynamically your code will be over-written &
there's lot of overhead in change thru SE38.
Regards,
Raghavendra -
Changing report order using the break order property
I am trying to allow the user to pick the order of the report's data. This has lead me to ask the following questions:
How can the break order property of a Database Column be set at runtime, specifically in the Before Report program unit??? (changing the order BY clause in the SQL query will not be sufficient because report builder enforces that at least one column�s break order in each Group, other than the lowest one, must be set at design time)
How can the order of the Database Columns in a Group be re-arranged at runtime, specifically in the Before Report program unit???
Thanks for any help that you can provide.Hi Kevin,
I don't think that the "Break Order" property can be set programmatically, so it may not be possible to expose it to the users. I think it can only be an enhancement request to the product.
Navneet. -
How to change the Schema (DB2, Oracle) in CommandTable at run time
Dear all,
I have a problem as below:
I have created report with CommandTable, then I am using Java and CRJ 12 to export data. So how to change the SCHEMA in CommandTable?
Please help me on this.
Ex: CommandTable is SELECT * from SCHEMA.TableA, SCHEMA.TableB
Thanks,
NhaDear Ted,
I want to change DataSource, it means the report will be load and change connection at run time (using CRJ SDK) and i want to change the SCHEMA.Tablename in CommandTable in report.
I also use the parameter to do it, but it can not be at run time, just correct when designing.
Could you please help me on this. You can post the code if any.
Thanks,
Nha -
How to retrieve total number of pages in a report of Instance - RAS SDK ?
Hello All,
Hope all is well. I am using BOXI R2 Enterprise and was wondering how to get total # of pages of an Crystal Report Instance using RAS SDK.
Thanks in advance,
SamHow do i retrieve the total number of pages in a report-- via RAS SDK
Sincerely,
Ted Ueda -
Change the schema of a report using oracle odbc at runtime
Post Author: Guy
CA Forum: .NET
Hi,
I'm using Crystl 11 r2 and coding in C#.
In our oracle database we have many schemas. When designing the report I can see many schemas (~14) when creating the new connection, but not the one for which I provided a username and password! I guess it woud have been the ~30th of the list. This wouldn't really mather if I was able to change the schema on which the report will be executed at runtime.
But with both the native oracle driver or using odbc I am not able to change the schema (even if I change the DatabaseName in the connection info. I've had a look at the CR_VS_CHANGE_DATABASE.ppt but it doesn't help me with Oracle... Funny, I can't put anything in the connectionInfo.DatabaseName and it doesn't seem to change anything...
Anybody ever succeeded to change all the connection info at runtime when the report runs on oracle?
Thanks,
GuyYou should be able to do that by so:
Go into the object navigator. Click on Paper Layout, and click on the Main Section label (not the plus sign). Hit F4 for properties - height and width are there. I think if you just changed those to what A4 is designated as, it should work.
Note if you use a header/footer page, you would need to do the same to those pages as well.
Hope that helps as I have not actually needed to do this yet. Good luck! -
Creating a sample report using JAVA SDK
Hi,
I am trying to create a sample report using JAVA SDK.
I slelect 4 "free cells" and pass 4 different strings to it.
I even slelect the font colour and size. When i run the class and try to view the report in Infoview, I only seeblank blocks without any data. Now if I edit the report from infoview, and save the changes, I am able to see the data.
My issue is, Why am I not able to see the data when I run the java code.
Please find teh code below.
package com;
import java.awt.Color;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.businessobjects.rebean.wi.BinaryView;
import com.businessobjects.rebean.wi.DataProvider;
import com.businessobjects.rebean.wi.DataProviders;
import com.businessobjects.rebean.wi.DataSource;
import com.businessobjects.rebean.wi.DataSourceObject;
import com.businessobjects.rebean.wi.DocumentInstance;
import com.businessobjects.rebean.wi.DocumentLocaleType;
import com.businessobjects.rebean.wi.FontImpl;
import com.businessobjects.rebean.wi.FreeCell;
import com.businessobjects.rebean.wi.HTMLView;
import com.businessobjects.rebean.wi.OutputFormatType;
import com.businessobjects.rebean.wi.PageHeaderFooter;
import com.businessobjects.rebean.wi.Query;
import com.businessobjects.rebean.wi.Recordset;
import com.businessobjects.rebean.wi.Report;
import com.businessobjects.rebean.wi.ReportBody;
import com.businessobjects.rebean.wi.ReportCell;
import com.businessobjects.rebean.wi.ReportContainer;
import com.businessobjects.rebean.wi.ReportElement;
import com.businessobjects.rebean.wi.ReportEngine;
import com.crystaldecisions.sdk.framework.CrystalEnterprise;
import com.crystaldecisions.sdk.framework.IEnterpriseSession;
import com.crystaldecisions.sdk.framework.ISessionMgr;
import com.crystaldecisions.sdk.occa.infostore.IInfoObject;
import com.crystaldecisions.sdk.occa.infostore.IInfoObjects;
import com.crystaldecisions.sdk.occa.infostore.IInfoStore;
import com.crystaldecisions.sdk.plugin.CeKind;
public class Aug7th {
* @param args
public static void main(String[] args) {
// TODO Auto-generated method stub
String CMS = "pundl8136:6400";
String userID = "srivas";
String password = "morcom123";
String auth = "secEnterprise";
List<String> entire =new ArrayList<String>();
List<String> country =new ArrayList<String>();
List<String> resort =new ArrayList<String>();
IEnterpriseSession enterpriseSession;
try
ISessionMgr mySessionMgr = CrystalEnterprise.getSessionMgr();
enterpriseSession = mySessionMgr.logon(userID, password, CMS,auth);
if (enterpriseSession != null)
{//Create and store useful objects for the session.
IInfoStore iStore = (IInfoStore)enterpriseSession.getService("InfoStore");
ReportEngine reportEngine = (ReportEngine)enterpriseSession.getService("WebiReportEngine");
IInfoObject infoView = null;
String str = "SELECT SI_ID, SI_NAME, SI_PARENTID FROM CI_INFOOBJECTS WHERE (SI_KIND = '"+CeKind.WEBI+"' OR SI_KIND='FullClient') " +
"AND SI_INSTANCE = 'false' AND SI_NAME='Structure Test_001_Java' ORDER BY SI_NAME ASC ";
//String str = "SELECT SI_ID, SI_NAME, SI_PARENTID FROM CI_INFOOBJECTS ORDER BY SI_NAME ASC ";
IInfoObjects objInfoObjectsWIDs = (IInfoObjects) iStore.query(str);
System.out.println(objInfoObjectsWIDs.size());
IInfoObject objInfoObjectWID = (IInfoObject) objInfoObjectsWIDs.get(0);
DocumentInstance doc = reportEngine.openDocument(objInfoObjectWID.getID());
DataProviders dps = doc.getDataProviders();
// Retrieve the 1st data provider
DataProvider dp = dps.getItem(0);
// Retrieve the universe objects
DataSource ds = dp.getDataSource ();
Query q = dp.getQuery();
Recordset rs = dp.getResult(0);
// 0: assume query has one flow
rs.first();
// Print the column types. They can be Integer, String,
// or Date.
for (int i = 0; i < rs.getColumnCount(); i++) {
Class c = rs.getColumnType(i);
StringBuffer sbt = new StringBuffer();
if ( c.equals(Integer.class) )
sbt.append("Integer");
if ( c.equals(String.class) )
sbt.append("String");
if ( c.equals(Date.class) )
sbt.append("Date");
sbt.append(";");
System.out.println(sbt.toString());
System.out.println(rs.getColumnCount());
while (!rs.isLast()) {
// column names
StringBuffer sbn = new StringBuffer();
StringBuffer sbd = new StringBuffer();
for (int j = 0; j < rs.getColumnCount(); j++) {
sbn.append( rs.getColumnName(j).toString() );
sbn.append(";");
System.out.println("sbn "+sbn.toString());
// data
for (int k= 0; k< rs.getColumnCount(); k++) {
sbd.append( rs.getCellObject(k).toString() );
sbd.append(";");
entire.add(rs.getCellObject(k).toString());
System.out.println("sbd "+sbd.toString());
rs.next();
System.out.println(entire.size());
for(int i=0;i<entire.size();i++){
country.add(entire.get(i));
i++;
System.out.println("entireList "+entire.get(i));
resort.add(entire.get(i));
DataSourceObject city = ds.getClasses().getChildByName("Country");
DataSourceObject resorts = ds.getClasses().getChildAt(1);
dp.runQuery();
ReportContainer report = doc.createReport("Resort");
PageHeaderFooter header = report.getPageHeader();
FreeCell headerCell = header.createFreeCell("Resort Report");
PageHeaderFooter footer = report.getPageFooter();
FreeCell footerCell = footer.createFreeCell("Report Ends");
ReportBody body = report.createReportBody();
for(int k=0;k<resort.size();k++){
FreeCell res=body.createFreeCell(resort.get(k));
res.getAttachTo();
res.setHeight(15d);
res.setWidth(30d);
Color c = new Color(255,255,255);
Color c1 = new Color(255,0,0);
FontImpl fnt = (FontImpl)res.getFont();
fnt.getDecoration().setTextColor(c1);
res.setFont(fnt);
//res.deleteAttachment();
//res.setAttachTo(body,VAnchorType.BOTTOM,HAnchorType.NONE);
doc.applyFormat();
doc.refresh();
final String l_docToken = doc.getStorageToken();
final DocumentInstance l_docToSave = reportEngine.getDocumentFromStorageToken(l_docToken);
doc.saveAs("mor31",835,null,null);
doc.closeDocument();
str = "SELECT SI_ID, SI_NAME, SI_PARENTID FROM CI_INFOOBJECTS WHERE (SI_KIND = '"+CeKind.WEBI+"' OR SI_KIND='FullClient') " +
"AND SI_INSTANCE = 'false' AND SI_NAME='mor31' ORDER BY SI_NAME ASC ";
//String str = "SELECT SI_ID, SI_NAME, SI_PARENTID FROM CI_INFOOBJECTS ORDER BY SI_NAME ASC ";
objInfoObjectsWIDs = (IInfoObjects) iStore.query(str);
System.out.println(objInfoObjectsWIDs.size());
objInfoObjectWID = (IInfoObject) objInfoObjectsWIDs.get(0);
DocumentInstance doc1 = reportEngine.openDocument(objInfoObjectWID.getID());
String token = doc1.getStorageToken();
DocumentInstance doc2 = reportEngine.getDocumentFromStorageToken(token);
doc2.saveAs("123123", 835, null, null);
// doc.refresh();
//doc.save();
enterpriseSession.logoff();
catch(Exception e)
e.printStackTrace();duplicate post:
Sample report using JAVA SDK -
Change Requests in the reporting schema?
Hello,
Do Change Requests, which I can specify for entities and tables in Data Modeler exist somewhere in the reporting schema? It would be a useful feature as it is quite cumbersome to figure out which entities are part of a change request otherwise.
Thank you,
Beatriz.Change Requests are exported to the Reporting Schema in the next release of Data Modeler
-
SAP BO Report Scheduling and Save as report using Java SDK
Hi All,
We have a java product which is integrated with SAP BO using Java SDK and we have certain java screen through which we select report prompt values and webi report gets run.
Now we want to give a functionality to save report to BO repository.
When user select certain check box from java screen a separate copy of the webi report should get saved under default folder on BO repository.
Also, we want user to choose the scheduling option from java screen only (and not the one which we use from BI Launchpad) due to certain access restriction. User does not have access to BI Launchpad. Only he can run report by selecting values through Java screen.
If i need to create a separate screen for scheduling as well as saving webi report then also i am ok with it.
P.S. i guess we need to work on Java SDK level. But could somebody please help me with the right direction?
Let me know in case requirement is not clear.Hi Ketan,
As you are on version BI 4.0 SP5 and would be migrating to BI 4.1, the best SDKs to use would be the Restful Webservices SDKs.
You have the options to schedule a webi report with prompts as well as the save feature which you require.
Please refer to the webi restful guides avialble at
For BI 4.0 SP5
http://help.sap.com/businessobject/product_guides/boexir4/en/xi4sp5_webi_restful_ws_en.pdf
For BI 4.1 SP4
http://help.sap.com/saphelpiis_sbo41sp4wi-sdk/frameset.htm
Refer to the below blog to understand the Restfull Webservices SDKs.
http://scn.sap.com/community/restful-sdk/blog/2013/09/07/scripting-web-intelligence-the-restful-raylight-web-services--learing-it
More blogs on Rest are available at
http://scn.sap.com/community/restful-sdk/content#filterID=contentstatus%5Bpublished%5D~objecttype~objecttype%5Bblogpost%5D
You can find the samples from the below link
http://scn.sap.com/community/restful-sdk/content#filterID=contentstatus%5Bpublished%5D~objecttype~objecttype%5Bdocument%5D
You would need to refer to the community below in case you have concerns about Rest SDKs.
http://scn.sap.com/community/restful-sdk
Thanks,
Prithvi -
How to change the password of a schema using Oracle SQL Developer
Hi need to change the password of a schema using Oracle SQL Developer how do i do it?
Hi
alter user username identified by password -
How to track personal details changes in the report without using triggers on the database tables
Hi There,
I'm having a requirement to track the oracle HRMS Personal details changes in the report not using the triggers.
ex: if some changes the address of the person, then that changed values should be populated in the report.
Please find below query:
If any of the following columns data is updated, the new value should be populated in the report.
SELECT PAPF.PERSON_ID PAPF_PERSON_ID
, PAPF.EMPLOYEE_NUMBER EMPLOYEE_NUMBER
, PAPF.FIRST_NAME FIRST_NAME
, PAPF.LAST_NAME LAST_NAME
, TO_CHAR(PAPF.DATE_OF_BIRTH ,'DD-MON-YYYY') DATE_OF_BIRTH
, ADDR.ADDRESS_LINE1 ADDRESS_1
, ADDR.ADDRESS_LINE2 ADDRESS_2
, ADDR.ADDRESS_LINE3 ADDRESS_3
, ADDR.TOWN_OR_CITY TOWN
, ADDR.REGION_1 COUNTY
, ADDR.POSTAL_CODE POST_CODE
, ADDR.COUNTRY COUNTRY
, PAY.PAYROLL_NAME PAYROLL_NAME
, PLN_TYP.NAME PLAN_TYP
, PLN.NAME PRODUCT_NAME
, BOF.NAME COVERAGE
FROM PER_ALL_PEOPLE_F PAPF
, PER_ALL_ASSIGNMENTS_F PAF
, PER_ADDRESSES ADDR
, PAY_PAYROLLS_F PAY
, BEN_PRTT_ENRT_RSLT_F PEN
, BEN_PL_TYP_F PLN_TYP
, BEN_PL_F PLN
, BEN_OIPL_F BOIPF
, BEN_OPT_F BOF
WHERE 1 = 1
AND PAPF.PERSON_ID = PAF.PERSON_ID
AND TRUNC(SYSDATE) BETWEEN PAPF.EFFECTIVE_START_DATE AND PAPF.EFFECTIVE_END_DATE
AND TRUNC(SYSDATE) BETWEEN PAF.EFFECTIVE_START_DATE AND PAF.EFFECTIVE_END_DATE
AND PAPF.PERSON_ID = ADDR.PERSON_ID
AND ADDR.PRIMARY_FLAG = 'Y'
AND ADDR.DATE_TO IS NULL
AND PAF.PAYROLL_ID = PAY.PAYROLL_ID(+)
AND PEN.PERSON_ID = PAPF.PERSON_ID
AND PEN.BUSINESS_GROUP_ID = PAPF.BUSINESS_GROUP_ID
AND TRUNC(SYSDATE) BETWEEN TRUNC(PEN.EFFECTIVE_START_DATE) AND TRUNC(PEN.EFFECTIVE_END_DATE)
AND PEN.PRTT_ENRT_RSLT_STAT_CD IS NULL
AND PEN.SSPNDD_FLAG = 'N'
AND ( PEN.ENRT_CVG_THRU_DT >= TRUNC(SYSDATE)
OR PEN.ENRT_OVRIDN_FLAG = 'Y')
AND EXISTS(SELECT PIL.PER_IN_LER_ID
FROM BEN_PER_IN_LER PIL
WHERE PIL.PER_IN_LER_ID = PEN.PER_IN_LER_ID
AND PIL.BUSINESS_GROUP_ID = PEN.BUSINESS_GROUP_ID
AND PIL.PER_IN_LER_STAT_CD NOT IN ('VOIDD','BCKDT'))
AND PEN.PL_TYP_ID = PLN_TYP.PL_TYP_ID
AND TRUNC(SYSDATE) BETWEEN PLN_TYP.EFFECTIVE_START_DATE AND PLN_TYP.EFFECTIVE_END_DATE
AND PLN_TYP.PL_TYP_ID = PLN.PL_TYP_ID
AND TRUNC(SYSDATE) BETWEEN PLN.EFFECTIVE_START_DATE AND PLN.EFFECTIVE_END_DATE
AND PLN.PL_ID = PEN.PL_ID
AND PEN.OIPL_ID = BOIPF.OIPL_ID(+)
AND TRUNC(SYSDATE) BETWEEN NVL(BOIPF.EFFECTIVE_START_DATE,HR_GENERAL.START_OF_TIME) AND NVL(BOIPF.EFFECTIVE_END_DATE,HR_GENERAL.END_OF_TIME)
AND BOIPF.OPT_ID = BOF.OPT_ID(+)
AND TRUNC(SYSDATE) BETWEEN NVL(BOF.EFFECTIVE_START_DATE,HR_GENERAL.START_OF_TIME) AND NVL(BOF.EFFECTIVE_END_DATE,HR_GENERAL.END_OF_TIME)
AND (:P_SYSDATE) BETWEEN TRUNC(PEN.ENRT_CVG_STRT_DT) AND TRUNC(PEN.ENRT_CVG_THRU_DT)
AND (CASE WHEN :P_PAYROLL_ID IS NULL THEN 'Y' ELSE NVL((SELECT 'Y' FROM DUAL WHERE PAY.PAYROLL_ID = :P_PAYROLL_ID), 'N') END) = 'Y'
AND PAPF.LAST_UPDATE_DATE = (:P_SYSDATE) ;
--AND PAPF.LAST_UPDATE_DATE BETWEEN to_date(:P_SYSDATE) and (to_date(:p_sysdate) + INTERVAL '31' Day);
--AND (:P_SYSDATE) = PAPF.LAST_UPDATE_DATE ;
Thankscheck this -
Re: Best Event-Based notifications for Sox Complience? -
How to get the size of the report using RE sdk or query?
Hi,
I want the size of report using RE sdk or using query.
How can i get this?
Please help
Thanks in advance
Amol MaliThanks for the reply.
I want the File Size
How can i get it?
Thanks in advance
Amol Mali -
How to send report to the Inbox of user using RE SDK?
Hi,
I want to send a report to the Inbox of user using RE SDK.
How can i proceed to perform above task.
Can anybody send me the detail code? it will be helpful for me to understand.
please help!
Thanks in advance
Amol MaliAny help on this ?
thanks
Ananth
Maybe you are looking for
-
How to test BLOB Table Column in BCBrowser??
Hi, My requirement is to upload a file(pdf,doc,jpg, txt) into DB using ADF. I use, Jdev 11.1.1.6, Oracle 10g XE. For this, I created the following 1. A table as MyFilesTab(ID Number, FileName Varchar2(80), File BLOB) 2. An Entity Object MyFilesEO on
-
Need simple copy UI command (without selection) for KM items
In a list of documents in KM I want to be able to do a simple copy operation without having to choose the target folder to put the copied item in. I simply want to duplicate an item in the folder it resides. I cannot find other relevant copy commands
-
Focus on first item on the page
Allthough I have this setting activated for my login page and my first item is user name, the focus is set to password. Is there anything I forgot? Funny enough, on one of my other applications works right. Denes Kubicek
-
Im just not sure what i get 2 gigs of....
-
help me guys please. who know any effective solution for this problem?