Capability IDs defined in Java SDK?

The Java toolkit for the Oracle Calendar SDK includes
the method Session.getCapabilities(), which can be used to
query the calendar server for its capabilities: version,
authentication methods supported, and so on.
This method accepts a "capabilityID" integer parameter, which
presumably corresponds to the list of ten capability IDs identified
in the header file "ctapi.h" in the C toolkit, which are defined as
constant whose names begin with "CAPI_CAPAB_"...
While the status codes and flags in the C toolkit are correspondingly
defined as constants in the Java toolkit - in the Api class - the
capability IDs do not seem to have been defined there.
(At least, these capability IDs aren't listed in the JavaDocs at
http://download-west.oracle.com/docs/cd/B13866_01/calendar.904/b10973/toc.htm
and using the "Api.CAPI_CAPAB_VERSION" capability ID in a
call to Session.getCapabilities() generates a
'CAPI_STAT_API_FLAGS' (i.e. bad flags) Exception.)
If these capability IDs actually aren't yet defined in the Java toolkit, it
would be a convenience if they could be added in a future revision.

I just filed a TAR report on a bug with the Java getCapabilities() call.
The JavaDocs say that the arguments are:
getCapabilities(int in_flags,int in_capabilityID)
However, these appear to be reversed. The getCapabilities() call appears to want
getCapabilities(int in_capabilityID,int in_flags)
Also, the various capabilities are defined as Api.CAPI_CAPAB_AUTH etc.
The following works for me:
mySession.getCapabilities(Api.CAPI_CAPAB_AUTH,
Api.CAPI_FLAG_NONE));

