Filter Data in Java

am developing a screen on which user can see various details of an Employee. Details includes fields like Name, Date Of birth, Salary etc.
Server side code retrieves data for an employee using different data sources. Some fields are retrieved from the database using JDBC while other are retrieved from external system using API calls.
Now, application also allows end-user to configure different VIEW filters and end user can apply them while viewing the data. For ex: User can setup a filter as "Show Employee where firstname like 'A' and DOB > '2/2/2000'.
Issue is, how do I filter the dataset?
If user sets a filter on the attribute which is getting retrieved from JDBC, I can append this filter in the SQL string as WHERE clause (for ex: where emp.first_name like 'A%'). So no issues for SQL fields.
But how do I apply filter criteria which is set on the non SQL attributes?
One of the solution which I tried to implement is converting final dataset into XML and then applying filter using XPATH. But as I understand XPATH can be used only for String and numeric values. It can not be used for dates and filter criteria like "WHERE DEPTNAME IN A, B, C, D).
Any ideas?

I develope a filter for an html file that has wrong letters but my request object is null. I want to filter the response to show a clear page to the user.
THis is the java code.
public final class MacronFilter implements Filter{
     private FilterConfig filterConfig = null;
     private Vector browsers = new Vector();
     private static String browser = null;
     private boolean mode = false;
     public void init(FilterConfig filterConfig)
     throws ServletException
     this.filterConfig = filterConfig;
     public void destroy()
     this.filterConfig = null;
     public void doFilter(ServletRequest request,
                              ServletResponse response,
                              FilterChain chain)
     throws IOException, ServletException
          System.out.println("(FROZADOS) - in the filter class");
          if (filterConfig == null)
     return;
          PrintWriter writer = response.getWriter();
          System.out.println("(FROZADOS) - in the filter class 1");          
          CharResponseWrapper wrapper = new CharResponseWrapper((HttpServletResponse)response);
          System.out.println("(FROZADOS) - in the filter class 2");
          Pattern pattern = null;
          Matcher matcher = null;
          Hashtable paterns = new Hashtable();
          browsers.add("Win.*95");
          browsers.add("Win.*98");
          browsers.add("Mac");
          browsers.add("Opera.[345]");
          browsers.add("Elinks");
          browsers.add("Lynx");
          browsers.add("MSIE.[34]");
          browsers.add("Mozilla.[1234]");
          paterns.put("ā","a");
          paterns.put("ē","e");
          paterns.put("ī","i");
          paterns.put("ō","o");
          paterns.put("ū","u");
          paterns.put("Ā","A");
          paterns.put("Ē","E");
          paterns.put("Ī","I");
          paterns.put("Ō","O");
          paterns.put("Ū","U");
          System.out.println("(FROZADOS) - in the filter class 3:"+request.getContentType());
          Enumeration attributes = request.getAttributeNames();
     System.out.println("Printing attributes");
     while(attributes.hasMoreElements()){
          System.out.println(attributes.nextElement());
          if(("text/html").equals(wrapper.getContentType()))
          response.setContentType("text/html");
          browser = request.getAttribute("user-agent").toString();
          System.out.println("browser:"+browser);
          for(int i=0;i<browsers.size();i++)
               if(!browsers.elementAt(i).equals(browser))
                    mode = false;
     if(mode)
          CharArrayWriter caw = new CharArrayWriter();
          caw.write(wrapper.toString().substring(0,
          wrapper.toString().indexOf("</body>")-1));
          for(int i=0;i<caw.size();i++)
               for(Enumeration e=paterns.keys();e.hasMoreElements();)
                    String key = e.nextElement().toString();
                    pattern = Pattern.compile(key);
                    String regex = pattern.pattern();
                    boolean matches = pattern.matches(regex,caw.toCharArray().toString());
                    //boolean result = matcher.find();
                    while(matches)
                         matcher.replaceAll(paterns.get(key).toString());
                         //result = matcher.find();
          response.setContentLength(caw.toString().length());
          writer.write(caw.toString());
}else{
     writer.write(wrapper.toString());
     writer.close();
can you tell me, why the request object is null???.
thanks,
Federico

Similar Messages

  • Clear the Filter Criteria from java code programmatically

    Hi All,
    I am using jdev version 11.1.1.6.0.
    I do have ADF table for which I have added filter to each column .
    I created table using java class data control.
    Filter is working Fine .
    My use case is-
    When I click on search button data is populated in table.
    When anybody enters filter value in column suppose product and hit enter ,it filters data.
    if he clears and do not hit enter key and search again then it does not show all data it only show filtered data.
    So how can I programmatically clear all filters so on click of  search it will show all the values not filtered values.
    I have not used default Filter Behavior.
    Please check below code for reference
      <af:table value="#{bindings.AfMyAccOrderStatusHistorySearchVO.rangeSet}"
                                  var="row"
                                  rows="#{bindings.AfMyAccOrderStatusHistorySearchVO.rangeSize}"
                                  emptyText="#{bindings.AfMyAccOrderStatusHistorySearchVO.viewable ? 'No data to display.' : 'Access Denied.'}"
                                  fetchSize="#{bindings.AfMyAccOrderStatusHistorySearchVO.rangeSize}"
                                  rowBandingInterval="0" id="tblStatusHistoryList"
                                  autoHeightRows="#{bindings.AfMyAccOrderStatusHistorySearchVO.rangeSize}"
                                  rowSelection="single"      
                                  width="100%"
                                  partialTriggers="::cb5 ::cb8 ::cb1 ::cb2"
                                  filterModel="#{bindings.AfMyAccOrderStatusHistorySearchVO1Query.queryDescriptor}"
                                  queryListener="#{bindings.AfMyAccOrderStatusHistorySearchVO1Query.processQuery}"
                                  filterVisible="true" varStatus="vs"
                                  binding="#{AfMyAccOrderStatusHistoryAction.orderStatusHistorySearchList}">
    <af:column headerText="#{alfaprojectBundle['ordstatushistory.column.invoiceDate']}"
                                      width="70"
                                      sortProperty="invoiceDate"
                                      sortable="true" filterable="true"
                                      id="c7" filterFeatures="caseInsensitive">
                              <af:outputText value="#{row.invoiceDate}" id="ot16"/>
                            </af:column>                     
                            <af:column headerText="#{alfaprojectBundle['ordstatushistory.column.soldto']}"
                                       width="100"   
                                       sortProperty="soldTo"
                                       sortable="true" filterable="true"
                                       id="c14" filterFeatures="caseInsensitive">
                              <af:outputText value="#{row.soldTo}"
                                             visible="#{row.visibilityIsOrdrFirstItem}"
                                             id="ot23"/>
                            </af:column>
    So how to clear all filter values from java code.

    I can't get the example "Programmatically Manipulating a Table's QBE Filter Fields"
    Where is it ?
    https://smuenchadf.samplecode.oracle.com/samples/ClearTableColumnFilterFields.zip
    Thks

  • How to filter data in BIP Report fetched from Integration Object

    Hi,
    I have a requirement where I am extracting data of Account records of a Customer. Customer can have multiple types of Accounts. In BIP report, I want to different types of Customer Accounts in different tables. Is it possible? I tried but Conditional Region and Conditional Format options are not working for me. I am using BI Publisher desktop 10.1.3.4.1 version addon for MS Word.
    I am pasting below sample XML for this.
    <?xml version="1.0" encoding="UTF-8"?><ListofIO
    <ListOfBipStarsFincorpAccount
    <FincorpAccount
    <Id
    1-LZ6-46</Id
    <Created
    05/21/2005 19:15:21</Created
    <CreatedBy
    0-1</CreatedBy
    <ABANumber
    Makkah Main</ABANumber
    <AccountName
    سلامه مصطفى ابراهيم سلامه</AccountName
    <AccountType
    Time Deposit</AccountType
    <Acct_Num_Mid_7_7
    7539940</Acct_Num_Mid_7_7
    <Acct_Num_Mid_1_6
    104142</Acct_Num_Mid_1_6
    <AccountNumber
    1041427539940</AccountNumber
    <AcctGen-PrimaryContactId
    1-K5B-445</AcctGen-PrimaryContactId
    <Currency
    SAR</Currency
    <CurrentBalance
    </CurrentBalance
    <CustomerNumber
    </CustomerNumber
    <IntegrationId
    940784</IntegrationId
    <ProductId
    1-DFPY</ProductId
    <RB1ODS
    8290755</RB1ODS
    <STARSAccountBranchArabicName
    مكة المكرمة</STARSAccountBranchArabicName
    <STARSContactId
    </STARSContactId
    <STARSContactToRelation
    </STARSContactToRelation
    </FincorpAccount
    <FincorpAccount
    <Id
    1-LZ6-227</Id
    <Created
    05/21/2005 19:15:21</Created
    <CreatedBy
    0-1</CreatedBy
    <ABANumber
    Makkah Branch</ABANumber
    <AccountName
    عبد العزيز محمدعلي درويش الصبحي</AccountName
    <AccountType
    Time Deposit</AccountType
    <Acct_Num_Mid_7_7
    469940</Acct_Num_Mid_7_7
    <Acct_Num_Mid_1_6
    104143</Acct_Num_Mid_1_6
    <AccountNumber
    1041430469940</AccountNumber
    <AcctGen-PrimaryContactId
    1-K5B-226</AcctGen-PrimaryContactId
    <Currency
    SAR</Currency
    <CurrentBalance
    </CurrentBalance
    <CustomerNumber
    </CustomerNumber
    <IntegrationId
    941674</IntegrationId
    <ProductId
    1-DFPY</ProductId
    <RB1ODS
    8290758</RB1ODS
    <STARSAccountBranchArabicName
      مكة المكرمة</STARSAccountBranchArabicName
    <STARSContactId
    </STARSContactId
    <STARSContactToRelation
    </STARSContactToRelation
    </FincorpAccount
    <FincorpAccount
    <Id
    1-LZ6-228</Id
    <Created
    05/21/2005 19:15:21</Created
    <CreatedBy
    0-1</CreatedBy
    <ABANumber
    Makkah Main</ABANumber
    <AccountName
    خالد جابر عبدالله الحربي</AccountName
    <AccountType
    Time Deposit</AccountType
    <Acct_Num_Mid_7_7
    1259940</Acct_Num_Mid_7_7
    <Acct_Num_Mid_1_6
    104143</Acct_Num_Mid_1_6
    <AccountNumber
    1041431259940</AccountNumber
    <AcctGen-PrimaryContactId
    1-K5E-241</AcctGen-PrimaryContactId
    <Currency
    SAR</Currency
    <CurrentBalance
    </CurrentBalance
    <CustomerNumber
    </CustomerNumber
    <IntegrationId
    942454</IntegrationId
    <ProductId
    1-DFPY</ProductId
    <RB1ODS
    8290759</RB1ODS
    <STARSAccountBranchArabicName
    مكة المكرمة</STARSAccountBranchArabicName
    <STARSContactId
    </STARSContactId
    <STARSContactToRelation
    </STARSContactToRelation
    </FincorpAccount
    <FincorpAccount
    <Id
    1-LZ6-229</Id
    <Created
    05/21/2005 19:15:21</Created
    <CreatedBy
    0-1</CreatedBy
    <ABANumber
    Makkah Branch</ABANumber
    <AccountName
    غميض مسفر مسيفر الهذلي</AccountName
    <AccountType
    Saving Account</AccountType
    <Acct_Num_Mid_7_7
    1509940</Acct_Num_Mid_7_7
    <Acct_Num_Mid_1_6
    104143</Acct_Num_Mid_1_6
    <AccountNumber
    1041431509940</AccountNumber
    <AcctGen-PrimaryContactId
    1-5W6-1401</AcctGen-PrimaryContactId
    <Currency
    SAR</Currency
    <CurrentBalance
    </CurrentBalance
    <CustomerNumber
    -1</CustomerNumber
    <IntegrationId
    942464</IntegrationId
    <ProductId
    1-DFPY</ProductId
    <RB1ODS
    8290760</RB1ODS
    <STARSAccountBranchArabicName
      مكة المكرمة</STARSAccountBranchArabicName
    <STARSContactId
    </STARSContactId
    <STARSContactToRelation
    </STARSContactToRelation
    </FincorpAccount
    <FincorpAccount
    <Id
    1-LZ6-230</Id
    <Created
    05/21/2005 19:15:21</Created
    <CreatedBy
    0-1</CreatedBy
    <ABANumber
    Makkah Main</ABANumber
    <AccountName
    مرزوق رده راسن السعيدي</AccountName
    <AccountType
    Current Account</AccountType
    <Acct_Num_Mid_7_7
    2909940</Acct_Num_Mid_7_7
    <Acct_Num_Mid_1_6
    104143</Acct_Num_Mid_1_6
    <AccountNumber
    1041432909940</AccountNumber
    <AcctGen-PrimaryContactId
    1-K5E-269</AcctGen-PrimaryContactId
    <Currency
    SAR</Currency
    <CurrentBalance
    </CurrentBalance
    <CustomerNumber
    </CustomerNumber
    <IntegrationId
    942794</IntegrationId
    <ProductId
    1-DFPY</ProductId
    <RB1ODS
    8290762</RB1ODS
    <STARSAccountBranchArabicName
    مكة المكرمة</STARSAccountBranchArabicName
    <STARSContactId
    </STARSContactId
    <STARSContactToRelation
    </STARSContactToRelation
    </FincorpAccount
    <FincorpAccount
    <Id
    1-LZ6-231</Id
    <Created
    05/21/2005 19:15:21</Created
    <CreatedBy
    0-1</CreatedBy
    <ABANumber
    Makkah Main</ABANumber
    <AccountName
    سلطان سلمان عليان المطرفي</AccountName
    <AccountType
    Current Account</AccountType
    <Acct_Num_Mid_7_7
    9409940</Acct_Num_Mid_7_7
    <Acct_Num_Mid_1_6
    104143</Acct_Num_Mid_1_6
    <AccountNumber
    1041439409940</AccountNumber
    <AcctGen-PrimaryContactId
    1-K5E-325</AcctGen-PrimaryContactId
    <Currency
    SAR</Currency
    <CurrentBalance
    </CurrentBalance
    <CustomerNumber
    </CustomerNumber
    <IntegrationId
    944194</IntegrationId
    <ProductId
    1-DFPY</ProductId
    <RB1ODS
    8290768</RB1ODS
    <STARSAccountBranchArabicName
    مكة المكرمة</STARSAccountBranchArabicName
    <STARSContactId
    </STARSContactId
    <STARSContactToRelation
    </STARSContactToRelation
    </FincorpAccount
    <FincorpAccount
    <Id
    1-LZ6-232</Id
    <Created
    05/21/2005 19:15:21</Created
    <CreatedBy
    0-1</CreatedBy
    <ABANumber
    Makkah Branch</ABANumber
    <AccountName
    محمد بابكر محمد بابكر</AccountName
    <AccountType
    Current Account</AccountType
    <Acct_Num_Mid_7_7
    9529940</Acct_Num_Mid_7_7
    <Acct_Num_Mid_1_6
    104143</Acct_Num_Mid_1_6
    <AccountNumber
    1041439529940</AccountNumber
    <AcctGen-PrimaryContactId
    1-K5E-68</AcctGen-PrimaryContactId
    <Currency
    SAR</Currency
    <CurrentBalance
    </CurrentBalance
    <CustomerNumber
    </CustomerNumber
    <IntegrationId
    944444</IntegrationId
    <ProductId
    1-DFPY</ProductId
    <RB1ODS
    8290769</RB1ODS
    <STARSAccountBranchArabicName
      مكة المكرمة</STARSAccountBranchArabicName
    <STARSContactId
    </STARSContactId
    <STARSContactToRelation
    </STARSContactToRelation
    </FincorpAccount
    <FincorpAccount
    <Id
    1-LZ6-233</Id
    <Created
    05/21/2005 19:15:21</Created
    <CreatedBy
    0-1</CreatedBy
    <ABANumber
    Makkah Main</ABANumber
    <AccountName
    عمر احمد آل عبدالمحسن القناوي</AccountName
    <AccountType
    Current Account</AccountType
    <Acct_Num_Mid_7_7
    759940</Acct_Num_Mid_7_7
    <Acct_Num_Mid_1_6
    104144</Acct_Num_Mid_1_6
    <AccountNumber
    1041440759940</AccountNumber
    <AcctGen-PrimaryContactId
    1-5W6-1257</AcctGen-PrimaryContactId
    <Currency
    SAR</Currency
    <CurrentBalance
    </CurrentBalance
    <CustomerNumber
    -1</CustomerNumber
    <IntegrationId
    944594</IntegrationId
    <ProductId
    1-DFPY</ProductId
    <RB1ODS
    8290770</RB1ODS
    <STARSAccountBranchArabicName
    مكة المكرمة</STARSAccountBranchArabicName
    <STARSContactId
    </STARSContactId
    <STARSContactToRelation
    </STARSContactToRelation
    </FincorpAccount
    <FincorpAccount
    <Id
    1-LZ6-8</Id
    <Created
    05/21/2005 19:15:21</Created
    <CreatedBy
    0-1</CreatedBy
    <ABANumber
    Makkah Main</ABANumber
    <AccountName
    بهاء عبد الله عبد الحفيظ مليح</AccountName
    <AccountType
    Current Account</AccountType
    <Acct_Num_Mid_7_7
    109940</Acct_Num_Mid_7_7
    <Acct_Num_Mid_1_6
    104108</Acct_Num_Mid_1_6
    <AccountNumber
    1041080109940</AccountNumber
    <AcctGen-PrimaryContactId
    1-K52-162</AcctGen-PrimaryContactId
    <Currency
    SAR</Currency
    <CurrentBalance
    </CurrentBalance
    <CustomerNumber
    </CustomerNumber
    <IntegrationId
    920224</IntegrationId
    <ProductId
    1-DFPY</ProductId
    <RB1ODS
    8290590</RB1ODS
    <STARSAccountBranchArabicName
    مكة المكرمة</STARSAccountBranchArabicName
    <STARSContactId
    </STARSContactId
    <STARSContactToRelation
    </STARSContactToRelation
    </FincorpAccount
    <FincorpAccount
    <Id
    1-LZ6-234</Id
    <Created
    05/21/2005 19:15:21</Created
    <CreatedBy
    0-1</CreatedBy
    <ABANumber
    Makkah Branch</ABANumber
    <AccountName
    عمر صدقة عمر قطب</AccountName
    <AccountType
    Current Account</AccountType
    <Acct_Num_Mid_7_7
    5769940</Acct_Num_Mid_7_7
    <Acct_Num_Mid_1_6
    104146</Acct_Num_Mid_1_6
    <AccountNumber
    1041465769940</AccountNumber
    <AcctGen-PrimaryContactId
    1-5WC-201</AcctGen-PrimaryContactId
    <Currency
    SAR</Currency
    <CurrentBalance
    </CurrentBalance
    <CustomerNumber
    -1</CustomerNumber
    <IntegrationId
    972664</IntegrationId
    <ProductId
    1-DFPY</ProductId
    <RB1ODS
    8290782</RB1ODS
    <STARSAccountBranchArabicName
      مكة المكرمة</STARSAccountBranchArabicName
    <STARSContactId
    </STARSContactId
    <STARSContactToRelation
    </STARSContactToRelation
    </FincorpAccount
    <Login
    SADMIN2</Login
    </ListOfBipStarsFincorpAccount
    </ListofIO
    Regards,
    Prashant

    I am trying to achieve this is ADF. I called a webservice which returns me data in the format as described above.
    It is returning me one data element for each column of the row. For eg. if we have 4 Rows X 5 Columns, it is returning me 20 data elements.
    I have to fall back on attributes of each data element to get the column name and row it belongs. If you the sample data above 'id' will point
    to Column Name and 'sequence' points to rownumber.
    How can I read through this data in java to get a specific column for each row. for eg. filter all data element where id='sch_name'.
    Webservice returns me an object of XMLElement class.

  • Report Script returns no data and "java.io.FileNotFoundException" error

    When attempting to write to a new file (Eg: C:\TEST.txt), Report Script returns no data and "java.io.FileNotFoundException" error occurs.
    This error occurs only in Essbase 9.3.1.3 release, however it works fine in release 9.3.1.0.
    After running the report the script, it pops up the follwing message:
    "java.io.FileNotFoundException: ..\temp\eas17109.tmp (The system cannot find the file specified): C:\TEST.txt"
    When checked the TEST.txt, it was empty.

    Sorry folks, I just found out the reason. Its because there was no data in the combination what I was extracting.
    but is this the right error message for that? It should have atleast create a blank file right?

  • Why not Deprecate java.util.Date and java.util.Calendar

    With the introduction of java.time, why did you not flag java.util.Date and java.util.Calendar. These classes have been a bane to every Java developer and should never be used again with the introduction of Java 1.8.

    Adding the @Deprecated annotation would only just provide a warning about an old API and recommendation to the developer(s) to no longer use it. Doing so would not break any existing library out there; in fact quite a number of constructors and methods on the Date class have already been flagged deprecated.
    The new java.time package is far superior to Date/Calendar.

  • How can I filter data in itab.... which was retrived from infotypes.

    Hi all,
      I am trying to filter data for one internal table (ex: IT_FINAL ) by comparing those values from standard table (ex: PA0000).First I had sucessfully uploaded all data from presentation server, Now I want to compare all field value (ex: PERNR)  from internal table (IT_FINAL-PERNR) and standerd table (PA0000-PERNR).If there is no matching record. then move those records to  another internal table (ex: IT_ERROR).
      I had tried by keeping that comparing code in loop. But I am not getting what i want.
    I am sending my code here.. please suggest me to solve this issue.
    SOURCE CODE
    TABLES: PERNR, PA0000.
    TYPES : BEGIN OF t_final,
             PERNR TYPE PERNR_D,
             BEGDA TYPE CHAR10,
             ENDDA TYPE CHAR10,
             SUBTY TYPE SUBTY,
             FANAM TYPE PAD_NACHN,
             FAVOR TYPE FAVOR,
             GESC2 TYPE GESC2,
             GESC1 TYPE GESC1,
             FGBDT TYPE CHAR10,
            END OF t_final,
            BEGIN OF t_raw,
             line TYPE char100,
            END OF t_raw.
    DATA : it_final TYPE STANDARD TABLE OF t_final,
           it_raw   TYPE STANDARD TABLE OF t_raw,
           it_error TYPE STANDARD TABLE OF bdcmsgcoll.
    DATA : wa_final TYPE t_final,
           wa_raw   TYPE t_raw,
           wa_error TYPE bdcmsgcoll.
    START-OF-SELECTION.
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
        FILENAME                      = 'E:\Suri_test\BDC_TEST\test02.txt'
       FILETYPE                      = 'ASC'
      TABLES
        DATA_TAB                      = IT_RAW.
    IF SY-SUBRC EQ 0.
    LOOP AT it_raw INTO wa_raw.
          SPLIT wa_raw
             AT '/'
           INTO WA_FINAL-PERNR
                WA_FINAL-SUBTY
                WA_FINAL-BEGDA
                WA_FINAL-ENDDA
                WA_FINAL-FANAM
                WA_FINAL-FAVOR
                WA_FINAL-GESC2
                WA_FINAL-GESC1
                WA_FINAL-FGBDT.
      WRITE:/   WA_FINAL-PERNR,
                WA_FINAL-SUBTY,
                WA_FINAL-BEGDA,
                WA_FINAL-ENDDA,
                WA_FINAL-FANAM,
                WA_FINAL-FAVOR,
                WA_FINAL-GESC2,
                WA_FINAL-GESC1,
                WA_FINAL-FGBDT.
    APPEND WA_FINAL TO IT_FINAL.
    CLEAR WA_FINAL.
    ENDLOOP.
    *NOW I GOT RECORDS IN IT_FINAL.
    LOOP AT PA0000 ??????????.
    IF PA0000-PERNR EQ WA_FINAL-PERNR.
    WRITE:/   WA_FINAL-PERNR,
                   WA_FINAL-SUBTY.
    ELSE.
    WRITE:/ 'HELLO NOT MATCHED DATA.'.
    move to IT_ERROR.??????????
    ENDIF.
    ENDLOOP.
    ENDIF.
    *TEST DATA..............................................
    5/2/21.04.2007/31.12.9999/BOY/BATLANKI//X/21.04.2007
    54099520/12/02.03.2005/31.12.9999/SANTHI/BATLANK/X//20.10.1954
    3453/12/02.03.2005/31.12.9999/SANTHI/BATLANK/X//20.10.1954
    54099520/13/02.03.2005/31.12.9999/JAGAN/PYDIPALLI//X/25.01.1981
      Thanks in advance,
      Surender. B.V.

    Hi Surender,
    In the below program it doesnt look like you are querying PA0000 database table @ all.
    Do this, once you have the presentation server uploaded into internal table IT_FINAL:
    IF IT_FINAL[ ] IS NOT INITIAL.
    SELECT DISTINCT PERNR FROM PA0000 INTO TABLE IT_PA0000
    FOR ALL ENTRIES IN IT_FINAL
    WHERE PERNR EQ IT_FINAL-PERNR.
    ENDIF.
    sort it_pa0000 by pernr.
    Loop at it_final into w_final.
    read table it_pa0000 into w_pa0000
    with key pernr = w_final-pernr
    binary search.
    if sy-subrc eq 0.
    write:/ 'match for personnel ' , w_final-pernr , ' found'.
    else,
    write:/ 'match not found for personnel ' , w_final-pernr.
    endif.
    endloop.
    p.s. declaration of internal table It_pa0000 should contain only one field pernr .... if you want you can add more fields and change the SELECT query above accordingly
    Edited by: Aditya Laud on Jan 25, 2008 2:57 AM

  • Java.sql.Date vs java.util.Date vs. java.util.Calendar

    All I want to do is create a java.sql.Date subclass which has the Date(String) constructor, some checks for values and a few other additional methods and that avoids deprecation warnings/errors.
    I am trying to write a wrapper for the java.sql.Date class that would allow a user to create a Date object using the methods:
    Date date1 = new Date(2003, 10, 7);ORDate date2 = new Date("2003-10-07");I am creating classes that mimic MySQL (and eventually other databases) column types in order to allow for data checking since MySQL does not force checks or throw errors as, say, Oracle can be set up to do. All the types EXCEPT the Date, Datetime, Timestamp and Time types for MySQL map nicely to and from java.sql.* objects through wrappers of one sort or another.
    Unfortunately, java.sql.Date, java.sql.Timestamp, java.sql.Time are not so friendly and very confusing.
    One of my problems is that new java.sql.Date(int,int,int); and new java.util.Date(int,int,int); are both deprecated, so if I use them, I get deprecation warnings (errors) on compile.
    Example:
    public class Date extends java.sql.Date implements RangedColumn {
      public static final String RANGE = "FROM '1000-01-01' to '8099-12-31'";
      public static final String TYPE = "DATE";
       * Minimum date allowed by <strong>MySQL</strong>. NOTE: This is a MySQL
       * limitation. Java allows dates from '0000-01-01' while MySQL only supports
       * dates from '1000-01-01'.
      public static final Date MIN_DATE = new Date(1000 + 1900,1,1);
       * Maximum date allowed by <strong>Java</strong>. NOTE: This is a Java limitation, not a MySQL
       * limitation. MySQL allows dates up to '9999-12-31' while Java only supports
       * dates to '8099-12-31'.
      public static final Date MAX_DATE = new Date(8099 + 1900,12,31);
      protected int _precision = 0;
      private java.sql.Date _date = null;
      public Date(int year, int month, int date) {
        // Deprecated, so I get deprecation warnings from the next line:
        super(year,month,date);
        if(! isWithinRange(this))
          throw new ValueOutOfRangeException((RangedColumn)this, "" + this);
      public Date(String s) {
        super(0l);
        // Start Cut-and-paste from java.sql.Date.valueOf(String s)
        int year;
        int month;
        int day;
        int firstDash;
        int secondDash;
        if (s == null) throw new java.lang.IllegalArgumentException();
        firstDash = s.indexOf('-');
        secondDash = s.indexOf('-', firstDash+1);
        if ((firstDash > 0) & (secondDash > 0) & (secondDash < s.length()-1)) {
          year = Integer.parseInt(s.substring(0, firstDash)) - 1900;
          month = Integer.parseInt(s.substring(firstDash+1, secondDash)) - 1;
          day = Integer.parseInt(s.substring(secondDash+1));
        } else {
          throw new java.lang.IllegalArgumentException();
        // End Cut-and-paste from java.sql.Date.valueOf(String s)
        // Next three lines are deprecated, causing warnings.
        this.setYear(year);
        this.setMonth(month);
        this.setDate(day);
        if(! isWithinRange(this))
          throw new ValueOutOfRangeException((RangedColumn)this, "" + this);
      public static boolean isWithinRange(Date date) {
        if(date.before(MIN_DATE))
          return false;
        if(date.after(MAX_DATE))
          return false;
        return true;
      public String getRange() { return RANGE; }
      public int getPrecision() { return _precision; }
      public String getType() { return TYPE; }
    }This works well, but it's deprecated. I don't see how I can use a java.util.Calendar object in stead without either essentially re-writing java.sql.Date almost entirely or losing the ability to be able to use java.sql.PreparedStatement.get[set]Date(int pos, java.sql.Date date);
    So at this point, I am at a loss.
    The deprecation documentation for constructor new Date(int,int,int)says "instead use the constructor Date(long date)", which I can't do unless I do a bunch of expensive String -> [Calendar/Date] -> Milliseconds conversions, and then I can't use "super()", so I'm back to re-writing the class again.
    I can't use setters like java.sql.Date.setYear(int) or java.util.setMonth(int) because they are deprecated too: "replaced by Calendar.set(Calendar.DAY_OF_MONTH, int date)". Well GREAT, I can't go from a Date object to a Calendar object, so how am I supposed to use the "Calendar.set(...)" method!?!? From where I'm sitting, this whole Date deprecation thing seems like a step backward not forward, especially in the java.sql.* realm.
    To prove my point, the non-deprecated method java.sql.Date.valueOf(String) USES the DEPRECATED constructor java.util.Date(int,int,int).
    So, how do I create a java.sql.Date subclass which has the Date(String) constructor that avoids deprecation warnings/errors?
    That's all I really want.
    HELP!

    I appreciate your help, but what I was hoping to accomplish was to have two constructors for my java.sql.Date subclass, one that took (int,int,int) and one that took ("yyyy-MM-dd"). From what I gather from your answers, you don't think it's possible. I would have to have a static instantiator method like:public static java.sql.Date createDate (int year, int month, int date) { ... } OR public static java.sql.Date createDate (String dateString) { ... }Is that correct?
    If it is, I have to go back to the drawing board since it breaks my constructor paradigm for all of my 20 or so other MySQL column objects and, well, that's not acceptable, so I might just keep my deprecations for now.
    -G

  • How to filter data by list item

    hi all,
    I create list item on block BLK1 ,
    name :emp_name
    item type: list item
    elements in list : list_elements : (null) list_item : (null)     
    data type : Char
    maximum length : 200
    and create PROCEDURE :
    PROCEDURE POPULATE_LIST_BY_QUERY(P_LIST_NAME VARCHAR2,P_QUERY VARCHAR2) IS
       RG_NAME  VARCHAR2(30) := 'RG_CODE_DESC' ;
       RG_ID    RecordGroup;
       errcode  NUMBER;
       LIST_ID  ITEM;
    BEGIN
         RG_ID := FIND_GROUP(RG_NAME);
         IF NOT ID_NULL (RG_ID)
            THEN DELETE_GROUP (RG_ID) ;
         END IF;
         RG_ID   := Create_Group_From_Query (RG_NAME, P_QUERY) ; 
         errcode := Populate_Group (RG_ID) ;  
         LIST_ID := FIND_ITEM (P_LIST_NAME) ;
         POPULATE_LIST (LIST_ID,RG_ID) ;
    END;and wrote in trigger WHEN_NEW_FORM_INSTANCE:
      POPULATE_LIST_BY_QUERY('BLK1.emp_name', 'SELECT emp_name,emp_id FROM employees');
    create table employees
    (emp_no number(10) primary key,
    emp_name varchar2(200))
    Insert into EMPLOYEES
       (EMP_NO, EMP_NAME)
    Values
       (1, 'hhh uuo');
    Insert into EMPLOYEES
       (EMP_NO, EMP_NAME)
    Values
       (2, 'hh ppp');
    Insert into EMPLOYEES
       (EMP_NO, EMP_NAME)
    Values
       (3, 'ph');
    Insert into EMPLOYEES
       (EMP_NO, EMP_NAME)
    Values
       (4, 'uuuuu');
    COMMIT;when Run my form list item give me all data, no problem ,ok
    My question is that can i want to filter data when write anythnig data is found im my list or part of data,
    show data only by my filter,
    for example:
    I wrote in my list : hh
    show data in list:
    hhh uuo
    hh ppp
    I wrote in my list : h
    show data in list:
    hhh uuo
    hh ppp
    ph
    I wrote in my list : uu
    show data in list:
    uuuuu
    if not wrote anything fetch me all data,
    Thanks a lot

    Hi,
    You can try,
    POPULATE_LIST_BY_QUERY('BLK1.EMP_NAME', 'SELECT EMP_NAME, EMP_ID FROM EMPLOYEES WHERE EMP_NAME LIKE ''' || <your_search_variable> || '%''');Hope this helps.
    Regards,
    Manu.

  • How to get the context data using java script in interactive forms

    Hi All,
    How to get the context data using java script in interactive forms by adobe,  am using web dynpro java
    thanks.

    Hi venkat,
    Please Refer this link.
      Populating one Drop-Down list from the selection of another Drop-down list
    Thanks,
    Raju.

  • Writing data from Java to Excel

    Hi,
    I am trying to writhe data from Java to an Excel Sheet by using JACOB.
    This is my code :
    import java.util.*;
    import java.io.*;
    //import cost.util.*;
    import com.jacob.com.*;
    import com.jacob.activeX.*;
    class XLStock
         public static void main(String argv[])
              XLStock xls = new XLStock();
              xls.main2(argv);
         public void main2(String argv[])
              System.setSecurityManager(null);
              System.runFinalizersOnExit(true);
              Vector v = new Vector();
              XLSPutItem pi;
              String sheetfile = null;
              ActiveXComponent xl;
              Object xlo=null;
              Object workbooks;
              Object workbook;
              Object sheets;
              Variant vOptn = new Variant();
              vOptn.noParam();
              try
                   xl = new ActiveXComponent("Excel.Application");
                   xlo = xl.getObject();
                   Dispatch.put(xlo, "Visible", new Variant(true));
                   xl.setProperty("Visible", new Variant(true));
                   workbooks = xl.getProperty("Workbooks").toDispatch();
                   Variant vTemp = new Variant(argv[0]);
                   workbook = Dispatch.invoke(workbooks, "Open", Dispatch.Method,
                        new Variant[] {vTemp, vOptn, vOptn, vOptn, vOptn, vOptn, vOptn, vOptn, vOptn, vOptn, vOptn, vOptn, vOptn},
                        new int[1]).toDispatch();
                   sheets = Dispatch.get(workbook,"Sheets").toDispatch();
                   pi = new XLSPutItem();
                   if (pi.Parse("1:A1;ciao;6"))
                        v.addElement(pi);
                   for (int i=0; i<v.size(); i++)
                        pi = (XLSPutItem)v.elementAt(i);
                        pi.sheet = Dispatch.invoke(sheets, "Item", Dispatch.Get, new Object[] {new Variant(pi.sheetNumber)}, new int[1]).toDispatch();
                        pi.cell = Dispatch.invoke(pi.sheet, "Range", Dispatch.Get, new Object[] {pi.cellName}, new int[1]).toDispatch();
              catch (Exception e)
                   e.printStackTrace();
              pi = (XLSPutItem)v.firstElement();
              Dispatch.put(pi.cell, "Value", "ciao");
    What happen is that my code always fail at this line :
    xl = new ActiveXComponent("Excel.Application");
    whit this error :
    C:\VJWorks\JNI\jxls>java jxls.XLStock
    com.jacob.com.ComFailException: Can't co-create object
    at com.jacob.com.Dispatch.createInstance(Native Method)
    at com.jacob.com.Dispatch.<init>(Dispatch.java)
    at com.jacob.activeX.ActiveXComponent.<init>(ActiveXComponent.java)
    at jxls.XLStock.main2(XLStock.java:53)
    at jxls.XLStock.main(XLStock.java:28)
    Exception in thread "main" java.util.NoSuchElementException
    at java.util.Vector.firstElement(Vector.java:450)
    at jxls.XLStock.main2(XLStock.java:79)
    at jxls.XLStock.main(XLStock.java:28)
    I task that something is wrong in my system configuration.
    I work on a Win2000 platform and Office 97.
    Someone knows the reason of this error and can suggest what to make.
    Thanks in advance.
    Antonio M.

    Antonio, maybe you can post this back to the Jacob list. As an alternative to Jacob, what about Apache POI or writing the data as comma-delimited and opening the file using Runtime?
    Hope that may help.
    Good luck.

  • Mapping of PLSQL  table type  Date to java

    i am having problem in mapping plsql table type DATE in java,
    able to execute procedures which return plsql table type NUMBER,VARCHAR.
    i am using oracle 9 , jdk1.4, oci driver, windows 2000.
    sample code:
    registering:
    st.registerIndexTableOutParameter(15,100,OracleTypes.DATE,1000);
    st.registerIndexTableOutParameter(16,100,OracleTypes.DATE,1000);
    st.execute();
    getting out params in arrays:
    java.sql.Date[] O_lSubFolder_CrOn=(java.sql.Date[])java.sql.Date[] st.getPlsqlIndexTable(15);
    O_lSubFolder_MdOn=(java.sql.Date[])st.getPlsqlIndexTable(16);
    error while executing the code:
    java.sql.SQLException: Invalid PL/SQL Index Table element type
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:285)
    at oracle.jdbc.driver.OraclePreparedStatement.checkPlsqlIndexTableBindTypes(OraclePreparedSt
    atement.java:2705)
    at oracle.jdbc.driver.OracleCallableStatement.registerIndexTableOutParameter(OracleCallableS
    tatement.java:834)
    can anyone help me to solve this problem.

    i am having problem in mapping plsql table type
    DATE in java,
    able to execute procedures which return plsql table
    type NUMBER,VARCHAR.
    i am using oracle 9 , jdk1.4, oci driver, windows
    2000.
    sample code:
    registering:
    st.registerIndexTableOutParameter(15,100,OracleTypes.D
    TE,1000);
    st.registerIndexTableOutParameter(16,100,OracleTypes.D
    TE,1000);
    st.execute();
    getting out params in arrays:
    java.sql.Date[]
    O_lSubFolder_CrOn=(java.sql.Date[])java.sql.Date[]
    st.getPlsqlIndexTable(15);
    O_lSubFolder_MdOn=(java.sql.Date[])st.getPlsqlIndexTab
    e(16);
    can anyone help me to solve this problem.1. Write a wrapper procedure that converts the table of dates to either number or date and then re-convert the table back into date.
    2. Since it's an out param you could create a temp table, insert the contents of the index by array into it and return a cursor.
    3. Create a oracle type using CREATE TYPE and then use an array of the type.
    David Rolfe
    Orinda Software

  • How to change a date value from "java.util.Date" to "java.sql.Date"?

    Hi all,
    How to change a date value from "java.util.Date" to "java.sql.Date"?
    I m still confusing what's the difference between them.....
    thanks
    Regards,
    Kin

    Thanks
    but my sql statement can only accept the format (yyyy-MM-dd)
    such as "select * from xx where somedate = '2004-12-31'
    but when i show it to screen, i want to show it as dd-MM-yyyy
    I m using the following to change the jave.util.Date to str and vice versa. But it cannot shows the dd-MM-yyyy. I tried to change the format from yyyy-MM-dd to dd-MM-yyyy, it shows the wrong date in my application.
         public String date2str(java.util.Date thisdate)     {
              if (thisdate != null)     {
                   java.sql.Date thissDate = new java.sql.Date(thisdate.getTime());
                   return date2str(thissDate);
              }     else     {
                   return "";
         public String date2str(java.sql.Date thisdate)     {
              if (thisdate != null)     {
                   SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                   return sdf.format(thisdate);
              }     else     {
                   return "";
         public java.util.Date str2date(String thisdate)     {
              String dateFormat = "yyyy-MM-dd"; // = 1998-12-31
              java.util.Date returndate = null;
              if (thisdate != null)     {
                   SimpleDateFormat dateFormatter = new SimpleDateFormat(dateFormat);
                   try {
                        returndate = dateFormatter.parse(thisdate);
                   } catch (ParseException pe) {
                        System.out.println (pe.getMessage());
              return returndate;
         }

  • SubSelect Not filter data for Parent/Child hierarchy

    I have data for my parent /child dimension like that
    DimCust
    Fact Sal
    Customer ID
    Parent ID
    Customer Type
    Product Id
    Customer ID
    Year
    Sales
    1
    1
    Retailer
    4
    1
    2015
    100
    2
    1
    Retailer
    4
    2
    2014
    200
    3
    3
    Retailer
    4
    3
    2014
    300
    4
    3
    Retailer
    4
    4
    2015
    400
    5
    5
    Retailer
    4
    5
    2015
    500
    In my query,
     I use sub select to filter 
    data for year 2014c and product  id 4,  when I got result
     it’s missed the aggregation of customer id 1 and 4.
     Even I try to pass in where clause it’s also not give correct result.
    code,
    with
       set ba EXISTS([DIMCustomer].[Level 02].allmembers, [DIMCustomer].[Hierarchy].&[MyHierarchy],"factTable")
       SELECT
    [Measures].[Sales]
      } ON 0,
    [ba]on 1
    FROM (SELECT ( { [CropYear].[CropYear].&[2014] } ) ON COLUMNS
    FROM (SELECT ( { [DimProduct].[ProductID].[4] } ) ON COLUMNS
    FROM [myCube]))
    please help me on this, what is the best practices.
    Regards,
    Manish

    Hi manishcal16PPS,
    According to your description, you want to slice the fact data on Year 2014 and Product 4. Now you find the result missing the customer 1 and 4. Right?
    In this scenario, based on your Fact Sal table, both customer 1 and 4 are on Year 2015. So when you filter the data, it will not show customer 1 and 4. It returns correct result. For filtering data, either using sub select or specifying slicer axis
    can achieve your requirement.
    Reference:
    Specifying the Contents of a Slicer Axis (MDX)
    Best Regards,
    Simon Hou
    TechNet Community Support

  • Wsimport, mapping of xs:date to java.util.Date via ext file, and -B option

    Summary:
    JDK 1.7.0_09 and wsimport and xjc that comes with it.
    Global JAXB binding to map xs:date to java.util.Date
    I have the following external bindings file:
    <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
         xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
         elementFormDefault="qualified" attributeFormDefault="unqualified"
         jaxb:extensionBindingPrefixes="xjc" jaxb:version="2.1">
         <xs:annotation>
              <xs:appinfo>
                   <jaxb:globalBindings>
                        <xjc:serializable />
                        <jaxb:javaType name="java.util.Date" xmlType="xs:date" parseMethod="au.com.xxx.jaxb.DateAdapter.parseDate" printMethod="au.com.xxx.jaxb.DateAdapter.printDate" />
                   </jaxb:globalBindings>
              </xs:appinfo>
         </xs:annotation>
    </xs:schema>The au.com.xxx.jaxb.DateAdapter code is as follows:
    package au.com.xxx.jaxb;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.GregorianCalendar;
    import javax.xml.bind.DatatypeConverter;
    public class DateAdapter {
         public static Date parseDate(String s) {
              return DatatypeConverter.parseDate(s).getTime();
         public static String printDate(Date dt) {
              Calendar cal = new GregorianCalendar();
              cal.setTime(dt);
              return DatatypeConverter.printDate(cal);
    }When I run the following wsimport from the command line, I get:
    salvojo@AUD20901BL /cygdrive/c/workspace/JSF/insurance
    $ /cygdrive/c/java/jdk1.7.0_09/x64/bin/wsimport -keep -s gen-src -b external/wsdl/jaxb-bindings.xml -wsdllocation /wsdl/Member.wsdl -d WebContent/WEB-INF/classes external/wsdl/Member.wsdl
    parsing WSDL...
    Generating code...
    Compiling code...
    C:\workspace\JSF\insurance\gen-src\org\w3\_2001\xmlschema\Adapter1.java:13: error: package au.com.xxx.jaxb does not exist
            return (au.com.xxx.jaxb.DateAdapter.parseDate(value));
                                   ^
    C:\workspace\JSF\insurance\gen-src\org\w3\_2001\xmlschema\Adapter1.java:17: error: package au.com.xxx.jaxb does not exist
            return (au.com.xxx.jaxb.DateAdapter.printDate(value));
                                   ^
    2 errors
    compilation failed, errors should have been reportedWhich means that wsimport or xjc needs to know the classpath to find au.com.xxx.jaxb.DateAdapter.
    But how do I pass the classpath from wsimport to the JAXB compiler ?
    There is the -B option in wsimport, but I could not get it to work.
    If I read it correctly, I should be able to pass the -classpath option to the JAXB compiler from wsimport via -B.
    I tried:
    salvojo@AUD20901BL /cygdrive/c/workspace/JSF/insurance
    $ /cygdrive/c/java/jdk1.7.0_09/x64/bin/wsimport -keep -s gen-src -B"-classpath WebContent/WEB-INF/classes" -b external/wsdl/jaxb-bindings.xml -wsdllocation /wsdl/Member.wsdl -d WebContent/WEB-INF/classes external/wsdl/Member.wsdl
    no such JAXB option: -classpath WebContent/WEB-INF/classes
    Usage: wsimport [options] <WSDL_URI>
    where [options] include:
      -b <path>                 specify jaxws/jaxb binding files or additional schemas
                                (Each <path> must have its own -b)
      -B<jaxbOption>            Pass this option to JAXB schema compiler
      -catalog <file>           specify catalog file to resolve external entity references
                                supports TR9401, XCatalog, and OASIS XML Catalog format.
      -d <directory>            specify where to place generated output files
    <...snipped...>... where WebContent/WEB-INF/classes is the classpath where au.com.xxx.jaxb.DateAdapter.class could be found. Obviously it did not like it.
    Also, why is wsimport generate org.w3._2001.xmlschema.Adapter1.java ? All it is doing is wrapping up the exact same call that I have specified in my DateAdapter. How can I tell wsimport or xjc to NOT create that extra Adapter1.java and simply directly use my DateAdapter ??

    create additional column of type LONG to represent date.
    dateFormat is of type java.util.Date:
    long newLongDate = dateFormat.getTime();
    select object(b) from MyEntity b where b.MYLONGDATE > ?1 and b.MYLOGDATE <= ?2

  • Using the Data Engine Java API

    I try to use the Data Engine Java API to generate an XML document from database data.
    So as mentioned in the documentation Business Intelligence Publisher User's Guide Release 10.1.3.2 (page 4-26 to 4-27)
    a) I created a java class (using Jdev Version 11.1.1.0.0)
    package oracle.apps.XMLPublisher.client;
    import com.sun.java.util.collections.Hashtable;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import oracle.apps.xdo.XDOException;
    import oracle.apps.xdo.dataengine.DataProcessor;
    public class XMLFileGenerator {
    public XMLFileGenerator() {
    public static void dataEngine() throws ClassNotFoundException, Exception {
    XMLFileGenerator xMLFileGenerator = new XMLFileGenerator();
    try {
    //Initialization instantiate the DataProcessor class//
    DataProcessor dataProcessor;
    dataProcessor = new DataProcessor();
    //Set Data Template to be executed
    dataProcessor.setDataTemplate("PERFRBS.xml");
    Hashtable parameters;
    parameters = new Hashtable();
    parameters.put("P_LEGAL_ENTITY_ID", "3259");
    parameters.put("P_TRU_ID", "3262");
    parameters.put("P_YEAR", "2009");
    dataProcessor.setParameters(parameters);
    // Now set the jdbc connection to the database that you
    // wish to execute the template against.
    // This sample assumes you have already created
    // the connection object 'jdbcConnection'
    Class.forName("oracle.jdbc.OracleDriver");
    String url =
    "jdbc:oracle:thin:@ap6005sdb.us.oracle.com:1526:hremeadv";
    Connection jdbcConnection;
    jdbcConnection= DriverManager.getConnection(url, "apps", "*****");
    dataProcessor.setConnection(jdbcConnection);
    System.out.println("Here1");
    // Specify the output directory and file for the data file
    dataProcessor.setOutput("BilanSocial.xml");
    System.out.println("Here2");
    dataProcessor.processData();
    System.out.println("Here3");
    } catch (SQLException e) {
    System.out.println("SQLException " + e.getMessage());
    } catch (XDOException e) {
    System.out.println("XDOException" + e.getMessage());
    public static void main(String[] argv) throws ClassNotFoundException,
    Exception {
    XMLFileGenerator xmlPublisher = new XMLFileGenerator();
    XMLFileGenerator.dataEngine();
    b) to generate my xml file based on the following data template
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <dataTemplate name="PERFRBS" defaultPackage="" version="1.0">
    <parameters>
    <parameter name="P_LEGAL_ENTITY_ID" dataType = "number"></parameter>
    <parameter name="P_TRU_ID" dataType = "number"></parameter>
    <parameter name="P_YEAR" dataType = "number"></parameter>
    </parameters>
    <lexicals>
    </lexicals>
    <dataQuery>
    <sqlStatement name="Q_INDICATORS">
    <![CDATA[ SELECT pai.action_information3   YEAR,
                    pai.action_information17  INDICATOR_VALUE
              FROM   pay_action_information pai 
             WHERE  pai.action_information_category     = 'HR_FR_BS'
                AND    pai.action_context_type             = 'PA'
                AND    pai.action_information1             = :P_LEGAL_ENTITY_ID
                AND    pai.action_information2             = :P_TRU_ID
                AND    pai.action_information3            = :P_YEAR       
    ]]>
    </sqlStatement>
    </dataQuery>
    <dataStructure>
    <group name="G_YEARS" dataType="varchar2" source="Q_INDICATORS">
    <element name="YEAR" dataType="varchar2" value="YEAR"/>
    <element name="INDICATOR_VALUE" dataType="number" value="INDICATOR_VALUE"/>
    </group>
    </dataStructure>
    </dataTemplate>
    ---> But when I run it , it fails when calling the data processor with the following error
    D:\Jdeveloper11g\jdk\bin\javaw.exe -client -classpath "D:\Jdeveloper11g\jdevhome\XMLPublisher\src\Client\classes;D:\BI publisher\XMLP562_WIN\XMLP562_WIN\manual\lib\versioninfo.jar;D:\BI publisher\XMLP562_WIN\XMLP562_WIN\manual\lib\xdocore.jar;D:\BI publisher\XMLP562_WIN\XMLP562_WIN\manual\lib\collections.jar;D:\BI publisher\XMLP562_WIN\XMLP562_WIN\manual\lib\xmlparserv2-904.jar;D:\BI publisher\XMLP562_WIN\XMLP562_WIN\manual\lib\i18nAPI_v3.jar;D:\Jdeveloper11g\jdbc\lib\ojdbc14dms.jar;D:\Jdeveloper11g\jlib\orai18n.jar;D:\Jdeveloper11g\diagnostics\lib\ojdl.jar;D:\Jdeveloper11g\jlib\dms.jar" -Dhttp.proxyHost=emeacache.uk.oracle.com -Dhttp.proxyPort=80 -Dhttp.nonProxyHosts= -Dhttps.proxyHost=emeacache.uk.oracle.com -Dhttps.proxyPort=80 -Dhttps.nonProxyHosts= oracle.apps.XMLPublisher.client.XMLFileGenerator
    Here1
    Here2
    Exception in thread "main" java.lang.IllegalAccessError: tried to access class oracle.jdbc.driver.OracleStatement from class oracle.apps.xdo.dataengine.DBConnection
         at oracle.apps.xdo.dataengine.DBConnection.setRowPrefetchSize(DBConnection.java:42)
         at oracle.apps.xdo.dataengine.XMLPGEN.setRowPrefetchSize(XMLPGEN.java:1224)
         at oracle.apps.xdo.dataengine.XMLPGEN.writeData(XMLPGEN.java:420)
         at oracle.apps.xdo.dataengine.XMLPGEN.writeGroupStructure(XMLPGEN.java:281)
         at oracle.apps.xdo.dataengine.XMLPGEN.processData(XMLPGEN.java:251)
         at oracle.apps.xdo.dataengine.XMLPGEN.processXML(XMLPGEN.java:192)
         at oracle.apps.xdo.dataengine.XMLPGEN.writeXML(XMLPGEN.java:222)
         at oracle.apps.xdo.dataengine.DataProcessor.processData(DataProcessor.java:334)
         at oracle.apps.XMLPublisher.client.XMLFileGenerator.dataEngine(XMLFileGenerator.java:50)
         at oracle.apps.XMLPublisher.client.XMLFileGenerator.main(XMLFileGenerator.java:62)
    Process exited with exit code 1.
    Thanks by advance for your help

    Make sure you have the Oracle JDBC library setup in project parties and it's setup to export. The api's are fine. Have you looked at the BIPublisherIDE I wrote. All this code is already written for you. There is a manual on the site as well
    http://bipublisher.blogspot.com/2008/03/bi-publisher-bipublisheride.html
    Ike Wiggins
    http://bipublisher.blogspot.com

Maybe you are looking for

  • Java with mysql

    if two tables r given, i want a code which should tell tat ,in which table foreign key is available. so please kindly help out in this problem. is there is any query or code avalible to find out which table as foreign key.

  • How to find out if installed maxdb is 64 or 32 bit

    is there any command or ways to find out if the installed maxdb is 64 or 32 bit ? I cant seem to find this information

  • How to open pdfs from 2006?

    I have an automotive technical manual from 2006.  The program will launch from Window XP but it will not open specific documents.  I have Reader X.  Is there a compatibility issue for docs that were released in 6.0 or 7.0?

  • Solaris 8 02/04

    We are trying to conduct a DR drill and need a copy of Solaris 8 02/04. (They changed the hardware on us and this is the only version the CPU's will support.) Anyone having a copy, you're help would be greatly appreciated.

  • PULL LIST IS NOT GETING EXPORTED TO XL FORMAT

    Hi All, PULL LIST IS NOT GETING EXPORTED TO XL FORMAT PRINT IS DIRECTLY GOING TO PRINTER. SO CAN YOU TELL ME HOW I CAN EXPORT THE PULL LIST TO XL AND FOR THAT WHAT I HAVE TO DO...? POINT WILL BE GIVEN.