Performance Issue while Joining two Big Tables

Hello Experts,
We've the following Scenario, wherein we need to have Sales rep associated for a Sales Order. This information is available in VBPA table with Sales Order, Sales Order Item and Partner Function being the key.
NOw I'm interested in only one Partner Function for e.g. 'ZP'. This table is having around 120 million records.
I tried both options:
Option 1 - Join this table(VBPA) with Sales Order Item table(VBAP) within the Data Foundation Layer of the Analytic View and doing the filtering on Partner Function
Option 2 - Create a Attribute View for VBPA having filtering on Partner Function and then join this Attribute View in the Logical Join Layer with the Data Foundation table.
Both these options are killing the performance.
Is there any way out to achieve this ?
Your expert opinion is greatly appreciated!!
Thanks & regards,
Jomy

Hi,
Lars is correct. You may have to spend a little bit more time and give a bigger picture.
I have used this join. It takes about 2 to 3 seconds to execute this join for me. My data volume is less than yours.
You must be have used a left outer join when joining the attribute view (with constant filter ZP  as specified in your first post) to the data foundation. Please cross check once again, as sometimes my fat finger inadvertently changed the join type and I had to go back and fix it. If this is a left outer join or a referential join, HANA  does not perform the join if you are not requesting any field from the attribute view on table VBPA. This used to be a problem due to a bug in SP4 but got fixed in SP5.
However, if you have performed this join in the data foundation, it does enforce, the join even if you did not ask any fields from the VBPA table. The reason being that you have put a constant filter ZR (LIPS->VBPA join in  data foundation as specified in one of your later replies).
If any measure you are selecting in the analytic view is a restricted measure  or a calculated measure that needs some field from VBPA, then the join will be enforced as you would agree. This is where I had most trouble. My  join itself is not bad but my business requirement to get the current value of a partner attribute on  a higher level calculation view sent too much data from analytic view to calculation view.
Please send the full diagram  of your model and vizplan. Also, if you are using a front end (like analysis office), please trap the SQL sent from this front end tool and include it in the message.  Even a straight SQL you have used in which you have detected this performance issue will be helpful.
Ramana

