Merger of SQL in writeback OBIEE 11 g

Hello

I have a requirement to insert again record of OBIEE 11 g report and the table has (TKT_ID) primary key defined in the table. I can't insert null check in the DB table. Not be able to achieve my requirement using SQL INSERT/UPDATE statements.

I tried with the merger of the SQL statement, but I am unable to reach the requirement. Here's my query.

MERGE INTO A_WB HAS

USING (SELECT * FROM A_WB where TKT_ID = '12343') B

ON (A.TKT_ID = B.TKT_ID)

WHEN MATCHED THEN

UPDATE SET OUT_CAUSE = "VZ".

WHEN NOT MATCHED THEN

INSERT (TKT_ID, OUT_CAUSE, CUSTOMER_ID) VALUES ('12343',' OTHER', ' 21')

Please correct me if I missed something...

Thank you

Prasanna

SET VARIABLE DISABLE_CACHE_HIT = 1; has solved my problem and get the updated records to date.

Tags: Business Intelligence

Similar Questions

  • Is it possible to use the default value as sql expression in obiee 11g report?

    Hi all

    Is it possible to use the default value as sql expression in obiee 11g report?. Actually what I'm trying to make is that we send an ibot users. They want the same default values that are assigned in the command prompt in the report. So when we send the ibot it shows the report for default values assigned in the report criteria which is obsolute. As a solution, I kept the report in a dashboard page and send the dashboard like ibot page. But the problem here is that I can send only pdf format. Is it possible to do so at the level of the report (without using session variables). I want something like that

    Date between Date ' @{PV1} {Timestampadd (SQL_TSI_DAY,-90, CURRENT_DATE)} and Date ' @{PV2} {CURRENT_DATE}

    Thanks in advance

    Thank you

    AJ

    http://www.w3.org/2001/XMLSchema-instance"container ="http://www.w3.org/2001/XMLSchema"xmlVersion ="201201160' xmlns:sawx="com.siebel.analytics.web/expression/v1.1" > "

    "Question time '." Date '.

    "Question time '." Date '.

    BOX WHEN (DAYOFWEEK (cast (max (CURRENT_DATE) date)) = 1) THEN TIMESTAMPADD (SQL_TSI_DAY,-2, cast (max (CURRENT_DATE) as date)) WHEN (DAYOFWEEK (cast (max (CURRENT_DATE) date)) = 2) THEN TIMESTAMPADD (SQL_TSI_DAY,-3, cast (max (CURRENT_DATE) as date)) WHEN (DAYOFWEEK (cast (max (CURRENT_DATE) date)) = 3) THEN TIMESTAMPADD (SQL_TSI_DAY,-4, cast (max (CURRENT_DATE) as date)) WHEN (DAYOFWEEK (cast (max (CURRENT_DATE) date)) = 4) THEN TIMESTAMPADD (SQL_TSI_DAY-5 (, cast (max (CURRENT_DATE) date)) WHEN (DAYOFWEEK (cast (max (CURRENT_DATE) date)) = 5) THEN TIMESTAMPADD (SQL_TSI_DAY,-6, cast (max (CURRENT_DATE) as date)) WHEN (DAYOFWEEK (cast (max (CURRENT_DATE) date)) = 6) THEN TIMESTAMPADD (SQL_TSI_DAY, 0, cast (max (CURRENT_DATE) as date)) WHEN (DAYOFWEEK (cast (max (CURRENT_DATE) date)) = 7) THEN TIMESTAMPADD (SQL_TSI_DAY-1, cast (max (CURRENT_DATE) date)) END

  • MERG to sql statements

    any body can help me to merg below of the sql statements for the information

    No. 1

    Select S.USERNAME, s.sid, s.osuser, t.sql_id, sql_text

    de v$ sqltext_with_newlines t, V$ SESSION s

    t.Address = s.sql_address

    et t.hash_value = s.sql_hash_value

    et s.status = 'ACTIVE'

    et s.UserName <> 'SYSTEM'

    order by s.sid, t.piece

    /


    Statements #2


    SELECT SID, to_char (start_time,'hh24:mi:ss') stime,

    message, (sofar/totalwork) * 100%

    DE v$ session_longops

    sofar/totalwork < 1

    /


    I tried


    Select S.USERNAME, s.sid, s.osuser, t.sql_id, sql_text, to_char (sl.start_time,'hh24:mi:ss') stime,

    1. SL.message, (sl.sofar/sl.totalwork)* 100%

    de v$ sqltext_with_newlines t, V$ SESSION s, v$ session_longops sl

    where s.sid = sl.sid

    and where t.Address = s.sql_address

    et t.hash_value = s.sql_hash_value

    et s.status = 'ACTIVE'

    et s.UserName <> 'SYSTEM'

    et sl.sofar/sl.totalwork < 1

    order by s.sid, t.piece


    but it gives me error.


    SQL > select S.USERNAME, s.sid, s.osuser, t.sql_id, sql_text, to_char(sl.start_time,'hh24:mi:ss') stime,.

    2 sl.message, (sl.sofar/sl.totalwork)* 100%

    3 v $ sqltext_with_newlines t, V$ SESSION s, v$ session_longops sl

    4 where s.sid = sl.sid

    5 and where t.address = s.sql_address

    and t.hash_value = s.sql_hash_value

    6 and 7 s.status = 'ACTIVE '.

    8 and s.username <>'SYSTEM '.

    9 and WHERE the sl.sofar/sl.totalwork < 1

    10 decree by s.sid, t.piece

    11.

    and where t.address = s.sql_address

    *

    ERROR on line 5:

    ORA-00936: lack of expression

    any body can help out?

    Not tested, but you can try:

    SELECT s.sid,

    s.Serial #.

    s.machine,

    Round (SL.elapsed_seconds/60). ':' || MOD(SL.elapsed_seconds,60) has elapsed,

    Round (SL.time_remaining/60). ':' || MOD(SL.time_remaining,60) remaining.

    ROUND (sl.sofar/sl.totalwork*100, 2) progress_pct.

    t.sql_id,

    t.sql_text

    V $ session s,.

    v$ session_longops sl.

    v$ sqltext_with_newlines t

    WHERE s.sid = sl.sid

    AND s.serial # sl.serial = #.

    and t.address = s.sql_address

    and t.hash_value = s.sql_hash_value

    and s.status = 'ACTIVE '.

    and s.username <> 'SYSTEM '.

    order of s.sid, t.piece;

    Or see if you can find a useful script here:

    http://www.Oracle-base.com/DBA/scripts.php

  • Merger of Sql - doubt

    Hi all

    BANNER

    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
    PL/SQL Release 10.2.0.1.0 - Production
    CORE    10.2.0.1.0    Production
    TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
    NLSRTL Version 10.2.0.1.0 - Production
    

    can we use SQL MERGE like that

    CREATE or REPLACE PROCEDURE SAVE_PCS_SUMMARY (vENTRYDATE IN VARCHAR2, vCELLID IN VARCHAR2, vMACHINEID IN VARCHAR2, vFREQUENCY IN TANK)

    IS

    l_sqlstr varchar2 (32000);

    BEGIN

    l_sqlstr: = PCS_PC_SUMMARY. GETSQLFORPLDAY_TIME (vENTRYDATE, vCELLID, vMACHINEID, vFREQUENCY); -RETUEN SQL STATEMENT

    MERGE INTO PCS_TL_MONTH_COMP P

    USING (SELECT * FROM l_sqlstr) S - HERE I HAVE PROBLEM

    WE (P.COMPANYID = S.FACT_COMPANYID AND P.ENTRYDATE = S.PRLM_ENTRYDATE)

    WHEN NOT MATCHED THEN

    INSERT of VALUES (l_sqlstr); -HERE I HAVE PROBLEM 

    END;

    My problem is that I can't use the sql retail chain in the USING clause and INSERT values.

    or is there another way?

    You can't have a SQL statement that is the part regular SQL and SQL dynamic. You will need to make the whole dynamic MERGE statement.

    Something like

    merge_stmt: = ' MERGE IN pcs_tl_month_comp p using (SELECT * FROM ' | l_sqlstr |)

    ') s ON (p.company_id = s.fact_companyid AND p.entrydate = s.prlm_entrydate) ' |

    ' WHEN NOT MATCHED THEN INSERT VALUES ('| l_sqlstr |') ' ;

    immediately run merge_stmt;

    But I'm sure that this does not work either as if l_sqlstr has the correct syntax for the first use, it will not have the correct syntax for the second.

  • Merge 2 SQL statements.

    I want to merge these 2 instructions 1 sql, only different between 1 and 2 is a where clause.
    + 1. +
    Select count (*) aa
    from table_x
    where id = "1";

    + 2. +
    Select count (*) bb
    from table_x;

    Right now, I have merged this way.

    with the temp as)
    Select count (*) bb
    from table_x
    +)+
    Select count (*) aa, temp.bb
    from table_x, temp
    where id = "1"

    Kindly help with filing your suggestion if it a better way to merge.
    given that the above statement is rather slow.

    Thank you!!
    Jess

    Hello

    a possible solution:

    SELECT SUM (CASE id WHEN '1' THEN 1 END) aa
         , COUNT (*) bb
      FROM table_x;
    

    That is to say:

    WITH table_x AS
    (
       SELECT '1' id FROM DUAL UNION ALL
       SELECT '2' id FROM DUAL
    )
    SELECT SUM (CASE id WHEN '1' THEN 1 END) aa
         , COUNT (*) bb
      FROM table_x;
    
            AA         BB
    ---------- ----------
             1          2
    1 row selected.
    

    When you put a code or output it join between two lines starting with {noformat}

    {noformat}
    
    i.e.:
    {noformat}
    

    {noformat}
    SELECT...
    {noformat}

    {noformat}
    
    Regards.
    Al
    
    Edited by: Alberto Faenza on Apr 8, 2013 4:51 PM                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
    
  • SSO Microsoft Application, SQL Server 2005 &amp; OBIEE 11g

    Dear gurus,

    None known how activate SSO(Single Sign On) in OBIEE 11 g, to the East of the platform application microsoft instead of Oracle EBS and the SQL server 2005 data source?
    I'm new on this.


    Any help will be appreciated


    Concerning

    JOE

    Hello

    Try link below

    http://sranka.WordPress.com/2008/06/06/enabling-SSO-authentication-for-OBIEE/
    http://Gellio.WordPress.com/2009/10/23/enabling-Oracle-single-sign-on-Osso-with-OBIEE/
    OBIEE, OAS, OID or SSO integration
    http://sranka.WordPress.com/2008/06/06/enabling-SSO-authentication-for-OBIEE/
    http://www.addidici.com/blog/?p=8
    http://download.Oracle.com/docs/CD/E12096_01/books/AnyDeploy/AnyDeploySSO3.html

    See the security here, in

    http://download.Oracle.com/docs/CD/E21764_01/bi.1111/e10543/SSO.htm#CEGJJFED

    Hope this helps

    Thank you
    Satya

  • Merge no SQL using analytical functions

    Hi, the Sql tuning specialists:
    I have a question about the merger of view inline.

    I have a simple vision with the analytical functions inside. When questioning him, he does not index.


    VIEW to CREATE or REPLACE ttt
    AS
    SELECT EmpNo, deptno,
    ROW_NUMBER() over (PARTITION BY deptno ORDER BY deptno desc NULLS last) part_seq
    EMP AAA

    -That will do full table for emp scan
    Select * from TT
    WHERE empno = 7369


    -If I do not view use, I use the query directly, the index is used
    SELECT EmpNo, deptno,
    ROW_NUMBER() over (PARTITION BY deptno ORDER BY deptno desc NULLS last) part_seq
    EMP aaa
    WHERE empno = 7369


    question is: How can I force the first query to use indexes?

    Thank you

    MScallion wrote:
    What happens if you use the push_pred flag:

    Nothing will happen. And it would be a bug if he would.

    select * from ttt
    WHERE empno=7369
    

    and

    SELECT empno,deptno,
    row_number() OVER (PARTITION BY deptno ORDER BY deptno desc NULLS last) part_seq
    FROM emp aaa
    WHERE empno=7369
    

    are two logically different queries. Analytical functions are applied after + * resultset is common. So first select query all rows in the emp table then assign ROW_NUMBER() to recovered lines and only then select a line with empno = 7369 her. Second query will select the table emp with empno = 7369 line and only then apply ROW_NUMBER() - so since emp.empno is unique ROW_NUMBER returned by second query will always be equal to 1:

    SQL> select * from ttt
      2  WHERE empno=7369
      3  /
    
         EMPNO     DEPTNO   PART_SEQ
    ---------- ---------- ----------
          7369         20          4
    
    SQL> SELECT empno,deptno,
      2  row_number() OVER (PARTITION BY deptno ORDER BY deptno desc NULLS last) part_seq
      3  FROM emp aaa
      4  WHERE empno=7369
      5  /
    
         EMPNO     DEPTNO   PART_SEQ
    ---------- ---------- ----------
          7369         20          1
    
    SQL> 
    

    SY.

  • Writeback OBIEE Sax parser error expected with ampersand gt/lt entity name

    Hello
    I activated OBIEE 10.1.3.3.2 on Suse Linux 9.x writeback successfully for an OBIEE report, however if one of the fields contains XML special characters such as the ampersand, lower to higher symbols etc. When I save I get error:
    An error occurred writing to the server. Please check that you have entered the proper values. If the problem persists, contact your system administrator.
    SAX parser returned an exception. Message: Name of entity expected to reference, entity publicId:, systemId entity:, line number: 1, number of column: 795
    Error details
    Error codes: UH6MBRBC:E6MUPJPH
    XML parsed: writeBack model = "entry" > < record action = "Refresh" > < value columnID 'c10' = > C < / value > < value columnID = "c2" > Jun-08 < / value > < value columnID = "c5" > 0001 < / value > < value columnID 'c1' = > NET INCOME < / value > < value columnID 'c7' = > T000 < / value > < value columnID 'c3' = > Total X & X < / value >...

    I really don't want to have to use the function replace on all fields in the report to remove special characters + train users not to go into the editable field.

    Anyone got any ideas how to get around this problem?

    Thank you
    Gareth

    10.3.3.4 solves half of this... I don't recal exactly...

    but they added in the writeback.js file, replace a function for two reserved signs ('&' and '<' ).="" they="" didn't="" add="" '="">' and subsequently one - forget that is...)

    If you don't want to upgrade - I would just change the code as they did in 10.3.3.4 - it's easy...

  • Merge two SQLs

    Hi gurus,

    I have two SQLs that are;

    Select bbe
    of alu_sdhnm.dwdm_logical_stats dis_1
    where bbe < = (select max (bbe) in alu_sdhnm.dwdm_logical_stats ic_1 where ic_1.datetime = dis_1.datetime)
    order by bbe desc;

    Select are
    of alu_sdhnm.dwdm_logical_stats dis_2
    where are < = (select max (es) in alu_sdhnm.dwdm_logical_stats ic_2 where ic_2.datetime = dis_2.datetime)
    order by are desc;

    Those who demonstrate on top and bbe values within dwdm_logical_stats table separately by using a correlated subquery. My question is, how can I see them within a single query? In addition, in the same line if bbe has the highest value, is not the highest.

    Thank you

    Ogan

    I do not forget the small details of the data ;)

    All of them give you?

      SELECT
          bbe,
          DENSE_RANK() OVER (ORDER BY BBE DESC) bbe_rank,
          ROW_NUMBER() OVER (ORDER BY BBE DESC) row_num
        FROM alu_sdhnm.dwdm_logical_stats;
    

    And:

        SELECT
          es,
          DENSE_RANK() OVER (ORDER BY ES DESC) es_rank,
          ROW_NUMBER() OVER (ORDER BY ES DESC) row_num
        FROM alu_sdhnm.dwdm_logical_stats)
    

    And finally:

    SELECT bbe,  bbe_rank, es, es_rank
      FROM (
      SELECT
          bbe,
          DENSE_RANK() OVER (ORDER BY BBE DESC) bbe_rank,
          ROW_NUMBER() OVER (ORDER BY BBE DESC) row_num
        FROM alu_sdhnm.dwdm_logical_stats) ilv1
     JOIN (
        SELECT
          es,
          DENSE_RANK() OVER (ORDER BY ES DESC) es_rank,
          ROW_NUMBER() OVER (ORDER BY ES DESC) row_num
        FROM alu_sdhnm.dwdm_logical_stats) ilv2
    ON (ilv1.row_num = ilv2.row_num)
    
  • On the SQL in OBIEE

    Hello everyone,

    I try a sql query in OBIEE for subtraction of 5 days from a specific date.

    (1)-j' first tried the following query "Date of booking - Dim. "" Booking Date "= DATE_SUB ('2011-01-03', INTERVAL 31 DAYS) in the advanced sql filter and I got this error state: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error occurred. [nQSError: 43113] The message returned by OBIS. [nQSError: 27002] Near <>(): syntax error [nQSError: 26012]. (HY000)

    (2)-j' I then replaced by SUBDATE DATE_SUB but got the same error.

    (3) - I think that these functions are not supported by OBIEE so I decided not to use all functions. I tried this query: CAST('' 2011-01-03 AS DATE) - CAST()7 AS INTERVAL DAY) in the formula in the column editor, then I got this error: data type: 50361345 is not supported. (HY000).

    I don't really know what I should do now. Please help with suggestions that may help solve the problem. Thanks in advance

    Cool.

    Looking at your approach, I want to treat-30 c - 5 AND-10 AND-15

    TIMESTAMPADD (SQL_TSI_DAY-30, Column)

    or otherwise try to double check that your approach, DynamicNumber below code should be the result of all the values of other columns, as said in this link.

    TIMESTAMPADD (SQL_TSI_DAY - DynamicNumber, Column)

    Thank you

  • How can I define logic in obiee 11g sql

    Hi all

    I'm changing the SQL generated by OBIEE within the Advanced tab by default logical value. How can I edit that. It looks like read only. I can set the sql logic in Administration-> SQL problem. In 10g, I believe that we can paste SQL logic and set it. Any help will be appreciated. Thanks in advance.

    AJ

    Sorry I got it...... Create new analysis in the Advanced tab will do...

  • OBIEE 10 G can connect to a SQL Server database (2005)?

    We have Oracle BI already running. We also have a SQL Server database running. Now, there is requirement that requires to connect to SQL Server and directly send some books SQL on SQL Server and retrieve the result and display it in the answers. I know that the normal procedure should be set ETL to load data from the SQL Server in OBIEE and from there, the report can be built. So I'm not sure it's doable?

    Do the same thing using the online mode. so that you can add a connection pool to the RPD, which is located within the BI server.

  • Integration of SQL Server 2005 with OBIEE 11g

    Dear gurus,

    Is there documentation on how to use SQL Server 2005 as datasource combined with OBIEE 11 g?
    Clear steps with pictures will be very useful.

    Thank you very much

    Concerning

    JOE

    Hello

    Please see this link.

    http://rnm1978.WordPress.com/2009/08/21/querying-SQL-Server-from-OBIEE-running-on-UNIX/

    Re: How to connect Linux OBIEE repository to SQL Server 2005 database

    Hope this helps

    Thank you
    Satya

  • How to avoid the SEPARATE in OBIEE SQL

    Hello...

    For the issue I posted previously...
    Problem with the data type LONG in responses

    I executed the query into a FROG, and I've identified the error because of what this error is coming... because of SEPARATE...
    I took care to avoid this column in ORDER BY putting order on another column...

    Now my question is how to avoid the DISTINCT clause in SQL generated by OBIEE...
    If the first column of criteria is then it avoids the SEPARATE... but if I use measure... Group of will come... and group of should not be used here...

    If it's done... my problem is solved...
    Of course... I get duplicate rows...

    However, I want the answer how avoid SEPARATE?
    Waiting for the response from your...

    Thanks and greetings
    Kishore Guggilla

    Kishore,

    In the physical layer, open the properties of physical catalog and in the features tab find DISTINCT_SUPPORTED and remove the check box value.

    who removed separate in each query generated for this database.

    -Madan

  • Rows in the table LT until merger of all workspaces

    Database 11.2.0.4

    In our environment, we ran a few important updates in the workspaces and then merged these live workspaces.  Up to 25% of the data has been updated in those workspaces.  When these update batch workspaces have been created, previous workspaces exist who are not yet ready for the merger.

    I noticed that the underlying tables of the LT now have about 25% more lines than the live view.  We have now discovered that dbms_wm.refreshWorkspace works really poor.  This statement is used to take seconds or minutes to the maximum, but can now take half an hour or more.

    We recorded a support with Oracle request and provided details of the plan to see if we can get some resolution/advice explaining.

    In the meantime, I have a question for the forum help my understanding of the works of the Manager of the workspace.

    In the example below, I have table "wm_test_table", "test_workspace1" and "test_workspace2".  In "test_workspace1", I update all rows in the table - the table LT now has 2 rows for each record.  I merge 'test_workspace1' live and LT still has 2 rows for each record.  The other lines are not removed until "test_workspace2" is merged and removed.


    SQL> -- Create a test table
    SQL> create table wm_test_table (
      2     id integer primary key,
      3     name varchar2(100));
    
    
    Table created.
    
    
    SQL> -- Insert 1,000 rows
    SQL> insert into wm_test_table (
      2     select rownum, 'before'
      3     from dual
      4     connect by level <= 1000);
    
    
    1000 rows created.
    
    
    SQL> commit;
    
    
    Commit complete.
    
    
    SQL> -- Version enable it
    SQL> execute dbms_wm.enableVersioning('wm_test_table');
    
    
    PL/SQL procedure successfully completed.
    
    
    SQL> -- Create two workspaces
    SQL> execute dbms_wm.createWorkspace('test_workspace1');
    
    
    PL/SQL procedure successfully completed.
    
    
    SQL> execute dbms_wm.createWorkspace('test_workspace2');
    
    
    PL/SQL procedure successfully completed.
    
    
    SQL> -- Go to test_workspace1 and update all the rows
    SQL> execute dbms_wm.goToWorkspace('test_workspace1');
    
    
    PL/SQL procedure successfully completed.
    
    
    SQL> update wm_test_table set name = 'after';
    
    
    1000 rows updated.
    
    
    SQL> commit;
    
    
    Commit complete.
    
    
    SQL> -- Check how many rows in wm_test_table_lt - we expect 2,000 as we haven't merged yet
    SQL> select count(*) from wm_test_table_lt;
    
    
      COUNT(*)
    ----------
          2000
    
    
    SQL> -- Merge and remove test_workspace1
    SQL> execute dbms_wm.goToWorkspace('LIVE');
    
    
    PL/SQL procedure successfully completed.
    
    
    SQL> execute dbms_wm.mergeWorkspace('test_workspace1', remove_workspace=>true);
    
    
    PL/SQL procedure successfully completed.
    
    
    SQL> -- Check how many rows in wm_test_table_lt
    SQL> -- I'd hope there'd only be 1,000 but there is 2,000
    SQL> select count(*) from wm_test_table_lt;
    
    
      COUNT(*)
    ----------
          2000
    
    
    SQL> -- Let's see if compressWorkspace will get rid of them
    SQL> execute dbms_wm.compressWorkspace( -
    >       workspace => 'LIVE',   -
    >       auto_commit => true,   -
    >       remove_latest_deleted_rows => true);
    
    
    PL/SQL procedure successfully completed.
    
    
    SQL> -- They're still there
    SQL> select count(*) from wm_test_table_lt;
    
    
      COUNT(*)
    ----------
          2000
    
    
    SQL> -- Now merge test_workspace2
    SQL> execute dbms_wm.mergeWorkspace('test_workspace2', remove_workspace=>true);
    
    
    PL/SQL procedure successfully completed.
    
    
    SQL> -- and the additional 1,000 rows are removed
    SQL> select count(*) from wm_test_table_lt;
    
    
      COUNT(*)
    ----------
          1000
    

    Is it possible to safely remove the extra lines in LT without waiting until we merged the workspaces that existed before the update batch has been done?  I hope that it will so improve the performance of refreshWorkspace.


    I thought that something like this can do, but it does not remove the other ranks, is:

    execute dbms_wm.PurgeTable(
     table_id => 'test.wm_test_table', 
     archive_table => null, 
     where_clause => 'id not in (select id from test.wm_test_table)', 
     instant=>null, 
     workspace => 'LIVE', 
     purgeAfter => false);
    

    This question is similar to

    Lines left in the table LT after removal of the direct workspace and the removal of all workspaces

    and

    How to delete soft deleted records?

    but I'm still not sure.

    Thank you

    John

    Hello

    This behavior is expected and it is due to the test_workspace2 workspace.  A compression operation will not allow compressed range to include a backup implicit point that is created for a child workspace.  This is done to preserve the integrity of this workspace.  The initial 1000 lines are all lines that are visible from test_workspace2.  Removal of these lines would leave test_workspace2 will 0 lines in there.  Lines 1000 updates are the lines that do not appear on LIVE.  So, given that the two sets of lines are needed, none of the lines can be deleted physically.  A compression operation will never change the view of data for any workspace.  It only removes the unnecessary records.  The two options in order to be able to compress these lines is to either delete (as you did) or refresh test_workspace2.  The refresh operation would move the implicit savepoint for the workspace to a version that isn't after all 2000 lines in the table _LT and allow the dressing to remove first half of them because they are no longer needed by any child workspace.

    With respect to the performance of RefreshWorkspace, I would need to see a trace of the transaction file.  But who should rather get through the SR you filed.

    Kind regards

    Ben

Maybe you are looking for