Reading Huge Table

Hi Experts,
I need to read a table with large number of records ( > 800 K )
sometimes, the system will terminate the my report because it is taking too much time to read
from the table, I am reading all the records and  I store them in an internal table (not smart!)
now I am thinking of just reading a record by record and process each record, to process each record I need to read again from another table. I tried to use cursor to read record by record but I got runtime error I guess because I am reading again from the database (another table).
is there a way to read a table sequentially, where in each time I read 500 records, store them in internal table and process them, then I read the next 500 records and do the same until I read all records in the table ?
Thanks a lot

Hi ,
Dont use nested loops, select endselect statement that will take more time so 
take all the required fields into a structure and select from the table it will work the best.
Regards ,
Rajesh S.

Similar Messages

  • Update records in huge table

    Hi,
    I need to update two fields in a huge table (> 200.000.000 records). I've created 2 basic update scripts with a where clause. The problem is that there isn't an index on these fields in the where clause. How can I solve this? Creating a new index is not an option.
    An other solution is to update the whole table (so without a where clause) but I don't know if it takes a lot of time, locks records,...
    Any suggestions?
    Thanks.
    Ken

    Ken,
    You may be better off reading the metalink documents. PDML stands for Parallel DML. You can use parallel slaves to get the update done quickly. Obviously this is dependent on the number of parallel slaves you have and the degree you set
    Type PDML on metalink
    G

  • Query for the huge table is not working.

    Hi,
    I am having a link between oracle server and Microsoft sql server let' say 'SQLWEB' this link is perfectly working fine when I query table having few hundred thousand records but It’s not working for one of the table which is having a more then 3 million record at sql server. any one of you is having any Idea why this peculiar behavior is there any limitations for this heterogeneous link is there any workaround for the same. Below you can see the first query returns the count from table but second query is getting disconnected as that’s a very huge table having millions of record.
    shams at oracleserver> select count(*) from investors@sqlweb ;
    COUNT(*)
    15096
    shams at oracleserver> select count(*) from transactions@sqlweb;
    select count(*) from transactions@sqlweb
    ERROR at line 1:
    ORA-02068: following severe error from SQLWEB
    ORA-28511: lost RPC connection to heterogeneous remote agent using SID=%s
    ORA-28509: unable to establish a connection to non-Oracle system
    Regards
    Shamsheer
    Message was edited by:
    Shamsheer

    In general you want to minimize the traffic going over the dblink. This is best handled with view on the sql server try. You might try creating a view on sql server like:
    create view all_investors as
    select * from investors
    Then from sql plus:
    select count from all_investors@sqlweb.

  • Huge Group by operation on Huge Table takes lot of time

    Hi,
    Pl find the below given process which takes of time in execution (approx 5-6 hrs)
    The mailn reason for this is
    1) It Fetch data from huge table partition (i.e 18GB data for per day)
    2)Performs Group by operations
    3)In the where clause Index is not there on destination_number so performs Full Table scan
    I have some idea i.e I need to change the Some Parameter which will make the process faster ,
    Can you please help on this
    create or replace table tmp_kumar nologging as
    SELECT c.series_num , subscriber_id , COUNT(1) cnt , SUM(NVL(total_currency_charge,0))total_currency_charge ,
    TRUNC(disconnect_date) FROM
    (select * from prepcdr.PREPCDR_MAR_P3_10 partition(disconnect_date_11) union all
    select * from prepcdr.PREPCDR_MAR_P3_10 partition(disconnect_date_11_new)) b,
    (SELECT series_num, des, created_dt, LENGTH (series_num) len
    FROM PREPCDR.HSS_SERIES_MAST where home_ind ='Y'
    UNION
    SELECT cimd_number, des, created_dt, LENGTH (cimd_number)
    FROM PREPCDR.HSS_CIMD_MASTER) c
    WHERE b.cdr_call_type = '86'
    AND SUBSTR (b.destination_number, 1, c.len) = c.series_num
    AND c.len = (SELECT MAX(x.len) FROM (SELECT series_num, des, created_dt, LENGTH (series_num) len
    FROM PREPCDR.HSS_SERIES_MAST where home_ind ='Y'
    UNION
    SELECT cimd_number, des, created_dt, LENGTH (cimd_number) len
    FROM PREPCDR.HSS_CIMD_MASTER) x WHERE x.series_num = SUBSTR (b.destination_number, 1, x.len))
    AND disconnect_date >= '11-MAR-2010'
    AND disconnect_date < '12-MAR-2010'
    GROUP BY c.series_num , TRUNC(disconnect_date) , suBscriber_id

    This, most likely, will be more efficient:
    SELECT  c.series_num,
            subscriber_id,
            COUNT(1) cnt,
            SUM(NVL(total_currency_charge,0)) total_currency_charge,
            TRUNC(disconnect_date)
      FROM  (
              select  *
                from  prepcdr.PREPCDR_MAR_P3_10 partition(disconnect_date_11)
             union all
              select  *
                from  prepcdr.PREPCDR_MAR_P3_10 partition(disconnect_date_11_new)
            ) b,
             SELECT  DISTINCT series_num,
                              des,
                              created_dt,
                              len
               FROM  (
                      SELECT  series_num,
                              des,
                              created_dt,
                              len,
                              RANK() OVER(ORDER BY len) rnk
                        FROM  (
                                SELECT  series_num,
                                        des,
                                        created_dt,
                                        LENGTH(series_num) len
                                  FROM  PREPCDR.HSS_SERIES_MAST
                                  where home_ind ='Y'
                               UNION ALL
                                SELECT  cimd_number,
                                        des,
                                        created_dt,
                                        LENGTH(cimd_number)
                                  FROM  PREPCDR.HSS_CIMD_MASTER
               WHERE rnk = 1
            ) c
      WHERE b.cdr_call_type = '86'
        AND SUBSTR(b.destination_number,1,c.len) = c.series_num
       AND disconnect_date >= DATE '2010-03-11'
       AND disconnect_date < DATE '2010-03-12'
      GROUP BY  c.series_num,
                TRUNC(disconnect_date),
                suBscriber_id
    /SY.

  • Reading internal tables

    Hi all
    i am using internal table itab1,
    i want to add the similar contents of itab1 from itab2 into itab3
    how to do it?
    thanks
    raghvendra bhanap

    Hi,
    This is a documentation regarding reading internal tables.
    Hope this will be useful...
    When the size of the record or the number of records in the internal table is large, doing a linear search is time consuming. It is always a good practice to search a record by binary search (Always Sort the table before doing a binary search). The difference is felt especially in the production environment where the live data is usually huge. As of release 4.0 there are new types of internal tables like SORTED and HASHED which can be effectively used to further reduce the search time and processing time.
    e.g.     Do not use the following statement:-
    Select matnr from mara
    Into table i_mara
    Where matnr in s_matnr.
         Select matnr werks from marc
              Into table i_marc
              For all entries in i_mara
              Where matnr eq i_mara-matnr.
         Loop at I_mara.
              Read table i_marc with key matnr = I_mara-matnr.
         Endloop.
    Instead use the following statement:-
         Select matnr from mara
              Into table i_mara
              Where matnr in s_matnr.
                                       Select matnr werks from marc
                                            Into table i_marc
                                            For all entries in i_mara
                                           Where matnr eq i_mara-matnr.
                                       Sort I_marc by matnr.
                                       Loop at I_mara.
                                            Read table i_marc with key
    matnr = I_mara-matnr
    binary search.
                                       Endloop.
    It is a good practice to search records from internal tables using a binary search. But extreme caution needs to be applied as it may either increase the time or may cause run time termination if it is not sorted.
    Always the sort the internal table by the required keys before performing a binary search.                                                                               
    e.g.     Do not use the following statement:-
    Select matnr from mara
    Into table i_mara
    Where matnr in s_matnr.
         Select matnr werks from marc
              Into table i_marc
              For all entries in i_mara
              Where matnr eq i_mara-matnr.
         Loop at I_mara.
              Read table i_marc with key matnr = I_mara-matnr binary search.
         Endloop.
    Instead use the following statement:-
         Select matnr from mara
              Into table i_mara
              Where matnr in s_matnr.
                                       Select matnr werks from marc
                                            Into table i_marc
                                            For all entries in i_mara
                                           Where matnr eq i_mara-matnr.
                                       Sort I_marc by matnr.
                                       Loop at I_mara.
                                            Read table i_marc with key
    matnr = I_mara-matnr
    binary search.
                                       Endloop.
    It is a general practice to use           Read table <itab>…     This statement populates all the values of the structure in the workarea.
    The effect is many fold:-
    •     It increases the time to retrieve data from internal table
    •     There is large amount of unused data in work area
    •     It increases the processing time from work area later
    It is always a good practice to retrieve only the required fields. Always use the syntax      Read table <itab> transporting f1 f2  …  FN …          If just a check is being performed for existence of a record use      Read table <itab> transporting no fields …
    e.g.     Do not use the following statement:-
    data: i_vbak like vbak occurs 0 with header line.
    data: i_vbap like vbap occurs 0 with header line.
    Loop at i_vbak.
         read table i_vbap with key
    vbeln = i_vbak-vbeln binary search.
         If sy-subrc = 0 and i_vbap-posnr = ‘00010’.
         endif.
    Endloop.
    Instead use the following statement:-
    data: i_vbak like vbak occurs 0 with header line.
    data: i_vbap like vbap occurs 0 with header line.
    Loop at i_vbak.
                                  read table i_vbap transporting posnr with key
    vbeln = i_vbak-vbeln binary search.
                                  If sy-subrc = 0 and i_vbap-posnr = ‘00010’.
                                  endif.
    Endloop.
    There are many ways in which a select statement can be optimized. Effective use of primary and secondary indexes is one of them. Very little attention is paid especially to the secondary indexes. The following points should be noted before writing a select statement:-
    •     Always use the fields in the where clause in the same order as the keys in the database table
    •     Define the secondary indexes in the database for the fields which are most frequently used in the programs
    •     Always try to use the best possible secondary index in the where clause if it exists
    •     Do not have many secondary indexes defined for a table
    •     Use as many keys both primary and secondary as possible to optimize data retrieval
    As of release 4.5 it is now possible to define the secondary index in the where clause using %_HINT.
    e.g.     Do not use the following statement:-
         Assuming a secondary index is defined on the field vkorg in table vbak
         Select vbeln vkorg from vbak
              Into table i_vbak
              Where vbeln in s_vbeln.
         Loop at i_vbak.
              Case i_vbak-vkorg.
              When ‘IJI1’.
              When ‘IJI2’.
              Endcase.
         Endloop.
    Instead use the following statement:-
                                       Select vbeln vkorg from vbak
                                            Into table i_vbak
                                            Where vbeln in s_vbeln and
                                                 Vkorg in (‘IJI1’,’IJI2’).
                                       Loop at i_vbak.
                                            Case i_vbak-vkorg.
                                            When ‘IJI1’.
                                            When ‘IJI2’.
                                            Endcase.
                                       Endloop.

  • Accessing huge tables like bseg,  bkpf

    1) What are the precautions we should consider while accessing huge tables like bseg, bkpf or mseg tables.

    Hi,
    Some tips may be:
    1)
    Write the Select statements covering all( or almost all ) the primary keys in the same order as defined in the DB table in the WHERE clause.
    2)
    Incase, if you were using the fields that were not in the Primary key of the DB table, create Secondary indexes on these fields.
    3)
    Always try using an Array fetch of the records on the table instead of going for Select & Endselect....
    Thanks,
    Vishnu.

  • Performance problems due to sequential read on tables WBCROSSGT and CROSS

    Hello all,
    got the SAPNW2004s Sneak Preview ABAP installed. Performance is quite ok. But with certain dictionary operations like creating new attributes for a class I experience exceptional long runtimes and timeout dumps. In SM50 I see a sequential read on table WBCROSSGT. In OSS I can't find anything applicable yet for this release  (SAP_BASIS 700, support level 5).
    Any suggestions appreciated.
    Simon

    Hello,
    i had exactly the same problem after upgrading from MS SQL 2005 to MS SQl 2008 R2.
    Our DEV system was almost completely exhausted and normal operation wasn't possible anymore.
    SAP Note 1479008 solved the issue, even it is only "released" for MaxDB.
    Cheers, Christoph

  • Help to read a table with data source and convert time stamp

    Hi Gurus,
      I have a req and need to write a ABAP prog. As soon as i excute ABAP program it should ask me enter a data source name, then my ABAP prog has excute teh code, in ABAP code i have to read a table with this data source as key, sort time stamp from table and should display the data source and time stamp as output.
    As follows:
    Enter Data Source Name: 
    Then user enters : 2lis_11_vahdr
    Then out put should be "Data source  :"  10-15-2008.
    The time stamp format in table is 20,050,126,031,520 (YYYYMMDDhhmmss). I have to display as 05-26-2005. Any help would be apprciated.
    Thanks,
    Ram

    Hi Jayanthi Babu Peruri,
    I tried to extract YEAR, MONTH, DAY separately and using
    EDIT MASK written it.
    Definitely there will be some STANDARD CONVERSION ROUTINE will be there. But no idea about it.
    DATA : V_TS      TYPE TIMESTAMP,
           V_TS_T    TYPE CHAR16,
           V_YYYY    TYPE CHAR04,
           V_MM      TYPE CHAR02,
           V_DD      TYPE CHAR02.
    START-OF-SELECTION.
      GET TIME STAMP FIELD V_TS.
      V_TS_T = V_TS.
      CONDENSE V_TS_T.
      V_YYYY = V_TS_T.
      V_MM   = V_TS_T+4(2).
      V_DD   = V_TS_T+6(2).
      V_TS_T(2) = V_MM.
      V_TS_T+2(2) = V_DD.
      V_TS_T+4(4) = V_YYYY.
      SKIP 10.
      WRITE : /10 V_TS," USING EDIT MASK '____-__-________'.
              /10 V_YYYY,
              /10 V_MM,
              /10 V_DD,
              /10 V_TS_T USING EDIT MASK '__-__-__________'.
    If you want DATE alone, just declare the length of V_TS_T as 10.
    Regards,
    R.Nagarajan.
    We can -

  • Read-only table with a LOV on a VO's attribute

    Hi,
    I have a VO ('X') that is displayed as a read-only table. 'X' has an attribute called 'SubscriptionId'. The value of 'SubscriptionId' is a foreign key to another table called 'Subscription'. My 'Subscription' database table has a column named 'Description'.
    Example:
    'X' has an attribute 'SubscriptionId' = 14
    DB table 'Subscription' has a row that looks like this:
    14, "A subscription description" (where "A subscription description" is the 'Description' column)
    I set up a LOV for 'SubscriptionId' on my VO 'X', so that it should show the value of 'Description' from 'Subscription' instead of the 'SubscriptionId'.
    If I display my VO 'X' as a form, I can see my LOV (for 'Description').
    However, when I display my VO ('X') as a read-only table, it isn't adhering to the LOV I defined on my VO, and is instead showing the 'SubscriptionId'.
    What do I need to do differently on my table to show the 'Description' instead of the foreign key 'SubscriptionId'? I want it to be just an output text of the Description, not a choice list.
    Thanks,
    Joel

    Hi
    In simple way just set the ReadOnly property of choice list in the coloum = true
    for example
    <af:column sortProperty="EmpId" sortable="true"
    headerText="#{bindings.DocTransactionView1.hints.EmpId.label}"
    id="c2" align="center">
    <af:selectOneChoice value="#{row.bindings.EmpId.inputValue}"
    label="#{row.bindings.EmpId.label}"
    required="#{bindings.DocTransactionView1.hints.EmpId.mandatory}"
    shortDesc="#{bindings.DocTransactionView1.hints.EmpId.tooltip}"
    id="soc4" readOnly="true">
    <f:selectItems value="#{row.bindings.EmpId.items}" id="si3"/>
    </af:selectOneChoice>
    </af:column>

  • How to get a list of displayed columns from a UIX read only table

    I am using JDev 9.0.5.2 ADF UIX. Is there a way to get all the columns and/or column labels displayed in a UIX read only table? I would like to be able to do this in my DataForwardAction.

    Please don't post the same question multiple times.

  • UIX: How to add linked view table columns to the Read-only table

    Hi
    I have two tables
    T1: ID, STAFF_ID, NOTE
    T2: STAFF_ID, USERNAME
    I have created corresponding entity objects (E1, E2), views (V1, V2), association A(E1->E2 as *..1 using STAFF_ID) and viewlink VL(V1->V2 as *..1 using association A).
    My model in AppModule looks like
    V1
    ----V2 via VL
    Now I have single UIX page in which I drop V1 as Read-only table. The table displays columns correctly: ID, STAFF_ID, NOTE
    What I want is to add a column STAFF_ID from the V2 into this table. I have tried to drop it into the table but when the page is run it does not display anything in that column. It has to do something with binding.
    I have done similar test with dropping V1 as read-only FORM and then added STAFF_ID from V2 as messageTextInput and everything is rendered correctly.
    Anyone knows how to do the same thing but with table?

    Yes that is true but I would like to give another example where this may not apply.
    Say I have 3 tables
    CLIENT(INDIVIDUAL_ID,...)
    ADDRESS(ADDRESS_ID,...)
    ADDRESS_HISTORY(ADDRESS_ID, INDIVIDUAL_ID,BEST_ADDRESS)
    where ADDRESS_HISTORY is intersection table in CLIENT to ADDRESS many to many relationship.
    Suppose I have VO2 that consists of ADDRESS and ADDRESS_HISTORY entities (corresponding association exists) and user needs to add new address for the selected customer in VO1 (made from CLIENT entity). There are several issues here:
    1) An input form made out of VO2 must contain an entry for BEST_ADDRESS flag but since it will be read-only, seems that this approach may not work. However, I found a post re:Updating view objects with multiple entities that provides workaround this.
    2) In that case assume that I use DBSequence to automatically add ADDRESS_ID when user inputs new record in this input form. I am using DB Trigger on ADDRESS table and have selected ADDRESS_ID in ADDRESS entity as DBSequence. Now observe that VO2 would contain another ADDRESS_ID from ADDRESS_HISTORY entity which has to be automatically populated with the same value. How?
    In a nutshell my question relates to the problem how to automatically populate intersection table when new record is added to the detail. But the trick is that some attributes of the intersection table must be inserted by the user in the form..
    Please advise

  • Need to Add and Remove Columns of ADF Read Only table from Backing bean

    I have a scenario where I am trying to Populate TransientVO which is shown has a ADF Read Only Table in page.
    I have couple of Check Boxes Based on their selection I am trying to render and hide certain Columns.
    But the Issue which I am facing is only the Column Header seems to change where as the Rows and Values doesnt..
    even If I apply the expression language rendering condition on the outputText inside those columns.. ..
    So I am thinking to add and remove VO Attribute columns to the table from backing bean.
    Need some sample code snippet or a better design to achieve this. Its kind of urgent too...having an aggressive deadline :(
    Please chip in People..
    Thanks in Advance .
    TK

    Table Code..
    <af:table value="#{bindings.InventoryGridTrans.collectionModel}"
                                    var="row"
                                    rows="#{bindings.InventoryGridTrans.rangeSize}"
                                    emptyText="#{bindings.InventoryGridTrans.viewable ? 'No data to display.' : 'Access Denied.'}"
                                    fetchSize="#{bindings.InventoryGridTrans.rangeSize}"
                                    rowBandingInterval="0" id="t4"
                                    partialTriggers="::sbcSales ::sbcUsage ::cb1">
                            <af:column sortProperty="Period" sortable="false"
                                       headerText="#{bindings.InventoryGridTrans.hints.Period.label}"
                                       id="c38">
                              <af:outputText value="#{row.Period}" id="ot33"/>
                            </af:column>
                            <af:column sortProperty="Past12SalesCount"
                                       sortable="false"
                                       headerText="#{bindings.InventoryGridTrans.hints.Past12SalesCount.label}"
                                       id="c29"
                                       rendered="#{backingBeanScope.IndexPageBackingBean.onUsage != true and backingBeanScope.IndexPageBackingBean.onSales == true}">
                              <af:outputText value="#{row.Past12SalesCount}"
                                             id="ot40"
                                             rendered="#{backingBeanScope.IndexPageBackingBean.onUsage != true and backingBeanScope.IndexPageBackingBean.onSales == true}"
                                             visible="#{backingBeanScope.IndexPageBackingBean.onUsage != true and backingBeanScope.IndexPageBackingBean.onSales == true}">
                                <af:convertNumber groupingUsed="false"
                                                  pattern="#{bindings.InventoryGridTrans.hints.Past12SalesCount.format}"/>
                              </af:outputText>
                            </af:column>
                            <af:column sortProperty="Past12UsageCount"
                                       sortable="false"
                                       headerText="#{bindings.InventoryGridTrans.hints.Past12UsageCount.label}"
                                       id="c40"
                                       rendered="#{backingBeanScope.IndexPageBackingBean.onUsage == true and backingBeanScope.IndexPageBackingBean.onSales != true}"
                                       visible="#{backingBeanScope.IndexPageBackingBean.onUsage == true and backingBeanScope.IndexPageBackingBean.onSales != true}">
                              <af:outputText value="#{row.Past12UsageCount}"
                                             id="ot47"
                                             rendered="#{backingBeanScope.IndexPageBackingBean.onUsage == true and backingBeanScope.IndexPageBackingBean.onSales != true}"
                                             visible="#{backingBeanScope.IndexPageBackingBean.onUsage == true and backingBeanScope.IndexPageBackingBean.onSales != true}">
                                <af:convertNumber groupingUsed="false"
                                                  pattern="#{bindings.InventoryGridTrans.hints.Past12UsageCount.format}"/>
                              </af:outputText>
                            </af:column>
                            </af:column>
                    </af:table>

  • Read only table not displaying data

    hi my read only table is not dispalying data when the page load,am in jdeveloper 11.1.1.6.0
    <af:query id="qryId1" headerText="Search" disclosed="true"
                          value="#{bindings.ImplicitViewCriteriaQuery.queryDescriptor}"
                          model="#{bindings.ImplicitViewCriteriaQuery.queryModel}"
                          queryListener="#{bindings.ImplicitViewCriteriaQuery.processQuery}"
                          queryOperationListener="#{bindings.ImplicitViewCriteriaQuery.processQueryOperation}"
                          partialTriggers="::t1"/>
              </af:panelHeader>
              <af:panelGroupLayout id="pgl1" halign="left" valign="middle"
                                   layout="vertical" inlineStyle="width:1806px;">
                <af:table value="#{bindings.CfgTablesView1.collectionModel}"
                          var="row" rows="#{bindings.CfgTablesView1.rangeSize}"
                          emptyText="#{bindings.CfgTablesView1.viewable ? 'No data to display.' : 'Access Denied.'}"
                          fetchSize="#{bindings.CfgTablesView1.rangeSize}"
                          rowBandingInterval="0" id="t1" width="705"
                          inlineStyle="height:500px;">
                  <af:column sortProperty="Tablename" sortable="false"
                             headerText="#{bindings.CfgTablesView1.hints.Tablename.label}"
                             id="c1">
                    <af:outputText value="#{row.Tablename}" id="ot1"/>
                  </af:column>
                  <af:column sortProperty="Description" sortable="false"
                             headerText="#{bindings.CfgTablesView1.hints.Description.label}"
                             id="c2">
                    <af:outputText value="#{row.Description}" id="ot2"/>
                  </af:column>
                </af:table>it show no data to display even if there is data in the database
    Edited by: adf0994 on 2012/11/15 9:43 AM
    Edited by: adf0994 on 2012/11/15 9:45 AM
    Edited by: adf0994 on 2012/11/15 10:02 AM
    Edited by: adf0994 on 2012/11/15 10:09 AM

    ok i did that is working,but the problem is when the page load it does not display data,i have to click search button and on my query panel and click refersh than able to see data
    <?xml version='1.0' encoding='UTF-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
              xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
              xmlns:f="http://java.sun.com/jsf/core">
      <af:panelHeader text="Maintain Schema" id="ph1"
                      inlineStyle="height:853px; border-color:Lime; border-style:ridge;">
        <f:facet name="context"/>
        <f:facet name="menuBar"/>
        <f:facet name="toolbar">
          <af:outputLabel value="CF-L-017" id="ol1"/>
        </f:facet>
        <f:facet name="legend"/>
        <f:facet name="info"/>
        <af:panelStretchLayout id="psl1" inlineStyle="width:1869px; height:801px;"
                               bottomHeight="345px">
          <f:facet name="bottom">
            <af:panelGroupLayout layout="scroll"
                                 xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
                                 id="pgl3" inlineStyle="width:1950px;">
              <af:panelStretchLayout id="psl2"
                                     inlineStyle="width:1861px; height:376px;"
                                     endWidth="4px">
                <f:facet name="center">
                  <af:panelHeader text="Fields" id="ph6"
                                  inlineStyle="height:500px; border-color:Lime; border-style:ridge;">
                    <f:facet name="context"/>
                    <f:facet name="menuBar"/>
                    <f:facet name="toolbar"/>
                    <f:facet name="legend"/>
                    <f:facet name="info"/>
                    <af:table value="#{bindings.CfgFieldsView1.collectionModel}"
                              var="row" rows="#{bindings.CfgFieldsView1.rangeSize}"
                              emptyText="#{bindings.CfgFieldsView1.viewable ? 'No data to display.' : 'Access Denied.'}"
                              fetchSize="#{bindings.CfgFieldsView1.rangeSize}"
                              rowBandingInterval="0"
                              selectedRowKeys="#{bindings.CfgFieldsView1.collectionModel.selectedRow}"
                              selectionListener="#{bindings.CfgFieldsView1.collectionModel.makeCurrent}"
                              rowSelection="single" id="t2"
                              partialTriggers="::cb2 ::cb5 ::cb6 ::cb4 ::cb3 ::t1"
                              inlineStyle="height:164px;" columnStretching="last"
                              width="918">
                      <af:column sortProperty="Fieldlabel" sortable="true"
                                 headerText="#{bindings.CfgFieldsView1.hints.Fieldlabel.label}"
                                 id="c7">
                        <af:outputText value="#{row.Fieldlabel}" id="ot4"/>
                      </af:column>
                      <af:column sortProperty="Format" sortable="true"
                                 headerText="#{bindings.CfgFieldsView1.hints.Format.label}"
                                 id="c4">
                        <af:outputText value="#{row.Format}" id="ot7"/>
                      </af:column>
                      <af:column sortProperty="Type" sortable="true"
                                 headerText="#{bindings.CfgFieldsView1.hints.Type.label}"
                                 id="c3">
                        <af:outputText value="#{row.Type}" id="ot6"/>
                      </af:column>
                      <af:column sortProperty="Length" sortable="true"
                                 headerText="#{bindings.CfgFieldsView1.hints.Length.label}"
                                 id="c6">
                        <af:outputText value="#{row.Length}" id="ot3">
                          <af:convertNumber groupingUsed="false"
                                            pattern="#{bindings.CfgFieldsView1.hints.Length.format}"/>
                        </af:outputText>
                      </af:column>
                      <af:column sortProperty="Fielddescription" sortable="true"
                                 headerText="#{bindings.CfgFieldsView1.hints.Fielddescription.label}"
                                 id="c5">
                        <af:outputText value="#{row.Fielddescription}" id="ot5"/>
                      </af:column>
                    </af:table>
                    <af:panelHeader text="Details" id="ph4"
                                    inlineStyle="height:191px; border-style:ridge; border-color:Lime;">
                      <f:facet name="context"/>
                      <f:facet name="menuBar"/>
                      <f:facet name="toolbar"/>
                      <f:facet name="legend"/>
                      <f:facet name="info"/>
                      <af:panelFormLayout id="pfl1" maxColumns="2" rows="3"
                                          partialTriggers="t1"
                                          inlineStyle="width:589px;">
                        <af:inputText value="#{bindings.Fieldlabel.inputValue}"
                                      label="#{bindings.Fieldlabel.hints.label}"
                                      required="#{bindings.Fieldlabel.hints.mandatory}"
                                      columns="20"
                                      maximumLength="#{bindings.Fieldlabel.hints.precision}"
                                      shortDesc="#{bindings.Fieldlabel.hints.tooltip}"
                                      id="it4">
                          <f:validator binding="#{bindings.Fieldlabel.validator}"/>
                        </af:inputText>
                        <af:inputText value="#{bindings.Format.inputValue}"
                                      label="#{bindings.Format.hints.label}"
                                      required="#{bindings.Format.hints.mandatory}"
                                      columns="20"
                                      maximumLength="#{bindings.Format.hints.precision}"
                                      shortDesc="#{bindings.Format.hints.tooltip}"
                                      id="it3">
                          <f:validator binding="#{bindings.Format.validator}"/>
                        </af:inputText>
                        <af:selectOneChoice value="#{bindings.Type.inputValue}"
                                            label="#{bindings.Type.label}"
                                            required="#{bindings.Type.hints.mandatory}"
                                            shortDesc="#{bindings.Type.hints.tooltip}"
                                            id="soc1">
                          <f:selectItems value="#{bindings.Type.items}" id="si1"/>
                        </af:selectOneChoice>
                        <af:inputText value="#{bindings.Length.inputValue}"
                                      label="#{bindings.Length.hints.label}"
                                      required="#{bindings.Length.hints.mandatory}"
                                      columns="20"
                                      maximumLength="#{bindings.Length.hints.precision}"
                                      shortDesc="#{bindings.Length.hints.tooltip}"
                                      id="it2">
                          <f:validator binding="#{bindings.Length.validator}"/>
                          <af:convertNumber groupingUsed="false"
                                            pattern="#{bindings.Length.format}"/>
                        </af:inputText>
                        <af:inputText value="#{bindings.Fielddescription.inputValue}"
                                      label="#{bindings.Fielddescription.hints.label}"
                                      required="#{bindings.Fielddescription.hints.mandatory}"
                                      columns="20"
                                      maximumLength="#{bindings.Fielddescription.hints.precision}"
                                      shortDesc="#{bindings.Fielddescription.hints.tooltip}"
                                      id="it1">
                          <f:validator binding="#{bindings.Fielddescription.validator}"/>
                        </af:inputText>
                        <f:facet name="footer">
                          <af:panelGroupLayout layout="vertical" id="pgl5">
                            <af:panelGroupLayout layout="horizontal" id="pgl2">
                              <af:commandButton actionListener="#{bindings.First.execute}"
                                                text="First"
                                                partialSubmit="true" id="cb2"/>
                              <af:commandButton actionListener="#{bindings.CreateInsert.execute}"
                                                text="Add New"
                                                id="cb5"/>
                              <af:commandButton actionListener="#{bindings.Commit.execute}"
                                                text="Save"
                                                id="cb7"/>
                              <af:commandButton actionListener="#{bindings.Delete.execute}"
                                                text="Delete"
                                                id="cb6"/>
                              <af:commandButton actionListener="#{bindings.Next.execute}"
                                                text="Next"
                                                partialSubmit="true" id="cb4"/>
                              <af:commandButton actionListener="#{bindings.Last.execute}"
                                                text="Last"
                                                partialSubmit="true" id="cb3"/>
                            </af:panelGroupLayout>
                            <af:commandButton text="Submit" id="cb1"/>
                          </af:panelGroupLayout>
                        </f:facet>
                      </af:panelFormLayout>
                    </af:panelHeader>
                  </af:panelHeader>
                </f:facet>
                <f:facet name="end"/>
              </af:panelStretchLayout>
            </af:panelGroupLayout>
          </f:facet>
          <f:facet name="center">
            <af:panelHeader text="Tables" id="ph2"
                            inlineStyle="height:500px; border-color:Lime; border-style:ridge;">
              <f:facet name="context"/>
              <f:facet name="menuBar"/>
              <f:facet name="toolbar"/>
              <f:facet name="legend"/>
              <f:facet name="info"/>
              <af:panelHeader text="Filter" id="ph3"
                              inlineStyle="height:165px; border-style:ridge; border-color:Lime;">
                <f:facet name="context"/>
                <f:facet name="menuBar"/>
                <f:facet name="toolbar"/>
                <f:facet name="legend"/>
                <f:facet name="info"/>
                <af:query id="qryId1" headerText="Search" disclosed="true"
                          value="#{bindings.ImplicitViewCriteriaQuery.queryDescriptor}"
                          model="#{bindings.ImplicitViewCriteriaQuery.queryModel}"
                          queryListener="#{bindings.ImplicitViewCriteriaQuery.processQuery}"
                          queryOperationListener="#{bindings.ImplicitViewCriteriaQuery.processQueryOperation}"
                          partialTriggers="::t1"/>
              </af:panelHeader>
              <af:panelGroupLayout id="pgl1" halign="left" valign="middle"
                                   layout="vertical"
                                   inlineStyle="width:1796px; height:298px;">
                <af:table value="#{bindings.CfgTablesView11.collectionModel}"
                          var="row" rows="#{bindings.CfgTablesView11.rangeSize}"
                          emptyText="#{bindings.CfgTablesView11.viewable ? 'No data to display.' : 'Access Denied.'}"
                          fetchSize="#{bindings.CfgTablesView11.rangeSize}"
                          rowBandingInterval="0" id="t1" width="833"
                          inlineStyle="height:186px;" columnStretching="last"
                          columnSelection="multiple"
                          partialTriggers="::cb8 ::cb10 ::cb9"
                          rowSelection="single"
                          selectedRowKeys="#{bindings.CfgTablesView11.collectionModel.selectedRow}"
                          selectionListener="#{bindings.CfgTablesView11.collectionModel.makeCurrent}">
                  <af:column sortProperty="Tablename" sortable="true"
                             headerText="#{bindings.CfgTablesView11.hints.Tablename.label}"
                             id="c2">
                    <af:outputText value="#{row.Tablename}" id="ot2"/>
                  </af:column>
                  <af:column sortProperty="Description" sortable="true"
                             headerText="#{bindings.CfgTablesView11.hints.Description.label}"
                             id="c1">
                    <af:outputText value="#{row.Description}" id="ot1"/>
                  </af:column>
                </af:table>
                <af:panelFormLayout id="pfl2" maxColumns="3" rows="1">
                  <f:facet name="footer"/>
                  <af:panelGroupLayout id="pgl6" layout="horizontal" valign="middle"
                                       halign="right" inlineStyle="width:1228px;">
                    <af:inputText value="#{bindings.Tablename.inputValue}"
                                  label="#{bindings.Tablename.hints.label}"
                                  required="#{bindings.Tablename.hints.mandatory}"
                                  columns="#{bindings.Tablename.hints.displayWidth}"
                                  maximumLength="#{bindings.Tablename.hints.precision}"
                                  shortDesc="#{bindings.Tablename.hints.tooltip}"
                                  id="it5">
                      <f:validator binding="#{bindings.Tablename.validator}"/>
                    </af:inputText>
                    <af:inputText value="#{bindings.Description.inputValue}"
                                  label="#{bindings.Description.hints.label}"
                                  required="#{bindings.Description.hints.mandatory}"
                                  columns="#{bindings.Description.hints.displayWidth}"
                                  maximumLength="#{bindings.Description.hints.precision}"
                                  shortDesc="#{bindings.Description.hints.tooltip}"
                                  id="it6">
                      <f:validator binding="#{bindings.Description.validator}"/>
                    </af:inputText>
                    <af:commandButton text="Add New" id="cb8"
                                      actionListener="#{bindings.CreateInsert1.execute}"/>
                    <af:commandButton actionListener="#{bindings.Commit.execute}"
                                      text="Save" id="cb9"/>
                    <af:commandButton actionListener="#{bindings.Delete1.execute}"
                                      text="Delete" id="cb10"/>
                  </af:panelGroupLayout>
                </af:panelFormLayout>
              </af:panelGroupLayout>
            </af:panelHeader>
          </f:facet>
        </af:panelStretchLayout>
      </af:panelHeader>
    </jsp:root>

  • Read only table issue

    By default, read only table should take selected row as current row as long as we have
    selectedRowKeys & selectionListener within table definition. But, it doesn't, why?
    How to resolve this issue? Thanks.

    you can verify your selectionListener event by creating your own custom selection listener
    public void mySelectionListener(SelectionEvent selectionEvent) {
    FacesContext fc = FacesContext.getCurrentInstance();
    String me = "#{bindings.myViewObject1.collectionModel.makeCurrent}"
    MethodExpression myMethodExpr = fc.getApplication().getExpressionFactory().createMethodExpression(fc.getELContext(),me, null, new Class[] {SelectionEvent.class});
    myMethodExpr.invoke(fc.getElContext(), new Object[] {selectionEvent});
    RowKeySet rwKeySet = selectionEvent.getAddedSet();
    and in your jspx <af:table selectionListener="#{package1.view.backing_myBackingBean.mySelectionListener}"/>
    by that way you can atlest verify whats wrong... ,hope this helps,

  • Unable to read E$ table records into excel file in linux machine

    Hi
    I am using below code in ODI procedure to read E$ table record and store it in excel file
    ODI Procedure: Technology=Java Beanshall and Command on Target I written below code and placed it in CKM Oracle KM
    <@
    String OS = System.getProperty("os.name").toLowerCase();
    String v_path="";
    if((OS.indexOf("win") >= 0))
    v_path="D:\Unload_Dir\<%=snpRef.getSession("SESS_NO")%>.xlsx";
    else if (OS.indexOf("mac") >= 0)
    v_path="path details";
    else if (OS.indexOf("nix") >= 0 || OS.indexOf("nux") >= 0 || OS.indexOf("aix") > 0 )
    v_path="/odi_a/oracle/Middleware/logs/wcds/odi_logs/<%=snpRef.getSession("SESS_NO")%>.xlsx";
    else if (OS.indexOf("sunos") >= 0)
    v_path="soliaris path";
    @>
    OdiSqlUnload "-FILE=<@=v_path@>" "-DRIVER=<%=odiRef.getInfo("DEST_JAVA_DRIVER")%>" "-URL=<%=odiRef.getInfo("DEST_JAVA_URL")%>" "-USER=<%=odiRef.getInfo("DEST_USER_NAME")%>" "-PASS=<%=odiRef.getInfo("DEST_ENCODED_PASS")%>" "-FILE_FORMAT=VARIABLE" "-ROW_SEP=\r\n" "-DATE_FORMAT=yyyy/MM/dd HH:mm:ss" "-CHARSET_ENCODING=ISO8859_1" "-XML_CHARSET_ENCODING=ISO-8859-1"
    select * from <%=odiRef.getTable("L","ERR_NAME", "W")%>
    But is not reading the data into .xlsx file ,
    Please help me it is very urgent
    Can I use below code
    String os = "";
    if (System.getProperty("os.name").toLowerCase().indexOf("windows") > -1) {
    os = "windows";
    } else if (System.getProperty("os.name").toLowerCase().indexOf("linux") > -1) {
    os = "linux";
    } else if (System.getProperty("os.name").toLowerCase().indexOf("mac") > -1) {
    os = "mac";
    T
    his is high priority, please help me urgent
    Regards,
    Phanikanth
    Edited by: Phanikanth on Feb 28, 2013 5:43 AM
    Edited by: Phanikanth on Feb 28, 2013 6:00 AM
    Edited by: Phanikanth on Feb 28, 2013 7:42 AM

    Hi,
    can you describe what is happening when you run the ODI procedure described below:
    - Does the procedure fail with an error, if yes, which error(full details)?
    - Does the procedure pass but no xslx file is been created?
    - Does the procedure pass and an xslx file is been created, but Excel can't read it? If yes, what is the structure of the xslx file when read in an editor?
    What I can see from your code below is that you have choosen -FILE_FORMAT=VARIABLE, but the XSLX format is supposed to be XML.
    Regards,
    Alex

Maybe you are looking for

  • IPhone 5 not getting all texts from Galaxy S6

    My girlfriend is having a problem not getting all of my texts. As far as we know, it is only happening to texts from my phone. They are showing as sent on the Galaxy S6, but do not show up, ever, on her iPhone 5. The missing messages are random. 

  • Will 9.2.2 Successfully Install On;

    9.2.2 vanished on 6gb internal hard drive for power mac blue and white. I should not have turned on Full Java Script when using Clasilla. They said it is in development and not recommended. http://www.floodgap.com/software/classilla/ somewhere on tha

  • HT2506 See Preview PDF edits on iPad

    I love Preview.  Use it all of the time.  Catch for me now is that I cannot see the edits made on various apps on iPad.  It's like they are not there.  What do others do for this? Just yesterday (4/7/13) I added an annotation to a pdf in Preview, upl

  • Secondary exposure correction?

    Is there any way to correct spot exposure problems [ie. clipping] like you can correct secondary color with Three-Way Color Corrector? I have a clip where a white box that reflects too much--it moves, so I need the exposure correction to move as well

  • How To Move Recovery Partition in between System & Data Partition To Extend System Partition?

    Hello, I have recently purchase an ASUS S400CA Ultra Notebook and the hard drive has 1)EFI Partition & 3) Recovery Partitions with one of the recovery partitions being in between C:/ System & D:/Data partition. I am wanting to delete the D:/Data part