Similar Messages

  • Timezone data returned by Java SDk is not defined anywhere?

    The old Java WSDL classes returned the timezone values as defined here:
    https://msdn.microsoft.com/en-US/library/bing-ads-time-zones.aspx
    However, the new Java SDK is returning different values. For example, it returns:
    GREENWICH_MEAN_TIME_DUBLIN_EDINBURGH_LISBON_LONDON
    instead of
    GreenwichMeanTimeDublinEdinburghLisbonLondon
    Is this changing across the board?

    We use 'wsimport' to generate proxies for the Bing Ads Java SDK, and you can find details
    here on GitHub. The UPPER_CASE_UNDERSCORE pattern you see is generated by default by wsimport for all value sets e.g. TimeZoneType in the Customer Management service and BudgetLimitType
    in the Campaign Management service. Using an IDE such as Eclipse, the possible values should be available through intellisense. 
    The values you see documented are accepted by the service when a string is expected (not value set). For example when adding a campaign you would set the time zone with one of the CamelCase values you see documented
    here on MSDN. 
    Campaign campaign = new Campaign();
    campaign.setName("Winter Clothing " + System.currentTimeMillis());
    campaign.setDescription("Winter clothing line.");
    campaign.setBudgetType(BudgetLimitType.MONTHLY_BUDGET_SPEND_UNTIL_DEPLETED);
    campaign.setMonthlyBudget(1000.00);
    campaign.setTimeZone("PacificTimeUSCanadaTijuana");
    campaign.setDaylightSaving(true);
    I hope this helps!

  • Are there non-public classes in Java SDK?

    Or are ALL classes in all packages of the Java SDK public?
    I have looked in the sources spot checking and didn't find a non public (default) class.
    If all classes are public, why?
    There exists a means in Java language to define a class as default ("class MyClass" instead of "public class MyClass") visibility. So why isn't it used by Java SDK (if this is really true)?

    I dont know what language you're programming in.
    If you don't specify
    public class
    or
    private class
    the class is "protected".
    Read the spec.If you read the spec, you'll see that, with respect to a class:
    (per section 6.6.2) Classes from outside the package the class lives in that extend the class have access to protected members.
    (per section 6.6.5) Classes from outside the package this thing lives in that extend this class do not have access to default members.
    Relevant part of section 6.6.5 (Example: Default-Access Fields, Methods, and Constructors) is:
    If none of the access modifiers public, protected, or private are specified, a class member or constructor is accessible throughout the package that contains the declaration of the class in which the class member is declared, but the class member or constructor is not accessible in any other package.
    This is default access, not protected access
    Lee

  • BI Java SDK: Bex query in Webdynpro java

    Hi,
    I want to know is it possible to view a Bex query output
    in a webdynpro java application. There is a Bex query defined i just want to get the report of this query or atleast the output of this query. Also how will be the output structure? i am not familier to BI plz help. I did go though BI SDK documentation but did not help
    Vinay

    Hi Vinay,
    The BEx query output in webdynpro is with help connectors. the connector SAP query which you were speaking about is one of the four options. I hope this is the link what u were refering to link:[http://help.sap.com/saphelp_nw04/helpdata/en/6e/011e681cf74ab4b3acf73f77653405/frameset.htm]
    SAP Query is a component of SAP's Web Application Server that allows you to create custom reports without any ABAP programming knowledge. The BI SAP Query Connector uses SAP Query to allow applications created with the BI Java SDK to access data from these SAP operational applications.SAP Query offers users a broad range of ways to define reports and create different types of reports such as basic lists, statistics, and ranked lists.
    It would be a better option if  with JDBC connector because that worked for me in extarcting data from a different source system.BI JDBC Connector is aslo used to make these data sources available in BW, via BW's UD Connect.
    For the WD code i need to check.
    Please tell me if its helpful.
    Regards,
    Shaila.

  • Whats is difference between Java JRE  and  Java SDK

    Hi,
    what is the difference between Java JRE and Java SDK...
    i think both of them have the same set of files to be installed...
    I am not able to understand where they differ

    The JRE (Java runtime Environment) contains just the stuff necessary to run Java and the SDK (System Development Kit) contains the extra stuff necessary (and also helpful) to develop in Java.

  • Installation Problem - Java SDK 1.4.1

    I have a problem with installing Java on my machine at home that you may be able to help me with.
    Here are the Details: 1) I installed the most recent java SDK on my machine. 2) I set the Autoexec file with the correct PATH statement. 3) Set the correct CLASSPATH statement 4) The "Java -Version" statement gives the correct reply that it is version 1.4.
    Below is my AutoExec.bat file
    SET windir=C:\WINDOWS
    SET winbootdir=C:\WINDOWS
    SET COMSPEC=C:\WINDOWS\COMMAND.COM
    SET PATH=C:\PROGRA~1\MICROS~3\OFFICE;C:\WINDOWS;C:\WINDOWS\COMMAND;C:\ATF
    SET CLASSPATH=C:\J2SDK1_4\LIB\TOOLS.JAR;.;
    SET PROMPT=$p$g
    SET TEMP=C:\WINDOWS\TEMP
    SET TMP=C:\WINDOWS\TEMP
    Problem: Trying to compile a simple "HelloWorld" Program with "javac Helloworld.java" produces the error "Bad Command or File name".
    Issues: Command Line in Windows ME requires 8.3 format. Inserts tilde "~" and a number into the names of the files. even using a short name such as "HelWrld.java" inserts a tilde because of the "java" extension. Have tried using a "jav" extension but that does not work as the error is the same.
    Question: How can I get rid of the "Bad Command or File Name"?

    My First Java Progam (for Windows with Java 2 SDK v1.4.1)
    Follow these instructions EXACTLY.
    1. Download and install the Java 2 SDK, Standard Edition. You can find it here:
    http://java.sun.com/j2se/downloads.html
    Select the download for your operating system and be sure to download the SDK (rightmost column) and not the JRE. (The JRE is only the Java Runtime Environment, which does not include the Java compiler and other tools needed for software development).
    2. Read the README and installation instructions! Read these instead of asking questions about installation etc. in the Java forums.
    README for Java 2 SDK v1.4.1: http://java.sun.com/j2se/1.4.1/README.html
    Java 2 SDK v1.4.1 for Windows installation: http://java.sun.com/j2se/1.4.1/install-windows.html
    Things to note:
    - After installing, add the bin directory of the SDK to your PATH environment variable. For example, if you installed the SDK in C:\j2sdk1.4.1_01, add the directory C:\j2sdk1.4.1_01\bin to your PATH. (If you don't know what an environment variable is and how to set it, read the documentation of Windows; if you're using Windows XP, this might be useful: http://support.microsoft.com/default.aspx?scid=KB;EN-US;q310519& ).
    3. Open Notepad and type in your first program:
    public class HelloWorld {
    public static void main(String[] args) {
    System.out.println("Hello World!");
    Save this program somewhere with the filename "HelloWorld.java".
    Things to note:
    - The case of text is important. Don't type "Helloworld", "helloworld" or anything else. Also the case of the filename is important (even though Windows has case-insensive filenames!).
    - Watch out that Notepad doesn't append ".txt" to the filename. The file should be named "HelloWorld.java", not "HelloWorld.java.txt".
    4. Open a command prompt and go to the directory that contains the file "HelloWorld.java" (with the CD command).
    5. Compile the progam with the following command:
    javac HelloWorld.java
    Things to note:
    - If you get something like "Unknown command: javac" or "Bad command or filename", you did not (correctly) add the bin directory of the SDK to the PATH (see step 2).
    6. Run the program. If you didn't get any compile errors, you now have a new file "HelloWorld.class" in the same directory. Run the program with the following command:
    java HelloWorld
    Things to note:
    - If you get: "Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld/class", you have typed "java HelloWorld.class". Leave off the ".class" at the end. You are typing a class name here, not a filename.
    - If you get something like: "Exception in thread "main" java.lang.NoClassDefFoundError: helloworld (wrong name: HelloWorld)", you have typed the class name wrong. Note that the case is important (i.e., don't type "helloworld" but "HelloWorld")!
    - You don't need to set any classpath here. In Java 1.4, the current directory is included in the classpath automatically. For older versions of Java, you may need to add the current directory (".") to the classpath, like this:
    java -classpath . HelloWorld
    7. Congratulations with your first working Java program. Now follow these links:
    Java Tutorial
    http://java.sun.com/docs/books/tutorial/
    New to Java Programming Center
    http://developer.java.sun.com/developer/onlineTraining/new2java/
    FAQ
    http://java.sun.com/products/jdk/faq.html
    How Classes are Found
    http://java.sun.com/j2se/1.4/docs/tooldocs/findingclasses.html
    Setting the class path
    http://java.sun.com/j2se/1.4/docs/tooldocs/win32/classpath.html
    JavaTM 2 SDK Tools and Utilities
    http://java.sun.com/j2se/1.4/docs/tooldocs/tools.html
    Jesper

  • How to create a report with data using the Crystal Reports for Java SDK

    Hi,
    How do I create a report with data that can be displayed via the Crystal Report for Java SDK and the Viewers API?
    I am writing my own report designer, and would like to use the Crystal Runtime Engine to display my report in DHTML, PDF, and Excel formats.  I can create my own report through the following code snippet:
    ReportClientDocument boReportClientDocument = new ReportClientDocument();
    boReportClientDocument.newDocument();
    However, I cannot find a way to add data elements to the report without specifying an RPT file.  Is this possible?  I seems like it is since the Eclipse Plug In allows you to specify your database parameters when creating an RPT file.
    is there a way to do this through these packages?
    com.crystaldecisions.sdk.occa.report.data
    com.crystaldecisions.sdk.occa.report.definition
    Am I forced to create a RPT file for the different table and column structures I have? 
    Thank you in advance for any insights.
    Ted Jenney

    Hi Rameez,
    After working through the example code some more, and doing some more research, I remain unable to populate a report with my own data and view the report in a browser.  I realize this is a long post, but there are multiple errors I am receiving, and these are the seemingly essential ones that I am hitting.
    Modeling the Sample code from Create_Report_From_Scratch.zip to add a database table, using the following code:
    <%@ page import="com.crystaldecisions.sdk.occa.report.application.*"%>
    <%@ page import="com.crystaldecisions.sdk.occa.report.data.*"%>
    <%@ page import="com.crystaldecisions.sdk.occa.report.document.*"%>
    <%@ page import="com.crystaldecisions.sdk.occa.report.definition.*"%>
    <%@ page import="com.crystaldecisions.sdk.occa.report.lib.*" %>
    <%@ page import = "com.crystaldecisions.report.web.viewer.*"%>
    <%
    try { 
                ReportClientDocument rcd = new ReportClientDocument();
                rcd.newDocument();
    // Setup the DB connection
                String database_dll = "Sqlsrv32.dll";
                String db = "qa_start_2012";
                String dsn = "SQL Server";
                String userName = "sa";
                String pwd = "sa";
                // Create the DB connection
                ConnectionInfo oConnectionInfo = new ConnectionInfo();
                PropertyBag oPropertyBag1 = oConnectionInfo.getAttributes();
                // Set new table logon properties
                PropertyBag oPropertyBag2 = new PropertyBag();
                oPropertyBag2.put("DSN", dsn);
                oPropertyBag2.put("Data Source", db);
                // Set the connection info objects members
                // 1. Pass the Logon Properties to the main PropertyBag
                // 2. Set the Server Description to the new **System DSN**
                oPropertyBag1.put(PropertyBagHelper.CONNINFO_CRQE_LOGONPROPERTIES, oPropertyBag2);
                oPropertyBag1.put(PropertyBagHelper.CONNINFO_CRQE_SERVERDESCRIPTION, dsn);
                oPropertyBag1.put("Database DLL", database_dll);
                oConnectionInfo.setAttributes(oPropertyBag1);
                oConnectionInfo.setUserName(userName);
                oConnectionInfo.setPassword(pwd);
                // The Kind of connectionInfos is CRQE (Crystal Reports Query Engine).
                oConnectionInfo.setKind(ConnectionInfoKind.CRQE);
    // Add a Database table
              String tableName = "Building";
                Table oTable = new Table();
                oTable.setName(tableName);
                oTable.setConnectionInfo(oConnectionInfo);
                rcd.getDatabaseController().addTable(oTable, null);
        catch(ReportSDKException RsdkEx) {
                out.println(RsdkEx);  
        catch (Exception ex) {
              out.println(ex);  
    %>
    Throws the exception
    com.crystaldecisions.sdk.occa.report.lib.ReportSDKException: java.lang.NullPointerException---- Error code:-2147467259 Error code name:failed
    There was other sample code on SDN which suggested the following - adding the table after calling table.setDataFields() as in:
              String tableName = "Building";
                String fieldname = "Building_Name";
                Table oTable = new Table();
                oTable.setName(tableName);
                oTable.setAlias(tableName);
                oTable.setQualifiedName(tableName);
                oTable.setDescription(tableName) ;
                Fields fields = new Fields();
                DBField field = new DBField();
                field.setDescription(fieldname);
                field.setHeadingText(fieldname);
                field.setName(fieldname);
                field.setType(FieldValueType.stringField);
                field.setLength(40);
                fields.add(field);
                oTable.setDataFields(fields);
                oTable.setConnectionInfo(oConnectionInfo);
                rcd.getDatabaseController().addTable(oTable, null);
    This code succeeds, but it is not clear how to add that database field to a section.  If I attempt to call the following:
    FieldObject oFieldObject = new FieldObject();
                oFieldObject.setDataSourceName(field.getFormulaForm());
                oFieldObject.setFieldValueType(field.getType());
                // Now add it to the section
                oFieldObject.setLeft(3120);
                oFieldObject.setTop(120);
                oFieldObject.setWidth(1911);
                oFieldObject.setHeight(226);
                rcd.getReportDefController().getReportObjectController().add(oFieldObject, rcd.getReportDefController().getReportDefinition().getDetailArea().getSections().getSection(0), -1);
    Then I get an error (which is not unexpected)
    com.crystaldecisions.sdk.occa.report.lib.ReportDefControllerException: The field was not found.---- Error code:-2147213283 Error code name:invalidFieldObject
    How do I add one of the table.SetDataFields()  to my report to be displayed?
    Are there any other pointers or suggestions you may have?
    Thank you

  • How to get all permissions on server level and project collection level via tfs java sdk?

    i need to list project-collection level's permission and project level's permission on my project. now i have connected to tfs and i have got project collection list and user list via tfs java sdk. but i can't find the way to get the permission name list
    and permission list. how can i do to get that?
    i have checked the database, and find that the actions have some discrepancies with the tbl_securityaction'data.
    Can anyone give me some advice on that?
    davy

    David, Thanks for your reply.
    I have test the code above, but still get error. here is my code:
    final TFSTeamProjectCollection tpc = SnippetSettings.connectToTFS();
    final DefaultClientFactory factory = new DefaultClientFactory();
    final IIdentityManagementService2 ims = (IIdentityManagementService2)factory.newClient(IIdentityManagementService2.class, tpc);
    final String scopeId = null;
    final String[] propertyNameFilters = null;
    TeamFoundationIdentity[] appGroups = ims.listApplicationGroups(scopeId, ReadIdentityOptions.EXTENDED_PROPERTIES, propertyNameFilters, IdentityPropertyScope.BOTH);
    error message:
    java.lang.NullPointerException
    at com.microsoft.tfs.core.clients.webservices.IdentityManagementService2.listApplicationGroups(IdentityManagementService2.java:92).
    davy

  • How manage timeout Session using java SDK?

    Hi everyone !
    I'm working with BO 4.1 and the Java SDK. I'm refreshing and exporting webi reports in my code. But it happens, sometimes, the report takes longer to refresh (when calling "setPrompts") and the session is over (timeout like when you're connected in the Launchpad).
    Is there any specific way for me to test if the call to setPrompts ends without timeout? Because, now, if it ends by a timeout, I do not see anything and I'm exporting a blank document. No error or exception :-/
    Do I have to use de EnterpriseSession?
    Thanks in advance !

    Hi Jerome,
    To understand BO session management, refer to the below document.
    http://scn.sap.com/community/bi-platform/blog/2013/11/27/session-management-bible
    How do you specify that there is a timeout? Do you get timeout errors in web intelligence server logs?
    Check whether enterprise session is still valid.
    What is the approximate time delay you observe for setPrompts when you observe the timeout?
    -Prithvi

  • 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

  • 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

  • How to get the primarykey columns of the table in SAP BI Java SDK

    Hi, I'm new to sap BI Java SDK. I'm not getting how to get the primarykey columns, using BI JDBC Connector (for relational data sources). If anybody knows, please let me know. its very very urgent task to be done in my project. In the below following code.... I have written a code to connect to the database through resource bundle, reading table names, once user select table name, i need to show the primary key columns of that table to the user. here i'm not getting how to get the primary key columns . Please send me the code if there is any method to find out the primarykey columns or a logic to get them. I will be greatful to you.... if you can do this favour.
    Please check out the following code ........
    ManagedConnectionFactory mcf;
    IConnectionFactory cf;
    IConnectionSpec cs;
    mcf = new JdbcManagedConnectionFactory();
    cf = (IConnectionFactory) mcf.createConnectionFactory();
    cs = cf.getConnectionSpec();
    ResourceBundle rbLocal = ResourceBundle.getBundle( "xxxx");
    Enumeration propnames = rbLocal.getKeys();
    while (propnames.hasMoreElements())
    String key = (String) propnames.nextElement(); //out.print(key); //out.println("="rbLocal.getString(key)"");
    cs.setPropertyValue(key, rbLocal.getString(key));
    // Establishing the connection. // The IBIRelational interface provides an entrypoint to access // metadata and execute queries.
    IBIConnection connection = (IBIConnection) cf.getConnectionEx(cs); I
    BIRelational rel = connection.getRelational();
    IBIQuery query = rel.createQuery();
    String sqlStatement = "SELECT * FROM " + "BICQPERSON where type='pk'"; ResultSet rs = IBIDataSet dataset = query.execute();
    Thanks SreeKanth

    Hi,
    looks like you are on Infomation Builders, correct? If yes through which adapter and to what DB are you connecting?? in an R3/BW system you can do the folowing:
    "(ABAP)
    SELECT DISTINCT FIELDNAME
    FROM DD03L
    WHERE TABNAME = '/BIC/QPERSON'
      AND AS4LOCAL = 'A'
      AND KEYFLAG = 'X'
    ORDER BY 1
    Another option is goto directly to the RDBMS; in this case let me which one are you using
    hope this helps...
    Olivier.
    Message was edited by:
            Olivier Cora

  • Scheduling webi reports via Java SDK in BI 4.1

    Hi,
    Has anyone been able to schedule a Webi report containing date prompts via Java SDK in BI 4.1? I have tried doing so but it doesn't work when date prompts are involved, I get the exception raised: java.lang.NullPointerException error. Though the scheduled instance is created and the date prompt appears to be correctly populated the report fails with the above mentioned error message. The code is working for other text prompts but fails when I have a date prompt in the report. I am using the populateWebiPrompts() method to populate the prompts.
    CF

    Hi Christopher,
    Try adding the following line in your code before scheduling:
    iWebi.setUserInputLocaleName(documentInstance.getProperties().getProperty(PropertiesType.BASE_LOCALE));
    Also as an FYI, please refer below details.
    For scheduling webi reports with prompts, the only supported way is to use Restful webservices SDKs.
    The feature of scheduling a webi report with prompts were deprected from release BI 4.x and introduced in the new restfull webservices. Restful is the future which SAP is focussing and would be great to have your application on supported terms with SAP.
    You can get details about the restful webservices from the documents and blogs available at below forum
    http://scn.sap.com/community/restful-sdk
    Thanks,
    Prithvi

  • Problem with HowTo guide - Use the BI Java SDK in a Web Dynpro Application

    Hello,
    I am following the HowTo guide - Use the BI Java SDK in a Web Dynpro Application
    at <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e49be590-0201-0010-0c83-fc20e5da124f">this link</a>.
    I have configured the connector on the WAS as needed.
    The problem is that when I run the application I receive an Unauthorized error on the connector URL.
    If I open this URL on a browser I receive a pop-up for UID and PWD and when I enter the same UID and PWD I used to configure the connector I am able to login and see the WSDL.
    Any ideas?

    I've never tried using BI in WebDynpro !!!
    But i foond one posting on the connection problem https://forums.sdn.sap.com/click.jspa?searchID=955524&messageID=2133396
    Regards,Anilkumar

  • Error while trying to save a report using Java SDK for CR server 2011

    I use the java sdk to update the report database jndi alias and then save the report. While saving the report, the utility throws the following exception. It only happens to 3 reports out of more than 70 reports. What could be the problem with report that is causing this problem ?
    Thanks.
    com.crystaldecisions.sdk.occa.report.lib.ReportSDKServerException: Failed to read data from report file C:\Program Files (x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\Data\CrystalRep
    ortsRasServer\temp\{56586260-E771-4C63-BF8B-F3CF14BB508A}.rpt. Reason: Repository object could not be found.---- Error code:-2147467259 [CRSDK00000000] Error code name:failed
            at com.crystaldecisions.sdk.occa.report.lib.ReportSDKServerException.throwReportSDKServerException(ReportSDKServerException.java:109)
            at com.crystaldecisions.proxy.remoteagent.ExceptionHelper.throwResultInfoException(ExceptionHelper.java:192)
            at com.crystaldecisions.sdk.occa.report.application.ReportClientDocument.sendSyncRequest(ReportClientDocument.java:803)
            at com.crystaldecisions.sdk.occa.report.application.ReportClientDocument.doSave(ReportClientDocument.java:820)
            at com.crystaldecisions.sdk.occa.report.application.ReportClientDocument.save(ReportClientDocument.java:2245)

    The error points to the report using a repository object that it cannot be found.  What happens if you try and update the reports using the Crystal Report Designer instead of the SDK?

Maybe you are looking for