Mappings Creation Performance Issue:

Mappings Creation Performance Issue
I am having a performance problem when linking attributes from Splitter Transformation (has app. 80 input ports and 9 different filter condition for 9 target tables) to other transformations. It takes app. 6 minutes to link one attribute from Splitter Transformation to other transformations; generally it should take less than a second. This is the problem only with Splitter Transformation, other transformations works very well.
Any thoughts on this will be very helpful.
Thanks
Ragu Mandala

Ragu,
Unfortunately this issue was introduced in 9.0.3.36.3 (lower versions did not have this... 'feature'). The issue has been rolled into the 9.2.0.3 version, but there is no backport for 9.0.3.
Any chance you can migrate to 9.2? or go back to 9.0.3.35?
Mark.

Similar Messages

  • MAT View Creation Performance Issue

    Hello Experts,
    Below query is executing approximately in 1-3 sec.
    select
    COMMITMENT_ID,
    FUNDING_RULE_ID,
    reporting_year||'-'||reporting_period as RepPeriod,
    GET_START_DAY_OF_PERIOD (FUNDING_RULE_ID, reporting_year, reporting_period) START_DAY_OF_PERIODt,
    GET_END_DAY_OF_PERIOD(FUNDING_RULE_ID, reporting_year, reporting_period) END_DAY_OF_PERIOD
    from
      (select
      COMMITMENT_ID,
      FR_ID as FUNDING_RULE_ID,
      COMT_START_DATE,
      --COMT_TERMINATION_DATE,
      GETREPYEARFROMDATE(COMT_START_DATE,FR_ID) as reporting_year,
      GETREPORTINGPERIOD(to_char(COMT_START_DATE, 'mm') ,FR_ID) as  reporting_period
      from
        select
        COMMITMENT_ID,
        COMT_START_DATE,
        --COMT_TERMINATION_DATE,
        COALESCE(CB_FUNDING_RULE_ID,NC_FUNDING_RULE_ID) FR_ID
        from
        (COMMITMENT_TABLE left outer join (CHILD_BENEFICIARY_TABLE left outer join FUNDING_RULE_TABLE a on
        a.FUNDING_RULE_ID = CB_FUNDING_RULE_ID )
        on COMT_BENEFICIARY_REF = CB_BENEFICIARY_REF
        left outer join (NON_CHILD_BENEFICIARY_TABLE left outer join FUNDING_RULE_TABLE b on
        b.FUNDING_RULE_ID = NC_FUNDING_RULE_ID)
        on
         COMT_BENEFICIARY_REF = NC_BENEFICIARY_REF)
    The query is returning 4.5 lacks of rows.
    I want to create a MAT view by using above query and refresh this on daily basis.
    But the MAT view creation is taking more time near about 401sec (6.68min).
    Why the MAT view is taking more time?
    MAT_VIEW
    CREATE MATERIALIZED VIEW "REP_PERIOD_START_END_DATE"
    AS select
    COMMITMENT_ID,
    FUNDING_RULE_ID,
    reporting_year||'-'||reporting_period as RepPeriod,
    GET_START_DAY_OF_PERIOD (FUNDING_RULE_ID, reporting_year, reporting_period) START_DAY_OF_PERIODt,
    GET_END_DAY_OF_PERIOD(FUNDING_RULE_ID, reporting_year, reporting_period) END_DAY_OF_PERIOD
    from
      (select
      COMMITMENT_ID,
      FR_ID as FUNDING_RULE_ID,
      COMT_START_DATE,
      --COMT_TERMINATION_DATE,
      GETREPYEARFROMDATE(COMT_START_DATE,FR_ID) as reporting_year,
      GETREPORTINGPERIOD(to_char(COMT_START_DATE, 'mm') ,FR_ID) as  reporting_period
      from
        select
        COMMITMENT_ID,
        COMT_START_DATE,
        --COMT_TERMINATION_DATE,
        COALESCE(CB_FUNDING_RULE_ID,NC_FUNDING_RULE_ID) FR_ID
        from
        (COMMITMENT_TABLE left outer join (CHILD_BENEFICIARY_TABLE left outer join FUNDING_RULE_TABLE a on
        a.FUNDING_RULE_ID = CB_FUNDING_RULE_ID )
        on COMT_BENEFICIARY_REF = CB_BENEFICIARY_REF
        left outer join (NON_CHILD_BENEFICIARY_TABLE left outer join FUNDING_RULE_TABLE b on
        b.FUNDING_RULE_ID = NC_FUNDING_RULE_ID)
        on
         COMT_BENEFICIARY_REF = NC_BENEFICIARY_REF)
    Is there any way to make the MAT view creation within 3 minutes?

    CREATE MATERIALIZED VIEW "REP_PERIOD_START_END_DATE"
    AS
    with tab as
    select /*+ materialize */ commitment_id,
                           comt_start_date,
                           --COMT_TERMINATION_DATE,
                           coalesce (cb_funding_rule_id, nc_funding_rule_id)
                              fr_id
                      from (      commitment_table
                               left outer join
                                  (   child_beneficiary_table
                                   left outer join
                                      funding_rule_table a
                                   on a.funding_rule_id = cb_funding_rule_id)
                               on comt_beneficiary_ref = cb_beneficiary_ref
                            left outer join
                               (   non_child_beneficiary_table
                                left outer join
                                   funding_rule_table b
                                on b.funding_rule_id = nc_funding_rule_id)
                            on comt_beneficiary_ref = nc_beneficiary_ref)
    select commitment_id,
           funding_rule_id,
           reporting_year || '-' || reporting_period as repperiod,
           get_start_day_of_period (funding_rule_id,
                                    reporting_year,
                                    reporting_period)
              start_day_of_periodt,
           get_end_day_of_period (funding_rule_id,
                                  reporting_year,
                                  reporting_period)
              end_day_of_period
      from (select commitment_id,
                   fr_id as funding_rule_id,
                   comt_start_date,
                   --COMT_TERMINATION_DATE,
                   getrepyearfromdate (comt_start_date, fr_id) as reporting_year,
                   getreportingperiod (to_char (comt_start_date, 'mm'), fr_id)
                      as reporting_period
              from tab);

  • Portal Context Index Creation Performance issue

    Recreating Portal Context Indexes takes around 36 hours at our site (after portal upgrade from 3.0.9.8.2 to 3.0.9.8.5 as per release notes). I was following the Note:158368.1 to rebuild the indexes. Is there anything that i can do to tune this ?
    thanks
    subu

    Unfortunately indexing is generally a fairly intensive operation and can be time consuming.
    There are some things that you can do to optimize the performance of your database as a whole which may in turn help the performance of your indexing operation. Look at the Performance Guide and Reference book in the database documentation.
    Much of the time spent indexing is taken up by filtering binary documents and fetch content identified by URL attributes. In the case of the later, it might be worth checking in the ctx_user_index_errors view to ensure that you don't have a lot of URL requests that are timing out. The timeout is set to 30 seconds and if there are a lot or URLs where the host cannot be resolved or the fetch times out it might be costing a lot of time during the indexing operation. This is often the case if a proxy is required to reach the URLs but the proxy has not be configured correctly.

  • OLAP_TABLE performance issues

    Please advice. OLAP_TABLE performance is slow and SELECT did not return data after running for > 10 hours.
    ISSUES:
    (1) I started with only one measure and one dimension in the OLAP_TABLE statement and it returned data. However, when I added the remaining measures and dimensions, the statement never return data. The end user required all 20 measures and all 7 dimensions. How can I overcome the performance issue and get the data from the cube? Please HELP!
    (2) The cube is compressed. I read articles saying that OLAP_TABLE cannot use the LOOP keyword when cube is being compressed. I have already using MODEL keyword and the statement did not come back. How can I improve the performance and return data?
    (3) Can I create MV using OLAP_TABLE in 10g? If not, is there anyway to get around without MV because the VIEW is killing the performance so badly (it simply did not return and has to be killed manually).
    (4) I also used “AWM plug-in” to create the relational table view. However, all 20 measures and 7 dimensions must be included. It exceeded 4000 characters in single PL/SQL function parameter and caused the limitmap error. So the “AWM plug-in” did not work for me.
    Appreciate all of our help!
    (*) DATA
    1 Fact; 7 Dimensions; 1 cube; 20 measures
    POSITION_FACT - 9,387,384 rows
    DIM_BUSINESS_DAY - 2 rows - 1 hierarchy - 2 levels - 1 attribute
    DIM_INSTRUMENT_TYPE - 16 rows - 1 hierarchy - 2 levels - 1 attribute
    DIM_RISK_TYPE - 21 rows - 1 hierarchy - 2 levels - 1 attribute
    DIM_BOOK - 673 rows - 1 hierarchy - 10 levels - 2 attributes
    DIM_CURVE - 4,869 rows - 1 hierarchy - 6 levels - 1 attribute
    DIM_REFERENCE_ENTITY - 3,756 rows - 1 hierarchy - 7 levels - 3 attributes
    DIM_POSITION - 745,957 rows - 1 hierarchy - 2 levels - 9 attributes
    (*) CUBE CREATED IN AWM:
    fully pre-aggregated;
    used global composites;
    used compassion by integer;
    partition by business date;
    took minimum ~ 30 minutes to build the cube.
    ENVIRONMENT:
    (*) Oracle Database 10g Release 2 Patch Set 2 (10.2.0.3.0) 64-bit
    (*) 3 products installed in Oracle Home: Interim patches: 5746153 (OLAP 'A' patch), 5556081, 5557962
    (*) AWM 10.2.0.3.0A
    (*) SQL
    CREATE OR REPLACE VIEW vw_cube_bi_nrdb_vw_fl AS
    SELECT * FROM TABLE(OLAP_TABLE(
    'bi_nrdb DURATION SESSION',
    MEASURE am_value_total AS NUMBER FROM bi_nrdb_vw_total
    MEASURE am_value_03m AS NUMBER FROM bi_nrdb_vw_am_03m
    MEASURE am_value_06m AS NUMBER FROM bi_nrdb_vw_am_06m
    MEASURE am_value_09m AS NUMBER FROM bi_nrdb_vw_am_09m
    MEASURE am_value_01y AS NUMBER FROM bi_nrdb_vw_am_01y
    MEASURE am_value_18m AS NUMBER FROM bi_nrdb_vw_am_18m
    MEASURE am_value_02y AS NUMBER FROM bi_nrdb_vw_am_02y
    MEASURE am_value_03y AS NUMBER FROM bi_nrdb_vw_am_03y
    MEASURE am_value_04y AS NUMBER FROM bi_nrdb_vw_am_04y
    MEASURE am_value_05y AS NUMBER FROM bi_nrdb_vw_am_05y
    MEASURE am_value_06y AS NUMBER FROM bi_nrdb_vw_am_06y
    MEASURE am_value_07y AS NUMBER FROM bi_nrdb_vw_am_07y
    MEASURE am_value_08y AS NUMBER FROM bi_nrdb_vw_am_08y
    MEASURE am_value_09y AS NUMBER FROM bi_nrdb_vw_am_09y
    MEASURE am_value_10y AS NUMBER FROM bi_nrdb_vw_am_10y
    MEASURE am_value_12y AS NUMBER FROM bi_nrdb_vw_am_12y
    MEASURE am_value_15y AS NUMBER FROM bi_nrdb_vw_am_15y
    MEASURE am_value_20y AS NUMBER FROM bi_nrdb_vw_am_20y
    MEASURE am_value_30y AS NUMBER FROM bi_nrdb_vw_am_30y
    MEASURE am_value_40y AS NUMBER FROM bi_nrdb_vw_am_40y
    DIMENSION dim_business FROM dim_business_day WITH
    ATTRIBUTE dt_business FROM dim_business_day_long_description
    DIMENSION dim_risk_type FROM dim_risk_type WITH
    ATTRIBUTE id_risk_type FROM dim_risk_type_long_description
    DIMENSION dim_instrument_type FROM dim_instrument_type WITH
    ATTRIBUTE id_instrument_type FROM dim_instrument_type_long_description
    DIMENSION dim_book FROM dim_book WITH
    ATTRIBUTE nm_dim_book FROM dim_book_long_description
    ATTRIBUTE trader FROM dim_book_trader
    DIMENSION dim_reference_entity FROM dim_reference_entity WITH
    ATTRIBUTE nm_dim_reference_entity FROM dim_reference_entity_long_description
    ATTRIBUTE nm_spn_moody_rating FROM dim_reference_entity_spn_moody_rating
    ATTRIBUTE nm_spn_sp_rating FROM dim_reference_entity_spn_sp_rating
    DIMENSION dim_position FROM dim_position WITH
    ATTRIBUTE id_buysell FROM dim_position_buysell
    ATTRIBUTE id_coupon FROM dim_position_coupon
    ATTRIBUTE id_cusip FROM dim_position_cusip
    ATTRIBUTE id_isin FROM dim_position_isin
    ATTRIBUTE id_instrument_name FROM dim_position_instrument_name
    ATTRIBUTE id_maturity FROM dim_position_maturity
    ATTRIBUTE id_mtm FROM dim_position_mtm
    ATTRIBUTE id_notional FROM dim_position_notional
    MODEL
    DIMENSION BY (dim_business, dt_business, dim_risk_type, id_risk_type, dim_instrument_type, id_instrument_type,
    dim_book, nm_dim_book, trader, dim_reference_entity, nm_dim_reference_entity, nm_spn_moody_rating,
    nm_spn_sp_rating, dim_position, id_buysell, id_coupon, id_cusip, id_isin, id_instrument_name,
    id_maturity, id_mtm, id_notional)
    MEASURES (am_value_total, am_value_03m, am_value_06m, am_value_09m, am_value_01y,
    am_value_18m,am_value_02y, am_value_03y, am_value_04y, am_value_05y,
    am_value_06y, am_value_07y,am_value_08y, am_value_09y, am_value_10y,
    am_value_12y, am_value_15y, am_value_20y, am_value_30y, am_value_40y)
    RULES UPDATE SEQUENTIAL ORDER ();

    (1a) Thank you so much! The SQL “the CREATE OR REPLACE VIEW vw_cube_bi_nrdb_vw_fl…” the SQL I provided from my previous was the OLAP_STATEMENT I ran for > 10 hrs and killed manually. Please advice.
    I have business requirements to display all 7 dimensions and 20 measures for reporting. So I can’t really filter my dimensions much.
    (1b) Separately, I also follow your advice to add the WHERE clause after I created the VIEW vw_cube_bi_nrdb_vw_fl, see below statement and received error.
    SQL> select * from vw_cube_bi_nrdb_vw_fl
    where dt_business = '06/23/2008'
    and ID_RISK_TYPE ='CR01'
    and ID_INSTRUMENT_TYPE='VANILLA CDS'
    and dim_book='BOOK_63272279'
    AND dim_reference_entity='GFN_0113182'
    and dim_position='3645636' ;
    select * from vw_cube_bi_nrdb_vw_fl
    ERROR at line 1:
    ORA-32638: Non unique addressing in MODEL dimensions
    (4) I received below error when I ran “AWM plug-in” to create a VIEW from AWM. I have already uncheck fields that I do not need and only keeping the measures and dimensions I need. Sorry for the long err below:
    AUG-21-2008 12:14:47: . Creating view for cube BI_NRDB_AGGR
    AUG-21-2008 12:14:48: ..... generating limitmap for cube
    AUG-21-2008 12:14:48: ... generating limitmap for cube
    AUG-21-2008 12:14:48: ..... mapping table out of date for cube BI_NRDB_AGGR. Updating mapping table.
    AUG-21-2008 12:14:48: ... populating mapping for cube BI_NRDB_AGGR
    AUG-21-2008 12:14:48: ..... clearing mappings for the cube
    AUG-21-2008 12:14:48: ..... collecting metadata for measures in cube
    AUG-21-2008 12:14:48: ..... retrieving dimensions for the cube. Need limitmap for each dimension.
    AUG-21-2008 12:14:48: ... generating limitmap for DIM_BUSINESS_DAY
    AUG-21-2008 12:14:48: ..... mapping table out of date for dimension DIM_BUSINESS_DAY. Updating mapping table.
    AUG-21-2008 12:14:48: ... populating dimension map for DIM_BUSINESS_DAY
    AUG-21-2008 12:14:48: ..... clearing mappings for the dimension
    AUG-21-2008 12:14:48: ..... retrieving physical objects
    AUG-21-2008 12:14:48: ..... checking for value hierarchies
    AUG-21-2008 12:14:48: ..... retrieving label for dimension levels
    AUG-21-2008 12:14:48: ..... populating mapping info for the DIMENSION clause
    AUG-21-2008 12:14:48: ..... populating mapping info for the INHIERARCHY clause
    AUG-21-2008 12:14:48: ..... retrieving hierarchy information
    AUG-21-2008 12:14:48: ..... populating mapping info for the HIERARCHY and FAMILYREL clauses for hierarchy PRIM
    AUG-21-2008 12:14:48: ..... populating mapping info for the ATTRIBUTE clause
    AUG-21-2008 12:14:48: ... completed populating mapping for DIM_BUSINESS_DAY
    AUG-21-2008 12:14:48: ... generating limitmap for DIM_INSTRUMENT_TYPE
    AUG-21-2008 12:14:48: ..... mapping table out of date for dimension DIM_INSTRUMENT_TYPE. Updating mapping table.
    AUG-21-2008 12:14:48: ... populating dimension map for DIM_INSTRUMENT_TYPE
    AUG-21-2008 12:14:48: ..... clearing mappings for the dimension
    AUG-21-2008 12:14:48: ..... retrieving physical objects
    AUG-21-2008 12:14:48: ..... checking for value hierarchies
    AUG-21-2008 12:14:48: ..... retrieving label for dimension levels
    AUG-21-2008 12:14:48: ..... populating mapping info for the DIMENSION clause
    AUG-21-2008 12:14:48: ..... populating mapping info for the INHIERARCHY clause
    AUG-21-2008 12:14:48: ..... retrieving hierarchy information
    AUG-21-2008 12:14:49: ..... populating mapping info for the HIERARCHY and FAMILYREL clauses for hierarchy PRIM
    AUG-21-2008 12:14:49: ..... populating mapping info for the ATTRIBUTE clause
    AUG-21-2008 12:14:49: ... completed populating mapping for DIM_INSTRUMENT_TYPE
    AUG-21-2008 12:14:49: ... generating limitmap for DIM_RISK_TYPE
    AUG-21-2008 12:14:49: ..... mapping table out of date for dimension DIM_RISK_TYPE. Updating mapping table.
    AUG-21-2008 12:14:49: ... populating dimension map for DIM_RISK_TYPE
    AUG-21-2008 12:14:49: ..... clearing mappings for the dimension
    AUG-21-2008 12:14:49: ..... retrieving physical objects
    AUG-21-2008 12:14:49: ..... checking for value hierarchies
    AUG-21-2008 12:14:49: ..... retrieving label for dimension levels
    AUG-21-2008 12:14:49: ..... populating mapping info for the DIMENSION clause
    AUG-21-2008 12:14:49: ..... populating mapping info for the INHIERARCHY clause
    AUG-21-2008 12:14:49: ..... retrieving hierarchy information
    AUG-21-2008 12:14:49: ..... populating mapping info for the HIERARCHY and FAMILYREL clauses for hierarchy PRIM
    AUG-21-2008 12:14:49: ..... populating mapping info for the ATTRIBUTE clause
    AUG-21-2008 12:14:49: ... completed populating mapping for DIM_RISK_TYPE
    AUG-21-2008 12:14:49: ... generating limitmap for DIM_BOOK
    AUG-21-2008 12:14:49: ..... mapping table out of date for dimension DIM_BOOK. Updating mapping table.
    AUG-21-2008 12:14:49: ... populating dimension map for DIM_BOOK
    AUG-21-2008 12:14:49: ..... clearing mappings for the dimension
    AUG-21-2008 12:14:49: ..... retrieving physical objects
    AUG-21-2008 12:14:49: ..... checking for value hierarchies
    AUG-21-2008 12:14:49: ..... retrieving label for dimension levels
    AUG-21-2008 12:14:49: ..... populating mapping info for the DIMENSION clause
    AUG-21-2008 12:14:49: ..... populating mapping info for the INHIERARCHY clause
    AUG-21-2008 12:14:49: ..... retrieving hierarchy information
    AUG-21-2008 12:14:49: ..... populating mapping info for the HIERARCHY and FAMILYREL clauses for hierarchy PRIM
    AUG-21-2008 12:14:49: ..... populating mapping info for the ATTRIBUTE clause
    AUG-21-2008 12:14:50: ... completed populating mapping for DIM_BOOK
    AUG-21-2008 12:14:50: ... generating limitmap for DIM_CURVE
    AUG-21-2008 12:14:50: ..... mapping table out of date for dimension DIM_CURVE. Updating mapping table.
    AUG-21-2008 12:14:50: ... populating dimension map for DIM_CURVE
    AUG-21-2008 12:14:50: ..... clearing mappings for the dimension
    AUG-21-2008 12:14:50: ..... retrieving physical objects
    AUG-21-2008 12:14:50: ..... checking for value hierarchies
    AUG-21-2008 12:14:50: ..... retrieving label for dimension levels
    AUG-21-2008 12:14:50: ..... populating mapping info for the DIMENSION clause
    AUG-21-2008 12:14:50: ..... populating mapping info for the INHIERARCHY clause
    AUG-21-2008 12:14:50: ..... retrieving hierarchy information
    AUG-21-2008 12:14:50: ..... populating mapping info for the HIERARCHY and FAMILYREL clauses for hierarchy PRIM
    AUG-21-2008 12:14:50: ..... populating mapping info for the ATTRIBUTE clause
    AUG-21-2008 12:14:50: ... completed populating mapping for DIM_CURVE
    AUG-21-2008 12:14:50: ... generating limitmap for DIM_REFERENCE_ENTITY
    AUG-21-2008 12:14:50: ..... mapping table out of date for dimension DIM_REFERENCE_ENTITY. Updating mapping table.
    AUG-21-2008 12:14:50: ... populating dimension map for DIM_REFERENCE_ENTITY
    AUG-21-2008 12:14:50: ..... clearing mappings for the dimension
    AUG-21-2008 12:14:50: ..... retrieving physical objects
    AUG-21-2008 12:14:50: ..... checking for value hierarchies
    AUG-21-2008 12:14:50: ..... retrieving label for dimension levels
    AUG-21-2008 12:14:50: ..... populating mapping info for the DIMENSION clause
    AUG-21-2008 12:14:50: ..... populating mapping info for the INHIERARCHY clause
    AUG-21-2008 12:14:50: ..... retrieving hierarchy information
    AUG-21-2008 12:14:50: ..... populating mapping info for the HIERARCHY and FAMILYREL clauses for hierarchy PRIM
    AUG-21-2008 12:14:50: ..... populating mapping info for the ATTRIBUTE clause
    AUG-21-2008 12:14:51: ... completed populating mapping for DIM_REFERENCE_ENTITY
    AUG-21-2008 12:14:51: ... generating limitmap for DIM_POSITION
    AUG-21-2008 12:14:51: ..... mapping table out of date for dimension DIM_POSITION. Updating mapping table.
    AUG-21-2008 12:14:51: ... populating dimension map for DIM_POSITION
    AUG-21-2008 12:14:51: ..... clearing mappings for the dimension
    AUG-21-2008 12:14:51: ..... retrieving physical objects
    AUG-21-2008 12:14:51: ..... checking for value hierarchies
    AUG-21-2008 12:14:51: ..... retrieving label for dimension levels
    AUG-21-2008 12:14:51: ..... populating mapping info for the DIMENSION clause
    AUG-21-2008 12:14:51: ..... populating mapping info for the INHIERARCHY clause
    AUG-21-2008 12:14:51: ..... retrieving hierarchy information
    AUG-21-2008 12:14:51: ..... populating mapping info for the HIERARCHY and FAMILYREL clauses for hierarchy PRIM
    AUG-21-2008 12:14:51: ..... populating mapping info for the ATTRIBUTE clause
    AUG-21-2008 12:14:51: ... completed populating mapping for DIM_POSITION
    AUG-21-2008 12:14:51: ... completed generating limitmap for cube BI_NRDB_AGGR
    AUG-21-2008 12:14:51: ..... assigning limitmap to variable in the AW
    AUG-21-2008 12:14:51: ..... BI_NRDB_AGGR_CUBE_LIMITMAP found. Will update the variable
    AUG-21-2008 12:14:51: ..... defining view BI_DEMO.BI_NRDB_AGGR_CUBEVIEW over the cube
    AUG-21-2008 12:14:51: **
    AUG-21-2008 12:14:51: ** ERROR: View not created.
    AUG-21-2008 12:14:51: ** CAUSE: CREATE VIEW statement failed
    AUG-21-2008 12:14:51: ORA-36804: The OLAP_TABLE function encountered an error while parsing the LIMITMAP.
    AUG-21-2008 12:14:51: *** DEBUG INFORMATION ***
    AUG-21-2008 12:14:51: VIEW CREATION DDL ((truncated after 3900 characters)
    AUG-21-2008 12:14:51: CREATE OR REPLACE VIEW BI_DEMO.BI_NRDB_AGGR_CUBEVIEW AS
    SELECT *
    FROM table(OLAP_TABLE ('BI_DEMO.BI_NRDB duration session',
    '&(BI_NRDB_AGGR_CUBE_LIMITMAP)'))
    MODEL
    DIMENSION BY (
    DIM_BUSINESS_DAY,
    DIM_INSTRUMENT_TYPE,
    DIM_RISK_TYPE,
    DIM_BOOK,
    DIM_CURVE,
    DIM_REFERENCE_ENTITY,
    DIM_POSITION)
    MEASURES (
    DIM_BUSINE_PRIM_PRNT,
    DIM_BUSINE_ALL_BUSINE_LVLDSC,
    DIM_BUSINE_BUSINESS_D_LVLDSC,
    DIM_BUSINE_LDSC,
    DIM_BUSINE_LEVEL,
    DIM_INSTRU_PRIM_PRNT,
    DIM_INSTRU_ALL_INSTRU_LVLDSC,
    DIM_INSTRU_INSTRUMENT_LVLDSC,
    DIM_INSTRU_LDSC,
    DIM_INSTRU_LEVEL,
    DIM_RISK_T_PRIM_PRNT,
    DIM_RISK_T_ALL_RISK_T_LVLDSC,
    DIM_RISK_T_RISK_TYPE_LVLDSC,
    DIM_RISK_T_LDSC,
    DIM_RISK_T_LEVEL,
    DIM_BOOK_PRIM_PRNT,
    DIM_BOOK_ALL_BOOK_LVLDSC,
    DIM_BOOK_SYSTEM_LVLDSC,
    DIM_BOOK_REGION_LVLDSC,
    DIM_BOOK_BUSINESS2_LVLDSC,
    DIM_BOOK_BUSINESS1_LVLDSC,
    DIM_BOOK_BUSINESS_LVLDSC,
    DIM_BOOK_DESK_LVLDSC,
    DIM_BOOK_RISKSTRIPE_LVLDSC,
    DIM_BOOK_SUBRISKSTR_LVLDSC,
    DIM_BOOK_BOOK_LVLDSC,
    DIM_BOOK_TRADER,
    DIM_BOOK_LDSC,
    DIM_BOOK_LEVEL,
    DIM_CURVE_PRIM_PRNT,
    DIM_CURVE_ALL_CURVE_LVLDSC,
    DIM_CURVE_CURRENCY_LVLDSC,
    DIM_CURVE_SENIORITY_LVLDSC,
    DIM_CURVE_CURVE_OWNE_LVLDSC,
    DIM_CURVE_CURVE_NAME_LVLDSC,
    DIM_CURVE_CURVE_LVLDSC,
    DIM_CURVE_LDSC,
    DIM_CURVE_LEVEL,
    DIM_REFERE_ALL_GFN_LVLDSC,
    DIM_REFERE_GFN_INDUST_LVLDSC,
    DIM_REFERE_GFN_COUNTR_LVLDSC,
    DIM_REFERE_GFN_LVLDSC,
    DIM_REFERE_SPN_INDUST_LVLDSC,
    DIM_REFERE_SPN_COUNTR_LVLDSC,
    DIM_REFERE_SPN_LVLDSC,
    DIM_REFERE_LDSC,
    DIM_REFERE_SPN_SP_RATING,
    DIM_REFERE_SPN_MOODY_RATING,
    DIM_REFERE_LEVEL,
    DIM_REFERE_PRIM_PRNT,
    DIM_POSITI_PRIM_PRNT,
    DIM_POSITI_ALL_POSITI_LVLDSC,
    DIM_POSITI_TRADE_ID_LVLDSC,
    DIM_POSITI_COUPON,
    DIM_POSITI_MATURITY,
    DIM_POSITI_INSTRUMENT_NAME,
    DIM_POSITI_NOTIONAL,
    DIM_POSITI_BUYSELL,
    DIM_POSITI_CUSIP,
    DIM_POSITI_ISIN,
    DIM_POSITI_LDSC,
    DIM_POSITI_MTM,
    DIM_POSITI_LEVEL,
    TOTAL,
    AM_40Y,
    AM_30Y,
    AM_20Y,
    AM_15Y,
    AM_12Y,
    AM_10Y,
    AM_09Y,
    AM_08Y,
    AM_07Y,
    AM_06Y,
    AM_05Y,
    AM_04Y,
    AM_03Y,
    AM_02Y,
    AM_18M,
    AM_01Y,
    AM_09M,
    AM_06M,
    AM_03M,
    OLAP_CALC
    ) RULES UPDATE SEQUENTIAL ORDER()
    AUG-21-2008 12:14:51: LIMITMAP (truncated after 3900 characters):
    AUG-21-2008 12:14:51: DIMENSION DIM_BUSINESS_DAY FROM DIM_BUSINESS_DAY WITH -
    HIERARCHY DIM_BUSINE_PRIM_PRNT FROM DIM_BUSINESS_DAY_PARENTREL(DIM_BUSINESS_DAY_HIERLIST \'PRIM\') -
    INHIERARCHY DIM_BUSINESS_DAY_INHIER -
    FAMILYREL DIM_BUSINE_ALL_BUSINE_LVLDSC, -
    DIM_BUSINE_BUSINESS_D_LVLDSC -
    FROM DIM_BUSINESS_DAY_FAMILYREL(DIM_BUSINESS_DAY_LEVELLIST \'ALL_BUSINESS_DAY\'), -
    DIM_BUSINESS_DAY_FAMILYREL(DIM_BUSINESS_DAY_LEVELLIST \'BUSINESS_DAY\') -
    LABEL DIM_BUSINESS_DAY_LONG_DESCRIPTION -
    ATTRIBUTE DIM_BUSINE_LDSC FROM DIM_BUSINESS_DAY_LONG_DESCRIPTION -
    ATTRIBUTE DIM_BUSINE_LEVEL FROM DIM_BUSINESS_DAY_LEVELREL-
    DIMENSION DIM_INSTRUMENT_TYPE FROM DIM_INSTRUMENT_TYPE WITH -
    HIERARCHY DIM_INSTRU_PRIM_PRNT FROM DIM_INSTRUMENT_TYPE_PARENTREL(DIM_INSTRUMENT_TYPE_HIERLIST \'PRIM\') -
    INHIERARCHY DIM_INSTRUMENT_TYPE_INHIER -
    FAMILYREL DIM_INSTRU_ALL_INSTRU_LVLDSC, -
    DIM_INSTRU_INSTRUMENT_LVLDSC -
    FROM DIM_INSTRUMENT_TYPE_FAMILYREL(DIM_INSTRUMENT_TYPE_LEVELLIST \'ALL_INSTRUMENT_TYPE\'), -
    DIM_INSTRUMENT_TYPE_FAMILYREL(DIM_INSTRUMENT_TYPE_LEVELLIST \'INSTRUMENT_TYPE\') -
    LABEL DIM_INSTRUMENT_TYPE_LONG_DESCRIPTION -
    ATTRIBUTE DIM_INSTRU_LDSC FROM DIM_INSTRUMENT_TYPE_LONG_DESCRIPTION -
    ATTRIBUTE DIM_INSTRU_LEVEL FROM DIM_INSTRUMENT_TYPE_LEVELREL-
    DIMENSION DIM_RISK_TYPE FROM DIM_RISK_TYPE WITH -
    HIERARCHY DIM_RISK_T_PRIM_PRNT FROM DIM_RISK_TYPE_PARENTREL(DIM_RISK_TYPE_HIERLIST \'PRIM\') -
    INHIERARCHY DIM_RISK_TYPE_INHIER -
    FAMILYREL DIM_RISK_T_ALL_RISK_T_LVLDSC, -
    DIM_RISK_T_RISK_TYPE_LVLDSC -
    FROM DIM_RISK_TYPE_FAMILYREL(DIM_RISK_TYPE_LEVELLIST \'ALL_RISK_TYPE\'), -
    DIM_RISK_TYPE_FAMILYREL(DIM_RISK_TYPE_LEVELLIST \'RISK_TYPE\') -
    LABEL DIM_RISK_TYPE_LONG_DESCRIPTION -
    ATTRIBUTE DIM_RISK_T_LDSC FROM DIM_RISK_TYPE_LONG_DESCRIPTION -
    ATTRIBUTE DIM_RISK_T_LEVEL FROM DIM_RISK_TYPE_LEVELREL-
    DIMENSION DIM_BOOK FROM DIM_BOOK WITH -
    HIERARCHY DIM_BOOK_PRIM_PRNT FROM DIM_BOOK_PARENTREL(DIM_BOOK_HIERLIST \'PRIM\') -
    INHIERARCHY DIM_BOOK_INHIER -
    FAMILYREL DIM_BOOK_ALL_BOOK_LVLDSC, -
    DIM_BOOK_SYSTEM_LVLDSC, -
    DIM_BOOK_REGION_LVLDSC, -
    DIM_BOOK_BUSINESS2_LVLDSC, -
    DIM_BOOK_BUSINESS1_LVLDSC, -
    DIM_BOOK_BUSINESS_LVLDSC, -
    DIM_BOOK_DESK_LVLDSC, -
    DIM_BOOK_RISKSTRIPE_LVLDSC, -
    DIM_BOOK_SUBRISKSTR_LVLDSC, -
    DIM_BOOK_BOOK_LVLDSC -
    FROM DIM_BOOK_FAMILYREL(DIM_BOOK_LEVELLIST \'ALL_BOOK\'), -
    DIM_BOOK_FAMILYREL(DIM_BOOK_LEVELLIST \'SYSTEM\'), -
    DIM_BOOK_FAMILYREL(DIM_BOOK_LEVELLIST \'REGION\'), -
    DIM_BOOK_FAMILYREL(DIM_BOOK_LEVELLIST \'BUSINESS2\'), -
    DIM_BOOK_FAMILYREL(DIM_BOOK_LEVELLIST \'BUSINESS1\'), -
    DIM_BOOK_FAMILYREL(DIM_BOOK_LEVELLIST \'BUSINESS\'), -
    DIM_BOOK_FAMILYREL(DIM_BOOK_LEVELLIST \'DESK\'), -
    DIM_BOOK_FAMILYREL(DIM_BOOK_LEVELLIST \'RISKSTRIPE\'), -
    DIM_BOOK_FAMILYREL(DIM_BOOK_LEVELLIST \'SUBRISKSTRIPE\'), -
    DIM_BOOK_FAMILYREL(DIM_BOOK_LEVELLIST \'BOOK\') -
    LABEL DIM_BOOK_LONG_DESCRIPTION -
    ATTRIBUTE DIM_BOOK_TRADER FROM DIM_BOOK_TRADER -
    ATTRIBUTE DIM_BOOK_LDSC FROM DIM_BOOK_LONG_DESCRIPTION -
    ATTRIBUTE DIM_BOOK_LEVEL FROM DIM_BOOK_LEVELREL-
    DIMENSION DIM_CURVE FROM DIM_CURVE WITH -
    HIERARCHY DIM_CURVE_PRIM_PRNT FROM DIM_CURVE_PARENTREL(DIM_CURVE_HIERLIST \'PRIM\') -
    INHIERARCHY DIM_CURVE_INHIER -
    FAMILYREL DIM_CURVE_ALL_CURVE_LVLDSC, -
    DIM_CURVE_CURRENCY_LVLDSC, -
    DIM_CURVE_SENIORITY_LVLDSC, -
    DIM_CURVE_CURVE_OWNE_LVLDSC, -
    DIM_CURVE_CURVE_NAME_LVLDSC, -
    DIM_CURVE_CURVE_LVLDSC -
    FROM DIM_CURVE_FAMILYREL(DIM_CURVE_LEVELLIST \'ALL_CURVE\'), -
    DIM_CURVE_FAMILYREL(DIM_CURVE_LEVELLIST \'CURRENCY\'), -
    DIM_CURVE_FAMILYREL(DIM_CURVE_LEVELLIST \'SENIORITY\'), -
    DIM_CURVE_FAMILYREL(DIM_CURVE_LEVELLIST \'CURVE_OWNER\'), -
    DIM_CURVE_FAMILYREL(DIM_CURVE_LE
    AUG-21-2008 12:14:51: **
    AUG-21-2008 12:14:51: ** ERROR: Unable to create view over cube BI_NRDB_AGGR.
    AUG-21-2008 12:14:51: ORA-36804: The OLAP_TABLE function encountered an error while parsing the LIMITMAP.

  • Performance issues with the Vouchers index build in SES

    Hi All,
    We are currently performing an upgrade for: PS FSCM 9.1 to PS FSCM 9.2.
    As a part of the upgrade, Client wants Oracle SES to be deployed for some modules including, Purchasing, Payables (Vouchers)
    We are facing severe performance issues with the Vouchers index build. (Volume of data = approx. 8.5 million rows of data)
    The index creation process runs for over 5 days.
    Can you please share any information or issues that you may have faced on your project and how they were addressed?

    Check the following logs for errors:
    1.  The message log from the process scheduler
    2.  search_server1-diagnostic.log  in /search_server1/logs directory
    If the build is getting stuck while crawling then we typically have to increase the Java Heap size for the Weblogic instance for SES>

  • Performance Issue For Opening And Closing Balance In FBL1N/3N/5N

    Dear experts,
                        I Am Having Requirement to Bring Opening And Closing Balance In FBL1N, FBL3N, FBL5N.
    For This requirement I Used BADI : FI_ITEMS_CH_DATA~CHANGE_ITEMS, below is my Code For FBL1N, And I've Done the same For 3N/5N...With Related BAPI
    *   IF SY-TCODE = 'FBL1N'.
    *    LOOP AT ct_items INTO gs_items.
    *      CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
    *        EXPORTING
    *          date      = gs_items-budat
    *          days      = '01'
    *          months    = '00'
    *          signum    = '-'
    *          years     = '00'
    *        IMPORTING
    *          calc_date = lv_date.
    *      CALL FUNCTION 'BAPI_AP_ACC_GETKEYDATEBALANCE'
    *        EXPORTING
    *          companycode        = gs_items-bukrs
    *          vendor             = gs_items-konto
    *          keydate            = lv_date
    **   BALANCESPGLI       = ' '
    **   NOTEDITEMS         = ' '
    ** IMPORTING
    **   RETURN             =
    *        TABLES
    *          keybalance         =  lv_obal.
    *      CALL FUNCTION 'BAPI_AP_ACC_GETKEYDATEBALANCE'
    *        EXPORTING
    *          companycode        = gs_items-bukrs
    *          vendor             = gs_items-konto
    *          keydate            = gs_items-budat
    **   BALANCESPGLI       = ' '
    **   NOTEDITEMS         = ' '
    ** IMPORTING
    **   RETURN             =
    *        TABLES
    *          keybalance         = lv_cbal
    *      READ TABLE lv_cbal INTO gs_cbal INDEX 1.
    *      gs_items-cbal = gs_cbal-lc_bal.
    *      READ TABLE lv_obal INTO gs_obal INDEX 1.
    *      gs_items-obal = gs_obal-lc_bal.
    *      MODIFY ct_items FROM gs_items TRANSPORTING obal cbal.
    *      CLEAR: gs_items,gs_obal,gs_cbal.
    *    ENDLOOP.
    *   ENDIF.
    So, Above Code Causing Me the Performance Issue, Kindly Suggest Me the Solution..
    Regards,
    uday.

    Hi Uday,
    I am sending you the code i used for the creation a Zreport based on FBL5N. Please check if it can of any help.
    *& Report  ZFBL5N                                                      *
    REPORT  zfbl5n_new  .
    TABLES : bsid,knc1,lfc1.
    TYPE-POOLS: slis.
    TYPES: BEGIN OF ty_bsid,
              bukrs TYPE bsid-bukrs,
              kunnr TYPE bsid-kunnr,
              belnr TYPE bsid-belnr,
              buzei TYPE bsid-buzei,
              bldat TYPE bsid-bldat,
              blart TYPE bsid-blart,
              bschl TYPE bsid-bschl,
              shkzg TYPE bsid-shkzg,
              dmbtr TYPE bsid-dmbtr,
              augdt TYPE bsid-augdt,
              augbl TYPE bsid-augbl,
              zuonr TYPE bsid-zuonr,
              sgtxt TYPE bsid-sgtxt,
              zfbdt TYPE bsid-zfbdt,
              zterm TYPE bsid-zterm,
              zbd1t TYPE bsid-zbd1t,
              zbd2t TYPE bsid-zbd2t,
              zbd3t TYPE bsid-zbd3t,
              kkber TYPE bsid-kkber,
              bstat TYPE bsid-bstat,
              umskz TYPE bsid-umskz,
            END OF ty_bsid.
    TYPES: BEGIN OF ty_bsik,
             bukrs TYPE bsik-bukrs,
              lifnr TYPE bsik-lifnr,
              belnr TYPE bsik-belnr,
              buzei TYPE bsik-buzei,
              bldat TYPE bsik-bldat,
              blart TYPE bsik-blart,
              bschl TYPE bsik-bschl,
              shkzg TYPE bsik-shkzg,
              dmbtr TYPE bsik-dmbtr,
              augdt TYPE bsik-augdt,
              augbl TYPE bsik-augbl,
              zuonr TYPE bsik-zuonr,
              sgtxt TYPE bsik-sgtxt,
               zfbdt TYPE bsik-zfbdt,
    *         KKBER TYPE bsik-kkber,
              zterm TYPE bsik-zterm,
               zbd1t TYPE bsik-zbd1t,
              zbd2t TYPE bsik-zbd2t,
              zbd3t TYPE bsik-zbd3t,
              bstat TYPE bsid-bstat,
              umskz TYPE bsid-umskz,
            END OF ty_bsik.
    TYPES: BEGIN OF ty_final,
              belnr TYPE bsid-belnr,
    *         buzei TYPE bsak-buzei,
              bldat TYPE bsid-bldat,
              blart TYPE bsid-blart,
              chq TYPE bsid-zuonr,
              debit TYPE bsid-dmbtr,
              credit TYPE bsid-dmbtr,
              txt TYPE bsid-sgtxt,
              date TYPE bsid-zfbdt,
              kkber TYPE bsid-kkber,
              zterm TYPE bsid-zterm,
              augbl TYPE bsid-augbl,
              augdt TYPE bsid-augdt,
              flag TYPE c,
            END OF ty_final.
    TYPES : BEGIN OF gs_openbal,
              bukrs TYPE bapi3007_2-comp_code,
              kunnr TYPE bapi3007_2-customer,
              dmbtr TYPE bapi3007_2-lc_amount,
             END OF gs_openbal.
    DATA: it_bsid TYPE STANDARD TABLE OF ty_bsid,
           it_bsik TYPE STANDARD TABLE OF ty_bsik,
           it_final TYPE STANDARD TABLE OF ty_final.
    DATA: wa_bsid TYPE ty_bsid,
           wa_bsik TYPE ty_bsik,
           wa_final TYPE ty_final.
    DATA: w_days TYPE t5a4a-dlydy,
           w_month TYPE t5a4a-dlymo,
           w_year TYPE t5a4a-dlyyr,
           w_date TYPE p0001-begda,
           w_name1 TYPE kna1-name1,
           w_ort01 TYPE kna1-ort01,
           w_lifnr TYPE kna1-lifnr,
           w_dmbtr1 TYPE bsid-dmbtr,
           w_dmbtr2 TYPE bsid-dmbtr,
           w_dmbtr3 TYPE bsad-dmbtr,
           w_dmbtr4 TYPE bsad-dmbtr,
           w_opbal TYPE bsid-dmbtr,
           w_credit TYPE bsik-dmbtr,
           w_debit TYPE bsik-dmbtr,
           w_clobal TYPE bsik-dmbtr,
           w_credit1 TYPE bsik-dmbtr,
           w_debit1 TYPE bsik-dmbtr,
           w_clobal1 TYPE bsik-dmbtr.
    DATA: ld_yrper LIKE rwcoom-fiscper,
           kunnr LIKE kna1-kunnr,
           x_norm TYPE c,
           x_park,
           x_apar,
           x_merk,
           ok_code(4),
           wa_x001 LIKE x001,
           return LIKE bapireturn,
           line_count LIKE sy-loopc,
           number_of_records TYPE i,
           xindex LIKE sy-tabix,
           open LIKE knc1-um01s,
           temp(20),
           close LIKE knc1-um01s,
           gjahr LIKE bsid-gjahr,
           period LIKE bkpf-monat,
           f(1),
           v_char(2),
           closec(20),
           openc(20),
           debit LIKE bapi3007_2-lc_amount,
           credit LIKE debit.
    DATA : v_dmbtr LIKE bsid-dmbtr.
    *DATA : tot_debit LIKE t_ar-debit,
    *       tot_credit LIKE t_ar-credit.
    DATA : t_kna1 LIKE kna1 OCCURS 1  WITH HEADER LINE,
            t_knb1 LIKE knb1 OCCURS 10 WITH HEADER LINE.
    DATA ibsid LIKE bsid OCCURS 0 WITH HEADER LINE.
    DATA ibsad LIKE bsad OCCURS 0 WITH HEADER LINE.
    DATA ibsik LIKE bsik OCCURS 0 WITH HEADER LINE.
    DATA ibsak LIKE bsak OCCURS 0 WITH HEADER LINE.
    DATA : it_fieldcat_alv   TYPE slis_t_fieldcat_alv,
            wa_fieldcat_alv     TYPE slis_fieldcat_alv,
            is_layout_alv  TYPE slis_layout_alv,
            wa_layout_alv  TYPE slis_layout_alv,
            it_list_top_of_page TYPE slis_t_listheader,
            it_events TYPE slis_t_event,
            wa_events TYPE LINE OF slis_t_event.
    DATA : BEGIN OF ibukrs OCCURS 0,
               bukrs LIKE t001-bukrs,
              END OF ibukrs.
    DATA : BEGIN OF ikunnr1 OCCURS 0,
              kunnr LIKE knc1-kunnr,
             END OF ikunnr1.
    DATA : BEGIN OF ikunnr OCCURS 0,
               kunnr LIKE knc1-kunnr,
               bukrs LIKE t001-bukrs,
               lifnr LIKE lfc1-lifnr,
              END OF ikunnr.
    DATA: it_sort TYPE slis_t_sortinfo_alv,
           wa_sort TYPE slis_sortinfo_alv.
    DATA:    r_bschl TYPE RANGE OF bschl,
              wa_bschl LIKE LINE OF r_bschl.
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    PARAMETERS : p_kunnr TYPE bsid-kunnr OBLIGATORY,
                  p_bukrs TYPE bsid-bukrs OBLIGATORY.
    SELECT-OPTIONS: so_budat FOR bsid-budat .
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
    PARAMETERS : p_normal AS CHECKBOX,
                  p_spl    AS CHECKBOX,
                  p_vendor AS CHECKBOX.
    SELECTION-SCREEN END OF BLOCK b2.
    PERFORM get_data.
    PERFORM process_data.
    *PERFORM calculate_openbal. " Commented by anish
    PERFORM calculate_open_bal.
    PERFORM calculate_closing_bal.
    PERFORM build_catalog_sort USING it_sort.
    PERFORM reuse_alv_events_get .
    PERFORM display_data.
    *&      Form  GET_DATA
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM get_data .
       SELECT bukrs kunnr belnr buzei bldat blart bschl shkzg dmbtr augdt augbl zuonr sgtxt zfbdt zterm zbd1t zbd2t zbd3t kkber
         bstat umskz FROM bsid
         INTO TABLE it_bsid
         WHERE bukrs = p_bukrs
          AND kunnr = p_kunnr
          AND budat IN so_budat.
       SELECT bukrs kunnr belnr buzei bldat blart bschl shkzg dmbtr augdt augbl zuonr sgtxt zfbdt zterm zbd1t zbd2t zbd3t kkber
        bstat umskz FROM bsad
        APPENDING TABLE it_bsid
        WHERE bukrs = p_bukrs
         AND kunnr = p_kunnr
         AND budat IN so_budat.
       SELECT SINGLE name1 ort01 lifnr FROM kna1
         INTO (w_name1 , w_ort01 , w_lifnr)
         WHERE kunnr = p_kunnr.
       IF p_vendor IS NOT INITIAL.
         SELECT bukrs lifnr belnr buzei bldat blart bschl shkzg dmbtr augdt augbl zuonr sgtxt zfbdt zterm zbd1t zbd2t zbd3t
         bstat umskz   FROM bsik
         APPENDING TABLE it_bsik
         WHERE bukrs = p_bukrs
           AND lifnr = w_lifnr
           AND budat IN so_budat.
         SELECT bukrs lifnr belnr buzei bldat blart bschl shkzg dmbtr augdt augbl zuonr sgtxt zfbdt zterm zbd1t zbd2t zbd3t
         bstat umskz  FROM bsak
        APPENDING TABLE it_bsik
        WHERE bukrs = p_bukrs
          AND lifnr = w_lifnr
          AND budat IN so_budat.
       ENDIF.
       SORT it_bsid BY bschl.
       DELETE  it_bsid WHERE bschl = '04'.
       DELETE  it_bsid WHERE bschl = '07'.
       DELETE  it_bsid WHERE bschl = '17'.
       DELETE  it_bsid WHERE bschl = '34'.
       DELETE  it_bsid WHERE bschl = '27'.
       DELETE  it_bsid WHERE bschl = '37'.
       SORT it_bsik BY bschl.
       DELETE  it_bsik WHERE bschl = '04'.
       DELETE  it_bsik WHERE bschl = '07'.
       DELETE  it_bsik WHERE bschl = '17'.
       DELETE  it_bsik WHERE bschl = '34'.
       DELETE  it_bsik WHERE bschl = '27'.
       DELETE  it_bsik WHERE bschl = '37'.
    ENDFORM.                    " GET_DATA
    *&      Form  PROCESS_DATA
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM process_data .
       DATA:okay       TYPE c VALUE space.
       w_month = '00'.
       w_year = '00'.
       SORT it_bsid BY bldat .
       LOOP AT it_bsid INTO wa_bsid.
         PERFORM check_item_ok  USING p_normal
                                      p_spl
                                      p_vendor
    *                               x_park
                                      wa_bsid
                                CHANGING okay.
         CHECK okay = 'X'.
         wa_final-belnr = wa_bsid-belnr.
         wa_final-bldat = wa_bsid-bldat.
         wa_final-blart = wa_bsid-blart.
         wa_final-txt = wa_bsid-sgtxt.
         wa_final-kkber = wa_bsid-kkber.
         wa_final-zterm = wa_bsid-zterm.
         wa_final-augbl = wa_bsid-augbl.
         wa_final-augdt = wa_bsid-augdt.
         wa_final-flag = 'C'.
         IF wa_bsid-blart = 'DZ'.
           wa_final-chq = wa_bsid-zuonr.
         ENDIF.
         IF wa_bsid-shkzg = 'S'.
           wa_final-debit = wa_bsid-dmbtr.
         ELSEIF wa_bsid-shkzg = 'H'.
           wa_final-credit = wa_bsid-dmbtr.
         ENDIF.
         w_credit = w_credit + wa_final-credit.
         w_debit = w_debit + wa_final-debit.
    ****** Net due  date
         IF wa_bsid-zbd1t IS NOT INITIAL.
           w_days = wa_bsid-zbd1t.
         ELSEIF wa_bsid-zbd2t IS NOT INITIAL.
           w_days = wa_bsid-zbd2t.
         ELSEIF wa_bsid-zbd3t IS NOT INITIAL.
           w_days = wa_bsid-zbd3t.
         ENDIF.
         IF w_days IS INITIAL.
           wa_final-date = wa_bsid-zfbdt.
         ELSE.
           CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
             EXPORTING
               date      = wa_bsid-zfbdt
               days      = w_days
               months    = w_month
               signum    = '+'
               years     = w_year
             IMPORTING
               calc_date = w_date.
           wa_final-date = w_date.
         ENDIF.
         APPEND wa_final TO it_final.
         CLEAR: w_days , w_date , wa_final .
       ENDLOOP.
       IF it_bsik IS NOT INITIAL.
         CLEAR: w_days , w_date.
         SORT it_bsik BY bldat.
         LOOP AT it_bsik INTO wa_bsik.
           wa_final-belnr = wa_bsik-belnr.
           wa_final-bldat = wa_bsik-bldat.
           wa_final-blart = wa_bsik-blart.
           wa_final-txt = wa_bsik-sgtxt.
    *    wa_final-kkber = wa_bsik-kkber.
           wa_final-zterm = wa_bsik-zterm.
           wa_final-augbl = wa_bsik-augbl.
           wa_final-augdt = wa_bsik-augdt.
           wa_final-flag = 'V'.
           IF wa_bsik-blart = 'DZ'.
             wa_final-chq = wa_bsik-zuonr.
           ENDIF.
           IF wa_bsik-shkzg = 'S'.
             wa_final-debit = wa_bsik-dmbtr.
           ELSEIF wa_bsik-shkzg = 'H'.
             wa_final-credit = wa_bsik-dmbtr.
           ENDIF.
           w_credit1 = w_credit1 + wa_final-credit.
           w_debit1 = w_debit1 + wa_final-debit.
    *******  Net Due date
           IF wa_bsik-zbd1t IS NOT INITIAL.
             w_days = wa_bsik-zbd1t.
           ELSEIF wa_bsik-zbd2t IS NOT INITIAL.
             w_days = wa_bsik-zbd2t.
           ELSEIF wa_bsik-zbd3t IS NOT INITIAL.
             w_days = wa_bsik-zbd3t.
           ENDIF.
           IF w_days IS INITIAL.
             wa_final-date = wa_bsik-zfbdt.
           ELSE.
             CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
               EXPORTING
                 date      = wa_bsik-zfbdt
                 days      = w_days
                 months    = w_month
                 signum    = '+'
                 years     = w_year
               IMPORTING
                 calc_date = w_date.
           ENDIF.
           wa_final-date = w_date.
           APPEND wa_final TO it_final.
           CLEAR: wa_final.
         ENDLOOP.
       ENDIF.
    ENDFORM.                    " PROCESS_DATA
    *&      Form  DISPLAY_DATA
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM display_data .
       wa_fieldcat_alv-fieldname = 'BELNR'.
       wa_fieldcat_alv-tabname = 'IT_FINAL'.
       wa_fieldcat_alv-seltext_l = text-003.
       wa_fieldcat_alv-outputlen = '11'.
       APPEND wa_fieldcat_alv TO it_fieldcat_alv.
       CLEAR wa_fieldcat_alv.
       wa_fieldcat_alv-fieldname = 'BLDAT'.
       wa_fieldcat_alv-tabname = 'IT_FINAL'.
       wa_fieldcat_alv-seltext_l = text-004.
       wa_fieldcat_alv-outputlen = '13'.
       APPEND wa_fieldcat_alv TO it_fieldcat_alv.
       CLEAR wa_fieldcat_alv.
       wa_fieldcat_alv-fieldname = 'BLART'.
       wa_fieldcat_alv-tabname = 'IT_FINAL'.
       wa_fieldcat_alv-seltext_l = text-005.
       wa_fieldcat_alv-outputlen = '02'.
       APPEND wa_fieldcat_alv TO it_fieldcat_alv.
       CLEAR wa_fieldcat_alv.
       wa_fieldcat_alv-fieldname = 'CHQ'.
       wa_fieldcat_alv-tabname = 'IT_FINAL'.
       wa_fieldcat_alv-seltext_l = text-006.
       wa_fieldcat_alv-outputlen = '09'.
       APPEND wa_fieldcat_alv TO it_fieldcat_alv.
       CLEAR wa_fieldcat_alv.
       wa_fieldcat_alv-fieldname = 'DEBIT'.
       wa_fieldcat_alv-tabname = 'IT_FINAL'.
       wa_fieldcat_alv-seltext_l = text-007.
       wa_fieldcat_alv-outputlen = '15'.
       wa_fieldcat_alv-do_sum = 'X'.
       APPEND wa_fieldcat_alv TO it_fieldcat_alv.
       CLEAR wa_fieldcat_alv.
       wa_fieldcat_alv-fieldname = 'CREDIT'.
       wa_fieldcat_alv-tabname = 'IT_FINAL'.
       wa_fieldcat_alv-seltext_l = text-008.
       wa_fieldcat_alv-outputlen = '15'.
       wa_fieldcat_alv-do_sum = 'X'.
       APPEND wa_fieldcat_alv TO it_fieldcat_alv.
       CLEAR wa_fieldcat_alv.
       wa_fieldcat_alv-fieldname = 'TXT'.
       wa_fieldcat_alv-tabname = 'IT_FINAL'.
       wa_fieldcat_alv-seltext_l = text-009.
       wa_fieldcat_alv-outputlen = '50'.
       APPEND wa_fieldcat_alv TO it_fieldcat_alv.
       CLEAR wa_fieldcat_alv.
       wa_fieldcat_alv-fieldname = 'DATE'.
       wa_fieldcat_alv-tabname = 'IT_FINAL'.
       wa_fieldcat_alv-seltext_l = text-010.
       wa_fieldcat_alv-outputlen = '12'.
       APPEND wa_fieldcat_alv TO it_fieldcat_alv.
       CLEAR wa_fieldcat_alv.
       wa_fieldcat_alv-fieldname = 'KKBER'.
       wa_fieldcat_alv-tabname = 'IT_FINAL'.
       wa_fieldcat_alv-seltext_l = text-011.
       wa_fieldcat_alv-outputlen = '04'.
       APPEND wa_fieldcat_alv TO it_fieldcat_alv.
       CLEAR wa_fieldcat_alv.
       wa_fieldcat_alv-fieldname = 'ZTERM'.
       wa_fieldcat_alv-tabname = 'IT_FINAL'.
       wa_fieldcat_alv-seltext_l = text-012.
       wa_fieldcat_alv-outputlen = '13'.
       APPEND wa_fieldcat_alv TO it_fieldcat_alv.
       CLEAR wa_fieldcat_alv.
       wa_fieldcat_alv-fieldname = 'AUGBL'.
       wa_fieldcat_alv-tabname = 'IT_FINAL'.
       wa_fieldcat_alv-seltext_l = text-013.
       wa_fieldcat_alv-outputlen = '15'.
       APPEND wa_fieldcat_alv TO it_fieldcat_alv.
       CLEAR wa_fieldcat_alv.
       wa_fieldcat_alv-fieldname = 'AUGDT'.
       wa_fieldcat_alv-tabname = 'IT_FINAL'.
       wa_fieldcat_alv-seltext_l = text-014.
       wa_fieldcat_alv-outputlen = '17'.
       APPEND wa_fieldcat_alv TO it_fieldcat_alv.
       CLEAR wa_fieldcat_alv.
       wa_fieldcat_alv-fieldname = 'FLAG'.
       wa_fieldcat_alv-tabname = 'IT_FINAL'.
       wa_fieldcat_alv-tech = 'X'.
       APPEND wa_fieldcat_alv TO it_fieldcat_alv.
       CLEAR wa_fieldcat_alv.
       CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
        EXPORTING
          i_callback_program             = sy-repid
          is_layout                      = wa_layout_alv
          it_fieldcat                    = it_fieldcat_alv
    *   IT_EXCLUDING                   =
    *   IT_SPECIAL_GROUPS              =
          it_sort                        = it_sort
          it_events                      = it_events
          i_save                            = 'A'
         TABLES
           t_outtab                       = it_final
        EXCEPTIONS
          program_error                  = 1
          OTHERS                         = 2
       IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
       ENDIF.
    *  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    *    EXPORTING
    *      i_callback_program                = sy-repid
    *     i_callback_top_of_page            = 'TOP_OF_PAGE'
    *      is_layout                         = wa_layout_alv
    *      it_fieldcat                       = it_fieldcat_alv
    *      it_sort                           = it_sort
    ***   I_DEFAULT                         = 'X'
    **      i_save                            = 'A'
    ***   IT_EVENTS                         =
    *     TABLES
    *       t_outtab                          = it_final
    *    EXCEPTIONS
    *      program_error                     = 1
    *      OTHERS                            = 2
    *  IF sy-subrc <> 0.
    *** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    ***         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    *  ENDIF.
    ENDFORM.                    " DISPLAY_DATA
    *&      Form  TOP_OF_PAGE
    *       Header at top of page.
    FORM top_of_page.
       SKIP 1.
       WRITE: AT 35 'Account Statement from' , so_budat-low , 'to' , so_budat-high.
       SKIP 2.
       WRITE: AT /5 'CUSTOMER:' , p_kunnr.
       WRITE: AT 35 'Name:' , w_name1.
       WRITE: AT /5 'Company:' , p_bukrs.
       WRITE: AT 35 'City:' , w_ort01.
       SKIP 1.
       WRITE: AT /5 'Opening Balance as on' , so_budat-low , '   ' ,  w_opbal LEFT-JUSTIFIED.
       SKIP 2.
    ENDFORM.                    "TOP_OF_PAGE
    *&      Form  END_OF_PAGE
    *       Footer at End of page.
    FORM end_of_page.
       SKIP 2.
       IF so_budat-high IS NOT INITIAL.
         WRITE: AT 5 'Closing Balance as on' , so_budat-high , '   ' ,  w_clobal LEFT-JUSTIFIED.
       ELSE.
         WRITE: AT 5 'Closing Balance  ' , w_clobal LEFT-JUSTIFIED.
       ENDIF.
    ENDFORM.                    "end_of_page
    *&      Form  CALCULATE_OPENBAL
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM calculate_openbal .
       DATA:v_gjahr       TYPE bsid-gjahr.
       DATA: v_period LIKE  t009b-poper,v_monat LIKE t001-periv.
       CALL FUNCTION 'FI_PERIOD_DETERMINE'
              EXPORTING
                   i_budat        = so_budat-low
                   i_bukrs        = p_bukrs
    *           I_PERIV        = ' '
    *           I_GJAHR        = 0000
    *           I_MONAT        = 00
    *           X_XMO16        = ' '
              IMPORTING
                   e_gjahr        = v_gjahr
    *            e_monat        = v_monat
                   e_poper        = v_period.
       IF sy-subrc NE 0.
       ENDIF.
       DATA: f_date LIKE sy-datum.
       CALL FUNCTION 'FIRST_DAY_IN_PERIOD_GET'
         EXPORTING
           i_gjahr  = v_gjahr
           i_monmit = 00
           i_periv  = 'V3'
           i_poper  = v_period
         IMPORTING
           e_date   = f_date.
       period = v_period - 1.
       gjahr = v_gjahr.
       DATA wa_kna1 LIKE kna1.
       CALL FUNCTION 'READ_KNA1'
         EXPORTING
           xkunnr         = p_kunnr
         IMPORTING
           xkna1          = wa_kna1
         EXCEPTIONS
           key_incomplete = 1
           not_authorized = 2
           not_found      = 3
           OTHERS         = 4.
       IF sy-subrc <> 0.
         MESSAGE w023(zwww).
         CALL SCREEN 0010.
       ENDIF.
       MOVE-CORRESPONDING wa_kna1 TO t_kna1.
       APPEND t_kna1.
       SELECT kunnr FROM kna1 INTO TABLE ikunnr1
         WHERE kunnr = p_kunnr.
       SELECT bukrs FROM t001 INTO TABLE ibukrs
        FOR ALL ENTRIES IN t_knb1
        WHERE bukrs = t_knb1-bukrs.
       LOOP AT ikunnr1.
         LOOP AT ibukrs.
           ikunnr-kunnr = ikunnr1-kunnr.
           ikunnr-bukrs = ibukrs-bukrs.
           READ TABLE t_kna1 WITH  KEY kunnr = ikunnr1-kunnr.
           ikunnr-lifnr = t_kna1-lifnr.
           APPEND ikunnr.
         ENDLOOP.
       ENDLOOP.
       DELETE ikunnr WHERE bukrs NE p_bukrs.
       LOOP AT ikunnr.
         CLEAR: knc1,lfc1,f.
         IF NOT ( ikunnr-kunnr IS INITIAL ) AND NOT ( p_vendor IS INITIAL ).
           SELECT SINGLE * FROM lfc1
                  WHERE gjahr = gjahr AND bukrs = ikunnr-bukrs
                                      AND lifnr = ikunnr-lifnr.
         ENDIF.
         SELECT SINGLE * FROM knc1
           WHERE gjahr = gjahr AND bukrs = p_bukrs
                 AND kunnr = p_kunnr.
         IF sy-subrc = 0.
           CASE period .
             WHEN 12.
               open = knc1-umsav +
               knc1-um01s - knc1-um01h + knc1-um02s - knc1-um02h +
               knc1-um03s - knc1-um03h + knc1-um04s - knc1-um04h +
               knc1-um05s - knc1-um05h + knc1-um06s - knc1-um06h +
               knc1-um07s - knc1-um07h + knc1-um08s - knc1-um08h +
               knc1-um09s - knc1-um09h + knc1-um10s - knc1-um10h +
               knc1-um11s - knc1-um11h + knc1-um12s - knc1-um12h.
               IF NOT ( lfc1 IS INITIAL ).
                 open = open + lfc1-umsav +
                 lfc1-um01s - lfc1-um01h + lfc1-um02s - lfc1-um02h +
                 lfc1-um03s - lfc1-um03h + lfc1-um04s - lfc1-um04h +
                 lfc1-um05s - lfc1-um05h + lfc1-um06s - lfc1-um06h +
                 lfc1-um07s - lfc1-um07h + lfc1-um08s - lfc1-um08h +
                 lfc1-um09s - lfc1-um09h + lfc1-um10s - lfc1-um10h +
                 lfc1-um11s - lfc1-um11h + lfc1-um12s - lfc1-um12h.
               ENDIF.
             WHEN 11.
               open = knc1-umsav +
               knc1-um01s - knc1-um01h + knc1-um02s - knc1-um02h +
               knc1-um03s - knc1-um03h + knc1-um04s - knc1-um04h +
               knc1-um05s - knc1-um05h + knc1-um06s - knc1-um06h +
               knc1-um07s - knc1-um07h + knc1-um08s - knc1-um08h +
               knc1-um09s - knc1-um09h + knc1-um10s - knc1-um10h +
               knc1-um11s - knc1-um11h.
               IF NOT ( lfc1 IS INITIAL ) .
                 open = open + lfc1-umsav +
                 lfc1-um01s - lfc1-um01h + lfc1-um02s - lfc1-um02h +
                 lfc1-um03s - lfc1-um03h + lfc1-um04s - lfc1-um04h +
                 lfc1-um05s - lfc1-um05h + lfc1-um06s - lfc1-um06h +
                 lfc1-um07s - lfc1-um07h + lfc1-um08s - lfc1-um08h +
                 lfc1-um09s - lfc1-um09h + lfc1-um10s - lfc1-um10h +
                 lfc1-um11s - lfc1-um11h.
               ENDIF.
             WHEN 10.
               open = knc1-umsav +
               knc1-um01s - knc1-um01h + knc1-um02s - knc1-um02h +
               knc1-um03s - knc1-um03h + knc1-um04s - knc1-um04h +
               knc1-um05s - knc1-um05h + knc1-um06s - knc1-um06h +
               knc1-um07s - knc1-um07h + knc1-um08s - knc1-um08h +
               knc1-um09s - knc1-um09h + knc1-um10s - knc1-um10h .
               IF NOT ( lfc1 IS INITIAL ) .
                 open = open + lfc1-umsav +
                 lfc1-um01s - lfc1-um01h + lfc1-um02s - lfc1-um02h +
                 lfc1-um03s - lfc1-um03h + lfc1-um04s - lfc1-um04h +
                 lfc1-um05s - lfc1-um05h + lfc1-um06s - lfc1-um06h +
                 lfc1-um07s - lfc1-um07h + lfc1-um08s - lfc1-um08h +
                 lfc1-um09s - lfc1-um09h + lfc1-um10s - lfc1-um10h.
               ENDIF.
             WHEN 9.
               open = knc1-umsav +
               knc1-um01s - knc1-um01h + knc1-um02s - knc1-um02h +
               knc1-um03s - knc1-um03h + knc1-um04s - knc1-um04h +
               knc1-um05s - knc1-um05h + knc1-um06s - knc1-um06h +
               knc1-um07s - knc1-um07h + knc1-um08s - knc1-um08h +
               knc1-um09s - knc1-um09h .
               IF NOT ( lfc1 IS INITIAL ) .
                 open = open + lfc1-umsav +
                 lfc1-um01s - lfc1-um01h + lfc1-um02s - lfc1-um02h +
                 lfc1-um03s - lfc1-um03h + lfc1-um04s - lfc1-um04h +
                 lfc1-um05s - lfc1-um05h + lfc1-um06s - lfc1-um06h +
                 lfc1-um07s - lfc1-um07h + lfc1-um08s - lfc1-um08h +
                 lfc1-um09s - lfc1-um09h.
               ENDIF.
             WHEN 8.
               open = knc1-umsav +
               knc1-um01s - knc1-um01h + knc1-um02s - knc1-um02h +
               knc1-um03s - knc1-um03h + knc1-um04s - knc1-um04h +
               knc1-um05s - knc1-um05h + knc1-um06s - knc1-um06h +
               knc1-um07s - knc1-um07h + knc1-um08s - knc1-um08h.
               IF NOT ( lfc1 IS INITIAL ) .
                 open = open + lfc1-umsav +
                 lfc1-um01s - lfc1-um01h + lfc1-um02s - lfc1-um02h +
                 lfc1-um03s - lfc1-um03h + lfc1-um04s - lfc1-um04h +
                 lfc1-um05s - lfc1-um05h + lfc1-um06s - lfc1-um06h +
                 lfc1-um07s - lfc1-um07h + lfc1-um08s - lfc1-um08h .
               ENDIF.
             WHEN 7.
               open = knc1-umsav +
               knc1-um01s - knc1-um01h + knc1-um02s - knc1-um02h +
               knc1-um03s - knc1-um03h + knc1-um04s - knc1-um04h +
               knc1-um05s - knc1-um05h + knc1-um06s - knc1-um06h +
               knc1-um07s - knc1-um07h .
               IF NOT ( lfc1 IS INITIAL ) .
                 open = open + lfc1-umsav +
                 lfc1-um01s - lfc1-um01h + lfc1-um02s - lfc1-um02h +
                 lfc1-um03s - lfc1-um03h + lfc1-um04s - lfc1-um04h +
                 lfc1-um05s - lfc1-um

  • Performance issue of frequently data inserted tables

    Hi all,
    Have a table named raw_trap_store having columns as trap_id(number,PK),Source_IP(varchar2), OID(varchar2),Message(CLOB)  and received_time(date).
    This table is partitioned across 24 partitions where partitioning column being received_time. (every hour's data will be stored in each partition).
    This table is getting inserted with 40-50 records/sec on an average. Overall number of records for a day will be around 2.8-3 million. Data will be retained for 2 days.
    No updates will be happening on this table.
    Performance issue:N
    Need a report  which involves selection of records from this table based on certain values of Source IP (filtering condition on source_ip column).
    Need a report  which involves selection of records from this table based on certain values of OID (filtering condition on OID column).
    But, if i create an index on SourceIP and OID column, then inserts are getting slow. (have created a normal index. not partitioned index)
    Please help me to address the above issue.

    Giving the nature of your report (based on Source_IP and OID) and the nature of your table partitioning (range partitioned by received_time), you have already made a good decision to create these particular indexes as a normal (b-tree or global) and not locally partitioned. Because if you have locally partitioned them, your reports will not eliminate partitions (because they do not include the partition key in their where clause) and hence your index range scans will scan all 24 partitions generating a lot of logical I/O
    That is said, remember that generally we insert once and select many times. You have to balance that. If you are sure that it is the creation of your two indexes that has decreased the insert performance then you may set them at in an unusable state before the insert and rebuild them after. But this might be a good advice only if the volume of data to be inserted is much bigger than the existing volume of data before the insert.
    And if you are not deleting from the table and the table does not contain triggers and integrity constraints (like FK constraint) then you can opt for a direct path insert using the hint /*+ append */
    Best regards
    Mohamed Houri
    <mod. action: removed unecessary blog ref.>
    Message was edited by: Nicolas.Gasparotto

  • Expression Filter Performance Issues / Misuse?

    I'm currently evaluating the Expression Filter functionality for a new requirement. The basic idea of the requirement is that I have a logging table that I want to get "interesting" records from. The way I want to set it up is to exclude known, "uninteresting", records or record patterns.
    So as far as an implementation I was considering a table of expressions that contained expression filter entries for the "uninteresting" records and checking this against my logging table using the EVALUATE operator and looking for a 0 result.
    In my testing I wanted to return results where the EVALUTE operator is equal to 1 to see if my expressions are correct. In doing this I was experiencing significant performance issues. For example my test filter matches 72 rows out of 61657 possible entries. It took Oracle almost 10 minutes to evaluate this expression. I tried it with and without an Expression Filter index with no noticeable change in execution time. The test case and query is provided below.
    Is this the right use case for Expression Filter? Am I misunderstanding how it works? What am I doing wrong?
    Test Case:
    Version
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
    PL/SQL Release 11.2.0.1.0 - Production
    CORE    11.2.0.1.0      Production
    TNS for 32-bit Windows: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - Production
    Objects & Query:
    CREATE TABLE expressions( white_list VARCHAR2(200));
    CREATE TABLE data
    AS
    SELECT OBJECT_ID
         , OWNER
         , OBJECT_NAME
         , CREATED
         , LAST_DDL_TIME
    FROM   DBA_OBJECTS
    BEGIN
      -- Create the empty Attribute Set --
      DBMS_EXPFIL.CREATE_ATTRIBUTE_SET('exptype');
      -- Define elementary attributes of EXF$TABLE_ALIAS type --
      DBMS_EXPFIL.ADD_ELEMENTARY_ATTRIBUTE('exptype','data',
                                            EXF$TABLE_ALIAS('test_user.data'));
    END;
    BEGIN
      DBMS_EXPFIL.ASSIGN_ATTRIBUTE_SET('exptype','expressions','white_list');
    END;
    INSERT INTO expressions(white_list) VALUES('data.owner=''TEST_USER'' AND data.created BETWEEN TO_DATE(''08/03/2010'',''MM/DD/YYYY'') AND TO_DATE(''08/05/2010'',''MM/DD/YYYY'')');
    exec dbms_stats.gather_table_stats(USER,'EXPRESSIONS');
    exec dbms_stats.gather_table_stats(USER,'DATA');
    CREATE INDEX expIndex ON Expressions (white_list) INDEXTYPE IS EXFSYS.EXPFILTER
      PARAMETERS ('STOREATTRS (data.owner,data.object_name,data.created)
                   INDEXATTRS (data.owner,data.object_name,data.created)');
    SELECT /*+ gather_plan_statistics */ data.* FROM data, expressions WHERE EVALUATE(white_list,exptype.getVarchar(data.rowid)) = 1;
    DROP TABLE expressions PURGE;
    BEGIN
            DBMS_EXPFIL.DROP_ATTRIBUTE_SET(attr_set => 'exptype');
    END;
    DROP TABLE data PURGE;

    Hi,
    If you are already using the queries and are stable enough then rather than modifying query you can try other options to improve the query performance like data compression of the cube, creation of aggregates, placing cube on BIA or creating cache for the query.
    Best Regards,
    Prashant Vankudre.

  • ERP Sales Order : Performance issues with Product Proposal

    Hi
    we are working on CRM 2007 solution and are facing serious performance issues with the ERP Sales Order functionality provided in the ICWC of this version.
    In our development we are adding items in the ERP cart as soon as the user clicks on the 'New Sales Order' button of the sales order sreen. We get the items by very simple and optimized call to the ERP system and then add these entities in the Item Cart (Item collection ...in simple sense).
    For adding 10 items the application takes 10 seconds and this is too much for adding just 10 items.
    Can you please provide any Notes/alternative solution to resolve this issue.
    Regards
    Ajitabh

    Hi Ajithabh,
    Please apply the following SAP notes:
    1061423 - Interaction Center ERP Order Performance improvement
    1262277 - Performance: CRM value help causes dumps in ERP
    1292817 - Performance: Reduce RFC calls during creation of ERP order.
    1319885 - ERP sales order search with external reference
    1326527 - Reducing number of RFC calls in IC ERP Sales Order
    I hope it helps!
    Regards,
    Gabriel Santana

  • Oracle 11g Migration performance issue

    Hello,
    There a performance issue with Migration from Oracle 10g(10.2.0.5) to Oracle 11g(11.2.0.2).
    Its very simple statement hanging for more than a day and later found that query plan is very very bad. Example of the query is given below:
    INSERT INTO TABLE_XYZ
    SELECT F1,F2,F3
    FROM TABLE_AB, TABLE_BC
    WHERE F1=F4;
    While looking at cost in Explain plan :
    on 10g --> 62567
    0n 11g --> 9879652356776
    Strange thing is that
    Scenario 1: if I issue just query as shown below, will display rows immediately :
    SELECT F1,F2,F3
    FROM TABLE_AB, TABLE_BC
    WHERE F1=F4;
    Scenario 2: If I create a table as shown below, will work correctly.
    CREATE TABLE TABLE_XYZ AS
    SELECT F1,F2,F3
    FROM TABLE_AB, TABLE_BC
    WHERE F1=F4;
    What could be the issue here with INSERT INTO <TAB> SELECT <COL> FROM <TAB1>?

    Table:
    CREATE TABLE AVN_WRK_F_RENEWAL_TRANS_T
    "PKSRCSYSTEMID" NUMBER(4,0) NOT NULL ENABLE,
    "PKCOMPANYCODE" VARCHAR2(8 CHAR) NOT NULL ENABLE,
    "PKBRANCHCODE" VARCHAR2(8 CHAR) NOT NULL ENABLE,
    "PKLINEOFBUSINESS" NUMBER(4,0) NOT NULL ENABLE,
    "PKPRODUCINGOFFICELIST" VARCHAR2(2 CHAR) NOT NULL ENABLE,
    "PKPRODUCINGOFFICE" VARCHAR2(8 CHAR) NOT NULL ENABLE,
    "PKEXPIRYYR" NUMBER(4,0) NOT NULL ENABLE,
    "PKEXPIRYMTH" NUMBER(2,0) NOT NULL ENABLE,
    "CURRENTEXPIRYCOUNT" NUMBER,
    "CURRENTRENEWEDCOUNT" NUMBER,
    "PREVIOUSEXPIRYCOUNT" NUMBER,
    "PREVIOUSRENEWEDCOUNT" NUMBER
    SEGMENT CREATION IMMEDIATE PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE
    INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT
    TABLESPACE "XYZ" ;
    Explain Plan(With Insert Statement and Query):_
    INSERT STATEMENT, GOAL = ALL_ROWS               Cost=9110025395866     Cardinality=78120     Bytes=11952360
    LOAD TABLE CONVENTIONAL     Object owner=ODS     Object name=AVN_WRK_F_RENEWAL_TRANS               
    NESTED LOOPS OUTER               Cost=9110025395866     Cardinality=78120     Bytes=11952360
    TABLE ACCESS FULL     Object owner=ODS     Object name=AVN_WRK_F_RENEWAL_TRANS_1ST     Cost=115     Cardinality=78120     Bytes=2499840
    VIEW PUSHED PREDICATE     Object owner=ODS          Cost=116615788     Cardinality=1     Bytes=121
    SORT GROUP BY               Cost=116615788     Cardinality=3594     Bytes=406122
    VIEW     Object owner=SYS     Object name=VW_DAG_1     Cost=116615787     Cardinality=20168     Bytes=2278984
    SORT GROUP BY               Cost=116615787     Cardinality=20168     Bytes=4073936
    NESTED LOOPS OUTER               Cost=116614896     Cardinality=20168     Bytes=4073936
    VIEW     Object owner=SYS          Cost=5722     Cardinality=20168     Bytes=2157976
    NESTED LOOPS               Cost=5722     Cardinality=20168     Bytes=2097472
    HASH JOIN               Cost=924     Cardinality=1199     Bytes=100716
    NESTED LOOPS                         
    NESTED LOOPS               Cost=181     Cardinality=1199     Bytes=80333
    TABLE ACCESS BY INDEX ROWID     Object owner=ODS     Object name=INWARDSPOLICYDETAILS     Cost=159     Cardinality=1199     Bytes=39567
    INDEX RANGE SCAN     Object owner=ODS     Object name=IX_INWPOLDTLS_SYSCOMPANYBRANCH     Cost=7     Cardinality=1199     
    INDEX UNIQUE SCAN     Object owner=ODS     Object name=PK_AVN_D_MASTERPOLICYDETAILS     Cost=0     Cardinality=1     
    TABLE ACCESS BY INDEX ROWID     Object owner=ODS     Object name=AVN_D_MASTERPOLICYDETAILS     Cost=1     Cardinality=1     Bytes=34
    TABLE ACCESS FULL     Object owner=ODS     Object name=INWARDSPOLICYLOBMAPPING     Cost=741     Cardinality=288498     Bytes=4904466
    VIEW PUSHED PREDICATE     Object owner=ODS          Cost=4     Cardinality=1     Bytes=20
    FILTER                         
    SORT AGGREGATE                    Cardinality=1     Bytes=21
    TABLE ACCESS BY GLOBAL INDEX ROWID     Object owner=ODS     Object name=AVN_F_TRANSACTIONS     Cost=4     Cardinality=1     Bytes=21
    INDEX RANGE SCAN     Object owner=ODS     Object name=PK_AVN_F_TRANSACTIONS     Cost=3     Cardinality=1     
    VIEW PUSHED PREDICATE     Object owner=ODS          Cost=5782     Cardinality=1     Bytes=95
    SORT GROUP BY               Cost=5782     Cardinality=2485     Bytes=216195
    VIEW     Object owner=SYS     Object name=VW_DAG_0     Cost=5781     Cardinality=2485     Bytes=216195
    SORT GROUP BY               Cost=5781     Cardinality=2485     Bytes=278320
    HASH JOIN               Cost=5780     Cardinality=2485     Bytes=278320
    VIEW     Object owner=SYS     Object name=VW_GBC_15     Cost=925     Cardinality=1199     Bytes=73139
    SORT GROUP BY               Cost=925     Cardinality=1199     Bytes=100716
    HASH JOIN               Cost=924     Cardinality=1199     Bytes=100716
    NESTED LOOPS                         
    NESTED LOOPS               Cost=181     Cardinality=1199     Bytes=80333
    TABLE ACCESS BY INDEX ROWID     Object owner=ODS     Object name=INWARDSPOLICYDETAILS     Cost=159     Cardinality=1199     Bytes=39567
    INDEX RANGE SCAN     Object owner=ODS     Object name=IX_INWPOLDTLS_SYSCOMPANYBRANCH     Cost=7     Cardinality=1199     
    INDEX UNIQUE SCAN     Object owner=ODS     Object name=PK_AVN_D_MASTERPOLICYDETAILS     Cost=0     Cardinality=1     
    TABLE ACCESS BY INDEX ROWID     Object owner=ODS     Object name=AVN_D_MASTERPOLICYDETAILS     Cost=1     Cardinality=1     Bytes=34
    TABLE ACCESS FULL     Object owner=ODS     Object name=INWARDSPOLICYLOBMAPPING     Cost=741     Cardinality=288498     Bytes=4904466
    VIEW     Object owner=SYS     Object name=VW_GBF_16     Cost=4854     Cardinality=75507     Bytes=3850857
    SORT GROUP BY               Cost=4854     Cardinality=75507     Bytes=2340717
    VIEW     Object owner=ODS          Cost=4207     Cardinality=75507     Bytes=2340717
    SORT GROUP BY               Cost=4207     Cardinality=75507     Bytes=1585647
    PARTITION HASH ALL               Cost=3713     Cardinality=75936     Bytes=1594656
    TABLE ACCESS FULL     Object owner=ODS     Object name=AVN_F_TRANSACTIONS     Cost=3713     Cardinality=75936     Bytes=1594656
    Explain Plan(Only Query):_
    SELECT STATEMENT, GOAL = ALL_ROWS               Cost=62783     Cardinality=89964     Bytes=17632944
    HASH JOIN OUTER               Cost=62783     Cardinality=89964     Bytes=17632944
    TABLE ACCESS FULL     Object owner=ODS     Object name=AVN_WRK_F_RENEWAL_TRANS_1ST     Cost=138     Cardinality=89964     Bytes=2878848
    VIEW     Object owner=ODS          Cost=60556     Cardinality=227882     Bytes=37372648
    HASH GROUP BY               Cost=60556     Cardinality=227882     Bytes=26434312
    VIEW     Object owner=SYS     Object name=VW_DAG_1     Cost=54600     Cardinality=227882     Bytes=26434312
    HASH GROUP BY               Cost=54600     Cardinality=227882     Bytes=36005356
    HASH JOIN OUTER               Cost=46664     Cardinality=227882     Bytes=36005356
    VIEW     Object owner=SYS          Cost=18270     Cardinality=227882     Bytes=16635386
    HASH JOIN               Cost=18270     Cardinality=227882     Bytes=32587126
    HASH JOIN               Cost=12147     Cardinality=34667     Bytes=2912028
    HASH JOIN               Cost=10076     Cardinality=34667     Bytes=2322689
    TABLE ACCESS FULL     Object owner=ODS     Object name=AVN_D_MASTERPOLICYDETAILS     Cost=137     Cardinality=34667     Bytes=1178678
    TABLE ACCESS FULL     Object owner=ODS     Object name=INWARDSPOLICYDETAILS     Cost=9934     Cardinality=820724     Bytes=27083892
    TABLE ACCESS FULL     Object owner=ODS     Object name=INWARDSPOLICYLOBMAPPING     Cost=741     Cardinality=866377     Bytes=14728409
    VIEW     Object owner=ODS          Cost=5195     Cardinality=227882     Bytes=13445038
    HASH GROUP BY               Cost=5195     Cardinality=227882     Bytes=4785522
    PARTITION HASH ALL               Cost=3717     Cardinality=227882     Bytes=4785522
    TABLE ACCESS FULL     Object owner=ODS     Object name=AVN_F_TRANSACTIONS     Cost=3717     Cardinality=227882     Bytes=4785522
    VIEW     Object owner=ODS          Cost=26427     Cardinality=227882     Bytes=19369970
    HASH GROUP BY               Cost=26427     Cardinality=227882     Bytes=18686324
    VIEW     Object owner=SYS     Object name=VW_DAG_0     Cost=26427     Cardinality=227882     Bytes=18686324
    HASH GROUP BY               Cost=26427     Cardinality=227882     Bytes=25294902
    HASH JOIN               Cost=20687     Cardinality=227882     Bytes=25294902
    VIEW     Object owner=SYS     Object name=VW_GBC_15     Cost=12826     Cardinality=34667     Bytes=2080020
    HASH GROUP BY               Cost=12826     Cardinality=34667     Bytes=2912028
    HASH JOIN               Cost=12147     Cardinality=34667     Bytes=2912028
    HASH JOIN               Cost=10076     Cardinality=34667     Bytes=2322689
    TABLE ACCESS FULL     Object owner=ODS     Object name=AVN_D_MASTERPOLICYDETAILS     Cost=137     Cardinality=34667     Bytes=1178678
    TABLE ACCESS FULL     Object owner=ODS     Object name=INWARDSPOLICYDETAILS     Cost=9934     Cardinality=820724     Bytes=27083892
    TABLE ACCESS FULL     Object owner=ODS     Object name=INWARDSPOLICYLOBMAPPING     Cost=741     Cardinality=866377     Bytes=14728409
    VIEW     Object owner=SYS     Object name=VW_GBF_16     Cost=7059     Cardinality=227882     Bytes=11621982
    HASH GROUP BY               Cost=7059     Cardinality=227882     Bytes=6836460
    VIEW     Object owner=ODS          Cost=5195     Cardinality=227882     Bytes=6836460
    HASH GROUP BY               Cost=5195     Cardinality=227882     Bytes=4785522
    PARTITION HASH ALL               Cost=3717     Cardinality=227882     Bytes=4785522
    TABLE ACCESS FULL     Object owner=ODS     Object name=AVN_F_TRANSACTIONS     Cost=3717     Cardinality=227882     Bytes=4785522

  • DbAdapter / Toplink Performance issues

    I'm using the DbAdabpter / Toplink to fetch a sizable dataset (500 - 30,000) row for later emission to a file. The fetch of this data via the DbAdapter / Toplink seems to works reasonably well (albeit quite slow) for datasets between 500-7,000 rows. If I attempt to read a larger dataset, the DbAdapter invocation simply times out. I've tweaked the following configuration options suspecting they might help with the long running invoke the DbAdapter partner link:
    * created an on alarm branch and allowed for 15 minutes for the dataset to be returned.
    * increased the syncMaxWaitTime attribute to 15 minutes.
    * Configured the BPEL OC4J instance to use 2048MB for the JVM heap.
    I've tested the query being used by the DbAdapter via SQL navigator and it returns the data sub-second. I'm suspecting the performance issue is related to the DbAdapter / Toplink rendering the thousands of rows into an XML DOM representation. Might this be the case?
    To help further my hypothesis, I'd like to enable the Toplink profiler. I've found a document in the Oracle doc library that suggests it can be enabled with the following directive, "logProfile" (http://www.oracle.com/technology/products/ias/toplink/doc/1013/MAIN/_html/optimiz003.htm#BEEBCBJF). Any idea where I'd specify this directive? Perhaps somewhere in the toplink_mappings.xml file?
    I could be completely off base and the performance issue could be attributed to some other aspect of my BPEL process. Has anyone else encountered this sort of behavior when working with DbAdapters that return thousands of rows?
    Thanks,
    Peter

    Hi Peter,
    if you are still experiencing the timeout problem you may want to alter the transaction config timout setting in the server.xml file. The tuning guide indicates to change the one file but we have changed it in two locations.
    j2ee/OC4J_BPEL/config (to 700000) and integration/orabpel/system/appserver/oc4j/j2ee/home/config/ (600000) we have previously found that the sync_max_wait_time in the console needs to be set at a value lower than the settings in the above files (540 secs).
    For the performance have you captured the sql from the island log that BPEL is actually running (colaxa.cube.ws logging to debug), is it from a single table or from multiple. We managed to improve the perfromance by setting the use-joining in the toplink-mappings file, but then ended up creating a view in the source system to limit the queries being executed. I am not sure about BPEL's capacity to handle large payloads but it would be interesting to know.
    Ashley

  • SQLs erver migration performance issue

    We are performing migration from oracle to MSSQL server 2005 (Windows 2003/SAP 4.6D).Our target system configuration is like below:
    ->OS - Windows 2003 x64
    ->DB - MSSQL server 2005 SP4
    ->SAP - 4.6 D kernel
    ->CPU - 4 processors (2.67ghz each)
    ->RAM - 16 GB
    ->source system DB size - around 1 TB and package splitting was implemented.
    While importing the export dump that came from source system, we are facing load performance issue's.
    1) We have started 10 parallel processes and after import is started, CPU is getting 95% to 99% utilized and when we check SQL server studio-> Activity monitor we  found below information:
    -There were around 20 processes are in status sleeping
    -Only one or two system processes are running with commands - INSERT,SELECT INTO commands ( column)
    -At any point of time only two processes are running and CPU utilization is hitting high.
    -Import is very slow and its taking 35 hours to complete
    We have followed few SAP notes(1054852,1241751 e.tc..) and below are the settings for SQL server:
    -Minimum server memory - 5 GB
    - Maximum server memory - 5 GB
    - index creation memory - 0
    - Maximum memory per query - 1024 kb
    - Maximum degree of parellelism - 1
    - Parallellism locks - 0
    - Cost threshold of parellism - 5
    - Enabled trace flags - 610,620,1117,1211,3917
    - Windows environment variable BCP_BATCH_SIZE = 10000
    - SQL log file size - 100 GB
    - tempdb size - 20 GB
    2) When we tried another test import after tuning parameters (Maximum degree of parellelism to 3) and increasing r3load parallel processes to 20, we found  of inserts
    are overflowing in process list and blocking other waiting processes and putting them in suspended mode.CPU utilization is at 80%
    Are there any SQL server parameters need to be tuned to fix this import load time issue in both scenarios? Are there any  best practises for migrating to SQL server?
    Thanks..

    > 1) We have started 10 parallel processes and after import is started, CPU is getting 95% to 99% utilized and when we check SQL server studio-> Activity monitor we  found below information:
    What processes is using the CPU? The SQL Server itself or others? (see task manager)
    > -Minimum server memory - 5 GB
    > - Maximum server memory - 5 GB
    For the time of the migration itself I'd give the database more memory (10 GB or more) and reconfigure later when the import is done.
    What parameters do you use for the R3load? I'd recommend
    -loadprocedure fast -merge_bck -c 10000
    and also set
    BCP_LOB=1 in the environment.
    Markus

  • Performance issues in XI

    Hi Experts,
       Can any one help me when we get performance issues in XI, can any body give me some examples.
    thanks,
    dhanush

    Hi
    Here are some helpful links
    http://help.sap.com/saphelp_nw04/helpdata/en/9e/6921e784677d4591053564a8b95e7d/frameset.htm
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/489f5844-0c01-0010-79be-acc3b52250fd
    XI Performance Testing Tool
    Try performance tuning :
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/70ada5ef-0201-0010-1f8b-c935e444b0ad
    Some blog covering the Performance issues in XI:
    Performance Tuning Checks in SAP Exchange Infrastructure: /people/prasad.illapani/blog/2007/03/08/performance-tuning-checks-in-sap-exchange-infrastructure
    Performance Tuning Checks in SAP Exchange Infrastructure(XI): Part-II: /people/prasad.illapani/blog/2007/04/20/performance-tuning-checks-in-sap-exchange-infrastructurexi-part-ii
    Resource consumption for the mapping depends on the complexity of the mappings and the source document sizes.Java mappings use XI Mapping Toolkit.Graphical Mappings are much faster because the code beneath is highly efficient.
    Get back if you have more doubts.
    Thanks

  • ----Constraints and Performance issues----

    Hi all,
    I have a major concern and I would like ur suggestion on the best way to handle it.
    I have a staging table cust_staging. I have 2 target tables customer, customer_address which must be populated from this staging table.
    The customer key in all 3 tables is the primary key. For table customer_address, the customer_key is also referenced from the customer table.
    Incremental data will be available in the staging table (aorund 0.2 million) and the customer table would have appx 2 million records.
    The concern I have is that i have to insert/update this information into the target tables without disabling the foreign key constraints.
    I tried to insert into both the target tables with the constraints enabled but the mapping just hangs and I am forced to kill the process. I had tried using a single mapping to populate both tables and when that was going into hang mode, i tried with first customer and then another mapping for customer_address. This also just goes on hang mode.
    Next I tried to disable the constarint and enable it again in the mapping itself. My concern here is that if I do a blind insert and when I re-enable the constraints, if there is a violation, the target table may goto an unusable state and my target table will become non usable.
    My concern here is how to tackle this problem. Can i first disable the constraints, incorporate some logic using the pre-mappings wherein I can apply business rules to check the constraints explicitly and then redirect the bad records to reject and other records to the actual target.
    Please do let me know how I should handle this situation in OWB bearing in mind the performance issues also.
    we use owb 9.2.

    Hi all,
    I have a major concern and I would like ur suggestion on the best way to handle it.
    I have a staging table cust_staging. I have 2 target tables customer, customer_address which must be populated from this staging table.
    The customer key in all 3 tables is the primary key. For table customer_address, the customer_key is also referenced from the customer table.
    Incremental data will be available in the staging table (aorund 0.2 million) and the customer table would have appx 2 million records.
    The concern I have is that i have to insert/update this information into the target tables without disabling the foreign key constraints.
    I tried to insert into both the target tables with the constraints enabled but the mapping just hangs and I am forced to kill the process. I had tried using a single mapping to populate both tables and when that was going into hang mode, i tried with first customer and then another mapping for customer_address. This also just goes on hang mode.
    Next I tried to disable the constarint and enable it again in the mapping itself. My concern here is that if I do a blind insert and when I re-enable the constraints, if there is a violation, the target table may goto an unusable state and my target table will become non usable.
    My concern here is how to tackle this problem. Can i first disable the constraints, incorporate some logic using the pre-mappings wherein I can apply business rules to check the constraints explicitly and then redirect the bad records to reject and other records to the actual target.
    Please do let me know how I should handle this situation in OWB bearing in mind the performance issues also.
    we use owb 9.2.

  • Performance issue: Calling a BAPI PO create in test mode to get error msgs

    Hi,
    We have an ALV report in which we display purchase orders that got created in SAP, but either got blocked due to not meeting PO Release strategy tolerances or have failed output messages. we are displaying the failed messages even.
    We are looping the internal table of eban(PR) & calling bapi po create in test mode to get failed messages.
    Now we are facing performance issue in production. What can be the alternate efficient way to get the error msgs with efficiency
    Regards,
    Ayub H.
    Moderator message: duplicate post (different ID, same company...), see below:
    Performance issue calling bapi po create in test mode to get error messages
    Edited by: Thomas Zloch on Mar 9, 2012

    Hi Suvarna,
    so you need to reduce the number of PO-simulations.
    - Likely you checked already, that all EBAN-entries should already be converted into POs. If there would be a large number of "new" EBAN-entries, they don't need to be simulated.
    - If it's a temporary problem: give aid to correct the problems (maintain prices or whatever the error-reasons are) Then the amount of not-converted purchase requisitions (PR) should drop, too
    - If it's likely, that your volume of open PR will stay high: create a Z-Table with key of EBAN and a counter, simulate (once a day) PO conversions and store the results in the Z-table. In your report you can use the results... if they are "new enough". From time to time new simulations should be done, missing master data might be available.
    Maybe users should be allowed to start this 2nd report manually (in background), too -> then they can update the messages after some data corrections themself, without waiting for the result (just check later in online report and do something different in between).
    And you might need to explain, PO simulation takes as long as PO creation... there is no easy or fast way around this.
    Best regards,
    Christian

Maybe you are looking for

  • How do I zero all data on Time Capsule?

    I just got the new 2TB Time Capsule and I want to get rid of my previous 1TB one, but I can't figure out how to zero all data on that disk, and I of course don't want to sell my Time Capsule to a stranger with sensitive data on it. Does anyone know h

  • How do I select photos in iphoto to add to my ipod?

    I can only select "most recent" but would like to create a ipod pics folder and load only select photos to it. How can I do this? It was easy in windows.

  • Sales Analyses / sql Query

    Hello All, is there a possibillity to catch/copy the sales analyses reports as User Query? we need a existng Sales analyses Report but with some other informations which are not included in the standard report. so my thinking was may we can copy the

  • Does somebody know a method to download all master Data members in Excel

    Hello, i'm searching a method/function which is able to Download all dimension members with a few properties in an excel worksheet? Or should I create an evdre with all base members? Thanks, Gerrit

  • Can't open projects after re-installing Premiere Pro 1.5

    So, right in the middle of some projects, my hard drive decides to crash. I had to replace the hard drive but the computer guy was able to save all my projects, plus I had back ups on an external. Now that I have my computer back and my Premiere Pro