Snapshot replication slow during purge of master table

I have basic snapshot/materialized view replication of a big table (around 6 million rows).
The problem that I run into is that when I run a purge of the master table at the master site (delete dml), the snapshot refresh time becomes slower. After the purge the snapshot refresh time goes back to the normal time interval.
I had thought that the snapshot does a simple select so any exclusive lock on the table should not hinder the performance.
Has anyone seen this problem before and if so what has been the workaround?
The master site and the snapshot site both are 8.1.7.4 and are both unix tru64.
I don't know if this has any relevence but the master database is rule based while the snapshot site is cost based.
thanks in advance

Hello Alan,
Your problem is, to know inside a table-trigger if the actual DML was caused
by a replication or a normal local DML.
One way (I'm practising) to solve (in Oracle 8.1.7) this is the following:
You can use in the trigger code the functions DBMS_SNAPSHOT.I_AM_A_REFRESH(),
DBMS_REPUTIL.REPLICATION_IS_ON() and DBMS_REPUTIL.FROM_REMOTE()
(For details see oracle documentation library)
For example: a trigger (before insert of each row) at the master side
on a table which is an updatable snapshot:
DECLARE
     site_x VARCHAR2(128) := DBMS_REPUTIL.GLOBAL_NAME;
     timestamp_x      DATE;
     value_time_diff     NUMBER;
BEGIN
IF (NOT (DBMS_SNAPSHOT.I_AM_A_REFRESH) AND DBMS_REPUTIL.REPLICATION_IS_ON) THEN
IF NOT DBMS_REPUTIL.FROM_REMOTE THEN
IF inserting THEN
     :new.info_text := 'Hello table; this entry was caused by local DML';
END IF;
END IF;
END IF;
END;
By the way: I've got here at work nearly the same configuration, now in production since a year.
Kind regards
Steffen Rvckel

Similar Messages

  • URGENT : replicating master table definition modif

    Hi all,
    I created a snapshot replicating a table at a master site.
    But the problem is that if I altered the master table definition , for example if I add a column and then populate it , then the snapshot does not contain the new column and data added .
    So how to resolve it ?
    Thank you very much indeed.

    Hi Ian,
    From replication perspective its follow the same methodology as ECC replication to HANA.
    You have to install DMIS 2011 component on your APO system to communicate with SLT.
    For more details you can refer SAP note: 1759156
    Cheers

  • The master table of a materialized view

    Hi Everybody,
    I have in my database a snapshot created on multiple tables, like this:
    create materialized view <some_name>
    as select <some_fields>
    from a,b, c
    where <some_join_conditions>
    Questions:
    1. What "algorithm" uses Oracle to determine the master table of the snapshot? The master table visible in USER_SNAPSHOTS?
    2. How can I change the master table chosed by Oracle with the table I want? I tried using some tuning hints (for example "leading table") but it is not working.
    The table I want to force as master table is a remote one accessed by dblink. Does this change anything?
    Thank you very much.
    Daniela

    We had issue with similar probelm and found that driving table is becoming master table, which was last table on your from clause (c).
    However the Query Optimizer is COST based, and we are not sure this holds true forever.
    We are looking at these answers too.

  • View table and Master table don't match

    I am setting up Materialize view replication between two systems connected over a WAN. The number of rows in the master table does not match the number of rows in the Table at the view site. Is there a way I can monitor/watch or otherwise see what replicated transaction are being applied to the view. I know that rows are added to and deleted from this table over the course the the day.

    If the master table is always changing, the two tables will never match completely. Take the following scenario:
    time 0: Insert row A in master table
    time 1: Begin refresh of remote MV
    time 2: Insert row B in master table
    time 3: End refresh of remote MV
    At this point, the master table will have two rows (A & B) while the remote table only has row A. If there is a materialized view log on the master table, row B will be present in the log and will replicate on the next refresh. I'm not aware of any utility that lets you view the data in the materialized view log in a particularly human-readable form, however-- that data is stored in a RAW column.
    Justin
    Distributed Database Consulting, Inc.
    http://www.ddbcinc.com/askDDBC

  • Query performance on materialized view vs master tables

    Hi,
    I am afraid of strange behavior in db, on my master tables UDBMOVEMENT_ORIG(26mil.rows) and UDBIDENTDATA_ORIG(18mil.rows) is created materialized view TMP_MS_UDB_MV (UDBMOVEMENT is synonym to this object) which meets some default conditions and join condition on these master tables. MV got about 12milions rows. I created MV to query not so huge objects, MV got 3GB, master tables toghether 12GB. But I don't understand that even physical reads and consistent gets are less on MV than on master tables, the final execution time is shorter on master tables. See my log below.
    Why?
    Thanks for answers.
    SQL> set echo on
    SQL> @flush
    SQL> alter system flush buffer_cache;
    System altered.
    Elapsed: 00:00:00.20
    SQL> alter system flush shared_pool;
    System altered.
    Elapsed: 00:00:00.65
    SQL> SELECT
    2 UDBMovement.zIdDevice, UDBMovement.sDevice, UDBMovement.zIdLocal, UDBMovement.sComputer, UDBMovement.tActionTime, UDBIdentData.sCardSubType, UDBIdentData.sCardType, UDBMovement.cEpan, UDBMovement.cText, UDBMovement.lArtRef, UDBMovement.sArtClassRef, UDBMovement.lSequenz, UDBMovement.sTransMark, UDBMovement.lBlock, UDBMovement.sTransType, UDBMovement.lGlobalID, UDBMovement.sFacility, UDBIdentData.sCardClass, UDBMovement.lSingleAmount, UDBMovement.sVAT, UDBMovement.lVATTot, UDBIdentData.tTarifTimeStart, UDBIdentData.tTarifTimeEnd, UDBIdentData.cLicensePlate, UDBIdentData.lMoneyValue, UDBIdentData.lPointValue, UDBIdentData.lTimeValue, UDBIdentData.tProdTime, UDBIdentData.tExpireDate
    3 FROM UDBMOVEMENT_orig UDBMovement, Udbidentdata_orig UDBIdentData
    4 WHERE
    5 UDBMovement.lGlobalId = UDBIdentData.lGlobalRef(+) AND UDBMovement.sComputer = UDBIdentData.sComputer(+)
    6 AND UDBMovement.sTransType > 0 AND UDBMovement.sDevice < 1000 AND UDBMovement.sDevice>= 0 AND UDBIdentData.sCardType IN (2) AND (bitand(UDBMovement.sSaleFlag,1) = 0 AND bitand(UDBMovement.sSaleFlag,4) = 0) AND UDBMovement.sArtClassRef < 100
    7 AND UDBMovement.tActionTime >= TO_DATE('05/05/2011 00:00:00', 'dd/mm/yyyy hh24:mi:ss') + 0.25 AND UDBMovement.tActionTime < TO_DATE('05/05/2011 00:00:00', 'dd/mm/yyyy hh24:mi:ss') + 0.5
    8 ORDER BY tActionTime, lBlock, lSequenz;
    4947 rows selected.
    Elapsed: 00:00:15.84
    Execution Plan
    Plan hash value: 1768406139
    | Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| Time |
    | 0 | SELECT STATEMENT | | 7166 | 1238K| | 20670 (1)| 00:04:09 |
    | 1 | SORT ORDER BY | | 7166 | 1238K| 1480K| 20670 (1)| 00:04:09 |
    | 2 | NESTED LOOPS | | | | | | |
    | 3 | NESTED LOOPS | | 7166 | 1238K| | 20388 (1)| 00:04:05 |
    |* 4 | TABLE ACCESS BY INDEX ROWID| UDBMOVEMENT_ORIG | 7142 | 809K| | 7056 (1)| 00:01:25 |
    |* 5 | INDEX RANGE SCAN | IDX_UDBMOVARTICLE | 10709 | | | 61 (0)| 00:00:01 |
    |* 6 | INDEX UNIQUE SCAN | UDBIDENTDATA_PRIM | 1 | | | 1 (0)| 00:00:01 |
    |* 7 | TABLE ACCESS BY INDEX ROWID | UDBIDENTDATA_ORIG | 1 | 61 | | 2 (0)| 00:00:01 |
    Predicate Information (identified by operation id):
    4 - filter("UDBMOVEMENT"."STRANSTYPE">0 AND "UDBMOVEMENT"."SDEVICE"<1000 AND
    BITAND("SSALEFLAG",1)=0 AND "UDBMOVEMENT"."SDEVICE">=0 AND BITAND("UDBMOVEMENT"."SSALEFLAG",4)=0)
    5 - access("UDBMOVEMENT"."TACTIONTIME">=TO_DATE(' 2011-05-05 06:00:00', 'syyyy-mm-dd
    hh24:mi:ss') AND "UDBMOVEMENT"."TACTIONTIME"<TO_DATE(' 2011-05-05 12:00:00', 'syyyy-mm-dd
    hh24:mi:ss') AND "UDBMOVEMENT"."SARTCLASSREF"<100)
    filter("UDBMOVEMENT"."SARTCLASSREF"<100)
    6 - access("UDBMOVEMENT"."LGLOBALID"="UDBIDENTDATA"."LGLOBALREF" AND
    "UDBMOVEMENT"."SCOMPUTER"="UDBIDENTDATA"."SCOMPUTER")
    7 - filter("UDBIDENTDATA"."SCARDTYPE"=2)
    Statistics
    543 recursive calls
    0 db block gets
    84383 consistent gets
    4485 physical reads
    0 redo size
    533990 bytes sent via SQL*Net to client
    3953 bytes received via SQL*Net from client
    331 SQL*Net roundtrips to/from client
    86 sorts (memory)
    0 sorts (disk)
    4947 rows processed
    SQL> @flush
    SQL> alter system flush buffer_cache;
    System altered.
    Elapsed: 00:00:00.12
    SQL> alter system flush shared_pool;
    System altered.
    Elapsed: 00:00:00.74
    SQL> SELECT UDBMovement.zIdDevice, UDBMovement.sDevice, UDBMovement.zIdLocal, UDBMovement.sComputer, UDBMovement.tActionTime, UDBMovement.sCardSubType, UDBMovement.sCardType, UDBMovement.cEpan, UDBMovement.cText, UDBMovement.lArtRef, UDBMovement.sArtClassRef, UDBMovement.lSequenz, UDBMovement.sTransMark, UDBMovement.lBlock, UDBMovement.sTransType, UDBMovement.lGlobalID, UDBMovement.sFacility, UDBMovement.sCardClass, UDBMovement.lSingleAmount, UDBMovement.sVAT, UDBMovement.lVATTot, UDBMovement.tTarifTimeStart, UDBMovement.tTarifTimeEnd, UDBMovement.cLicensePlate, UDBMovement.lMoneyValue, UDBMovement.lPointValue, UDBMovement.lTimeValue, UDBMovement.tProdTime
    2 FROM UDBMOVEMENT WHERE
    3 UDBMovement.sTransType > 0 AND UDBMovement.sDevice < 1000 AND UDBMovement.sDevice>= 0 AND UDBMovement.sCardType IN (2) AND (bitand(UDBMovement.sSaleFlag,1) = 0 AND bitand(UDBMovement.sSaleFlag,4) = 0) AND UDBMovement.sArtClassRef < 100
    4 AND UDBMovement.tActionTime >= TO_DATE('05/05/2011 00:00:00', 'dd/mm/yyyy hh24:mi:ss') + 0.25
    5 AND UDBMovement.tActionTime < TO_DATE('05/05/2011 00:00:00', 'dd/mm/yyyy hh24:mi:ss') + 0.5 ORDER BY tActionTime, lBlock, lSequenz;
    4947 rows selected.
    Elapsed: 00:00:26.46
    Execution Plan
    Plan hash value: 3648898312
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
    | 0 | SELECT STATEMENT | | 2720 | 443K| 2812 (1)| 00:00:34 |
    | 1 | SORT ORDER BY | | 2720 | 443K| 2812 (1)| 00:00:34 |
    |* 2 | MAT_VIEW ACCESS BY INDEX ROWID| TMP_MS_UDB_MV | 2720 | 443K| 2811 (1)| 00:00:34 |
    |* 3 | INDEX RANGE SCAN | EEETMP_MS_ACTTIMEDEVICE | 2732 | | 89 (0)| 00:00:02 |
    Predicate Information (identified by operation id):
    2 - filter("UDBMOVEMENT"."STRANSTYPE">0 AND BITAND("UDBMOVEMENT"."SSALEFLAG",4)=0 AND
    BITAND("SSALEFLAG",1)=0 AND "UDBMOVEMENT"."SARTCLASSREF"<100)
    3 - access("UDBMOVEMENT"."TACTIONTIME">=TO_DATE(' 2011-05-05 06:00:00', 'syyyy-mm-dd
    hh24:mi:ss') AND "UDBMOVEMENT"."SDEVICE">=0 AND "UDBMOVEMENT"."SCARDTYPE"=2 AND
    "UDBMOVEMENT"."TACTIONTIME"<TO_DATE(' 2011-05-05 12:00:00', 'syyyy-mm-dd hh24:mi:ss') AND
    "UDBMOVEMENT"."SDEVICE"<1000)
    filter("UDBMOVEMENT"."SCARDTYPE"=2 AND "UDBMOVEMENT"."SDEVICE"<1000 AND
    "UDBMOVEMENT"."SDEVICE">=0)
    Statistics
    449 recursive calls
    0 db block gets
    6090 consistent gets
    2837 physical reads
    0 redo size
    531987 bytes sent via SQL*Net to client
    3953 bytes received via SQL*Net from client
    331 SQL*Net roundtrips to/from client
    168 sorts (memory)
    0 sorts (disk)
    4947 rows processed
    SQL> spool off
    Edited by: MattSk on Feb 4, 2013 2:20 PM

    I have added some tkprof outputs on MV and master tables:
    SELECT tmp_ms_udb_mv.zIdDevice, tmp_ms_udb_mv.sDevice, tmp_ms_udb_mv.zIdLocal, tmp_ms_udb_mv.sComputer, tmp_ms_udb_mv.tActionTime, tmp_ms_udb_mv.sCardSubType, tmp_ms_udb_mv.sCardType, tmp_ms_udb_mv.cEpan, tmp_ms_udb_mv.cText, tmp_ms_udb_mv.lArtRef, tmp_ms_udb_mv.sArtClassRef, tmp_ms_udb_mv.lSequenz, tmp_ms_udb_mv.sTransMark, tmp_ms_udb_mv.lBlock, tmp_ms_udb_mv.sTransType, tmp_ms_udb_mv.lGlobalID, tmp_ms_udb_mv.sFacility, tmp_ms_udb_mv.sCardClass, tmp_ms_udb_mv.lSingleAmount, tmp_ms_udb_mv.sVAT, tmp_ms_udb_mv.lVATTot, tmp_ms_udb_mv.tTarifTimeStart, tmp_ms_udb_mv.tTarifTimeEnd, tmp_ms_udb_mv.cLicensePlate, tmp_ms_udb_mv.lMoneyValue, tmp_ms_udb_mv.lPointValue, tmp_ms_udb_mv.lTimeValue, tmp_ms_udb_mv.tProdTime
    FROM tmp_ms_udb_mv WHERE
    tmp_ms_udb_mv.sTransType > 0 AND tmp_ms_udb_mv.sDevice < 1000 AND tmp_ms_udb_mv.sDevice>= 0 AND tmp_ms_udb_mv.sCardType IN (1) AND (bitand(tmp_ms_udb_mv.sSaleFlag,1) = 0 AND bitand(tmp_ms_udb_mv.sSaleFlag,4) = 0) AND tmp_ms_udb_mv.sArtClassRef < 100
    AND tmp_ms_udb_mv.tActionTime >= TO_DATE('05/05/2011 00:00:00', 'dd/mm/yyyy hh24:mi:ss') + 0.25
    AND tmp_ms_udb_mv.tActionTime < TO_DATE('05/05/2011 00:00:00', 'dd/mm/yyyy hh24:mi:ss') + 0.5
    ORDER BY tActionTime, lBlock, lSequenz
    call count cpu elapsed disk query current rows
    Parse 1 0.04 0.10 0 0 0 0
    Execute 1 0.00 0.00 0 0 0 0
    Fetch 596 0.17 27.07 2874 8894 0 8925
    total 598 0.21 27.18 2874 8894 0 8925
    Misses in library cache during parse: 1
    Optimizer mode: ALL_ROWS
    Parsing user id: 60
    Rows Row Source Operation
    8925 SORT ORDER BY (cr=8894 pr=2874 pw=0 time=27071773 us)
    8925 MAT_VIEW ACCESS BY INDEX ROWID TMP_MS_UDB_MV (cr=8894 pr=2874 pw=0 time=31458291 us)
    8925 INDEX RANGE SCAN EEETMP_MS_ACTTIMEDEVICE (cr=68 pr=68 pw=0 time=161347 us)(object id 149251)
    SELECT
    UDBMovement.zIdDevice, UDBMovement.sDevice, UDBMovement.zIdLocal, UDBMovement.sComputer, UDBMovement.tActionTime, UDBIdentData.sCardSubType, UDBIdentData.sCardType, UDBMovement.cEpan, UDBMovement.cText, UDBMovement.lArtRef, UDBMovement.sArtClassRef, UDBMovement.lSequenz, UDBMovement.sTransMark, UDBMovement.lBlock, UDBMovement.sTransType, UDBMovement.lGlobalID, UDBMovement.sFacility, UDBIdentData.sCardClass, UDBMovement.lSingleAmount, UDBMovement.sVAT, UDBMovement.lVATTot, UDBIdentData.tTarifTimeStart, UDBIdentData.tTarifTimeEnd, UDBIdentData.cLicensePlate, UDBIdentData.lMoneyValue, UDBIdentData.lPointValue, UDBIdentData.lTimeValue, UDBIdentData.tProdTime, UDBIdentData.tExpireDate
    FROM UDBMOVEMENT_orig UDBMovement, Udbidentdata_orig UDBIdentData
    WHERE
    UDBMovement.lGlobalId = UDBIdentData.lGlobalRef(+) AND UDBMovement.sComputer = UDBIdentData.sComputer(+)
    AND UDBMovement.sTransType > 0 AND UDBMovement.sDevice < 1000 AND UDBMovement.sDevice>= 0 AND UDBIdentData.sCardType IN (1) AND (bitand(UDBMovement.sSaleFlag,1) = 0 AND bitand(UDBMovement.sSaleFlag,4) = 0) AND UDBMovement.sArtClassRef < 100
    AND UDBMovement.tActionTime >= TO_DATE('05/05/2011 00:00:00', 'dd/mm/yyyy hh24:mi:ss') + 0.25
    AND UDBMovement.tActionTime < TO_DATE('05/05/2011 00:00:00', 'dd/mm/yyyy hh24:mi:ss') + 0.5
    ORDER BY tActionTime, lBlock, lSequenz
    call count cpu elapsed disk query current rows
    Parse 1 0.03 0.06 0 0 0 0
    Execute 1 0.00 0.00 0 0 0 0
    Fetch 596 0.76 16.94 3278 85529 0 8925
    total 598 0.79 17.01 3278 85529 0 8925
    Misses in library cache during parse: 1
    Optimizer mode: ALL_ROWS
    Parsing user id: 60
    Rows Row Source Operation
    8925 SORT ORDER BY (cr=85529 pr=3278 pw=0 time=16942799 us)
    8925 NESTED LOOPS (cr=85529 pr=3278 pw=0 time=15017857 us)
    22567 TABLE ACCESS BY INDEX ROWID UDBMOVEMENT_ORIG (cr=17826 pr=1659 pw=0 time=7273473 us)
    22570 INDEX RANGE SCAN IDX_UDBMOVARTICLE (cr=111 pr=111 pw=0 time=112351 us)(object id 143693)
    8925 TABLE ACCESS BY INDEX ROWID UDBIDENTDATA_ORIG (cr=67703 pr=1619 pw=0 time=8154915 us)
    22567 INDEX UNIQUE SCAN UDBIDENTDATA_PRIM (cr=45136 pr=841 pw=0 time=3731470 us)(object id 108324)

  • Updatable Materialized View and Master Table on same database

    Hi all,
    My first question - Is it possible to have an Updatable Materialized View and the associated Master Table located on the same database?
    This is the requirement scenario:
    One unique database D exists.
    A is a batch table. Only inserts are allowed on Table A.
    M is an updatable materialized view on Table A (Master). Only updates are allowed on M (no insert or delete).
    Requirement is to push updates/changes from M to A periodically and then get the new inserted records from A into M via a refresh.
    Is this possible? What other approaches are applicable here?

    John,
    My question is related to the implementation and setup of the environment as explained in the above example. How can I achieve this considering that I have created an updatable m-view?
    If possible, how do I push changes made to an updatable m-view back to it's master table when/before I execute DBMS_MVIEW.REFRESH on the m-view? What is the procedure to do this if both table and mview exist on the same database? Do I need to create master groups, materialized view refresh groups, etc.?
    One more thing.. Is there a way to retain changes to the m-view during refresh? In this case, only newly inserted/updated records in the associated table would get inserted into m-view. Whereas changes made to m-view records would stay as-is.
    Hope my question is directed well. Thanks for your help.
    - Ankit

  • Oracle 8.0.6 replication - Mlog file in the master does not empty

    Data in the log file in the master database does not deleted after the refresh job successfully completed for this table. I also tried the Complete refresh table. this but the log file still is not empty. All records in master table replicated to this remote site fine. What must I do to empty this log file, since it keeps on growing. Please help.

    One Mlog could be used by many snapshots (mviews)
    This select:
    SELECT sl.log_owner,
    sl.master,
    sl.log_table,
    rs.owner,
    rs.name,
    rs.snapshot_site
    FROM sys.dba_snapshot_logs sl
    JOIN sys.dba_registered_snapshots rs ON rs.snapshot_id = sl.snapshot_id
    select all mlog and associated snapshots (mviews).
    Check for your one, how many snapshots are there.
    Do refresh for all snapshots and mlog must be empty if there are no modificatiion of master table.

  • How to update based on condition during insert on child table

    hi all,
    i have three tables, first table enquiry(enqid, item, type) where all enquiries are entered. after that table bom (bomid, item, enqid, rawmatl) and route (bomid, routeid,routename). in this bom & route are Master Detail table, where entries are made on a later period. the requirement is to update 'type' in enquiry table during insert on Route table.
    for 1 row in bom table there will be more than 5 rows in route table. the condition to update type field in enquiry is, scan the first 5 rows of route table during insert and if routename field contains 'JG' the update type with 'J'. if 'JG' is not there scan the same 5 rows for 'ED' and update type with 'E'. if 'ED' is not there scan for 'CN' and update type with 'C' like this 3 more to test and update.
    thanks in adv. am on 8i
    Kris

    yes, trigger or proc. or package
    any idea how to do this...?

  • Replicate APO master table data into HANA db via SLT

    Hi,
    Can anybody help me on replicating SAP APO master table data into SAP HANA by using SLT.
    What is the hardware requirement (Version & Patch) for APO system to communicate with SLT and is it the same methodology to follow while replicating ECC data via SLT to HANA or different.
    Please treat it urgent and your suggestions highly appreciated.
    Thank you,
    Ian

    Hi Ian,
    From replication perspective its follow the same methodology as ECC replication to HANA.
    You have to install DMIS 2011 component on your APO system to communicate with SLT.
    For more details you can refer SAP note: 1759156
    Cheers

  • How to select data from all HR Master Tables(PA0000 to PA****)

    Hi Gurus!
    My requirement is to pick the changedon(AEDTM) , changedby(UNAME) and reason for change(PREAS)  from all tables (pa0000 to pa****)of HR  in which he made any change during a specific date.
    Now if it is specific for two or three tables then inner join can solve it. but now it is the matter of picking data from maximum 9999 tables for which inner join will not be accurate.
    plz suggest me any appropriate way to solve it out. or there is any table which store  the changes in All HR Master Tables.
    Thanking in Advance.
    Tahir Naqqash

    Hi,
    it is very tidious to get it in one go, as u know hr tables contains huge data.
    You can chack my wiki in https://wiki.sdn.sap.com/wiki/x/XYC0Aw .
    Here you need to make the following modification.
    1. in the selection screen set on date range with select option.
    2. in the select query, change select * by ur specified fields.
    3. change dynamic internal table and ALV as per ur required fields
    In this way you have to put the table name and the date range and will get the data.
    for repeation u can call the same job in background again and again store data in a seperate internal table and display finaly ..... but huge chance of getting 'Time Out ' error in that case for comparetively large day gap.
    Regards,
    Anirban

  • How to Create Inline Table to Display Detail Data in a Master Table in 11g?

    Hi,
    I have a requirement to create inline table inside master table to show data.
    I found this 10g article for this http://download.oracle.com/docs/cd/B31017_01/web.1013/b28967/web_masterdetail006.htm#BABCDCGE
    I couldn't find such option in 11g. Am i missing something? Please let me know where i can find more details.
    Required Output:
    [+] DepartmentId DepartmentName
    [-] DepartmentId DepartmentName
    EmployeeId FirstName LastName
    EmployeeId FirstName LastName
    EmployeeId FirstName LastName
    [+] DepartmentId DepartmentName
    Also, I tried creating the Page as below (Departments -Employees Relation). i.e I have tried using the ADF treeModel in the bindings and then created a table/inline table manually to populate. The data is available in the iterators (i found using sops in back bean), but the inline table is not showing any data. I tried enabling PPR on detail based on master. But no luck.
    <af:table rows="#{bindings.Departments1.rangeSize}"
    emptyText="#{bindings.findAllStaff1.viewable ? \'No rows yet.\' :
    \'Access Denied.\'}"
    var="row" value="#{bindings.Departments1.treeModel}">
    <af:column headerText="#{bindings.Departments1.labels.DepartmentId}"
    sortable="false" sortProperty="DepartmentId">
    <af:outputText value="#{row.DepartmentId}"/>
    </af:column>
    <af:column headerText="#{bindings.Departments1.labels.DepartmentName}"
    sortable="false" sortProperty="DepartmentName">
    <af:outputText value="#{row.DepartmentName}"/>
    </af:column>
    <f:facet name="detailStamp">
    <af:table rows="#{bindings.Departments1.rangeSize}"
    emptyText="No rows yet." var="detailRow"
    value="#{row.children}">
    <af:column headerText="#{row.children[0].labels.EmployeeId}"
    sortable="false" sortProperty="EmployeeId">
    <af:outputText value="#{detailRow.EmployeeId}"/>
    </af:column>
    <af:column headerText="#{row.children[0].labels.FirstName}"
    sortable="false" sortProperty="FirstName">
    <af:outputText value="#{detailRow.FirstName}"/>
    </af:column>
    <af:column headerText="#{row.children[0].labels.LastName}"
    sortable="false" sortProperty="LastName">
    <af:outputText value="#{detailRow.LastName}"/>
    </af:column>
    </af:table>
    </f:facet>
    </af:table>
    Thanks in Advance,
    Harikiran

    Hi,
    After reading the above links end-to-end twice, I'm finally able to establish the relationship in UI. I've used iterator for my specific purpose, although it can be done using a table/forEach.
    1) Create VOs for Dept and Emp, i.e. DeptVO and EmpVO.
    2) Then a View Link on deptID, i.e DeptEmpVL
    3) Drag and drop the Dept as AdfTreeTable, b'coz it will create the treeBinding and also add the emp accessor by selecting it in the binding window. (refer to above doc links from BaiG)
    4) In my Page UI, i've created a new table and an iterator in the detailStamp.
    Dept Table ->
    o Value = #{bindings.Departments1.treeModel}
    o Var = dept
    o varStaus = deptVarStatus
    Add these:
    Column1-> OutputText -> #{dept.DepartmentId}
    Column2-> OutputText -> #{dept.DepartmentName}
    Insert into TableFacets -> detailStamp -> iterator
    Iterator ->
    o Value = #{dept.children}
    o Var = emp
    o varStatus = empVarStatus
    Add these:
    OutputText -> #{emp.EmployeeId}
    OutputText -> #{emp.EmployeeName}
    OutputText -> #{emp.Salary}
    This iterator/forEach comes in handy for having n Number of regions inside a layout.
    Thanks,
    Harikiran

  • Selection in the master table is not getting reflected in the child table

    <p> I have a 4 level master detail relationship.I have a bounded taskflow where I have a master in the first view.The child (The other two levels as a tree) in the second view.I move to second view when i click the command link(Each row has a command link) of the master table (present in the first view).</p>
    <p>At the very first time when i try to insert a row in the child it's successful .I am able to see the same in the second view (The corresponding child of the master row which i have clicked).The 2 view is not refreshed i have panel strech layout in the 2 view which i am refreshing(PPR) on inserting the row. The master table is not refreshed as it is in the 1 view.I am not manipulating the master table but it was being set to the first row the second time .Added to that the 2 view doesn't have parent table .
    </p>
    Thanks,
    Raj.

    Hi Frank,
    I am using jdev 11.1.1.6 and integrated wls.
    I have a single taskflow.I have a 4 level master detail.The vo's are connected through a view link . I have dropped the first level as a table . On selecting a row the corresponding children are displayed.The children are displayed as a tree. I have a tree context menu where i have inserted a row using popup . When the user clicks on the ok dialog i am commiting the data and refreshing the tree.
    Now the problem is when i first create the row it's working properly . After when i try to create another row this time the currency of the first level is reset to the first row.
    As suggested by you i have tried disabling the commit opertion . But the issue still occurs.
    Thanks,
    Raj
    Edited by: RajaSekharReddy.M on Feb 26, 2013 6:03 PM

  • How to get the links from Master table

    Hi,
    I need to show url on the jsp page which should be taken from Backend "Master Table".
    say an example like some value CRM_IMAGE =  ZWEB CRMIMAGE.I need to show CRM_IMAGE as  Hyperlink on the product detail.jsp.
    Can anyone help me for this.
    Regards,
    Deepika
    Edited by: Ecom Dev on Dec 21, 2009 11:05 AM

    Hi Ecom,
    To retrieve value on product detail page you have to develop your custom code in which you have to create BO, BOM, BEI and BEO to access Your master table data from ISA page.
    You also need to create Custom RFC in which you pass porduct ID and retrieve related value from Master Table.
    You can find example in ISA tutorial how to get value from Back-end via JCO.
    eCommerce Developer
    Edited by: Ecommerce Developer on Dec 21, 2009 11:44 AM

  • Cost center (KOSTL) is not updating in HR master table for infotype 0001

    Hi ABAP gurus,
    We have one interface where we are posting the HR master data using the IDOC (IDOC_INPUT_HRMD) into SAP.
    While updating cost center, We have one issue regarding infotype 0001.
    It is working fine for all the fields except: KOSTL, ORGEH, STELL.  Surprisingly the created IDOC contains the value in these fields but it is not getting updated in master table PA0001. I have tryied inserting the value manually and it is working fine and tried with BDC Programming and no issues. Only we have this issue while we want to use the IDOC. This is mandatory in our interface.
    While debugging the IDOC function module I found that one condition is there for these three fields.
    CHECK NOT inte IS INITIAL. where inte value is being fetched from table t77s0 based on
    GRPID = PLOGI
    SEMID = ORGA
    In this condition I see no value for this combination and hence it is not getting further. I am not sure how this condition does exist for only these three fields and not for others.
    Can any please provide the reasona and solution for this.
    Appreciate the help in advance.
    Thanks,
    Jitender

    Dear Mohan,
    Try assigning your cost center to position it will default both your org unit and cost center.
    Cheers!

  • ADF Master Table, Inline Detail Table - How to Scroll Range/Disclose Row

    JDev 10.1.3.2 ADF/BC
    I really need some help here. I've tried as many things as I could think of and I still cannot get this to work.
    Scenario: I have query/result page. User clicks a link in the result table to take him to another page. This page has a Master table, Inline detail table component (bound to a tree in the pageDef). Before the page renders, all I want to do is scroll the Master table to the current row (based on the previous query/result via invokeAction in pageDef) and disclose the inline detail. Simple, right? In addition, I'll need to scroll the inline detail to the current row as well.
    I would like to do this prior to the components rendering but would be interested in any coding to scroll and disclose.
    Thanks in advance,
    Tom

    I've come up with a solution to my problem. Unfortunately I'm not able to manipulate the table prior to rendering but this solution is probably the closest I'm going to get. Here is my code:
    I set up a af:poll component to fire once on my jspx.
        public void poll_PollListener(PollEvent pollEvent) {
            if (this.getFromProcess("unitRowKeyValue") != null) {
                int curIndx = this.getIteratorBinding("UnitsIterator").getRowSetIterator().getCurrentRowIndex();
                this.getUnitTree().setFirst(curIndx);
                if (this.getFromProcess("systemRowKeyValue") != null) {
                    this.getUnitTree().setRowIndex(curIndx);
                    DisclosureEvent de = new DisclosureEvent(this.getUnitTree(), true);
                    this.getUnitTree().queueEvent(de);
                this.storeOnProcess("renderPoll", false);
        }The setFirst method scrolls the table to the index specified. If the user, in my case, has selected a detail item (system), I want to disclose the detail. First I need to setRowIndex to the current index and then I fire a disclose event.
        public void unitTreeDisclosureListener(DisclosureEvent disclosureEvent) {
             if (disclosureEvent.isExpanded()) {
                 CoreTable coreTable = (CoreTable)disclosureEvent.getSource();
                 RowKeySet rks = new RowKeySet();
                 Object test = coreTable.getRowKey();
                 rks.getKeySet().add(coreTable.getRowKey());
                 coreTable.setDisclosureState(rks);
          }If I don't set the rowKey via the setRowIndex method above, the getRowKey does not return a valid rowKey. In my case, I only want one master row to be disclosed at a time.
    This all works great except for a bit of flicker to process the PPR request for the component.
    Next step is to see if I can scroll the Inline Detail table to the detail row selected in the Query/Result page.
    Tom

Maybe you are looking for

  • PDF to Excel Issue

    Hello, I purchased the service today and I am receiving the error listed below. I have filled out the form I saw in other topics and submitted that already as feedback. "" failed to export to Microsoft Excel. There was an unexpected problem. I essent

  • How to I get library songs upgraded from 128k to 256k

    How to I get library songs upgraded from 128k to 256k. That is the reason I signed up for match in the first place.

  • Best approach to write a custom TableCell ?,Boolean

    Hi! I'm trying to write a custom TableCell that will display a checkbox both in render and edit mode.My class is shown below: package work.with.ui.controls; import javafx.event.EventHandler; import javafx.scene.control.CheckBox; import javafx.scene.c

  • How do I retrieve a deleted text message from my i cloud backup?

    I deleted a  text message today and need to get it back. My i phone was backed up last night to the cloud but I can't figure out how find the message. Help!

  • How to define alias

    Hello, I am studying a manual about Oracle9iAS Reports Services Publishing Reports to WEB. I have a question about: Put in URL http:/<server9iAS>:80/<alias>/rwservlet?report=MyReport.jsp What I must put in alias? Have any configuration file which def