Apply cumulative row value captured within transaction (for DWH incremental update)?
Dear community,
Don't know how to properly name it (applying cumulative row value, or merged row value, or something else) but consider the following scenario for Oracle to Oracle replication.
I have a table on the source system
create table tab(
id number( 14, 0 ) not null
, f1 varchar2( 30 char )
, f2 varchar2( 30 char )
, constraint pk_tab primary key ( id )
Having following DMLs within the first transaction
insert into tab( id, f1, f2 ) values ( 1, 'Hello', 'Dolly' );
update table tab
set f1 = 'Bye'
where id = 1;
update table tab
set f2 = 'Mary'
where id = 1;
and following ones within the second
update table tab
set f2 = 'Mary'
where id = 1;
delete tab
where id = 1;
can I make GoldenGate to apply the following to the target table
insert into tab( id, f1, f2 ) values ( 1, 'Bye', 'Mary' ); -- for the first transaction (source mode replication )
delete tab where id = 1; -- for the second one (source mode replication)
or just to do nothing in normal mode (capturing changes across the 1rst and the 2nd transaction and merging insert with delete into NOOP)?
Our team considers using GoldenGate to apply incremental data changes to DWH and definitely there is no need for applying intermediate values.
As far as I understand using BATCHSQL wont help in that case, cause it will only organize 2 updates withing 1rst transaction into one batch operation. Am I right?
Regards, Anton.
Hi,
How do I interpret it ...That's a mighty big question. The STATSPACK report is very complex. I have my notes here, on how I do it:
http://www.dba-oracle.com/t_reading_statspack_report.htm
And can anyone please suggest measures The way your report is posted, it's very difficult to read!
I wrote a free tool that will accept your STATYSPACK report and make rudimentary suggestions, you might want to give it a try:
http://www.statspackanalyzer.com
Hope this helps. . .
Donald K. Burleson
Oracle Press author
Author of "Oracle Tuning: The Definitive Reference":
Similar Messages
-
Delete the transferred values using the transaction for changing old assets
how to Delete the transferred values using the transaction for changing old assets.
i want delete the my asset.
Thank you
AnilDear Anil,
AS06 Delete Asset Record/Mark for Delet.
AS26 Mark group asset for deletion
Hope this will help.
Regards,
Naveen. -
Default value in MIGO transaction for PLANT specific
Hi Experts,
I am looking for default vaule in MIGO transaction.
Whenever goods receipt is entered for one particular PLANT ,i want vaule to be dafaulted in Quantity tab No.of container unit value to be PC for english and ST for german.
Is is possible to achiece by creating new role ? if then how ?
Note : It is for PLANT specific and for only one user.
Thanks>
Dhina wrote:
> Is is possible to achiece by creating new role ? if then how ?
This is not possible using security. You will be able to do it via some form of customisation but you need to judge whether is it worth it. -
Get selected row values from Table view control
Hi ,
I am using transaction ME23N, would like to access row values from item table for selected row. I have written a script as in screen shot and its giving me error at java script step two. I want to get the PR number from item table for selected row.
With Regards
Vishal LokapurH Vishal,
Can you please share how you were able to resolve the issue regarding the selected row
in case of a table control .
Regards -
How to get Current Row values in Af:ForEach
Hi,
We have a requirement to conditionally Display/Hide CommandLink item in af:forEach Loop.
<af:forEach items="#{bindings.RegionalAreaPVO.rangeSet}" var="parent">
<af:spacer height="10" id="s1"/>
<af:commandLink inlineStyle="font-weight:bold;" text="#{parent.ItemName}" partialSubmit="true" actionListener="#{backingBeanScope.RegionalAreaBean.launchTaskflow}" id="cl1" rendered="*#{backingBeanScope.XXWFCRegionalAreaBean.modelEligibleflag eq true}*">
<af:setActionListener from="#{parent.Code}" to="#{parentNode}"/>
</af:commandLink>
</af:forEach>
I have added a Cutom Managed Bean Class and Returning boolean value to Control Render property which is working. But now i want to add business Logic based on 'parent.ItemName' or 'parentNode' Values in the bean method to return proper Boolean value.
But i am unable to get the Current Iteration values in the bean method.
I am using below EL expressions to get the values. But no luck.
String nameel = (String)ADFUtil.evaluateEL("#{bindings.parent.ItemName}");
String codeel = (String)ADFUtil.evaluateEL("#{parent.Code}");
String nodeEl = (String)ADFUtil.evaluateEL("#{parentNode}");
Also, i have tried getting the Row object like below but i am getting the First row details always. My intention is to get Current row values and use them for Business logic.
ViewRowImpl row =
(ViewRowImpl)ADFUtil.evaluateEL("#{bindings." + VoName +
"Iterator.currentRow}");
String code = (String)row.getAttribute("Code");
Any help is highly appreciated.
Thanks
KajaHi Sascha,
I have tried that. But in my case the functional logic behind the Rendering is based on more complex logic. Hence i am trying to add a method to return a boolean in Render property of the Link.
But the real problem for me is, in the Managed bean method i am not finding a way to get the Current Iteration index. If i can get the Current iteration index, i can get the Corresponding Component ID of Command link (In the forEach Loop Component Id's are getting generated Dynamically based on Iteration Index), i can use that and add additional logic and derive true/false to return.
Any inputs?
Thanks
Kaja -
Urgent SQL question : how to flip vertical row values to horizontal ?
Hello, Oracle people !
I have an urgent SQL question : (simple for you)
using SELECT statement, how to convert vertical row values to horizontal ?
For example :
(Given result-set)
MANAGER COLUMN1 COLUMN2 COLUMN3
K. Smith ......1
K. Smith ...............1
K. Smith ........................1
(Needed result-set)
MANAGER COLUMN1 COLUMN2 COLUMN3
K. Smith ......1 .......1 .......1
I know you can, just don't remeber how and can't find exactly answer I'm looking for. Probably using some analytic SQL function (CAST OVER, PARTITION BY, etc.)
Please Help !!!
Thanx !
Steve.scott@ORA92> column vice_president format a30
scott@ORA92> SELECT f.VICE_PRESIDENT, A.DAYS_5, B.DAYS_10, C.DAYS_20, D.DAYS_30, E.DAYS_40
2 FROM (select t2.*,
3 row_number () over
4 (partition by vice_president
5 order by days_5, days_10, days_20, days_30, days_40) rn
6 from t2) f,
7 (SELECT T2.*,
8 row_number () over (partition by vice_president order by days_5) RN
9 FROM T2 WHERE DAYS_5 IS NOT NULL) A,
10 (SELECT T2.*,
11 row_number () over (partition by vice_president order by days_10) RN
12 FROM T2 WHERE DAYS_10 IS NOT NULL) B,
13 (SELECT T2.*,
14 row_number () over (partition by vice_president order by days_20) RN
15 FROM T2 WHERE DAYS_20 IS NOT NULL) C,
16 (SELECT T2.*,
17 row_number () over (partition by vice_president order by days_30) RN
18 FROM T2 WHERE DAYS_30 IS NOT NULL) D,
19 (SELECT T2.*,
20 row_number () over (partition by vice_president order by days_40) RN
21 FROM T2 WHERE DAYS_40 IS NOT NULL) E
22 WHERE f.VICE_PRESIDENT = A.VICE_PRESIDENT (+)
23 AND f.VICE_PRESIDENT = B.VICE_PRESIDENT (+)
24 AND f.VICE_PRESIDENT = C.VICE_PRESIDENT (+)
25 AND f.VICE_PRESIDENT = D.VICE_PRESIDENT (+)
26 AND f.VICE_PRESIDENT = E.VICE_PRESIDENT (+)
27 AND f.RN = A.RN (+)
28 AND f.RN = B.RN (+)
29 AND f.RN = C.RN (+)
30 AND f.RN = D.RN (+)
31 AND f.RN = E.RN (+)
32 and (a.days_5 is not null
33 or b.days_10 is not null
34 or c.days_20 is not null
35 or d.days_30 is not null
36 or e.days_40 is not null)
37 /
VICE_PRESIDENT DAYS_5 DAYS_10 DAYS_20 DAYS_30 DAYS_40
Fedele Mark 35473 35209
Fedele Mark 35479 35258
Schultz Christine 35700
South John 35253
Stack Kevin 35701 35604 35402 35115
Stack Kevin 35705 35635 35415 35156
Stack Kevin 35706 35642 35472 35295
Stack Kevin 35707 35666 35477
Stack Kevin 35667 35480
Stack Kevin 35686
Unknown 35817 35698 35596 35363 35006
Unknown 35702 35597 35365 35149
Unknown 35724 35599 35370 35155
Unknown 35600 35413 35344
Unknown 35601 35451 35345
Unknown 35602 35467
Unknown 35603 35468
Unknown 35607 35475
Unknown 35643 35508
Unknown 35644
Unknown 35669
Unknown 35684
Walmsley Brian 35725 35598
23 rows selected. -
How to capture the row value in Advanced Table on OAF ?
Hi:
I was wondering, if anyone has any idea as to how to capture a row value on an advanced table on a OAF Page.
I am currently trying to capture the Expense Report Number ( first column) on the Track Expenses Reports table on the page /oracle/apps/ap/oie/webui/HomePG.
Any idea would be helpful ?
Thank YouHi,
856070 wrote:
This is what I am looking for :
Default Functionality
On the expenses home page there is a table for the Submitted expenses Table ( advanced table) with multiple Expense Number rows , which has a link associated with every expense number. When the user clicks the expense number link , EBS takes you to a more detail information page. ---As per default functionality :::whene ever user clicks on link it will takes u to details info page based expense no right.
---Check the property of the Destination URL of the ExpensionNumber column.
---In this property u can find the page path and paramam ex:pexpencenumber.
Customized functionality
I would like to capture the Expense number on the detailed page to call another application based on the expense number. The expense number on the
detailed page is not available on the request-parameter or on the VO.
I was thinking of capturing the ExpenseNumber when the user clicks it and save the expense number on a >transientvalue to retrieve it on the detaile dpage..but unable to do so.---Here get the paramereter pexpencenumber and pass it to another appilcation.
Regards
Meher Irk -
I am wanting to exactly match two ID numbers from two worksheets within the one work book. ID numbers are non linear. Once exactly matched I wish to retrieve a corresponding row value from worksheet two and have it appear in worksheet one against the correct ID number. I have been looking at IF, VLOOKUP, and MATCH functions and suspect that what I want to do requires a combination of two or more. Any help will be greatly appreciated.
regards VaughanhVaughan,
Data A:D is all cells start at column A thru column D.
There is built-in help using the menu item "View > Show Function Browser" in the search field (top right) you can enter vlookup and you will see the detailed description.
From this we see:
VLOOKUP
(search-for, columns-range, return-column, close-match)
search-for: The value to find. search-value can contain any value type.
columns-range: A range of cells. range is a reference to a single range of cells, which may contain values of any type.
return-column: A number that specifies the relative column number of the cell from which to return the value. return-column is a number value. The leftmost column in the range is column 1.
close-match: An optional value that determines whether an exact match is required.
close match (TRUE, 1, or omitted): If there’s no exact match, select the column with the largest top-row value that is less than the search value. Wildcards can’t be used in search-for.
exact match (FALSE or 0): If there’s no exact match, return an error. Wildcards can be used in search-for.
So... the 2,0 means return the value form the same row as the lookup value but from the 2nd column of the range. 3, 0 means from the 3rd column. the ", 0" means exact match -
Hide row values for certain column in GRR2
Hi Experts,
Looking for some help in report painter. I need to hide row values for certain columns in report painter. The requirement is I have 5 columns in the report, the 5 th column is the sum of col 1 to 4 and in my row i have a formula setup to sum of values for each column, what i would like to do is for column 1 thru 4 i didnt want to display the total values in row total but i wanted to dispaly value for column 5 in row total. I have been trying my best with putting formula, but couldnt succeed.
Could somebody let me know is there an way to get this addressed.
Thanks in advance
Best Regards,
gjHow was it achieved ? Did you use sections for the columns for which rows needed to be hidden?
I have a smiliar issue of hiding certain rows for few columns. -
Unable to set a new value in an extended property from within a For Each Loop
Setting a new value in an extented property fails when the property is dereferenced within a For Each loop usin the item iterator. However, if you use the First or Last Iterators from the Find Targets activity works fine.
The error message is : "Setting a value for this object type is not allowed"
I believe this is a defect, can you please confirmLooks like a bug that needs to be reported.
While we are figuring out the issue you can work around the bug.
Add another "Find Targets" inside the loop, and use the ID of the current item in the loop to find the target (again) by ID.
And then use Set Variable on the target that was just found...
I know... Not an ideal workaround, so please open a Severity 4 bug for this. -
Compare previous row values for the same id and decide
Hello ,
I have this sample data
create table #student_academic
pk_id int identity(1,1) primary key ,
student_id int ,
[year] int,
[aggr_marks] float
insert into #student_academic
student_id ,
[year] ,
[aggr_marks]
values
(112,2012,55.4),(113,2012,65.4),(114,2012,82.32),
(112,2013,75.4),(113,2013,91.22),(114,2013,45.45),
(112,2014,61.2),(113,2014,95.2),(114,2014,75.6)
select * from #student_academic
from the above data i have to generate an extra status column. this status column should be decided by comparing the previous row value. the exact output should be like below.
student_id year aggr_marks Staus----------------------------------------------------------
112 2012 55.4 None
112 2013 75.4 Promoted
112 2014 61.2 Demoted
113 2012 95.2 None
113 2013 75.6 Demoted
113 2014 91.22 Promoted
113 2012 45.45 None
113 2013 65.4 Promoted
113 2014 82.32 Promoted
is there any way to write the t-sql with out using cursors ? this table has around 25GB of data. Any idea would be appreciated.
Thanks in advance.Hello,
The difficulty of your example is
that there are several rows for
the same year and the same student.
I present a solution
if there is
one line per year per
student:
TRUNCATE TABLE #student_academicinsert into #student_academic
student_id ,
[year] ,
[aggr_marks]
values
(112,2012,55.4),(113,2012,65.4),(114,2012,82.32),
(112,2013,75.4),(113,2013,91.22),(114,2013,45.45),
(112,2014,61.2),(113,2014,95.2),(114,2014,75.6)
Go
WITH CTE AS
(SELECT pk_id, student_id, year, aggr_marks,
(SELECT TOP 1 aggr_marks FROM #student_academic AS b
WHERE a.student_id = b.student_id AND a.year -1 = b.year
ORDER BY student_id) AS prev_aggr_marks
FROM #student_academic AS a
SELECT
pk_id, student_id, year, aggr_marks,
CASE
WHEN prev_aggr_marks IS NULL THEN 'None'
WHEN aggr_marks < prev_aggr_marks THEN 'Demoted'
WHEN aggr_marks >= prev_aggr_marks THEN 'Promoted'
END AS Status
FROM CTE
ORDER BY student_id, year
Regards,
Charlie
Charlie Dancoisne - Independent Consultant & Trainer (Please take a moment to "Vote as Helpful" and/or "Mark as Answer", where applicable. This helps the community, keeps the forums tidy, and recognises useful contributions. Thanks!) -
How to use row values in Presentation or Administration for calculation
Hi All,
I am working on OBIEE, I want to calculate / or % on two rows.
e.g. In my report row 3 is value 20 and row 5 is value 200.
In same column row 6 I want to display *(row 5 / row 3 )* 200/ 20 i.e. output should be 10.
Else can I use variable to and assign value to variable.
I tried but giving error :
CASE
WHEN "Report Structure".Seq = 101 and Currency.Code = 'SAR' THEN
"Fact Report"."Actual PTD" ,
VALUEOF("col10") = "Fact Report"."Actual PTD"
ELSE "Fact Report"."Actual PTD"
END
I am trying to store row value to repository variable to solve above problem.
My question is how to assign value to variable.
Please guide me to solve this problem.
Thanks In advance
Regards
DixitWhen you want to compare two row values, you can use the lag and lead analytical function of oracle.
lag and lead are analytical functions that can be used to get the value of a column in a previous/next row.
I have made just an example on my blog for a period to period comparison on OBIEE
http://gerardnico.com/weblog/2009/04/17/obiee-period-to-period-comparison-with-the-analytical-function-laglead/
And if you want an example on Oracle :
http://gerardnico.com/wiki/dw/analytic_function/analytic_function_lag
But I don't understand completely your problem. What about the row 1, 2, 4 ? I don't really see you report.
What I see, is that you have a problem with the currency.
You say :
I am trying to store row value to repository variable to solve above problem.For me, it's not possible...
Success
Nico -
Badi for setting default values in the transaction in APO.
BADI NAME: SMOD_APOCF005 which is used for setting default values in the transaction.
I have implemented the BADI using the below code but that BADI is not triggering. Please can you provide any solution for resolving this.
As per my requirement I am trying to set default values for these three fields RRP_TYPE, WHATBOM, CONVH.
DATA: LS_MATLOC LIKE LINE OF IT_MATLOC.
LOOP AT IT_MATLOC INTO LS_MATLOC.
LS_MATLOC-RRP_TYPE = '4'.
LS_MATLOC-WHATBOM = '5'.
LS_MATLOC-CONVH = '999'.
MODIFY TABLE IT_MATLOC FROM LS_MATLOC TRANSPORTING RRP_TYPE WHATBOM CONVH.
ENDLOOP.
DATA: LS_MATLOCX LIKE LINE OF IT_MATLOCX.
LOOP AT IT_MATLOCX INTO LS_MATLOCX.
LS_MATLOCX-RRP_TYPE = 'X'.
LS_MATLOCX-WHATBOM = 'X'.
LS_MATLOCX-CONVH = 'X'.
MODIFY TABLE IT_MATLOCX FROM LS_MATLOCX TRANSPORTING RRP_TYPE WHATBOM CONVH.
ENDLOOP.The BADI name: SMOD_APOCF005 .
T.code at APO : /sapapo/mat1
Once we enter in that T.Code with some Product and Location data.
There under PP/DS tab.
Under Planning Procedure there is a field PP Plng Procedure which I want to set as 4
And under Order Creation there is Plan Explosion which needs to be set as 5
And Under Horizons there is PP/DS Horizon which needs to be set as 999.
BADi is implemented and active.
And once the data is CIF from ECC to APO
These default values are not set in the T code in APO and the BADi is not triggering. -
Another process (thread) is applying transactions for this client:
Has anyone seen this error
'Another process (thread) is applying transactions for this client: MNEWMAN Try again later.'
We seem to be getting a few upload transactions put into the error queue for this reason, sometimes just executing the transaction clears it, but more often the data actually looks to have been correctly posted to the server as well as appearing in the error queue, as itf two threads have picked up the same transaction, one has applied it without error and the other failed
any ideas?latest update from Oracle is to
1.Set MAX_APPLY_TRIES=5
2.Set APPLY_TRIES_DELAY=10
Done this, but waiting for sufficient activity to see if it solves the problem.
I had thought about knocking max_threads down to 1 (and might do this to try and isolate some odd performance issues), but the problem is that this would make the apply and compose process take three times as long (we use 3 threads), and that will not be acceptable for long on the live system -
How to access each row value for a database item
On my form I have a database datablock that represents a table in my database.
5 rows are shown with a scroll bar that can be viewed to show the rest.
The user is able to change some of the Database Item values represented in this datablock for any row shown in the datablock.
I need to validate the correctness of the users change before allowing the database datablock to update the table in the database.
But a database item in a datablock will represent a value for every row in the table. So how do I access each row value for a database item separately. What is the PL/SQL syntax?
thanks,
michelleIn my situation it was better to use the loop instead
of a when validate trigger because...Well it was clearly not better to use a loop that doesn't work. I don't understand what you're not clear on about the item and record validation triggers. If you have a specific validation rule for a single field (such as a date that cannot be in the future), that would go in a When-Validate-Item trigger on the date item. If the user enters a future date, your code would display an error message and raise a failure. Raising a failure prevents the item from being marked as valid. Invalid items prevent the record from being inserted/updated. Sometimes you have a validation rule that requires looking at more than one item at a time, such as two items that must either both be NULL or NOT NULL. In that case, you could not use a When-Validate-Item trigger because you can't clear or populate both at once. So then you would use a When-Validate-Record at the block level and if one field is NULL and the other isn't, you would display an error message and raise a failure. Forms is very civil in this respect; we don't throw exceptions around here, but then I digress.
Maybe you are looking for
-
Can't get Firefox to recognize backed-up profile on new computer.
I've just installed a new copy of Windows and I want to transfer my old profile to this install of Firefox. I'm running Firefox 4 on my new computer and my old one. I copied the xxxxxx.user folder from my AppData/Local/Mozilla/Profiles folder onto my
-
I have a remanufactured model serial number can you help me....
its RM841xxxx the 8 means 2008 i know and the 41 is the week octoberish. first question is this the date is was remanufactured? or is this its original birthday so to speak? if its the date it was RM'd is it for all intents and purposes the same as a
-
2 Tracks, 2 different audio outputs:
I have two tracks, exactly the same. However, one track (track 1) has a metronome click, the other does not (track 2). My laptop is connected to a Mackie Pro FX12 mixer. I am connecting my laptop to the mixer via the laptop audio output jack conne
-
MS SQL Server 2005 - Express Edition?
I am interested to learn about database development for use with CF dynamic development. Before I make any significant financial investments I'm wondering if MS SQL Server 2005 Express Edition is a reasonable place to start learning about db developm
-
Suggestions for archiving an iPhoto library? (and more questions)
Ok, so here is my issue: Over 12,000 photos Over 65GB New camera that doubles the average file size of most previous pics to ~3MB I've thought about starting a new library and archiving the current one, but there is one thing I am scared of: having a