Similar Messages

  • I'm facing performance issue while accessing the PLAF Table

    Dar all,
    I'm facing performance issue while accessing the PLAF Table.
    The START-OF-SELECTION of the report starts with the following select query.
        SELECT plnum  pwwrk matnr gsmng psttr FROM plaf
        INTO CORRESPONDING FIELDS OF TABLE it_tab
        WHERE matnr IN s_matnr
          AND pwwrk = p_pwwrk
          AND psttr IN s_psttr
          AND auffx = 'X'
          AND paart = 'LA' .
    While executing the report in the Quality system it does not face any performance issue...
    When it comes to Production System the above said select query itself it is taking 15 - 20 minutes time to move further.
    Kindly help me to over come this problem...
    Regards,
    Jessi

    Hi,
    "Just implement its primary Key
    WHERE PLNUM BETWEEN '0000000001' AND '9999999999' " By this you are implementing the Primary Key
    This statement has nothing to do with performance, because system is not able to use primary key or uses every row.
    Jessica, your query uses secondary index created by SAP:
    1     (Material, plant) which uses fields MANDT MATNR and PLWRK.
    but it is not suitable in your case.
    You can consider adding new one, which would containt all fields: MANDT, MATNR, PWWRK, PSTTR AUFFX PAART
    or - but it depends on number of rows meeting and not meeting (auffx = 'X' AND paart = 'LA' ) condition.
    It could speed the performance, if you would create secondary index based on fields MANDT, MATNR, PWWRK, PSTTR
    and do like Ramchander suggested: remove AUFFX and PAART from index and where section, and remove these unwanted rows
    after the query using DELETE statement.
    Regards,
    Przemysław
    Please check how many rows in production system

  • Issues while joining two tables as the joining column has duplicate values - Please help!

    Hi,
    I have a table A -which has few columns including a Amount column - I am joining this table A to Table B. The joining column in B has duplicates.  So, the number of records are getting more after the joining. As per the requirment when I create a table
    after joining the tables and count the salary clumn, there is a difference in the counting. How can I solve this? Can you please help me?
    Here is the DDL and sample values
    create table #student (sid int, name varchar(10),salary int)
    create table [#address] (sid int, city varchar(10),grade char(1),lineneumber int)
    insert into #student values (1,'sachin',8000)
    insert into #student values (2,'Dhoni',2000)
    insert into #student values (3,'Ganguly',7000)
    insert into #student values (4,'Kohli',1000)
    insert into [#address] values(1,'mumbai','A',1)
    insert into [#address] values(1,'mumbai','B',2)
    insert into [#address] values(1,'mumbai','C',3)
    insert into [#address] values(1,'mumbai','D',4)
    insert into [#address] values(2,'JARKHAND','D',3)
    insert into [#address] values(2,'JARKHAND','D',4)
    SELECT S.SID,NAME,salary,CITY ,grade,linenumber
    into #FINAL
    FROM #STUDENT S
    LEFT JOIN #ADDRESS A
    ON S.SID=A.SID
    SELECT SUM(salary) FROM #FINAL
    --44000
    Final result should be 18000 , but it is coming as 44000. can you please help me to get the correct result - what do i do in the joining?
    In my real project, i have 5 tables joining, each table have more than 30 columns and few joining tables joining column have duplicates. I have simplified the issue so that i can ask the question clearly. So,while answering, please consider that also in mind.
    thanks in advance for your help!

    SELECT S.SID,NAME,salary,CITY 
    into #FINAL
    FROM #STUDENT S
    LEFT JOIN (SELECT DISTINCT sid,city
    FROM #Address) A
    ON S.SID=A.SIDthis will do a join on student table and city table with unique sid and city name so adddress selection will be sid city1 mumbai2 jarkand

  • Performance issue while accessing SWwLOGHIST & SWWHEAD tables

    Hi,
    We have applied workflow function in Purchase Order (PO) for release strategry purpose. We have two release levels.
    The performance issue came while user who tried to update the existing PO in which the PO had already released. because after user amend the PO and then they pressed "SAVE" button in PO's screen, the release strategry will reset and it tried to read the SWwLOGHIST table, it took few seconds to minutes to complete the save process.
    My workflow's schedule job details as below:
    SWWERRE - every 20 minutes
    SWWCOND - every 30 minutes
    SWWDHEX - every 3minutes
    Table Entries:
    SWWHEAD - 6mil entries
    SWwLOGHIST - 25mil entries
    Should we do data archiving on the above workflow tables?
    Is it only the solution?
    Kindly advice,
    Thanks,
    Regards,
    Thomas

    Hi,
    The sizes for both tables as below:-
    SWWLOGHIST - 3GB
    SWWWIHEAD - 2GB
    I've a REORGchk_alltables in weekly basis, in DB2/DB6 (DB) do I need to manually reorg of the tables or rebuild the indexes?
    You can refer the attached screenshots for both tables.
    Thanks,
    Regards,
    Thomas

  • Performance Issue's Related in Adance table in advance table

    Hi,
    Can anybody let me know what are the performance issues in advance table in advance table,because i am having big performance issue while implementing advance table in advance table, my inner table is rendering very slowly.
    Thanks

    Table in a table is a performance eating structure :), because ur VL will cache both parent and child VO rows in JVM.The only way to improve the performance is to tune your sql queries.
    --Mukul                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Joining two fact tables with different dimensions into single logical table

    Hi Gurus,
    I try to accomplish in Oracle Business Intelligence 11.1.1.3.0:
    F1 (D1, D2 and D3)
    F2 (D1 and D2 and D4)
    And we want to build a report F1 F2 D1 D2 D3 D4 to have data for:
    F1 that match only for D1-D2-D3
    and data for
    F2 that match only D1-D2-D4
    all that in one row, so D3 and D4 are not common dimensions.
    I can only do:
    F3 (D1, D2)
    F4 (D1, D2 and D4)
    And report
    F3 F4 D1,D2,D4 (all that in one row, and only D4 is not a common dimension)
    Here is the very good example how to accomplish the scenario 1
    http://108obiee.blogspot.com/2009/08/joining-two-fact-tables-with-different.html
    But looks like it does not work in 11.1.1.3.0
    I get
    State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 43113] Message returned from OBIS. [nQSError: 14025] No fact table exists at the requested level of detail: [,,Clients,,Day,ROI,,,,EW_Names,,,,,,,,,,,,,,,,,]. (HY000)
    I am sure I set up everything correctly as advised in the blog but it works with only one not a common dimension
    Is it a bug in 11.1.1.3.0 or something?
    Thanks,
    Kate

    Thanks for all your replies.
    Actually, I've tried the solutions you guys mentioned. Generally speaking, the result should be displayed. However, my scenario is a little bit tricky.
    table Y's figures are not the aggregation of table X for D dimension. Instead, table Y's figures include not only D dimension total, but also others (others do not mean A, B, C dimension). For example, table Y stores all food's figure, while table X stores only drink's figure. D dimension is only about drink's detail. In my scenario, other foods' figure is not provided.
    So, even if I set D dimension to all/total for table X, table X's result is still not the same as table Y.
    Indeed, table Y does not have a column key to join to D dimension's key. So, if I select D dimension and table Y's measures at the same time in BI Answer, result returns no data. Hence, I can't compare table X and table Y's results with selection of D dimension.
    Is there any solution to solve this problem?
    Edited by: TomChan on Jun 3, 2009 9:36 AM

  • Join two xmltype table using Xquery

    I am wondering how to join two xmltype tables in xml db database. both tables are schema based object-relational tables.
    these are the examples:
    academicProgram table contain batch of academicprogram.xml entries
    <academicProgram>
    <listOfCourse>
    <course><id>1</id></course>
    <course><id>2</id></course>
    </listOfCourse>
    </academicProgram>
    course table contain all the course entries, each of them is an xml file based on the the course schema. for example,
    course1.xml
    <course>
    <id>1</id>
    <title>xxxxxxx</title>
    <description>xxxxxxxxxxxxxx</description>
    </course>
    I used the following xquery code to merge the detailed course information from course table to the academic program information
    select *
    from XMLTable(
    for $program in ora:view("HTU", "ACADEMICPROGRAM")
    return <academicProgram xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"
         for $node in $program/academicProgram/node()
         return if (name($node) eq "listOfCourse")
              then (
                   <listOfCourse>{
                   for $i in $node/course
                   for $j in ora:view("HTU", "COURSE")/course
                   where $i/id eq $j/id
                   return $j
                   }</listOfCourse>
              else $node
         </academicProgram>
    it did return what I want, but the problem is it take more than 5 minutes to finish. is there someway to make it run faster? I have been struggling for a week, please help.
    thanks in advance.
    Haili

    Does this work...
    SQL> var schemaURL varchar2(256)
    SQL> var schemaPath varchar2(256)
    SQL> --
    SQL> set autotrace on explain
    SQL> set lines 150 pages 0 long 10000
    SQL> --
    SQL> begin
      2    :schemaURL := 'http://aahmb10-147:7575/public/www.mdanderson.org/schema/APEP/custom.xsd';
      3    :schemaPath := '/public/custom.xsd';
      4  end;
      5  /
    PL/SQL procedure successfully completed.
    SQL> call dbms_xmlSchema.deleteSchema(:schemaURL,4)
      2  /
    Call completed.
    SQL> declare
      2    res boolean;
      3    xmlSchema xmlType := xmlType(
      4  '<xs:schema xmlns:apcustom="http://www.mdanderson.org/schema/APEP/custom" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="
    http://www.mdanderson.org/schema/APEP/custom" elementFormDefault="qualified" attributeFormDefault="unqualified">
      5    <xs:element name="CourseCatalogCustomDataType">
      6    <xs:annotation>
      7      <xs:documentation>Comment describing your root element</xs:documentation>
      8     </xs:annotation>
      9    </xs:element>
    10   </xs:schema>');
    11  begin
    12    if (dbms_xdb.existsResource(:schemaPath)) then
    13      dbms_xdb.deleteResource(:schemaPath);
    14    end if;
    15    res := dbms_xdb.createResource(:schemaPath,xmlSchema);
    16  end;
    17  /
    PL/SQL procedure successfully completed.
    SQL> begin
      2    dbms_xmlschema.registerSchema
      3    (
      4      :schemaURL,
      5      xdbURIType(:schemaPath).getClob(),
      6      TRUE,TRUE,FALSE,TRUE
      7    );
      8  end;
      9  /
    PL/SQL procedure successfully completed.
    SQL> begin
      2    :schemaURL := 'http://aahmb10-147:7575/public/www.mdanderson.org/schema/APEP/courseCatalog.xsd';
      3    :schemaPath := '/public/courseCatalog.xsd';
      4  end;
      5  /
    PL/SQL procedure successfully completed.
    SQL> call dbms_xmlSchema.deleteSchema(:schemaURL,4)
      2  /
    Call completed.
    SQL> declare
      2    res boolean;
      3    xmlSchema xmlType := xmlType(
      4  '<?xml version="1.0" encoding="UTF-8"?>
      5  <!--  edited with XMLSpy v2006 rel. 3 U (http://www.altova.com) by John Grossman (UT MD Anderson Cancer Center)
      6    -->
      7  <xs:schema xmlns:xdb="http://xmlns.oracle.com/xdb" xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog" xmlns:xs="http://www.w3.
    org/2001/XMLSchema" xmlns:ns1="http://www.mdanderson.org/schema/APEP/custom" targetNamespace="http://www.mdanderson.org/schema/APEP/courseCa
    talog" elementFormDefault="qualified" attributeFormDefault="unqualified" xdb:storeVarrayAsTable="true">
      8     <xs:import namespace="http://www.mdanderson.org/schema/APEP/custom" schemaLocation="http://aahmb10-147:7575/public/www.mdanderson.or
    g/schema/APEP/custom.xsd"/>
      9     <!-- ########################################  -->
    10     <!-- GLOBAL ELEMENTS  -->
    11     <!-- ########################################  -->
    12     <xs:element name="course" type="CourseType" xdb:defaultTable="COURSE">
    13             <xs:annotation>
    14                     <xs:documentation>Comment describing your root element</xs:documentation>
    15             </xs:annotation>
    16     </xs:element>
    17     <xs:element name="listOfCourse" type="ListOfCourseType" xdb:defaultTable="COURSELIST"/>
    18     <xs:element name="courseCatalog" type="CourseCatalogType" xdb:defaultTable="COURSECATALOG"/>
    19     <!-- ########################################  -->
    20     <!-- GLOBAL TYPES  -->
    21     <!-- ########################################  -->
    22     <xs:complexType name="CompositeIDType" xdb:SQLType="COURSE_COMPOSITEID_T">
    23             <xs:sequence>
    24                     <xs:element name="prefix" xdb:SQLName="PREFIX">
    25                             <xs:simpleType>
    26                                     <xs:restriction base="xs:string">
    27                                             <xs:length value="2"/>
    28                                     </xs:restriction>
    29                             </xs:simpleType>
    30                     </xs:element>
    31                     <xs:element name="level" type="xs:positiveInteger" xdb:SQLName="COURSELEVEL"/>
    32                     <xs:element name="creditHours" type="xs:positiveInteger" xdb:SQLName="CREDITHOURS"/>
    33                     <xs:element name="identNumber" xdb:SQLName="IDENTNUMBER">
    34                             <xs:simpleType>
    35                                     <xs:restriction base="xs:string">
    36                                             <xs:length value="2"/>
    37                                     </xs:restriction>
    38                             </xs:simpleType>
    39                     </xs:element>
    40             </xs:sequence>
    41     </xs:complexType>
    42     <xs:complexType name="CourseType" xdb:SQLType="COURSE_T">
    43             <xs:sequence>
    44                     <xs:element name="id" type="xs:integer" minOccurs="0" xdb:SQLName="ID"/>
    45                     <xs:element name="compositeID" type="CompositeIDType" minOccurs="0" xdb:SQLName="COMPOSITEID"/>
    46                     <xs:element name="title" type="xs:string" minOccurs="0" xdb:SQLName="TITLE"/>
    47                     <xs:element name="description" type="xs:string" minOccurs="0" xdb:SQLName="DESCRIPTION"/>
    48                     <xs:element name="corequisite" type="CompositeIDType" minOccurs="0" maxOccurs="unbounded" xdb:SQLName="COREQUISITE"
    xdb:defaultTable=""/>
    49                     <xs:element name="prerequisite" type="CompositeIDType" minOccurs="0" maxOccurs="unbounded" xdb:SQLName="PREREQUISITE
    " xdb:defaultTable=""/>
    50                     <xs:element name="availability" minOccurs="0" xdb:SQLName="AVAILABILITY">
    51                             <xs:complexType>
    52                                     <xs:sequence>
    53                                             <xs:element name="startDate" type="xs:date" minOccurs="0" xdb:SQLName="STARTDATE"/>
    54                                             <xs:element name="endDate" type="xs:date" minOccurs="0" xdb:SQLName="ENDDATE"/>
    55                                     </xs:sequence>
    56                             </xs:complexType>
    57                     </xs:element>
    58             </xs:sequence>
    59     </xs:complexType>
    60     <xs:complexType name="ListOfCourseType" xdb:SQLType="COURSE_LIST_T">
    61             <xs:sequence minOccurs="0" maxOccurs="unbounded">
    62                     <xs:element name="id" type="xs:positiveInteger" minOccurs="0" xdb:SQLName="ID"/>
    63                     <xs:element ref="course" minOccurs="0"/>
    64             </xs:sequence>
    65     </xs:complexType>
    66     <xs:complexType name="CourseCatalogType" xdb:SQLType="COURSE_CATALOG_T">
    67             <xs:sequence minOccurs="0">
    68                     <xs:element name="id" type="xs:positiveInteger" minOccurs="0" xdb:SQLName="ID"/>
    69                     <xs:element ref="listOfCourse" minOccurs="0"/>
    70             </xs:sequence>
    71     </xs:complexType>
    72  </xs:schema>');
    73  begin
    74    if (dbms_xdb.existsResource(:schemaPath)) then
    75      dbms_xdb.deleteResource(:schemaPath);
    76    end if;
    77    res := dbms_xdb.createResource(:schemaPath,xmlSchema);
    78  end;
    79  /
    PL/SQL procedure successfully completed.
    SQL> begin
      2    dbms_xmlschema.registerSchema
      3    (
      4      :schemaURL,
      5      xdbURIType(:schemaPath).getClob(),
      6      TRUE,TRUE,FALSE,TRUE
      7    );
      8  end;
      9  /
    PL/SQL procedure successfully completed.
    SQL> begin
      2    :schemaURL := 'http://aahmb10-147:7575/public/www.mdanderson.org/schema/APEP/academicProgram.xsd';
      3    :schemaPath := '/public/academicProgram.xsd';
      4  end;
      5  /
    PL/SQL procedure successfully completed.
    SQL> call dbms_xmlSchema.deleteSchema(:schemaURL,4)
      2  /
    Call completed.
    SQL> declare
      2    res boolean;
      3    xmlSchema xmlType := xmlType(
      4  '<?xml version="1.0" encoding="WINDOWS-1252"?>
      5  <!--  edited with XMLSpy v2006 rel. 3 U (http://www.altova.com) by John Grossman (UT MD Anderson Cancer Center)  -->
      6  <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xdb="http://xmlns.oracle.com/xdb" xmlns:ap="http://www.mdanderson.org/sche
    ma/APEP/courseCatalog" targetNamespace="http://www.mdanderson.org/schema/APEP/courseCatalog" elementFormDefault="qualified" attributeFormDef
    ault="unqualified" xdb:storeVarrayAsTable="true">
      7   <xs:include schemaLocation="http://aahmb10-147:7575/public/www.mdanderson.org/schema/APEP/courseCatalog.xsd" />
      8   <!-- ########################################  -->
      9   <!-- GLOBAL ELEMENTS  -->
    10   <!-- ########################################  -->
    11   <xs:element name="academicProgram" type="ap:AcademicProgramType" xdb:defaultTable="ACADEMICPROGRAM">
    12   <xs:annotation>
    13                     <xs:documentation>Comment describing your root element</xs:documentation>
    14             </xs:annotation>
    15     </xs:element>
    16   <!-- ########################################  -->
    17   <!-- GLOBAL Types  -->
    18   <!-- ########################################  -->
    19     <xs:complexType name="ListOfAcademicCredentialType" xdb:SQLType="ACADEMICCREDENTIAL_LIST_T">
    20             <xs:sequence minOccurs="0" maxOccurs="unbounded">
    21                     <xs:element name="credential" type="ap:AcademicCredentialType" minOccurs="0" xdb:SQLName="CREDENTIAL"/>
    22             </xs:sequence>
    23     </xs:complexType>
    24     <xs:complexType name="AcademicCredentialType" xdb:SQLType="ACADEMICCREDENTIAL_T">
    25             <xs:sequence minOccurs="0">
    26                     <xs:element name="id" type="xs:integer" minOccurs="0" xdb:SQLName="ID"/>
    27                     <xs:element name="field" type="xs:string" minOccurs="0" xdb:SQLName="FIELD">
    28                             <xs:annotation>
    29                                     <xs:documentation>Academic or professional field for which the credential is granted. Example: Clini
    ical Laboratory Science</xs:documentation>
    30                             </xs:annotation>
    31                     </xs:element>
    32                     <xs:element name="typeCode" minOccurs="0" xdb:SQLName="TYPECODE">
    33                             <xs:annotation>
    34                                     <xs:documentation>The type of credential. Example: Bachelor of Science</xs:documentation>
    35                             </xs:annotation>
    36                             <xs:simpleType>
    37                                     <xs:restriction base="xs:string">
    38                                             <xs:enumeration value="Bachelor of Science Degree"/>
    39                                             <xs:enumeration value="Certificate"/>
    40                                     </xs:restriction>
    41                             </xs:simpleType>
    42                     </xs:element>
    43             </xs:sequence>
    44     </xs:complexType>
    45     <xs:complexType name="RequirementType" xdb:SQLType="ACADEMICPROGRAM_REQ_T">
    46             <xs:sequence minOccurs="0">
    47                     <xs:element name="typeCode" type="xs:string" minOccurs="0" xdb:SQLName="TYPECODE"/>
    48                     <xs:element name="description" type="xs:string" minOccurs="0" xdb:SQLName="DESCRIPTION"/>
    49                     <xs:element name="scope" type="xs:string" minOccurs="0" xdb:SQLName="SCOPE"/>
    50             </xs:sequence>
    51     </xs:complexType>
    52     <xs:complexType name="ListOfRequirementType" xdb:SQLType="ACADEMICPROGRAM_REQ_L_T">
    53             <xs:sequence minOccurs="0">
    54                     <xs:element name="requirement" type="ap:RequirementType" minOccurs="0" xdb:SQLName="REQUIREMENT"/>
    55             </xs:sequence>
    56     </xs:complexType>
    57     <xs:complexType name="AcademicProgramType" xdb:SQLType="ACADEMICPROGRAM_T">
    58             <xs:sequence>
    59                     <xs:element name="name" type="xs:string" minOccurs="0" xdb:SQLName="NAME"/>
    60                     <xs:element name="description" type="xs:string" minOccurs="0" xdb:SQLName="DESCRIPTION"/>
    61                     <xs:element name="listOfAcademicCredential" type="ap:ListOfAcademicCredentialType" minOccurs="0"/>
    62                     <xs:element name="listOfRelatedParty" minOccurs="0" xdb:SQLName="LISTOFRELATEDPARTY"/>
    63                     <xs:element name="mission" type="xs:string" minOccurs="0" xdb:SQLName="MISSION"/>
    64                     <xs:element name="goals" type="xs:string" minOccurs="0" xdb:SQLName="GOAL"/>
    65                     <xs:element name="objectives" type="xs:string" minOccurs="0" xdb:SQLName="OBJECTIVES"/>
    66                     <xs:element name="competencies" minOccurs="0" xdb:SQLName="COMPETENCIES"/>
    67                     <xs:element name="selectionProcess" minOccurs="0" xdb:SQLName="SELECTIONPROCESS"/>
    68                     <xs:element name="listOfRequirement" type="ap:ListOfRequirementType" minOccurs="0"/>
    69                     <xs:element name="evaluationCriteria" minOccurs="0" xdb:SQLName="EVALUATIONCRITERIA"/>
    70                     <xs:element name="postBaccDegreeInfo" minOccurs="0" xdb:SQLName="POSTBACCDEGREEINFO"/>
    71                     <xs:element name="postBaccCertificateInfo" minOccurs="0" xdb:SQLName="POSTBACCCERTIFICATEINFO"/>
    72                     <xs:element name="advancedPlacement" minOccurs="0" xdb:SQLName="ADVANCEDPLACEMENT"/>
    73                     <xs:element name="graduation" minOccurs="0" xdb:SQLName="GRADUATION"/>
    74                     <xs:element name="curriculum" minOccurs="0" xdb:SQLName="CURRICULUM"/>
    75                     <xs:element name="listOfCourse" type="ap:ListOfCourseType" minOccurs="0" xdb:SQLName="LISTOFCOURSE"/>
    76             </xs:sequence>
    77     </xs:complexType>
    78  </xs:schema>
    79  ');
    80  begin
    81    if (dbms_xdb.existsResource(:schemaPath)) then
    82      dbms_xdb.deleteResource(:schemaPath);
    83    end if;
    84    res := dbms_xdb.createResource(:schemaPath,xmlSchema);
    85  end;
    86  /
    PL/SQL procedure successfully completed.
    SQL> begin
      2    dbms_xmlschema.registerSchema
      3    (
      4      :schemaURL,
      5      xdbURIType(:schemaPath).getClob(),
      6      TRUE,TRUE,FALSE,TRUE
      7    );
      8  end;
      9  /
    PL/SQL procedure successfully completed.
    SQL> insert into COURSE values ( xmltype(
      2  '<?xml version="1.0" encoding="WINDOWS-1252"?>
      3  <?altova_sps http://aahmb10-147:7575/public/www.mdanderson.org/template/APEP/courseInput.sps?>
      4  <course xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog" xmlns:ns1="http://www.mdanderson.org/schema/APEP/custom" xmlns:xdb=
    "http://xmlns.oracle.com/xdb" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mdanderson.org/schema/APE
    P/courseCatalog http://aahmb10-147:7575/public/www.mdanderson.org/schema/APEP/courseCatalog.xsd">
      5  <id>53</id>
      6  <compositeID>
      7  <prefix>CL</prefix>
      8  <level>4</level>
      9  <creditHours>1</creditHours>
    10  <identNumber>05</identNumber>
    11  </compositeID>
    12  <title>Urinalysis </title>
    13  <description>A review of the anatomy and physiology of the kidney and the formation, elimination, and composition of urine and body flu
    ids. Interpretation of urinary elements, chemical assays, and the correlation with normal and abnormal physiology.</description>
    14  </course>'))
    15  /
    1 row created.
    Execution Plan
    | Id  | Operation        | Name | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | INSERT STATEMENT |      |     1 |   100 |     1   (0)| 00:00:01 |
    SQL> insert into COURSE values ( xmltype(
      2  '<?xml version="1.0" encoding="WINDOWS-1252"?>
      3  <?altova_sps http://aahmb10-147:7575/public/www.mdanderson.org/template/APEP/courseInput.sps?>
      4  <course xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog" xmlns:ns1="http://www.mdanderson.org/schema/APEP/custom" xmlns:xdb=
    "http://xmlns.oracle.com/xdb" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mdanderson.org/schema/APE
    P/courseCatalog http://aahmb10-147:7575/public/www.mdanderson.org/schema/APEP/courseCatalog.xsd">
      5  <id>54</id>
      6  <compositeID>
      7  <prefix>CL</prefix>
      8  <level>4</level>
      9  <creditHours>1</creditHours>
    10  <identNumber>05</identNumber>
    11  </compositeID>
    12  <title>Course 54</title>
    13  <description>A review of the anatomy and physiology of the kidney and the formation, elimination, and composition of urine and body flu
    ids. Interpretation of urinary elements, chemical assays, and the correlation with normal and abnormal physiology.</description>
    14  </course>'))
    15  /
    1 row created.
    Execution Plan
    | Id  | Operation        | Name | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | INSERT STATEMENT |      |     1 |   100 |     1   (0)| 00:00:01 |
    SQL> insert into COURSE values ( xmltype(
      2  '<?xml version="1.0" encoding="WINDOWS-1252"?>
      3  <?altova_sps http://aahmb10-147:7575/public/www.mdanderson.org/template/APEP/courseInput.sps?>
      4  <course xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog" xmlns:ns1="http://www.mdanderson.org/schema/APEP/custom" xmlns:xdb=
    "http://xmlns.oracle.com/xdb" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mdanderson.org/schema/APE
    P/courseCatalog http://aahmb10-147:7575/public/www.mdanderson.org/schema/APEP/courseCatalog.xsd">
      5  <id>55</id>
      6  <compositeID>
      7  <prefix>CL</prefix>
      8  <level>4</level>
      9  <creditHours>1</creditHours>
    10  <identNumber>05</identNumber>
    11  </compositeID>
    12  <title>Course 55</title>
    13  <description>A review of the anatomy and physiology of the kidney and the formation, elimination, and composition of urine and body flu
    ids. Interpretation of urinary elements, chemical assays, and the correlation with normal and abnormal physiology.</description>
    14  </course>'))
    15  /
    1 row created.
    Execution Plan
    | Id  | Operation        | Name | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | INSERT STATEMENT |      |     1 |   100 |     1   (0)| 00:00:01 |
    SQL> insert into ACADEMICPROGRAM values ( xmltype (
      2  '<?xml version="1.0" encoding="WINDOWS-1252"?>
      3  <!--Sample XML file generated by XMLSpy v2006 rel. 3 U (http://www.altova.com)-->
      4  <academicProgram xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog" xmlns:ns1="http://www.mdanderson.org/schema/APEP/custom" x
    mlns:xdb="http://xmlns.oracle.com/xdb" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mdanderson.org/s
    chema/APEP/courseCatalog http://aahmb10-147:7575/public/www.mdanderson.org/schema/APEP/academicProgram.xsd">
      5    <name>Clinical Laboratory Science</name>
      6    <description>The clinical laboratory scientist is an essential member of the health care team, performing a myriad of laboratory proc
    edures aimed at the diagnosis and treatment of disease.</description>
      7    <listOfAcademicCredential>
      8      <credential>
      9        <id>0</id>
    10        <field>String</field>
    11        <typeCode>Bachelor of Science Degree</typeCode>
    12      </credential>
    13      <credential>
    14        <id>0</id>
    15        <field>String</field>
    16        <typeCode>Bachelor of Science Degree</typeCode>
    17      </credential>
    18      <credential>
    19        <id>0</id>
    20        <field>String</field>
    21        <typeCode>Bachelor of Science Degree</typeCode>
    22      </credential>
    23    </listOfAcademicCredential>
    24    <listOfRelatedParty xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"/>
    25    <mission>String</mission>
    26    <goals>String</goals>
    27    <objectives>String</objectives>
    28    <competencies xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"/>
    29    <selectionProcess xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"/>
    30    <listOfRequirement>
    31      <requirement>
    32        <typeCode>String</typeCode>
    33        <description>String</description>
    34        <scope>String</scope>
    35      </requirement>
    36    </listOfRequirement>
    37    <evaluationCriteria xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"/>
    38    <postBaccDegreeInfo xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"/>
    39    <postBaccCertificateInfo xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"/>
    40    <advancedPlacement xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"/>
    41    <graduation xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"/>
    42    <curriculum xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"/>
    43    <listOfCourse>
    44      <id>53</id>
    45      <course>
    46        <id>53</id>
    47        <compositeID>
    48          <prefix>CL</prefix>
    49          <level>4</level>
    50          <creditHours>1</creditHours>
    51          <identNumber>05</identNumber>
    52        </compositeID>
    53        <title>Biochemistry</title>
    54        <description>this is a test for the course biochemistry</description>
    55      </course>
    56      <course>
    57        <id>55</id>
    58        <compositeID>
    59          <prefix>CL</prefix>
    60          <level>4</level>
    61          <creditHours>1</creditHours>
    62          <identNumber>05</identNumber>
    63        </compositeID>
    64        <title>Something Else</title>
    65        <description>this is a test for the course biochemistry</description>
    66      </course>
    67    </listOfCourse>
    68  </academicProgram>'))
    69  /
    1 row created.
    Execution Plan
    | Id  | Operation        | Name | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | INSERT STATEMENT |      |     1 |   100 |     1   (0)| 00:00:01 |
    SQL> select extractValue(value(c),'/course/id')
      2    from ACADEMICPROGRAM ap,
      3   table (xmlsequence(extract(value(ap),'/academicProgram/listOfCourse/course','xmlns="http://www.mdanderson.org/schema/APEP/courseCatalo
    g"'))) c
      4  /
                                     53
                                     55
    Execution Plan
    Plan hash value: 3351541143
    | Id  | Operation                    | Name               | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT             |                    |     2 |   126 |   804   (0)| 00:00:10 |
    |   1 |  NESTED LOOPS                |                    |     2 |   126 |   804   (0)| 00:00:10 |
    |*  2 |   INDEX FAST FULL SCAN       | SYS_IOT_TOP_177341 |     2 |    66 |   802   (0)| 00:00:10 |
    |*  3 |   TABLE ACCESS BY INDEX ROWID| ACADEMICPROGRAM    |     1 |    30 |     1   (0)| 00:00:01 |
    |*  4 |    INDEX UNIQUE SCAN         | SYS_C0022632       |     1 |       |     0   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       2 - filter("SYS_NC_TYPEID$" IS NOT NULL)
       3 - filter(SYS_CHECKACL("ACLOID","OWNERID",xmltype('<privilege
                  xmlns="http://xmlns.oracle.com/xdb/acl.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-ins
                  tance" xsi:schemaLocation="http://xmlns.oracle.com/xdb/acl.xsd
                  http://xmlns.oracle.com/xdb/acl.xsd DAV:http://xmlns.oracle.com/xdb/dav.xsd"><read-properti
                  es/><read-contents/></privilege>'))=1)
       4 - access("NESTED_TABLE_ID"="ACADEMICPROGRAM"."SYS_NC0004200043$")
    Note
       - dynamic sampling used for this statement
    SQL> select updateXML
      2         (
      3            ap.object_value,
      4            '/academicProgram/listOfCourse',
      5            ( select xmlelement
      6                     (
      7                       "listOfCourse",
      8                       xmlattributes('http://www.mdanderson.org/schema/APEP/courseCatalog' as "xmlns"),
      9                       ( select xmlagg ( xmlconcat(extract(object_value,'/course/id'), extract(object_value,'/course'))  )
    10                             from course c,
    11                            table (xmlsequence(extract(ap.object_value,'/academicProgram/listOfCourse/course','xmlns="http://www.mdanders
    on.org/schema/APEP/courseCatalog"'))) api
    12                            where extractValue(c.object_value,'/course/id') = extractValue(value(api),'/course/id')
    13                       )
    14                     ) from dual
    15            ),
    16            'xmlns:="http://www.mdanderson.org/schema/APEP/courseCatalog"'
    17          )
    18     from ACADEMICPROGRAM ap
    19  /
    <?xml version="1.0" encoding="WINDOWS-1252"?>
    <!--Sample XML file generated by XMLSpy v2006 rel. 3 U (http://www.altova.com)--><academicProgram xmlns="http://www.mdanderson.org/schema/AP
    EP/courseC
    atalog" xmlns:ns1="http://www.mdanderson.org/schema/APEP/custom" xmlns:xdb="http://xmlns.oracle.com/xdb" xmlns:xsi="http://www.w3.org/2001/X
    MLSchema-i
    nstance" xsi:schemaLocation="http://www.mdanderson.org/schema/APEP/courseCatalog http://aahmb10-147:7575/public/www.mdanderson.org/schema/AP
    EP/academi
    cProgram.xsd">
      <name>Clinical Laboratory Science</name>
      <description>The clinical laboratory scientist is an essential member of the health care team, performing a myriad of laboratory procedure
    s aimed at
    the diagnosis and treatment of disease.</description>
      <listOfAcademicCredential>
        <credential>
          <id>0</id>
          <field>String</field>
          <typeCode>Bachelor of Science Degree</typeCode>
        </credential>
        <credential>
          <id>0</id>
          <field>String</field>
          <typeCode>Bachelor of Science Degree</typeCode>
        </credential>
        <credential>
          <id>0</id>
          <field>String</field>
          <typeCode>Bachelor of Science Degree</typeCode>
        </credential>
      </listOfAcademicCredential>
      <listOfRelatedParty xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"/>
      <mission>String</mission>
      <goals>String</goals>
      <objectives>String</objectives>
      <competencies xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"/>
      <selectionProcess xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"/>
      <listOfRequirement>
        <requirement>
          <typeCode>String</typeCode>
          <description>String</description>
          <scope>String</scope>
        </requirement>
      </listOfRequirement>
      <evaluationCriteria xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"/>
      <postBaccDegreeInfo xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"/>
      <postBaccCertificateInfo xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"/>
      <advancedPlacement xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"/>
      <graduation xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"/>
      <curriculum xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog"/>
      <listOfCourse xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog">
        <id xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog">53</id>
        <course xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog" xmlns:ns1="http://www.mdanderson.org/schema/APEP/custom" xmlns:xdb="
    http://xml
    ns.oracle.com/xdb" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mdanderson.org/schema/APEP/courseCat
    alog http:
    //aahmb10-147:7575/public/www.mdanderson.org/schema/APEP/courseCatalog.xsd">
          <id>53</id>
          <compositeID>
            <prefix>CL</prefix>
            <level>4</level>
            <creditHours>1</creditHours>
            <identNumber>05</identNumber>
          </compositeID>
          <title>Urinalysis </title>
          <description>A review of the anatomy and physiology of the kidney and the formation, elimination, and composition of urine and body fl
    uids. Inte
    rpretation of urinary elements, chemical assays, and the correlation with normal and abnormal physiology.</description>
        </course>
        <id xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog">55</id>
        <course xmlns="http://www.mdanderson.org/schema/APEP/courseCatalog" xmlns:ns1="http://www.mdanderson.org/schema/APEP/custom" xmlns:xdb="
    http://xml
    ns.oracle.com/xdb" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mdanderson.org/schema/APEP/courseCat
    alog http:
    //aahmb10-147:7575/public/www.mdanderson.org/schema/APEP/courseCatalog.xsd">
          <id>55</id>
          <compositeID>
            <prefix>CL</prefix>
            <level>4</level>
            <creditHours>1</creditHours>
            <identNumber>05</identNumber>
          </compositeID>
          <title>Course 55</title>
          <description>A review of the anatomy and physiology of the kidney and the formation, elimination, and composition of urine and body fl
    uids. Inte
    rpretation of urinary elements, chemical assays, and the correlation with normal and abnormal physiology.</description>
        </course>
      </listOfCourse>
    </academicProgram>
    Execution Plan
    Plan hash value: 1698158615
    | Id  | Operation           | Name               | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT    |                    |     1 | 47932 |     3   (0)| 00:00:01 |
    |   1 |  SORT AGGREGATE     |                    |     1 | 13818 |            |          |
    |*  2 |   HASH JOIN         |                    |     1 | 13818 |     5  (20)| 00:00:01 |
    |*  3 |    INDEX RANGE SCAN | SYS_IOT_TOP_177341 |     1 |    33 |     2   (0)| 00:00:01 |
    |*  4 |    TABLE ACCESS FULL| COURSE             |     3 | 41355 |     3   (0)| 00:00:01 |
    |   5 |  FAST DUAL          |                    |     1 |       |     2   (0)| 00:00:01 |
    |*  6 |  TABLE ACCESS FULL  | ACADEMICPROGRAM    |     1 | 47932 |     3   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       2 - access("COURSE"."SYS_NC00009$"="ID")
       3 - access("NESTED_TABLE_ID"=:B1)
           filter("SYS_NC_TYPEID$" IS NOT NULL)
       4 - filter(SYS_CHECKACL("ACLOID","OWNERID",xmltype('<privilege
                  xmlns="http://xmlns.oracle.com/xdb/acl.xsd"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://xmlns.oracle.com/xdb/acl.xsd
                  http://xmlns.oracle.com/xdb/acl.xsd DAV:http://xmlns.oracle.com/xdb/dav.xsd"><read
                  -properties/><read-contents/></privilege>'))=1)
       6 - filter(SYS_CHECKACL("ACLOID","OWNERID",xmltype('<privilege
                  xmlns="http://xmlns.oracle.com/xdb/acl.xsd"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://xmlns.oracle.com/xdb/acl.xsd
                  http://xmlns.oracle.com/xdb/acl.xsd DAV:http://xmlns.oracle.com/xdb/dav.xsd"><read
                  -properties/><read-contents/></privilege>'))=1)
    Note
       - dynamic sampling used for this statement
    SQL>

  • Issue while filling Inventory setup tables.

    Hi,
    Here we are facing a critical issue, while filling Inventory setup tables, we have done BX setup successfully. Not able complete BF and UM because of performance issues.
    We filled 40% of BF and UM, since we dont have system downtime and stoped the setup at that movement. Shall we do BF & UM setup without R/3 system downtime. Is there any other way we can fill the BF, UM setup tables.
    Your help is really appreaciated.
    Thanks
    BK

    Hi BK,
    Ideally you need the downtime when doing the setup for current and previous period as these are the only open ones where you can expect changes to happen due to user postings. What selection did you give when doing the set up? One idea is to break up the set up job so that each job loads for a week and then run the jobs in parallel. This would work for BF and then for UM of course you need to run it per company code. Are you using on ODS in your data model?

  • Performance issues with version enable partitioned tables?

    Hi all,
    Are there any known performance issues with version enable partitioned tables?
    I’ve been doing some performance testes with a large version enable partitioned table and it seems that OCB optimiser is choosing very expensive plans during merge operations.
    Tanks in advance,
    Vitor
    Example:
         Object Name     Rows     Bytes     Cost     Object Node     In/Out     PStart     PStop
    UPDATE STATEMENT Optimizer Mode=CHOOSE          1          249                    
    UPDATE     SIG.SIG_QUA_IMG_LT                                   
    NESTED LOOPS SEMI          1     266     249                    
    PARTITION RANGE ALL                                   1     9
    TABLE ACCESS FULL     SIG.SIG_QUA_IMG_LT     1     259     2               1     9
    VIEW     SYS.VW_NSO_1     1     7     247                    
    NESTED LOOPS          1     739     247                    
    NESTED LOOPS          1     677     247                    
    NESTED LOOPS          1     412     246                    
    NESTED LOOPS          1     114     244                    
    INDEX RANGE SCAN     WMSYS.MODIFIED_TABLES_PK     1     62     2                    
    INDEX RANGE SCAN     SIG.QIM_PK     1     52     243                    
    TABLE ACCESS BY GLOBAL INDEX ROWID     SIG.SIG_QUA_IMG_LT     1     298     2               ROWID     ROW L
    INDEX RANGE SCAN     SIG.SIG_QUA_IMG_PKI$     1          1                    
    INDEX RANGE SCAN     WMSYS.WM$NEXTVER_TABLE_NV_INDX     1     265     1                    
    INDEX UNIQUE SCAN     WMSYS.MODIFIED_TABLES_PK     1     62                         
    /* Formatted on 2004/04/19 18:57 (Formatter Plus v4.8.0) */                                        
    UPDATE /*+ USE_NL(Z1) ROWID(Z1) */sig.sig_qua_img_lt z1                                        
    SET z1.nextver =                                        
    SYS.ltutil.subsversion                                        
    (z1.nextver,                                        
    SYS.ltutil.getcontainedverinrange (z1.nextver,                                        
    'SIG.SIG_QUA_IMG',                                        
    'NpCyPCX3dkOAHSuBMjGioQ==',                                        
    4574,                                        
    4575                                        
    4574                                        
    WHERE z1.ROWID IN (
    (SELECT /*+ ORDERED USE_NL(T1) USE_NL(T2) USE_NL(J2) USE_NL(J3)
    INDEX(T1 QIM_PK) INDEX(T2 SIG_QUA_IMG_PKI$)
    INDEX(J2 WM$NEXTVER_TABLE_NV_INDX) INDEX(J3 MODIFIED_TABLES_PK) */
    t2.ROWID
    FROM (SELECT /*+ INDEX(WM$MODIFIED_TABLES MODIFIED_TABLES_PK) */
    UNIQUE VERSION
    FROM wmsys.wm$modified_tables
    WHERE table_name = 'SIG.SIG_QUA_IMG'
    AND workspace = 'NpCyPCX3dkOAHSuBMjGioQ=='
    AND VERSION > 4574
    AND VERSION <= 4575) j1,
    sig.sig_qua_img_lt t1,
    sig.sig_qua_img_lt t2,
    wmsys.wm$nextver_table j2,
    (SELECT /*+ INDEX(WM$MODIFIED_TABLES MODIFIED_TABLES_PK) */
    UNIQUE VERSION
    FROM wmsys.wm$modified_tables
    WHERE table_name = 'SIG.SIG_QUA_IMG'
    AND workspace = 'NpCyPCX3dkOAHSuBMjGioQ=='
    AND VERSION > 4574
    AND VERSION <= 4575) j3
    WHERE t1.VERSION = j1.VERSION
    AND t1.ima_id = t2.ima_id
    AND t1.qim_inf_esq_x_tile = t2.qim_inf_esq_x_tile
    AND t1.qim_inf_esq_y_tile = t2.qim_inf_esq_y_tile
    AND t2.nextver != '-1'
    AND t2.nextver = j2.next_vers
    AND j2.VERSION = j3.VERSION))

    Hello Vitor,
    There are currently no known issues with version enabled tables that are partitioned. The merge operation may need to access all of the partitions of a table depending on the data that needs to be moved/copied from the child to the parent. This is the reason for the 'Partition Range All' step in the plan that you provided. The majority of the remaining steps are due to the hints that have been added, since this plan has provided the best performance for us in the past for this particular statement. If this is not the case for you, and you feel that another plan would yield better performance, then please let me know and I will take a look at it.
    One suggestion would be to make sure that the table was been recently analyzed so that the optimizer has the most current data about the table.
    Performance issues are very hard to fix without a reproducible test case, so it may be advisable to file a TAR if you continue to have significant performance issues with the mergeWorkspace operation.
    Thank You,
    Ben

  • Performance issue while opening the report

    HI,
    I am working BO XI R3.1.there is performance issue while opening the report in BO Solris Server but  on window server it is compratively fast.
    we have few reports which contains 5 fixed prompt 7 optional prompt.
    out of 5 fixed prompt 3 prompt is static (it contains 3 -4 record only )which is coming from materlied view.
    we have already use many thing for improve performance in report like-
    1) Index Awareness
    2) Aggregate Awareness
    3) Array fatch size-250
    3) Aray bind time -32767
    4) Login time out -600
    the issue is that before refresh opening the report iteslf taking time 1.30 min on BO solris server but same report taking time in BO window server 45 sec. even we  import on others BO solris server it is taking same time as per old solris server(1.30 min).
    when we close the trace in solris server than it is taking 1.15  sec time.it should not be intial phase it is not hitting more on database.so why it is taking that much time while opening the report.
    could you please guide us where exectly problem is there and how we can improve performance for opening the report.In case the problem related to solris server so what would be and how can we rectify.
    Incase any further input require for the same feel free to ask me.

    Hi Kumar,
    If this is happening with all the reports then this issue seems to be due to firewall or security settings of Solaris OS.
    Please try to lower down the security level in solaris and test for the issue.
    Regards,
    Chaitanya Deshpande

  • Performance issue while generating Query

    Hi BI Gurus.
    I am facing performance issue while generating query on 0IC_C03.
    It has a variable as (from & to) for generating the report for a particular time duration.
    if the variable (from & to) fields is filled then after taking a long time it shows run time error.
    & if the query is executed without mentioning the variable(which is optional) then the data is extracted from beginning to till date. the same takes less time in execution.
    & after that the period has to be selected manually by option keep filter value. please suggest how can i solve the error
    Regards
    Ritika

    HI RITIKA,
    WEL COME TO SDN.
    YOUHAVE TO CHECK THE FOLLOWING RUN TIME SEGMENTS USING ST03N TCODE:
    High Database Runtime
    High OLAP Runtime
    High Frontend Runtime
    if its high Database Runtime :
    - check the aggregates or create aggregates on cube and this helps you.
    if its High OLAP Runtime :
    - check the user exits if any.
    - check the hier. are used and fetching in deep level.
    If its high frontend runtime:
    - check if a very high number of cells and formattings are transferred to the Frontend ( use "All data" to get value "No. of Cells") which cause high network and frontend (processing) runtime.
    For From and to date variables, create one more set and use it and try.
    Regs,
    VACHAN

  • Join two source tables and replicat into a target table with BLOB

    Hi,
    I am working on an integration to source transaction data from legacy application to ESB using GG.
    What I need to do is join two source tables (to de-normalize the area_id) to form the transaction detail, then transform by concatenate the transaction detail fields into a value only CSV, replicate it on the target ESB IN_DATA table's BLOB content field.
    Based on what I had researched, lookup by join two source tables require SQLEXEC, which doesn't support BLOB.
    What alternatives are there and what GG recommend in such use case?
    Any helpful advice is much appreciated.
    thanks,
    Xiaocun

    Xiaocun,
    Not sure what you're data looks like but it's possible the the comma separated value (CSV) requirement may be solved by something like this in your MAP statement:
    colmap (usedefaults,
    my_blob = @STRCAT (col02, ",", col03, ",", col04)
    Since this is not 1:1 you'll be using a sourcedefs file, which is nice because it will do the datatype conversion for you under the covers (also a nice trick when migrating long raws to blobs). So col02 can be varchar2, col03 a number, and col04 a clob and they'll convert in real-time.
    Mapping two tables to one is simple enough with two MAP statements, the harder challenge is joining operations from separate transactions because OGG is operation based and doesn't work on aggregates. It's possible you could end up using a combination of built in parameters and funcations with SQLEXEC and SQL/PL/SQL for more complicated scenarios, all depending on the design of the target table. But you have several scenarios to address.
    For example, is the target table really a history table or are you actually going to delete from it? If just the child is deleted but you don't want to delete the whole row yet, you may want to use NOCOMPRESSDELETES & UPDATEDELETES and COLMAP a new flag column to denote it was deleted. It's likely that the insert on the child may really mean an update to the target (see UPDATEINSERTS).
    If you need to update the LOB by appending or prepending new data then that's going to require some custom work, staging tables and a looping script, or a user exit.
    Some parameters you may want to become familiar with if not already:
    COLS | COLSEXCEPT
    COLMAP
    OVERRIDEDUPS
    INSERTDELETES
    INSERTMISSINGUPDATES
    INSERTUPDATES
    GETDELETES | IGNOREDELETES
    GETINSERTS | IGNOREINSERTS
    GETUPDATES | IGNOREUPDATES
    Good luck,
    -joe

  • Can we join two totals tables in ABAP Query

    Hey Gurus!
    Can we join two totals tables in ABAP query.
    I am tyring to join FAGFLEXT with internal orders totals table.
    Thanks
    S

    Hi,
    Report painter majorily operates around characteristics and key figures.
    ABAP query comes even more handy.  The advantage is -
    1. You can link many tables
    2. Create selection screen as you like to have
    3. User friendly report creation
    4.  Logic can also be coded.
    5. Authorization can be set
    I have written a article in SDN, which gives you an idea as to how to go about using ABAP query.  Have a look on this - [Article - Practical Usage of ABAP Query|https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/20f6b256-23be-2b10-8b93-cad83a617634]
    Regards,
    Sridevi

  • How to join two internal table rows in alternative manner into one internal table?

    How to join two internal table rows in alternative manner into one internal table?
    two internal tables are suppose itab1 &  itab2 & its data
    Header 1
    Header 2
    Header 3
    a
    b
    c
    d
    e
    f
    g
    h
    i
    Header 1
    Header 2
    Header 3
    1
    2
    3
    4
    5
    6
    7
    8
    9
    INTO itab3 data
    Header 1
    Header 2
    Header 3
    a
    b
    c
    1
    2
    3
    d
    e
    f
    4
    5
    6
    g
    h
    i
    7
    8
    9

    Hi Soubhik,
    I have added two additional columns for each internal table.
    Table_Count - It represents the Internal Table Number(ITAB1 -> 1, ITAB2 -> 2)
    Row_Count  - It represents the Row Count Number, increase the row count value 1 by one..
    ITAB1:
    Header 1
    Header 2
    Header 3
    Table_Count
    Row_Count
    a
    b
    c
    1
    1
    d
    e
    f
    1
    2
    g
    h
    i
    1
    3
    ITAB2:
    Header 1
    Header 2
    Header 3
    Table_Count
    Row_Count
    1
    2
    3
    2
    1
    4
    5
    6
    2
    2
    7
    8
    9
    2
    3
    Create the Final Internal table as same as the ITAB1/ITAB2 structure.
    "Data Declarations
    DATA: IT_FINAL LIKE TABLE OF ITAB1.          "Final Internal Table
    FIELD-SYMBOLS: <FS_TAB1> TYPE TY_TAB1,     "TAB1
                                   <FS_TAB2> TYPE TY_TAB2.     "TAB2
    "Assign the values for the additional two column for ITAB1
    LOOP AT ITAB1 ASSIGNING <FS_TAB1>.
         <FS_TAB1>-TABLE_COUNT = 1.             "Table value same for all row
         <FS_TAB1>-ROW_COUNT = SY-TABIX. "Index value
    ENDLOOP.
    "Assign the values for the additional two column for ITAB2
    LOOP AT ITAB2 ASSIGNING <FS_TAB2>.    
         <FS_TAB2>-TABLE_COUNT = 2.                  "Table value same for all row
         <FS_TAB2>-ROW_COUNT = SY-TABIX.      "Index value
    ENDLOOP.
    "Copy the First Internal Table 'ITAB1' to Final Table
    IT_FINAL[] = ITAB1[].
    "Copy the Second Internal Table 'ITAB2' to Final Table
    APPEND IT
    LOOP AT ITAB2 INTO WA_TAB2.
    APPEND WA_TAB2 TO IT_FINAL.
    ENDLOOP.
    "Sort the Internal Table based on TABLE_COUNT & ROW_COUNT
    SORT IT_FINAL BY  ROW_COUNT TABLE_COUNT.
    After sorting, check the output for IT_FINAL Table, you can find the required output as shown above.
    Regards
    Rajkumar Narasimman

  • Joining Two Internal Tables - ( Urgent )

    Could anybody please give me the whole code for joining two internal tables
    and putting the data in a third internal table. Please, very urgent.
                                                                                    Regards,
                                                                                    SAURAV

    Hi,
      Refer this code
    *&      Form  SUB_READ_VBRK
          text
    FORM sub_read_vbrk.
      SELECT vbeln
             rplnr
             bukrs
             FROM vbrk
             INTO TABLE it_vbrk
             WHERE vbeln IN s_vbeln
             AND   rplnr NE ' '.
      IF sy-subrc EQ 0.
        SORT it_vbrk BY rplnr.
      ENDIF.
    ENDFORM.                    " SUB_READ_VBRK
    *&      Form  SUB_READ_FPLTC
          text
    FORM sub_read_fpltc.
      IF NOT it_vbrk[] IS INITIAL.
        SELECT fplnr
               fpltr
               ccnum
               FROM fpltc
               INTO TABLE it_fpltc
               FOR ALL ENTRIES IN it_vbrk
               WHERE fplnr EQ it_vbrk-rplnr
               AND   ccins EQ 'GIFC'.
        IF sy-subrc EQ 0.
          SORT it_fpltc BY fplnr.
        ENDIF.
      ENDIF.
    ENDFORM.                    " SUB_READ_FPLTC
    *&      Form  SUB_COLLECT_DATA
          text
    FORM sub_collect_data.
    *--Local variables
      DATA : lv_count(3) TYPE c.
      IF NOT it_fpltc[] IS INITIAL.
        LOOP AT it_fpltc INTO wa_fpltc.
          lv_count = wa_fpltc-fpltr+3(3).
          wa_final-ccnum = wa_fpltc-ccnum.
          wa_final-rfzei = lv_count.
          CLEAR : wa_vbrk.
          READ TABLE it_vbrk INTO wa_vbrk WITH KEY rplnr = wa_fpltc-fplnr
                                                   BINARY SEARCH.
          IF sy-subrc EQ 0.
            wa_final-vbeln = wa_vbrk-vbeln.
            wa_final-bukrs = wa_vbrk-bukrs.
          ENDIF.
          APPEND wa_final TO it_final.
          CLEAR : wa_vbrk,
                  wa_fpltc,
                  lv_count.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    " SUB_COLLECT_DATA
    Regards,
    prashant

Maybe you are looking for

  • How to run siebel dedicated client in a IE sandbox

    Hi all, I don't know if sandbox is the right term for this, but here is what I need to do. We use Internet Explorer 8 to run our Siebel 8.1.1.10 version. Our Enterprise want's to install a newer IE version, but they cannot because Siebel requieres IE

  • Error while executeing model in webdynpro java

    Hi all,              i created an application in webdynpro . I got the following error while executing the modle. thc code is given below public void exuteCounterListData( java.lang.String GroupCounterValue ) //@@begin exuteCounterListData() try{ wdC

  • Reading the printer name from the registry

    Hi, I am trying to use the following program to get the Printer name from my Registry.. this program has been taken from Forums. package yourpackage; import java.awt.Graphics; import java.awt.print.PageFormat; import java.awt.print.Printable; import

  • Hidden tables in Sybase DB

    Post Author: despec CA Forum: General Hello to all,I use an ODBC connection out to a Sybase DB.  For some reason, when I try to access some of the tables, they're simply not there.  When I check the Db using the Sybase Java client, the tables are, in

  • SetInstance and XML submit

    Hi all, I have a form where I use setInstance on some of the pages through out the filling of the form. When I am finished filling out the form I need to submit all my data. However when I use a submit button I only get the xml of the last page submi