Table Data Provider

Hi,
I am trying to manually fill a table component from a ResultSet.
My question is : what Table Data Provider to use ?
If you have a look to this adress : http://developers.sun.com/prodtech/javatools/jscreator/reference/fi/2/data-providers.html
you will see that we should have a "ResultSet Table Data Provider" in the Palette Window but it is not my case.
Thank you in adavance for any help !
Marc

Hi,
The article at http://developers.sun.com/prodtech/javatools/jscreator/reference/fi/2/data-providers.html was writen pre EA and not all that accurate. I let the author know that it needs to be corrected.
We published a new tutorial that might help you. While it is about Hibernate, you can apply the same techniques to your result set results:
http://developers.sun.com/prodtech/javatools/jscreator/learning/tutorials/2/hibernate.html

Similar Messages

  • Updating field in table data provider

    Hi. I'm trying to get familiar with JSC2 (plus being new to Java) and am running into what must be simple problems, but I can't seem to find a solution. Here is the code behind a login button on a page. The user will enter an email address and a password, then click a login button. I use the email address to see if they are in the cached row set, then if they are there I want to increment a column in the table to indicate that they are logged in. Here's where I run into problems. I'm trying to use syntax that I'm finding in various tutorials and sample code, but it keeps telling me that it can't find the symbol "setValue" and I don't get it.
    Here's my code for the button:
    public String loginBtn_action() {
    try {
    RowKey userRowKey = tblusersDataProvider.findFirst
    (new String [] { "tblUSERS.EMAILADDRESS", "tblUSERS.PASSWORD" },
    new Object [] { useridFld.getText(), passwordFld.getText() });
    if (userRowKey == null) {
    error ("Invalid userid or password! Try again!");
    return null;
    else {
    int userActive = getSessionBean1().getTblusersRowSet().getInt("tblUSERS.ACTIVE");
    if (userActive == 0) {
    userActive = userActive + 1;
    userRowKey = tblusersDataProvider.getCursorRow();
    try {
    // Update Info in DB Rowset
    FieldKey activeFldKey = tblusersDataProvider.getFieldKey("tblUSERS.ACTIVE");
    tblusersDataProvider.setCursorRow(userRowKey);
    // Store Value in Session
    tblusersDataProvider.setValue(activeFldKey, userRowKey, userActive);
    tblusersDataProvider.commitChanges();
    catch (Exception ex) {
    log ("Active Update Error:" + useridFld.getText() + " " + passwordFld.getText(), ex);
    error ("Database Error during log in! (active update): " + ex.getMessage());
    return "pgMenu";
    } else {
    error ("This userid is already logged in!! Multiple login's aren't allowed!");
    log ("Multiple login attempt: " + useridFld.getText());
    return null;
    return null;
    catch (Exception exx) {
    log ("Error during user DB access: " + exx.getMessage());
    error ("Error during userDB access: " + exx.getMessage());
    return null;
    }

    The error message that you are giving is telling you, in a round about way, that there is no wetValue method for the data provider that takes a field key, row key, int.
    If you type
    tblusersDataProvider.setValue(
    and then press ctrl-space, a list pops up to show all the setValue methods and what types of arguments they take.
    You will see that they take Object as the last argument . None of them take an int.
    To fix your problem, try something like this
    tblusersDataProvider.setValue(activeFldKey, userRowKey, (Integer) Integer.valueOf(userActive));

  • How to get internal table from SAP Data Provider C#

    Hello.
    ABAP:
       DATA: lt_t001 TYPE TABLE OF t001.
       DATA: url(1000) TYPE c.
      SELECT * INTO TABLE lt_t001 FROM t001.
      CALL FUNCTION 'DP_CREATE_URL'
        EXPORTING
          type                 = 'APPLICATION'
          subtype           = 'X-R3TABLE'
        TABLES
          data                 = lt_t001
        CHANGING
          url                    = url
        EXCEPTIONS
          OTHERS           = 4.
    C#:
    using SAPDataProvider;
    using SAPTableFactoryCtrl;
    public void SetDataFromUrl(string url)
                SAPDataProviderClass p = new SAPDataProviderClass();
                p.SetDataFromURL("APPLICATION", "X-R3TABLE", url);
                ISapDPR3Table tbl = p.GetDataAsR3Table("APPLICATION", "X-R3TABLE");
                SAPTableFactoryClass tf = new SAPTableFactoryClass();
                Table tb = (Table)tf.NewTable();
                tb.ISAPrfcITab = tbl.DataTable; // Exception !!!!!!
    How to get internal table from SAP Data Provider ?

    Hi Sergey,
    I'm trying to do the same, have you found a solution to solved it?
    thanks for your help.
    Regards.
    Jonathan

  • Web report data provider change from Master data table to InfoCube

    hi Experts,
    I have created one report on top of multiprovider but in the selection screen when i check the values for a variable I came to know that data is coming from master data table and not from data provider(InfoCube).Can any one help to change the data selection from master data table to data provider(InfoCube) and i am sure that there is no ODS involved in the multiprovider.
    Thanks in advance
    With Regards,
    Bala

    Hello,
    If u are using Analyser then just put a Analysis Grid on the output of the query(should cover all the rows and column) , click on the grid and put the dataprovider. and do auto fit.
    Rohit

  • List data provider + table

    Hi,
    i use table binded with list data provider, in table if i change checkbox or text field value and i want to retrieve new value it don't work. I use this code to d this:
    try{
    this.getSessionBean1().getZipEntryListDataProvider().cursorFirst();
    do {
    String dest = (String)this.getSessionBean1().getZipEntryListDataProvider().getValue("destination");
    System.out.println(dest);
    info(dest);
    } while (this.getSessionBean1().getZipEntryListDataProvider().cursorNext());
    return null;
    catch(Exception e){
    info(e.getMessage());
    return(null);
    if i bind table with a cachedrowset dataprovider this code work fine and i have the new values entred by user
    how to do this with ListDataProvider
    Thanks

    Hi!
    Try to look here:
    http://blogs.sun.com/winston/entry/displaying_two_dimensional_data
    Maybe it will give You some clue.
    Thanks,
    Roman.

  • Two tables that provide detail information about data source?

    what are the tables that provide information about the datasource?
    How to prevent duplicate records in at the data target level?

    ROOSOURCE for the details of the datasource...
    How to avoid duplicate? --> Dont load same data twice..If delta is supported by the datasource then do a psuedo delta, or delete pervious request with same selections when you do a full load...
    Plz elaborate on your question..

  • Use table component without data provider

    Since it is very difficult to solve the browser "BACK" button problem caused by my data provider, I decide not to use data provider to populate the table.
    Does anyone know some sample code about playing around with the table component without using data provider?
    Thanks in advance,

    Unfortunately, Table Component from basic category does not work with out Data Provider. But Data Table component from standard section works with out data provider. But it does not have the frills and whistles of basic table component.
    - Winston
    http://blogs.sun.com/roller/page/winston?catname=Creator

  • Table with object array data provider

    hi!
    i use the studio creator table and want to fill it with an object array data provider!
    i have an array and the getter:
      public TanData[] getTanDataArray()
            return tanDataArray;    
        }i choosed this for the data provider and in table layout i choose the dataprovider, but when i run my application there are no datas found although the array isn't empty!

    maybe this is a problem:
    i got my data from a database table and i store it in a vector.
    in the example they have a class WeekBean and they fill their array with
       WeekBean[] weeks = {
                new WeekBean(1),
                new WeekBean(2),
                new WeekBean(3),
                new WeekBean(4)
            };and i tried to do this:
        private Vector<TanData> tanDataList = new Vector();
        private TanData[] tanDataArray;
       getTanDataList().copyInto(tanDataArray);could it be that that isn't correct?

  • How can I use more than one Data Provider in my web Apps

    I am trying to use two different data provider in my web apps to run two different queries from the same table ,the data provider A is working correctly but when I attempt to run data provider B ,It display an error page ,here is the error message : Exception Details :javax.servlet.ServletEx ception
    java.lang.RuntimeException: java.sql.SQLException : Cannot connect .Both dataSourceName and url properties are null.

    Hi,
    You can use more than one data provider in your application. However if you have defined a dataprovider for a particular table already, and wish to bind a component, select the component and use its context menu to Bind to Data...

  • Excel issues with importing CSV or HTML table data from URL - Sharepoint? Office365?

    Greetings,
    We have a client who is having issues importing CSV or HTML table data as one would do using Excel's Web Query import from a reporting application.  As the error message provided by Excel is unhelpful I'm reaching out to anyone who can help us begin to
    troubleshoot problems affecting what is normal standard Excel functionality.  I'd attach the error screenshot, but I can't because my account is not verified....needless to say it says "Microsoft Excel cannot access  the file https://www.avantalytics.com/reporting_handler?func=wquery&format=csv&logid=XXXX&key=MD5
    Where XXXX is a number and MD5 is an md5 code.  The symptoms stated in the error message are:
    - the file name or path does not exist
    -The file is being used by another program
    -The workbook you are trying to save has the same name as a currently open workbook.
    None of these symptoms are the case, naturally. The user encountered this with Excel2010, she was then upgraded to Excel2013 and is still experiencing the same issue. The output of this URL in a browser (IE, Chrome, Firefox) is CSV data for the affected
    user, so it is not a network connectivity issue.  In our testing environment using both Excel2010 or 2013 this file is imported successfully, so we cannot replicate.  The main difference I can determine between our test environment and the end-user
    is they have a Sharepoint installation and appear to have Office365 as well.
    So,  my question might more appropriately be for Sharepoint or Office365 folks, but I can't be sure they're  a culprit.  Given this - does anyone have any knowledge of issues which might cause this with Sharepoint or Office365 integrated with
    Excel and/or have suggestions for getting more information from Excel or Windows other than this error message?  I've added the domain name as a trusted publisher in IE as I thought that might be the issue, but that hasn't solved anything.  As you
    can see its already https and there is no authentication or login - the md5 key is the authentication.  The certificate for the application endpoint is valid and registered via GoDaddy CA.
    I'm at a loss and would love some suggestions on things to check/try.
    Thanks  -Ross

    Hi Ross,
    >> In our testing environment using both Excel 2010 and 2013 this file is imported successfully, so we cannot replicate.
    I suspect it is caused by the difference of web server security settings.
    KB: Error message when you use Web query to a secure Web page (HTTPS://) in Excel: "Unable to open"
    Hope it will help.
    By the way, this forum is mainly for discussing questions about Office Development (VSTO, VBA and Apps for Office .etc.). For Office products feature specific questions, you could consider posting them on
    Office IT Pro forum or Microsoft Office Community.
    Regards,
    Jeffrey
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Extracting SQL statement from a Webi document's data provider using SDK.

    Hi all,
    Is it possible to extract the SQL statement from an existing Webi document's data provider using BO SDK?  I've searched through the class library but haven't found any information on this yet.  If you have done it, could you provide some guidance.  Many thanks.

    I found the following Java code that might be of some help to you. I realize you are using .NET but this might push you down the right path.
    The trick here is to use the Report Engine SDK to get the DataProvider of the DocumentInstance. Then, look at the SQLDataProvider to get your SQLContainer.
    My apologies for the poor formatting. This didn't copy and paste over to the forums very well. I've cleaned up as much as I could.
    <%@ page import="com.crystaldecisions.sdk.framework.*" %>
    <%@ page import="com.crystaldecisions.sdk.exception.SDKException" %>
    <%@ page import="com.crystaldecisions.sdk.occa.infostore.*" %>
    <%@ page import="com.businessobjects.rebean.wi.*" %>
    <%
    boolean loginSuccessful = false;
    IEnterpriseSession oEnterpriseSession = null;
    String username = "username";
    String password = "password";
    String cmsname  = "cms_name";
    String authenticationType = "secEnterprise";
    try
    //Log in. oEnterpriseSession = CrystalEnterprise.getSessionMgr().logon( username, password, cmsname, authenticationType);
    if (oEnterpriseSession == null)
    out.print("<FONT COLOR=RED><B>Unable to login.</B></FONT>");
    else
    {  loginSuccessful = true;
    catch (SDKException sdkEx)
    { out.print("<FONT COLOR=RED><B>ERROR ENCOUNTERED</B><BR>" + sdkEx + "</FONT>");}
    if (loginSuccessful) { IInfoObject oInfoObject = null;
    String docname = "WebI document name";
    //Grab the InfoStore from the httpsession IInfoStore oInfoStore = (IInfoStore) oEnterpriseSession.getService("", "InfoStore");  //Query for the report object in the CMS.  See the Developer Reference guide for more information the query language.   String query = "SELECT TOP 1 * " +        "FROM CI_INFOOBJECTS " +        "WHERE SI_INSTANCE = 0 And SI_Kind = 'Webi' " +        "AND SI_NAME='" + docname + "'";
    IInfoObjects oInfoObjects = (IInfoObjects) oInfoStore.query(query);
    if (oInfoObjects.size() > 0)
    //Retrieve the latest instance of the report  oInfoObject = (IInfoObject) oInfoObjects.get(0);
      // Initialize the Report Engine  ReportEngines oReportEngines = (ReportEngines)
    oEnterpriseSession.getService("ReportEngines"); 
    ReportEngine oReportEngine = (ReportEngine) oReportEngines.getService(ReportEngines.ReportEngineType.WI_REPORT_ENGINE);
      // Openning the document  DocumentInstance oDocumentInstance = oReportEngine.openDocument(oInfoObject.getID());   
    DataProvider oDataProvider = null; 
    SQLDataProvider oSQLDataProvider = null; 
    SQLContainer oSQLContainer_root = null; 
    SQLNode oSQLNode = null;
    SQLSelectStatement oSQLSelectStatement = null; 
    String sqlStatement = null;
      out.print("<TABLE BORDER=1>");
    for (int i=0; i<oDocumentInstance.getDataProviders().getCount(); i++)
    oDataProvider = oDocumentInstance.getDataProviders().getItem(i);
      out.print("<TR><TD COLSPAN=2 BGCOLOR=KHAKI>Data Provider Name: " + oDataProvider.getName() + "</TD></TR>");
       if (oDataProvider instanceof SQLDataProvider)
    oSQLDataProvider = (SQLDataProvider) oDataProvider;
        oSQLContainer_root = oSQLDataProvider.getSQLContainer();
        if (oSQLContainer_root != null)
    for (int j=0; j<oSQLContainer_root.getChildCount(); j++)
    oSQLNode = (SQLNode) oSQLContainer_root.getChildAt(j);
          oSQLSelectStatement = (SQLSelectStatement) oSQLNode;             
    sqlStatement = oSQLSelectStatement.getSQL();     
    out.print("<TR><TD>" + (j+1) + "</TD><TD>" + sqlStatement + "</TD></TR>");   
    else
    out.print("<TR><TD COLSPAN=2>Data Provider is not a SQLDataProvider.  SQL Statement can not be retrieved.</TD></TR>");   }  }  out.print("</TABLE>");
      oDocumentInstance.closeDocument(); }
    oEnterpriseSession.logoff();}%>

  • Using a Web Service as a data provider for a Crystal Report

    <p>I&#39;m trying to write a Crystal Reports XI report that uses a Web Service as the data provider.  I have a Web Service written in ColdFusion that looks like this.<br /><br /><cfcomponent displayName="FindEmployee" ><br />   <cffunction name="FindEmployeeSort" access="remote"          <br />               returnType="xml" output="false"><br />      <cfdump var=form><br />      <cfset myXML = ""><br />       <!--- FindEmployeeSort body ---><br />       <cfquery name="EmployeeQuery" datasource="Production"><br />           Select * from employee<br />          <cfif isdefined(&#39;form.lastname&#39;)><br />             WHERE lastname LIKE &#39;%#form.lastname#%&#39; <br />          </cfif><br />           Order by lastname asc <br />        </cfquery><br />     <cfreturn EmployeeQuery>  <br />   </cffunction><br /></cfcomponent><br /><br />I can get the web service to work from a ColdFusion page (either locally or on a remote server).</p><p>When I try to create the CR data source, I get the following error:</p><p>Crystal Reports<br />! Logon Failed.<br />Details: Cannot find correspondign table information in the XML file</p><p>The steps I took were:<br />* Choose XML from the "Avalable Data Sources"<br />* Choose "Use Web Service Data Source"<br />* Choose "Use HTTP(S) WSDL" with a url of <a href="http://host/directory/FindEmployee.cfc?wsdl">http://host/directory/FindEmployee.cfc?wsdl</a><br />* Leave the "HTTP(S) Web Service User ID:" and "HTTP(S) Web Service Password:" parameters blank<br />* Accept the defaults for Services, Ports, and Methods.  They are respectively FindEmployee, FindEmployee.cfc and FindEmployeeSort.<br />* Then get the error</p><p>The most likely candidate to me is the user id and password, but I have no idea what to use.  I didn&#39;t have to set any login information up in the ColdFusion pages that I used to test the Web Service.</p><p>Any ideas where to go from here?</p><p>Thanks,</p><p>Brian</p>

    Please re-post if this is still an issue to the Java Development - Crystal Reports Forum or purchase a case and have a dedicated support engineer work with you directly

  • Tachometer in WAD 3.5x - to show Avg of all values in the Data provider

    Hi All,
    I am creating a tachometer in WAD 3.5x.
    Actually the requirement for the tachometer i want to design is that it should display the Average value of the data column that is displayed in the dataprovider(which is a view in this case).
    My view (Data Provider for tachometer) contains only one data column, and its Result row contains the Average value for the data column. But when I run WAD, the tachometer doesnot read the result row, instead it reads each of the individual rows and creates a pointer for each record. Whereas as per my requirement, the tachometer should display only a single pointer depicting the average value of all records.
    I am trying to suppress all the single value rows and display only the result row in my view, am unable to do so.
    Any help would be much appreciated
    Thanks
    Shikha Verma

    Hi Shikha Varma
    Just quick thought just try with the swap axis and do the table cross verification..
    [Chart Types and its functions_Spedo meter|http://help.sap.com/saphelp_nw04/helpdata/en/c9/08533b97037963e10000000a114084/frameset.htm]
    As per the help in my RnD it is working but it is 7.X Wad just try it in 3.5 hope fully it will works for you..if not please excuse..
    Hope its clear a little..!
    Thanks
    K M R
    >
    shikha.v3 wrote:
    > Hi All,
    > I am creating a tachometer in WAD 3.5x.
    > Actually the requirement for the tachometer i want to design is that it should display the Average value of the data column that is displayed in the dataprovider(which is a view in this case).
    > My view (Data Provider for tachometer) contains only one data column, and its Result row contains the Average value for the data column. But when I run WAD, the tachometer doesnot read the result row, instead it reads each of the individual rows and creates a pointer for each record. Whereas as per my requirement, the tachometer should display only a single pointer depicting the average value of all records.
    >
    > I am trying to suppress all the single value rows and display only the result row in my view, am unable to do so.
    >
    > Any help would be much appreciated
    >
    > Thanks
    > Shikha Verma

  • How to creat a Data provider  based on different fields in SAP BW ?

    Hi,
    Experts,
    There are  20 fields  of  Plant Maintainace  like : 
    SWERK
    BEBER
    STORT
    TPLNR
    EQUNR
    INGRP
    QMDAT   ---peroid
    STTXT
    QMDAT  - Date of Notification
    QMNUM
    QMTXT
    QMART
    AUSVN
    AUZTV
    AUSBS
    AUZTB
    AUSZT
    ERNAM
    QMDAB
    AUFNR
    I  want to creat a  Report based upon these fields  ?
    For that I h'v  checked the relevant Fields to the   existing standard  Datasource  in Bw side   &
    Checked  cubes   created  based upon these Datasource  in Bw side !
    i h'v found  some fields are  existing different cubes & some are  missing .
    How to creat a Data provider  based on different fields in SAP BW ?
    plz suggest      !!!!!!!
    Thanx,
    Asit
    Edited by: ASIT_SAP on Jul 15, 2011 6:25 AM
    Edited by: ASIT_SAP on Jul 15, 2011 6:27 AM
    Edited by: ASIT_SAP on Jul 15, 2011 12:37 PM

    Hi Lee, Please see below..
    DECLARE @Machine2 TABLE
    DispatchDate DATE
    INSERT INTO @Machine2 VALUES ('2014/02/01'), ('2014/02/02'), ('2014/02/03')
    DECLARE @DateFrom DATE
    SELECT @DateFrom = DATEADD(D,1,MAX(DispatchDate)) FROM @Machine2
    SELECT @DateFrom AS DateFrom
    Please mark as answer, if this has helped you solve the issue.
    Good Luck :) .. visit www.sqlsaga.com for more t-sql code snippets and BI related how to articles.

  • Best Practice on using and refreshing the Data Provider

    I have a �users� page, that lists all the users in a table - lets call it master page. One can click on the first column to of the master page and it takes them to the �detail� page, where one can view and update the user detail.
    Master and detail use two different data providers based on two different CachedRowSets.
    Master CachedRowSet (Session scope): SELECT * FROM UsersDetail CachedRowSet (Session scope): SELECT * FROM Users WHERE User_ID=?I want the master to be updated whenever the detail page is updated. There are various options to choose from:
    1. I could call masterDataProvider.refresh() after I call the detailDataProvider.commitChanges() - which is called on the save button on the detail page. The problem with this approach is that the master page will not be refreshed across all user sessions, but only for the one saving the detail page.
    2. I could call masterDataProvider.refresh() on the preRender() event of the master page. The problem with this approach is that the refresh() will be called every single time someone views the master page. Further more, if someone goes to next page (using the built in pagination on the table on master page) and clicks on a user to view its detail and then close the detail page, it does not keep track of the pagination (what page the user was when he/she clicked on a record to view its detail).
    I can find some work around to resolve this problem, but I think this should be a fairly common usage (two page CRUD with master-detail). If we can discuss and document some best practices of doing this, it will help all the developers.
    Discussion:
    1.     What is the best practice on setting the scope of the Data Providers and CahcedRowSet. I noticed that in the tutorial examples, they used page/request scope for Data Provider but session scope for the associated CachedRowSet.
    2.     What is the best practice to refresh the master data provider when a record/row is updated in the detail page?
    3.     How to keep track of pagination, (what page the user was when he/she clicked on the first column in the master page table), so that upon updating the detail page, we cab provide user with a �Close� button, to take them back to whaterver page number he/she was.
    Thanks
    Message was edited by:
    Sabir

    Thanks. I think this is a useful information for all. Do we even need two data providers and associated row sets? Can't we just use TableRowDataProvider, like this:
    TableRowDataProvider rowData=(TableRowDataProvider)getBean("currentRow");If so, I am trying to figure out how to pass this from master to detail page. Essentially the detail page uses a a row from master data provider. Then I need user to be able to change the detail (row) and save changes (in table). This is a fairly common issue in most data driven web apps. I need to design it right, vs just coding.
    Message was edited by:
    Sabir

Maybe you are looking for