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
    Quentin

    Please 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 Thanks

    the 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.
    Thx

    Bob,
    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

  • Folder reference using BO SDK

    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
    Michael

    REbean 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.
    Thanks

    Thanks 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
    thanks

    Hello 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

  • Native Methods and Applets

    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

  • How to consume the Calendar Exception details from Project Server 2013 to an SSRS report using PSI ?

    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.S

    Hi 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 |

  • JMS Sample App

    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 PM

    The 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