IInfoStore.deliverToInbox() method in Enterprise 3.1 SDK
I noticed that a new method deliverToInbox() was added to IInfoStore between XIR2 and 3.1. What is the difference between this and IInfoStore.sendTo()? Can anyone give an example of how it would be used? The API documentation for the method is disappointingly brief.
On a related note, are there any major changes to the way Webi documents are sent to the Inbox in 3.1 compared to XIR2? I am having some issues with some code which worked fine in R2.
Thanks,
Ryan
Still haven't been able to resolve my issue... any input on my questions above?
Similar Messages
-
Copy a folder from one user to another with the enterprise SDK
Can anyone tell me how to copy a request in "My favorites" from one User to another with the enterprise SDK ?
thanks in advance
a great day to you'all
QuentinPlease post this query to the .NET Development - BusinessObjects Enterprise forum:
.NET SDK Application Development
That forum is monitored by qualified technicians and you will get a faster response there. Also, all BOE queries remain in one place and thus can be easily searched in one place.
Thank you for your understanding,
Ludek -
IInfoStore.sendTo(IInfoObjects) - modify format of source document
Hi,
Should I be able to modify the format of an IInfoObject when distributing the object using the IInfoStore.sendTo() method?
I have tried setting a destination format on IDestination using IFormatInfo.setFormat("CrystalReport", IReportFormatOptions.CeReportFormat.PDF) but this appears to have no impact. I always receive an rpt file and not a PDF version of the report.
What I am trying to do is take an existing report instance and redistribute it in a different format without having to reprocess the job.
Should I be able to do this with the sendTo() method and IDestination formats or in the case of a crystal report would I have to reprocess the instance through the RAS SDK and export to PDF?
Any guidance would be appreciated.
Many Thanksthe sendTo will just send the inforoobject to whatever destination is specified, without any modification to the report format, For formatting the report to a different format that it is currently in you have to reschedule it to a different format or use RAS and export.
Rescheduling an instance will connect to DB and get new data. Exporting with RAS can export the same data to a different format. -
Can ExtendScript call a function in CS SDK?
I suppose this could be done through BridgeTalk - but is there an easier way to have an ExtendScript function call a method in the new CS SDK? (Flash Builder)?
This might simplify porting a large amount of code that's js. Also, it seems unless you do a C++ plug-in you don't have control over the menus.
ThxBob,
Great info - I'll definitely wait for the library. I'm sure it will be ready before I am.
The reason is that we have some code from another developer that we licensed that is in ESTK. Most of my code is all of the UI code. Moving this to Flash/Flex will greatly improve things.
Right now the code works both ways - my UI calls some of the ESTK code (which seems pretty easy to do). However, the third-party code also has some event handlers which call back into my code. I think in the long run moving both of our code to the new environment will solve many issues. I was just going to see if it was possible to move just the UI portion first.
Thanks again.
Brad -
Please help me with a sample snippet with which I can get access to a personal folder other than favourites folder using ReBean or any other Java SDKs
Many thanks in advance
Regards
MichaelREbean SDK is for viewing, exporting, setting prompts and doing different sorts of things with webi ( and to some extent Full client) reports, it does not have any BOE administrative APIs. For accessing folders, objects etc. You need to use Enterprise or Platfrm SDK. The query I gave in earlier post will retrieve all users favorite folders.
What do you mean by access "any other folders other than user's favorites?"
If you mean if a user can access other public folders apart from his own favorites folder, then the answer is yes. You need to give appropriate access rights to the user to view the folders you want him to view. But for all of this you can do it via CMC ( setting rights) or use Enterprise\Framework SDK and not Rebean SDK. -
How to get Universe Long Name from DataProvider from BO SDK Web XI R3
In BO 6.5 I was able to query the repository using an Oracle query to get details about the classes, property(s) and property data value(s). I'm using the following query:
SELECT DISTINCT u.uni_longname, c.cls_name, p.prp_name, p.property_id,
d.prp_datavalue
FROM unv_universe@PRBA u,
unv_class@PRBA c,
unv_property@PRBA p,
unv_prop_data@PRBA d
WHERE c.universe_id = u.universe_id
AND c.universe_id = p.universe_id
AND c.class_id = p.class_id
AND p.universe_id = d.universe_id
AND p.property_id = d.property_id
AND d.prp_datatype = 'W'
ORDER BY 1, 2
where PRBA is our BO oracle repository. It would return the following, though I get multiple rows for this query, I am pasting one row only
UNI_LONGNAME CLS_NAME PRP_NAME PROPERTY_ID PRP_DATAVALUE
Accounting Universe Account Details Account Option 15 ACCT.ACCT_ID IN @Prompt('ACCOUNT_OPTION','N', ['Account Details\Account ID'],multi,free)
I'm wondering what is the equivalent methods/objects using BO Java SDK in Webi XI R3 to get the same information. I use the above information to delete the prompts for which user has not provided a value.
Also I need to know, Is it possible to get Univers Long Name from DataProivder, then from Univers Long Name, will I be able to get the above Records Set? Is this possible in BO SDK Webi XI R3?
My requirement is, I have BO Prompts and I need to remove certain prompts which are not supplied by the User, for example if I need to remove ACCOUNT_OPTION, I iterate the record set, as long as ACCOUNT_OPTION is there in PRP_DATAVALUE then I would remove the Filter Condition.Can anyone help me out on this? Rightnow This is a show stopper for me.
ThanksThanks for your reply, NO Java SDK means, what is it not possible? and what is possible through COM SDK?
my requirement is, I need to remove certain Filter condition for a DataProvider, for example, ACCOUNT_OPTION is the name of the field, but through JAVA SDK, I am getting Account Option ,
I have been trying the below code, Can anyone help me out what am I doing wrong? I could not go further.
ACTXTRACTCon is my list of arrays, these prompts have to be removed from BO Prompts. Although I wanted to post my entire code, for some reason I could not embed the code. This code may have some compilation errors.
// Get Providers from DocumentInstance
DataProviders oProviders = oDoc.getDataProviders();
int iDataProviderIndex = 0;
int iQueryCount = 0;
int iQueryIdx = 0;
Query oQuery = null;
// Declare ConditionContainer
ConditionContainer oCC = null;
int iCCIndex = 0;
FilterConditionNode oFCN = null;
ConditionObject oCO = null;
String ACTXTRACTCon [] ={
"PRINTER_NAME",
"PARTNER_RANK",
"PARTNER_DOMICILE",
"TO_GL_CYCLE_DT",
"ENTITY_OPTION",
"LONG_MEMO",
"SHORT_MEMO",
"ENTITY_TYPE",
"POST_END_DT",
"TCODE_TYPE",
"ACCOUNT_OPTION",
"PARTNER_STATUS",
"ACCT_TYPE",
"POST_BEGIN_DT",
"TCODE_OPTION",
"FROM_GL_CYCLE_DT",
"PARTNER_TYPE"
while (iDataProviderIndex <= oProviders.getCount()-1){
// Get DataProvider from DataProviders
DataProvider oProvider = oProviders.getItem(iDataProviderIndex);
// Get Query from DataProvider
QueryContainer oQuerys = oProvider.getCombinedQueries();
System.out.println("oProvider------->"+oProvider);
System.out.println("oProvider.getName().."+oProvider.getName());
System.out.println("oProvider.getDataSource().getLongName().."+oProvider.getDataSource().getLongName());
System.out.println("oProvider.getDataSource().getUniverseID().."+oProvider.getDataSource().getUniverseID());
iQueryCount = oQuerys.getChildCount();
if (iQueryCount > 0) {
// Loop through Query to get ConditionObject
for (iQueryIdx = 0; iQueryIdx <= iQueryCount - 1; iQueryIdx++) {
oQuery = (Query)oQuerys.getChildAt(iQueryIdx);
oCC = oQuery.getCondition();
if (oCC != null){
// Only Leaf object has condition
if (!oCC.isLeaf()){
// Loop through ConditionContainer to get all conditions
int iCCCount = oCC.getChildCount();
int iRevCCIndex = 0;
//Removing universe level conditions
for (iCCIndex = 0; iCCIndex <= iCCCount-1; iCCIndex++){
iRevCCIndex= iCCCount - iCCIndex -1;
oFCN=oCC.getFilterConditionNode(iRevCCIndex);
if (oFCN instanceof ConditionObject) {
oCO = (ConditionObject)oFCN;
FilterCondition oOperand=(FilterCondition)oCO.getOperand();
System.out.println("oOperand.."+oOperand);
for (int iRow = 0; iRow <= ACTXTRACTCon.length - 1; iRow++){
if (oCO.getName().trim().toString().equals(ACTXTRACTCon[iRow])){
oFCN.remove(oCO);
break;
// Removing report level conditions
iCCCount = oCC.getChildCount();
for (iCCIndex = 0; iCCIndex <= iCCCount-1; iCCIndex++){
iRevCCIndex= iCCCount - iCCIndex -1;
oFCN=oCC.getFilterConditionNode(iRevCCIndex);
if (oFCN instanceof ConditionObject){
oCO = (ConditionObject)oFCN;
FilterCondition oOperand=(FilterCondition)oCO.getOperand();
if (oOperand != null){
int iOperandCount = oOperand.getOperandCount();
int iRevOperandIdx = 0;
boolean bBreakInd = false;
for (int iOperandIdx = 0; iOperandIdx <= iOperandCount-1; iOperandIdx++){
// Removing conditions start with high index
iRevOperandIdx = iOperandCount - iOperandIdx - 1;
for (int iRow = 0; iRow <= ACTXTRACTCon.length-1 ; iRow++){
if (oOperand.getOperand(iRevOperandIdx).toString().equals(ACTXTRACTCon[iRow])){
oFCN.remove(oCO);
bBreakInd = true;
break;
if (bBreakInd == true){
// Exit from loop if condition has been removed
break;
// fetch the changes
oProvider.runQuery();
iDataProviderIndex++;
System.out.println("Data Provider Index = " + iDataProviderIndex);
Thanks
Gokul.
Edited by: mgggkn on Jul 11, 2011 8:18 PM -
Work flow using datsets from VS and enterprise server
Hi,
Can any one provide the work flow for push model for the reports on the enterprise server and are served by .net datasets
thanksHello Nenuaky,
I recommend to post this query to the [.NET Development - BusinessObjects Enterprise forum|.NET SDK Application Development;.
This forum is dedicated to development and deployment of .Net applications that connect and interact with BusinessObjects Enterprise, BusinessObjects Edge, or Crystal Reports Server. This includes the development of applications using the BusinessObjects Enterprise, Report Application Server, Report Engine, and Web Services SDKs.
It is monitored by qualified technicians and you will get a faster response there.
Also, all BOE - .NET Development queries remain in one place and thus can be easily searched in one place.
Thank you,
Falk -
Hi, I need to use data glove woth vrml.
To do so i use a java class that invoke native methods, because the glove's sdk are only for VC++, but i receive the security exception. I know that applets con't load native methods and i think that java classes loaded from vrml are considered like applets.
Anyone can tell me if is possible to change security policy, for example giving all permissions to applet, i'm not interested in security, the code work in local. Thanks to all this is for my thesis in VR.Right. I understand. Here's what I've been able to find out:
1) As I thought, your script node Java class is being run by the Microsoft JVM. (Hence the com.ms.. exception.)
2) In order for the VM to run classes that use native code, you'll have to make your code trusted by:
- i) Asserting the permission required to run native code in your Java source, through a PolicyEngine.assertPermission method call. See http://support.microsoft.com/kb/q175622/
- ii) Package up the class in a Microsoft CAB file and sign the cab file. See http://support.microsoft.com/default.aspx?scid=kb;en-us;Q193877
Look at http://www.jguru.com/faq/view.jsp?EID=468498 first for an overview of both of these.
3) It seems that Cortona (as a non-standard extension) can use script classes in cab files (whether signed or not), so you might be in luck here. See http://forums.parallelgraphics.com/show/forum/general/messages/59/
You might need to get hold of the (now unsupported) Microsoft SDK for Java 4.0 in order to create and sign your CAB file. I found this at ftp://ftp.crystalpoint.com/updates/ovweb/sdkjava40.exe but I cannot vouch for this executable. Use at your own risk.
For the benefit of other readers, it seems that Cortona cannot be used with the Sun JRE, so the OP is out of luck there.
Let us know how you get on.
Alex -
AM SDK for UWC problem (new JES 2005Q49
Hi,
I am trying to rush to install the new JES 4 2005Q4 before we go into prod in 2 weeks.
When I do the same install actions than with 2005Q1 installing the Am SDK (so that my UWC talks to the AM remote server ) I get this error. What is it about PKIX path buiding, is this about SSL cert? or is a Solaris package missing ?
Thanks
Fran�ois
com.iplanet.sso.SSOException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at com.iplanet.sso.providers.dpro.SSOProviderImpl.createSSOToken(SSOProviderImpl.java:177)
at com.iplanet.sso.SSOTokenManager.createSSOToken(SSOTokenManager.java:305)
at com.sun.identity.authentication.AuthContext.getSSOToken(AuthContext.java:884)
at com.sun.identity.security.SystemAppTokenProvider.getAppSSOToken(SystemAppTokenProvider.java:104)
at com.sun.identity.security.AdminTokenAction.getSSOToken(AdminTokenAction.java:257)
at com.sun.identity.security.AdminTokenAction.run(AdminTokenAction.java:158)
at java.security.AccessController.doPrivileged(Native Method)
at com.iplanet.am.sdk.ldap.AMEntryEventListener.<init>(AMEntryEventListener.java:92)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at java.lang.Class.newInstance0(Class.java:350)
at java.lang.Class.newInstance(Class.java:303)
at com.iplanet.services.ldap.event.EventService.run(EventService.java:397)
at java.lang.Thread.run(Thread.java:595)Were should I install a cert db and what certificate should it contain ?
Is it the cert8/key3 files in the alias dir of the web server containing the uwc ?
Certs: UWC and the amSDK it uses are not SSL servers, but rather clients that might access the remote AM through SSL, why does it have to have certs and whose certs is it missing ?
I also must add that I used to need to put in /etc/opt/SUNWam/config dir in the file AMConfig-<uwchost>eigch.properties
the "trust all cert" to true:
com.iplanet.am.jssproxy.trustAllServerCerts=true
so that the am sdk could talk to AM on ssl.
I have the same error if I set the am sdk to talk to the am without ssl. -
ReportSDKPrinterException: Printer name could not be set
I am working on testing a web application with BOE XI V 3.1. I have the database and RAS machines setup. I have been working on changing my app to printing through the RAS. I have print preview and export working, but am running into issues printing to a printer.
On the RAS which is on a virtual machine, I have a printer setup as a local printer to a tcpip port so the VM can access a printer on our network. But when I call the clientDoc.getPrintOutputController().printReport(printOptions); I get the error message ReportSDKPrinterException: Printer name could not be set.
I have also on the side been testing using a small jsp modified from a working print preview.
Here is the 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.document.*,
com.crystaldecisions.sdk.occa.report.lib.*,
com.crystaldecisions.report.web.viewer.*"
%>
<html>
<head>
<title>Print Report</title>
</head>
<body>
<%@ include file="AlwaysRequiredSteps_UnmanagedRAS.jsp"%>
<%
// Populate parameters
clientDoc.getDataDefController().getParameterFieldController().setCurrentValue("", "TAB_ID", "Configuration");
clientDoc.getDataDefController().getParameterFieldController().setCurrentValue("", "LOGO_LOCATION", "d:\\reports\\images\\highjump.gif");
PrintReportOptions printOptions = new PrintReportOptions();
printOptions.setPrinterName("Dell");
clientDoc.getPrintOutputController().printReport(printOptions);
clientDoc.close();
%>
</body>
</html>
The code from AlwaysRequiredSteps_UnmanagedRAS.jsp is:
<%
// This file contains the required steps to open an unmanaged report from a file path accessible to the RAS Server.
// Modify this path to the location of the report on your system.
String path = "rassdk://C:\\reports\\ReportList.rpt";
// Create a new Report Application Session.
ReportAppSession ra = new ReportAppSession();
// Create a RAS service.
ra.createService("com.crystaldecisions.sdk.occa.report.application.ReportClientDocument");
// Set the RAS server to be used for the service.
ra.setReportAppServer("10.192.183.196:1566");
// Initialize RAS.
ra.initialize();
// Create the ReportClientDocument object.
ReportClientDocument clientDoc = new ReportClientDocument();
// Set the RAS server to be used.
clientDoc.setReportAppServer(ra.getReportAppServer());
// Open the report, and set the open type to Read Only.
clientDoc.open(path, OpenReportOptions._openAsReadOnly);
%>
The result I get from running this is:
HTTP Status 500 - An exception occurred processing JSP page /PrintReport.jsp at line 28
type Exception report
message An exception occurred processing JSP page /PrintReport.jsp at line 28
description The server encountered an internal error that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: An exception occurred processing JSP page /PrintReport.jsp at line 28
25: PrintReportOptions printOptions = new PrintReportOptions();
26: printOptions.setPrinterName("DELL");
27:
28: clientDoc.getPrintOutputController().printReport(printOptions);
29:
30: clientDoc.close();
31: %>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:455)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
root cause
javax.servlet.ServletException: com.crystaldecisions.sdk.occa.report.lib.ReportSDKPrinterException: Printer name could not be set: DELL---- Error code:-2147215357 Error code name:internal
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:916)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:845)
org.apache.jsp.PrintReport_jsp._jspService(PrintReport_jsp.java:133)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
root cause
com.crystaldecisions.sdk.occa.report.lib.ReportSDKPrinterException: Printer name could not be set: DELL---- Error code:-2147215357 Error code name:internal
com.crystaldecisions.sdk.occa.report.lib.ReportSDKPrinterException.throwReportSDKPrinterException(Unknown Source)
com.crystaldecisions.sdk.occa.report.application.PrintOutputController.printReport(Unknown Source)
org.apache.jsp.PrintReport_jsp._jspService(PrintReport_jsp.java:120)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
root cause
com.crystaldecisions.sdk.occa.report.lib.ReportSDKPrinterNotFoundException: Printer name could not be set: DELL---- Error code:-2147215365 Error code name:printerNotFoundError
com.businessobjects.crystalreports.printer.bean.a.try(Unknown Source)
com.businessobjects.crystalreports.printer.bean.ReportPrinter.setPrinterName(Unknown Source)
com.businessobjects.crystalreports.printer.bean.ReportPrinter.print(Unknown Source)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
com.crystaldecisions.sdk.occa.report.application.PrintOutputController.printReport(Unknown Source)
org.apache.jsp.PrintReport_jsp._jspService(PrintReport_jsp.java:120)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
root cause
java.awt.print.PrinterException: No printer named "DELL" could be found.
com.businessobjects.crystalreports.viewer.core.f$a.a(Unknown Source)
com.businessobjects.crystalreports.viewer.core.f.a(Unknown Source)
com.businessobjects.crystalreports.printer.bean.a.try(Unknown Source)
com.businessobjects.crystalreports.printer.bean.ReportPrinter.setPrinterName(Unknown Source)
com.businessobjects.crystalreports.printer.bean.ReportPrinter.print(Unknown Source)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
com.crystaldecisions.sdk.occa.report.application.PrintOutputController.printReport(Unknown Source)
org.apache.jsp.PrintReport_jsp._jspService(PrintReport_jsp.java:120)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.53 logs.
Apache Tomcat/7.0.53
I would really appreciate any help in figuring out how to print to the RAS.
Thanks in advance.Hi Jason,
Could you please let us know the complete Business Objects version with Service Pack and Fix Pack?
Actually the issue you are facing was identified as a bug and was fixed in Business Objects Enterprise XI 3.1 FixPack 2.2.
Please go through the SAP Note: 1417374 - Error "Printer name could not be set" when printing using the RAS SDK.
Hope this helps.
Regards,
Rajarsh -
Hello,
Can anyone guide me how to access the calendar exception details from Project Server using PSI?
I need to extract calendar details of enterprise resources , like exception name, exception type, exception start date and exception end date into my SSRS report hosted in SharePoint 2013 and 2010.
I would be helpful if I can get a sample of this. I have read through many PSI documents in fact still going through ,what PSI does and doesn't , PSI methods etc. from Project Server SDK and MSDN . Moreover, I
am a beginner in .NET programming. I am confused and have lots of questions in my mind, like which PSI service should be used in my report(is it just Calendar.svc), can we pull the details as XML type data source my SSRS report ,are
there any other configuration settings apart from " setting up an event handler by installing an event handler assembly on each Project Server computer in the SharePoint farm, and then configuring the event handler
for the Project Web App instance by using the Project Server Settings page in the General Application Settings of SharePoint Central Administration" (as per prerequisites for PSI in SDK) , how can I implement authentication settings
-(when user with proper SharePoint permission
can accesses the SSRS report )
Kindly bear with me if my questions are not appropriate .
Please do guide me, and .
Thanks in Advance!!
Mridhula
Mridhula.SHi Brendan,
Project server reporting database doesn't contain the calendar info. The only supported way to use the PSI to read the calendar info from Published database.
See this
reply from Amit.
Hope this helps,
Guillaume Rouyre, MBA, MVP, P-Seller | -
Hello There.
I'm relatively new to J2EE, and have just downloaded and installed the software on my laptop - running Windows XP. I'm trying to get java to run the SimpleQueueSender class after starting j2ee on a separate window, and get the following error:
C:\jms_tutorial\examples\simple>java -Djava.endorsed.dirs=%J2EE_HOME%\lib\endors
ed -Djms.properties=%J2EE_HOME%\config\jms_client.properties SimpleQueueSender M
yQueue 3
Queue name is MyQueue
JNDI API lookup failed: javax.naming.CommunicationException: com.sun.enterprise.
resource.PoolingException
at com.sun.enterprise.naming.factory.JavaAppClientObjectHandler.createCo
nnectionFactory(JavaAppClientObjectHandler.java:194)
at com.sun.enterprise.naming.factory.ConnectorObjectFactory.getObjectIns
tance(ConnectorObjectFactory.java:89)
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:3
01)
at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:124
at javax.naming.InitialContext.lookup(InitialContext.java:347)
at SimpleQueueSender.main(SimpleQueueSender.java:102)
Caused by: java.lang.ClassNotFoundException: com.sun.jms.connector.ra.JMSManaged
QueueConnectionFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:198)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)
at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:217)
at com.sun.enterprise.naming.factory.JavaAppClientObjectHandler.createCo
nnectionFactory(JavaAppClientObjectHandler.java:179)
... 5 more
I do not know why this is happening. I cannot find the class 'com.sun.jms.connector.ra.JMSManagedQueueConnectionFactory' anywhere.
Owen.The problem seems to be that you are using the Java 2, Enterprise Edition (J2EE) SDK, version 1.4 Beta, but are following the instructions in the JMS Tutorial that goes with version 1.3.1.
Please use the revised tutorial at http://java.sun.com/j2ee/1.4/docs/tutorial/index.html. See the section on Java Message Service Technology.
You need an additional JAR file in your classpath, %J2EE_HOME%\lib\system\jmsra.jar.
I hope this is helpful.
Kim Haase
Technical Writer
Sun Microsystems, Inc. -
PI Java Mapping NullPointerException
Hi Gurus,
I'm having some troubles doing the mapping through java mapping in PI.
I've done the java class in the SAP NWDS and imported it on PI through the ESR.
Now i'm trying to test through the SOAP and i've found the following error in the "Communication Channel Monitor":
500 Internal Server Error SAP NetWeaver Application Server/Java AS
java.lang.NullPointerException: while trying to invoke the method com.sap.aii.af.sdk.xi.lang.Binary.getBytes() of a null object returned from com.sap.aii.af.sdk.xi.mo.xmb.XMBPayload.getContent()
And the following error in the SXMB_MONI:
<SAP:Category>XIServer</SAP:Category>
<SAP:Code area="INTERNAL">CLIENT_SEND_FAILED</SAP:Code>
<SAP:P1>500</SAP:P1>
<SAP:P2>Internal Server Error</SAP:P2>
<SAP:P3>(See attachment HTMLError for details)</SAP:P3>
<SAP:P4 />
<SAP:AdditionalText />
<SAP:Stack>Error while sending by HTTP (error code: 500 , error text: Internal Server Error) (See attachment HTMLError for details)</SAP:Stack>
I've developed the code below:
public class PI_Mapping_IF extends AbstractTransformation {
public void transform(TransformationInput in, TransformationOutput out) throws StreamTransformationException {
this.execute(in.getInputPayload().getInputStream(), out.getOutputPayload().getOutputStream());
public void execute(InputStream in, OutputStream out) throws StreamTransformationException {
try
// Inicio do java mapping
getTrace().addInfo("JAVA Mapping Iniciado"); //Log para o PI/XI
// Declarações referentes ao XML de entrada
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document xml_in = db.parse(in);
// Declarações referentes ao XML de saída
Document xml_out = db.newDocument();
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
// Remove o standalone
xml_in.setXmlStandalone(true);
// Declara a estrutura que a RFC irá receber
Element root = xml_out.createElement("ns1:ZFSD_VMOI_UPLOAD_CF_PG");
root.setAttribute("xmlns:ns1","urn:sap-com:document:sap:rfc:functions");
xml_out.appendChild(root);
Element i_cenario = xml_out.createElement("I_CENARIO");
root.appendChild(i_cenario);
Element t_input = xml_out.createElement("T_INPUT");
root.appendChild(t_input);
Element item = xml_out.createElement("ITEM");
t_input.appendChild(item);
Element STRING = xml_out.createElement("STRING");
item.appendChild(STRING);
Element t_return = xml_out.createElement("T_RETURN");
root.appendChild(t_return);
Element item_r = xml_out.createElement("ITEM");
t_return.appendChild(item_r);
Element message = xml_out.createElement("MESSAGE");
item_r.appendChild(message);
// Verifica se existe algum filho no nó
NodeList nodos = xml_in.getChildNodes();
if (nodos.item(0) != null)
getTrace().addInfo("O nó(XML) possui filhos"); //Log para o PI/XI
// Declaração de variáveis
String ident = ""; // <Ident>
String buyer = ""; // <BuyerLineItemNum>
String result = ""; // <Ident>;<BuyerLineItemNum>;<Date>;<QuantityValue>
// Inicia a extração das informações do XML
try{
// Recupera o nó ShipToParty
NodeList nodeShip = xml_in.getElementsByTagName("ns0:ShipToParty");
Node node = nodeShip.item(0);
Element elemXML = (Element) node;
try{
NodeList nodeIdent = elemXML.getElementsByTagName("ns0:Ident");
Element nameElement = (Element) nodeIdent.item(0);
nodeIdent = nameElement.getChildNodes();
// Recupera o valor da chave <Ident>
ident = PI_Mapping_IF.VerifyNull(((Node) nodeIdent.item(0)).getNodeValue());
}catch(Exception e){
result += "0.0;";
// Recupera o nó ListOfMaterialGroupedPlanningDetail
NodeList nodeBuyer = xml_in.getElementsByTagName("ns0:MaterialGroupedPlanningDetail");
for (int i = 0; i < nodeBuyer.getLength(); i++) {
node = nodeBuyer.item(i);
elemXML = (Element) node;
try{
// Preenche a chave BuyerLineItemNum
NodeList nodeBuyerLine = elemXML.getElementsByTagName("ns0:BuyerLineItemNum");
Element elemBuyerLine = (Element) nodeBuyerLine.item(0);
nodeBuyerLine = elemBuyerLine.getChildNodes();
buyer = PI_Mapping_IF.VerifyNull(((Node) nodeBuyerLine.item(0)).getNodeValue());
}catch(Exception e){
buyer += "0;";
result = ident+";"+buyer+";";
Node nodeDt_Qnt = nodeBuyer.item(i);
Element elemDt_Qnt = (Element)nodeDt_Qnt;
NodeList nodeValores = elemDt_Qnt.getElementsByTagName("ns0:ScheduleDetail");
for (int j = 0; j < nodeValores.getLength(); j++) {
node = nodeValores.item(j);
elemXML = (Element) node;
try{
// Preenche a chave Date
NodeList modelExtra = elemXML.getElementsByTagName("ns0:Date");
Element extraElement = (Element) modelExtra.item(0);
modelExtra = extraElement.getChildNodes();
result += PI_Mapping_IF.VerifyNull(((Node) modelExtra.item(0)).getNodeValue())+";";
}catch(Exception e){
result += "//;";
try {
// Preenche a chave QuantityValue
NodeList modelURL = elemXML.getElementsByTagName("ns0:QuantityValue");
Element urlElement = (Element) modelURL.item(0);
modelURL = urlElement.getChildNodes();
result += PI_Mapping_IF.VerifyNull(((Node) modelURL.item(0)).getNodeValue())+";";
} catch (Exception e) {
result += "0.0;";
// Marca o final do registro
result += "||";
// Preenche os nós itens
Text srcxml = xml_out.createTextNode(result);
STRING.appendChild(srcxml);
result = "";
buyer = "";
}catch(Exception e){
// Remove o standalone
xml_out.setXmlStandalone(true);
// Preenche o Cenario
Text cenario = xml_out.createTextNode("P&G");
i_cenario.appendChild(cenario);
// Preenche mensagem de retorno
Text msgxml = xml_out.createTextNode("XML lido com sucesso!");
message.appendChild(msgxml);
// Escreve a saida do XML
transformer.transform(new DOMSource(xml_out), new StreamResult(out));
getTrace().addInfo("Fim da execução do Java Mapping");
} catch (ParserConfigurationException e) {
getTrace().addWarning(e.getMessage());
throw new StreamTransformationException("Can not create DocumentBuilder.", e);
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (TransformerConfigurationException e) {
e.printStackTrace();
} catch (TransformerException e) {
e.printStackTrace();
Am i doing anything wrong in the code? Where can this nullpointerexception be triggered?
Thanks.These three xml are the same:
<?xml version="1.0"?><a:xml xmlns:a="urn:123">root</a:xml>
<?xml version="1.0"?><xml xmlns="urn:123">root</xml>
<?xml version="1.0"?><ns0:xml xmlns:ns0="urn:123">root</ns0:xml>
But your code will work only with last one, because it doesn't bound namespace to prefix ns0. -
How to pass date value to an UDF
Hi,
I am working in SDK UI. I have created a form. In this form there is a edit text box. I have to pass a date value to that object. I have taken a variable and pass a date value in "yyyy/mm/dd" format. When I am assign this variable to the object to pass the date value to that object then I am getting an error. The error is "Unable to cast object of type 'system.string' to 'system.IFormatProvider' ".
I have written the code like this :------>
Dim AtenDate As String
AtenDate = '2007/08/01' ' format "yyyy/mm/dd"
Dim txtEditDt As SAPbouiCOM.EditText
oItem = oForm.Items.Item("11")
txtEditDt = oItem.Specific
txtEditDt.String = AtenDate.ToString("dd/MM/yyyy")
After the last line the error is getting fire.
Please help me how I can pass the date value to that object.
Please help me. It is very urgent.Date and Double conversion is really a confusing thing in B1-SDK programming in the beginning.
But once you got it it's okay.
When working with date-time and doubles (System and SBO-Price/SBO-Quantity), you should always take care about the language of...
...system (windows)
...SBO User Interface
These two formats could make trouble when the programming has been made only for a specific configuration of these two.
The third format for SDK-Programming is
...the SBO-DB-Format, which is language-independent and always a String
Here are some rules:
<b>EditText.String</b> ALWAYS returns the value you see on the SBO GUI. It depends on the SBO Date, Price etc.-Format the USER has configured in the Administration. Consider that the user has (for example) the possibility to choose a "#" (or whatever) as decimal-seperator. Direct (implicit) conversion of such a string to a double will fail at the latest now.
The savest way to get a .NET-Double or DateTime- Value from EditText.String are the conversion methods of SBOBobs-Object (see SDK-help -> BoBridge, Format_MoneyToString...etc.).
I think it's a good idea to write some wrapper functions for that methods, cause they always need a recordset which blows up the code too much.
<b>EditText.Value</b> always (system/sbo-language independent) returns the value as a String in DB-Format (Double as "12345.126700" and date as "20070930".
For that you must asure that the EditText is bounded to a format-corresponding datasource. Price, Quantitiy.... if you need a double.
If your "price"-field would be bound to ShortText and the user wants (assuming the example from above) a "#" for decimal-point, then a GUI-seen value like "12,421#12" is also returned as "12,421#12" by EditText.Value. But If bound to Price-DataSource it's "12421.120000"
=> So always do a DataBind to the Data - Type which is needed is recommended for this to work!
In my case EditText.String and -Value is mostly (only...? needed for B1-System-Forms where using of DataSources is restricted.
The prefered way of read/write values is the
<b>UserDataSource.ValueEx and DBDataSource.GetValue/SetValue</b>-method. It's also always in DB-Format as EditText.Value before, but gives much more performance.
Once you got some conversion-functions for "DB-Format-String" to ".NET-DataType" and vice verca (I've defined some .NET - System.Globalization.XXXFormatInfo-Objects for that) all of your problems are things of the past
Regards,
Roland
null
Message was edited by:
Roland Toschek
Edited by: Roland Toschek on Jan 22, 2008 5:32 PM
Trying to clarify a sentence -
How to get a report "closed" when using the ReportViewerBean
I read the article /people/ted.ueda/blog/2008/12/20/crystal-reports-for-eclipse--ensuring-report-cleanup from Ted Ueda regarding cleaning up reports for the RAS server. However, I'm trying to figure out how to get this accomplished for a thick client accessing a local rpt file and then displaying that file using the ReportViewerBean. I can't seem to get the report closed. I tried the dispose() techniqe from the article, but with no success.
My basic process is:
1) Press button on main frame to open and set up report
2) Pass open report (via ReportClientDocument) object to the viewer frame class (which views report in separate window using ReportViewerBean)
3) Close viewer window when done, destroy ReportVieweBean and close ReportClientDocument
4) Press button again on main frame later to view report
If I set up the report but skip the step of sending the report to the viewer frame, ReportClientDocument.isOpen() will go from true to false after I execute just the ReportDocumentClient.close() command. However, if open the viewer frame, I cannot get the report closed.
In the window closing event for my viewer window I have:
public void quit() {
try {
CrystalReportViewer crv1 = new CrystalReportViewer();
crv1.setReportSource(reportClientDoc.getReportSource());
reportViewer.destroy(); //this is a ReportViewerBean
reportClientDoc.close(); //this is a ReportClientDoc
crv1.dispose();
//the following is always true
System.out.println("ReportClientDoc.isOpen: " + reportClientDoc.isOpen());
this.dispose();
catch(ReportSDKException ex) {
ex.printStackTrace();
catch(ReportSDKExceptionBase ex) {
ex.printStackTrace();
I'm using the latest Java CR4E 12.2.205.825 downloaded from the CR4E website. Any ideas?
Edited by: Joseph Huber on Mar 16, 2010 8:13 PMThe webservices you are trying to use are not the ones used for enterprise, they are used for non-enterprise applications accessing reports that are stored in a specific location on the web server.
Here are samples that use our Enterprise SDK:
[https://boc.sdn.sap.com/samples/84/1193|https://boc.sdn.sap.com/samples/84/1193]
Here are samples that use our Enterprise Web Service SDK:
[https://boc.sdn.sap.com/samples/84/1197|https://boc.sdn.sap.com/samples/84/1197]
You can also look at the SDK documentation available here:
[http://devlibrary.businessobjects.com/BusinessObjectsXIR2SP2/en/devsuite.htm|http://devlibrary.businessobjects.com/BusinessObjectsXIR2SP2/en/devsuite.htm]
Maybe you are looking for
-
Powershell remote connect to DPM not working
Hello all, Using System Center DPM 2012 R2. Trying to start with automation in SMA using our DPM servers. Tried to use the sample script "Sample-Managing-DataProtectionManager", this is a simple script with a connect-DPMServer statement. When executi
-
Problem activating Photoshop CS4 extended. Invalid Serial number
I have Photoshop CS4 extended. It has been working fine then I got a new computer and it won't accept the SN to activate it. Any Idea how to overcome this?
-
How to create vector portrait like the images as attached
i want to create these kind of portrait. How will I do ...
-
I have a field: =Fields!Attachment_Name.Value that returns values on 2 separate rows Row 1 LTC 34 EARC Row 2 LTC 34 EARC v04_13 How can I get the 2 rows to merge into 1 row to show "LTC 34 EARC" only Thank you
-
8830 Will not charge, shows solid red LED when connected
I plugged my phone in to my wall charger Saturday night as I always do-Sunday morning the phone was dead and would not turn on. It shows a solid red light on the LED. I cannot seem to get it to charge. Briefly, the charging battery icon showed up o