Using journalized data in an interface with aggragate function

Hi
I am trying to use the journalized data of a source table in one of my interfaces in ODI. The trouble is that one of the mappings on the target columns involves a aggregate function(sum). When I run the interface i get an error saying "not a group by expression". I checked the code and found that the jrn_subscriber, jrn_flag and jrn_date columns are included in the select statement but not in the group by statement(the group by statement only contains the remiaining two columns of the target table).
Is there a way around this? Do I have to manually modify the km? If so how would I go about doing it?
Also I am using Oracle GoldenGate JKM (oracle to oracle OGG).
Thanks and really aprreciate the help
Ajay

'ORA-00979' When Using The ODI CDC (Journalization) Feature With Knowledge Modules Including SQL Aggregate Functions [ID 424344.1]
     Modified 11-MAR-2009 Type PROBLEM Status MODERATED      
In this Document
Symptoms
Cause
Solution
Alternatives :
This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) process, and therefore has not been subject to an independent technical review.
Applies to:
Oracle Data Integrator - Version: 3.2.03.01
This problem can occur on any platform.
Symptoms
After having successfully tested an ODI Integration Interface using an aggregate function such as MIN, MAX, SUM, it is necessary to set up Changed Data Capture operations by using Journalized tables.
However, during execution of the Integration Interface to retrieve only the Journalized records, problems arise at the Load Data step of the Loading Knowledge Module and the following message is displayed in ODI Log:
ORA-00979: not a GROUP BY expression
Cause
Using both CDC - Journalization and aggregate functions gives rise to complex issues.
Solution
Technically there is a work around for this problem (see below).
WARNING : Oracle engineers issue a severe warning that such a type of set up may give results that are not what may be expected. This is related to the way in which ODI Journalization is implemented as specific Journalization tables. In this case, the aggregate function will only operate on the subset which is stored (referenced) in the Journalization table and NOT over the entire Source table.
We recommend to avoid such types of Integration Interface set ups.
Alternatives :
1.The problem is due to the missing JRN_* columns in the generated SQL "Group By" clause.
The work around is to duplicate the Loading Knowledge Module (LKM), and in the clone, alter the "Load Data" step by editing the "Command on Source" tab and by replacing the following instruction:
<%=odiRef.getGrpBy()%>
with
<%=odiRef.getGrpBy()%>
<%if ((odiRef.getGrpBy().length() > 0) && (odiRef.getPop("HAS_JRN").equals("1"))) {%>
,JRN_FLAG,JRN_SUBSCRIBER,JRN_DATE
<%}%>
2. It is possible to develop two alternative solutions:
(a) Develop two separate and distinct Integration Interfaces:
* The first Integration Interface loads data into a temporary Table and specify the aggregate functions to be used in this initial Integration Interface.
* The second Integration Interfaces uses the temporary Table as a Source. Note that if you create the Table in the Interface, it is necessary to drag and drop the Integration Interface into the Source panel.
(b) Define two connections to the Database so that the Integration Interface references two distinct and separate Data Server Sources (one for the Journal, one for the other Tables). In this case, the aggregate function will be executed on the Source Schema.
Show Related Information Related
Products
* Middleware > Business Intelligence > Oracle Data Integrator (ODI) > Oracle Data Integrator
Keywords
ODI; AGGREGATE; ORACLE DATA INTEGRATOR; KNOWLEDGE MODULES; CDC; SUNOPSIS
Errors
ORA-979
Please find above the content from OTN.
It should show you this if you search this ID in the Search Knowledge Base
Cheers
Sachin

Similar Messages

  • When to use abstract classes instead of interfaces with extension methods in C#?

    "Abstract class" and "interface" are similar concepts, with interface being the more abstract of the two. One differentiating factor is that abstract classes provide method implementations for derived classes when needed. In C#, however,
    this differentiating factor has been reduced by the recent introduction of extension methods, which enable implementations to be provided for interface methods. Another differentiating factor is that a class can inherit only one abstract class (i.e., there
    is no multiple inheritance), but it can implement multiple interfaces. This makes interfaces less restrictive and more flexible. So, in C#, when should we use abstract classes
    instead of interfaces with extension methods?
    A notable example of the interface + extension method model is LINQ, where query functionality is provided for any type that implements IEnumerable via
    a multitude of extension methods.

    Hi
    Well I believe Interfaces have more uses in software design. You could decouple your component implementing against interfaces so that
    you have more flexibility on changing your code with less risk. Like Inversion of Control patterns where you can use interfaces and then when you decide you can change the concrete implementation that you want to use. Or other uses for interfaces is you could
    use Interceptors using interfaces (Unity
    Interceptor) to do different things where not all of these is feasible or at least as straightforward using abstract classes.
    Regards
    Aram

  • Interface with SHBrowseForFolder Function (shell32.dll)

    Dear OTN members,
    Anyone there know how to interface with SHBrowseForFolder
    Function in "shell32.dll" Windows NT's library ?
    Regards
    Khoo
    null

    I am currently using oracle developer Forms4.5 (release 1.6).
    TQ
    Regards,
    Khoo
    null

  • Journal data --- for multiple interfaces

    hi,
    i have a source table.
    i want to capture the journal data on this table.And use the data stored in the "jv$ tables" in multiple interfaces.
    The multiple interfaces have same source table and are linked in a package.
    Is it possible to achive it.

    Yes.
    Just have one extend window / lock subscriber at the start of the package, run all the interfaces you want to on that Change data before finishing the package with a Unlock Subscriber / Purge Journal step.

  • ? on Using which format of Audio Interface with a Imac i3

    Hi,
    I have been reading and reading about this topic. My (R.I.P.) eMac has been replaced by a very nice and fast Intel i3 Imac with FW800 and plenty of USB 2.0 and SP/Dif (even)
    Fortunately most all of any music gear that needed driver or firmware updates for Snow Leopard had them available, but my Tascam US-120 (USB 1.1) does not so have been looking at USB 2.0 (though its amazing how many USB 1.1 USB Audio Interfaces are still be produced and at $$$ prices. Firewire Audio Interfaces are at FW 400 and with a Firewire 800 port on the back of the iMac appears ? that a interface cable is the required or ? only way to use a Firewire interface 1) I want to make sure I am understanding this correctly, and 2) is this safe ? to do 3) I am getting a FW 800 Extrenal Hard Drive so that is a match, 7200RPM,
    I do plug in to the Interface (or did) at times 2 microphones XLR type (to put mic's on a amplifier) , a Electric Guitar , or a Acoutsic Electric Guitar in to the interface or record it with a mic's, I have a MIDI Keyoard that has MIDI in-out as well as USB in, and also plugged two power monotors(Linear Flat Speakers) in to the out puts of the previous Audio Interface.
    Last Question I reviewed the bit/kHz of the USB 1.1 interfaces and they range from 16 bit//48 kHz,24bit 44.1kHz, to 24bit 48kHz to 24bit 96kHz (on a USB 1.1 connection from the particular USB audio Interfaces when you find a USB 2.0 modem the max bit rate is 24 and the kHz (ranges from 96 kHz to 192 kHz) I am not a electronics genius
    but have recorded music in to computers for over 6+ years and the Resolution rates of the USB 1.1 do not make sense to me (I realize that MP3 (being compressed) and CD quality recordings are only so high but..
    I am going to (later) update to Ilife 11 with Garageband 11' which can record up to the 24 bit range so that is a consideration as well
    The FW 400 resolution rates in the chart I have are a minimum of 24 bit and kHZ range of 96 kHz to 192 kHz . and in theory USB 2.0 is a bit faster at 480 mbs versus FW 400
    at 400 mbs and from what I have learned USB 1.1 is slowest, I guess I am missing something, over thinking this or. Just want to do it safely, and get all of the inputs and out puts I need (I can even use the SP/Dif that comes on alot of Audio Interfaces, The AES Audio Engineers Society just wrapped up a convention and have been looking at their site and new product releases.
    Any Input would be greatly appreciated and I wish I could write less and explain more!
    David
    ambienttales

    If you can stretch your budget (quite a bit actually, but you can find deals on the net) I can't recommend the RME Fireface 800 models enough. Lots of I/O, never EVER had a crash, and the drivers and tools are rock solid. RME also makes a FF400 which has less I/O, but also costs less. The sound is steller, and it has no discernable noise. These are Firewire interfaces, but they just camme out with one that also talks USB.
    Pete

  • Anyone Using Eleven Rack as an interface with Logic?

    Just wondering if the USB aspect of Eleven would have trouble with sessions in Logic with large track counts...
    Thanks
    Tom

    Spelldoggy wrote:
    I recently purchased Logic Pro and understood that I could use my pro tools LE 002 running 7.4 as an interface. It won't record audio no matter what I do although I know it's possible because it worked once. I've heard that pro tools core audio won't work with 10.4.11 Is this true?
    Hi,
    I'm Running :
    MacBook Pro 15"
    Model Identifier: MacBookPro2,2
    Processor Name: Intel Core 2 Duo
    Processor Speed: 2.16 GHz
    Number Of Processors: 1
    Total Number Of Cores: 2
    L2 Cache (per processor): 4 MB
    Memory: 2 GB
    Bus Speed: 667 MHz
    Boot ROM Version: MBP22.00A5.B07
    SMC Version: 1.12f5
    Mac OS 10.4.11
    ProTools Le 7.4.cs3
    Digidesign Digi002 Rack. Software version 0x1 Spec Id 0xA4
    Logic Pro 8.0.1
    This WORKS. So, you need to ensure you have ALL the correct software versions for your computer.
    Cheers

  • I am using Logic Pro 8, I interface with a firepod, got a new firestudio project, but I can only access 10 tracks at a time to record enable, anyone?

    I know the two interfaces have synced, but I just can't seem to pull up more than 10 tracks in the input channel drop down. If any one has any idea , I would love to hear about it.

    CCTM, Hello my friend, I wanted to thank you for your support with this issue, Your screen shots, and the tricks and tips book I have helped me set up the aggregate device, I now have 20 inputs and 20 outputs as it should be.
    Thank you again, respectfully Eric King.
    P.S. As I work my way through the two Logic Pro 8 series books from apple, I am sure I will have more questions, hope to speak with you again. Have a wonderful day .

  • What's a good voice recording app I can use on my laptop and interface with iTunes?

    Does anyone have a great recommendation for making home-made voice recordings that I can post on social media using iTunes?  Is there a particular app/recorder that makes it sound more professional than a home-made job?
    Thanks.

    You can't plug a microphone directly into a Mac: you have to go through a mixer or a preamplifier to bring the voltage level up to the Mac's input level. Of course this doesn't apply to USB microphones, which can be plugged into a USB socket and will usually work straight off. The Mac's own microphone may be reasonable sounding - you can try and see what it sounds like - but obviously you musn't touch the Mac while recording and you will get better results with a decent external mic. (USB would probably be best, but they're not cheap.)

  • Cant use my presonus inspire 1394 interface with mavericks? any help out there???

    i updated to mavericks and lost the functionality of my interface in garageband   ***?

    thedons there is a discussion called massive audio problem .. there is a big issue with audio
    i have an audiobox 22 VSL and am in the same troubles ..
    do you have an imac ?

  • HT201066 Using us-144 mkII (USB interface) with Quicktime

    Does anybody know how I can get my MacBook Air to recognize my USB interface when I use Quicktime?
    Quicktime input options are limited to internal mic and my cam... won't recognize my USB interface, even though its appearing in the computers' audio preferences.
    HEEEEEEEELP!!!
    Thanks!
    Eddie

    foxyroxyD wrote:
    digital piano - midi in/out - audio interface - usb - Macbook.
    check the cabling:
    http://www.bulletsandbones.com/GB/GBFAQ.html#controllertointerface
    (Let the page FULLY load. The link to your answer is at the top of your screen)

  • When at home with WiFi  am I still using 3G data?

    When at home with WiFi  am I still using 3G data?

    WiFi is turned off when the phone goes to sleep to preserve battery life unless the phone is connected to power. So any background data transfers will use cellular data. In addition, a few functions (such as visual voicemail) always use cellular data.
    The bigger question is how do you know when it is using cellular data? You cannot use the timestamps on your bill or the carrier's website or iPhone app, because those are the times accumulated usage is reported to the billing system.

  • Question about mapping a JAVA Interface with Flex

    I am using Granite Data Services (Java backend) with my Flex
    client.
    The Java server has an Interface called
    public interface IService {String getServiceName();}
    The flex client makes a remote service call on the server
    POJO which returns any implementation of the specified interface.
    On the flex side I have an interface
    [Bindable]
    [RemoteClass(alias="com.*****.proxy.pojo.IService")]
    public interface IService{function getServiceName():String;}
    As shown i am binding it to the server interface.
    From the client I make a call to the server and handle the
    result as shown below
    var serviceInstance:IService =
    (remoteO.testInterface.lastResult as IService);
    Alert.show("Service Name :
    "+serviceInstance.getServiceName());
    The call reaches the server and the remote method is being
    called however the Alert is not working.
    Please Help !!

    //Start other thread closeT
    System.exit(0)
    //code for thread closeT
    //wait 10 s
    Runtime.getRuntime().halt()
    Gil

  • How to use Changed Data Capture?

    Hello,
    I want to use CDC to load my DW in real time. I am testing ODI in that mode.
    I have two tables:
    SRC Employe (empl_ID, name, surname, salaire, age) and TRG Employe( empl_ID, name, surname, CreDate, UpdDate) on SQL Server 2005. I wish to load data from SRC Employe to TRG Employe. I want that this data are charged in real time.
    how to do this? I know that I must use OdiWaitForData and OdiWaitForLogData but in ODI documentations, explanations are not sufficient.
    how to use OdiWaitForData and OdiWaitForLogData?
    thanks in advance
    Billyrose

    Hello,
    but when I created a package and added OdiWaitForLogData, pb began. the step that has OdiWaitForLogData succeed. but my interface failed. the step "Load Data" failed.why?
    There is no reason for that. WaitForXXX does not affect the data stored in the CDC infrastructure, but just detects it.
    - What type of CDC are you using: simple or consistent set?
    - Did your interface used journal data only?
    - What error did you get precisely on the "Load Data" task?
    Could you tell me how to schedule a package?For scheduling, I think you should have a look at "Generating a Scenario" in the user manual. under the generated scenario node, you'll see the schedule node and you can start scheduling from here.
    Regards,
    -FX

  • Show days left until reset based on date and condition associated with date

    My question is simlilarly based to the previous discussion https://discussions.apple.com/message/15134714#15134714
    What I need to do is display the number of days until I have to reset a flight condition (FS Column) based on a set number of days (60 days).  I have several colums of information but the two I would use is a Date Column and the FS Column(drop down menu with text for options). I would need to be able to look at certain FS options and use the date associated with it to subtract from 60.
    If FS= "NG" use date associated with it to add 60 days, and then use that date to compare it with today's date to show how many days are left till the 60 day mark.
    So if the last "NG" was Jan 1, 2011 and today was Feb 1, 2011 I would want one cell to show 30 days and another cell to show Mar 2, 2011.
    I need to fly in a certain condition once every 60 days. I want to show how many days left I have until I need to reset that 60 day counter.  Also, I would like to have another cell show the date associated with the day I would need to reset that counter on.
    Unfortunately I am in a limited internet environment so I can not post a picture of my spreadsheet.  Sorry for the over explination, trying to make it as clear as possible first go round.
    Thanks in advance!

    Aron,
    I added a few columns to correlate the conditions and dates. There may be a better way than this brute force approach, but this will work.
    Date
    DS
    FS
    Hrs
    Seat
    Mission ID
    D
    H
    N
    NG
    NS
    Aug 1, 2011
    PI
    D
    1.0
    F
    C
    8/1/11
    Aug 1, 2011
    PI
    N
    0.5
    F
    C
    8/1/11
    Aug 2, 2011
    PI
    D
    0.5
    F
    C
    8/2/11
    Aug 2, 2011
    PI
    NS
    1.4
    F
    C
    8/2/11
    Aug 4, 2011
    PI
    NS
    0.2
    F
    C
    8/4/11
    Aug 12, 2011
    PI
    NG
    1.0
    F
    C
    8/12/11
    Aug 12, 2011
    PI
    NS
    1.2
    F
    C
    8/12/11
    Aug 14, 2011
    PI
    NG
    0.5
    F
    C
    8/14/11
    Aug 14, 2011
    PI
    H
    0.5
    F
    C
    8/14/11
    Aug 14, 2011
    PI
    NS
    0.6
    F
    C
    8/14/11
    Aug 20, 2011
    PI
    NS
    2.1
    F
    C
    8/20/11
    Aug 21, 2011
    PI
    NG
    2.0
    F
    C
    8/21/11
    Aug 22, 2011
    PI
    NG
    1.0
    F
    C
    8/22/11
    Aug 22, 2011
    PI
    NS
    0.4
    F
    C
    8/22/11
    Aug 29, 2011
    PI
    NS
    0.5
    F
    C
    8/29/11
    Then I added a summary table:
    FS Condition
    LastDate
    Plus 60 Days
    Today is Oct 11, 2011
    Alarm
    D
    8/2/11
    10/1/11
    10d
    Overdue
    H
    8/14/11
    10/13/11
    -2d

  • Using an Applet to interface with the computer

    h6. Situation
    I am trying to build a an Applet, which will allow me to interface with a computer in the same way that a simple 'presentor' does. For clarification a 'presentor' is a piece of hardware that you plug into the computer and then use a radio device to move through the slides.
    I cannot think how to do this, though I am sure that it is possible...its Java?! The only way i can kinda see it working is if the Applet emulates a piece of hardware...if that is the case then I think I might be out of my relms of programming. However I appreciate that what I am attempting to do flys in the face of Java in a sense at it runs and exists in a Virtual machine...but there has to be a way....If i can get an Applet to read and write a file on my operating system....then I must be able to get it to emulate a mouse click?
    What do you guys think? Am I being to ambitious or just stupid? :)

    Ok, here goes :)
    Basically I am trying to create a web based Remote Presenter. You know those bits of hardware were you plug the receiver into the PC and then have the hand held device that allows you to skip though slides.
    I think that the need for a receiver dongle is pointless, extra stuff to carry around. I am trying to use my Nokia N95 device, with its build in webserver to create something a bit different.
    So far I have been able to create an applet that I have signed, that has the ability to open a socket and wait. I have a very simple server app that sends data to that socket, either a 1 or a 0. When the applet receives this value, it performs a mouse click.....
    I have now put this applet onto my N95 mobile web server which is basically a very simple apache webserver and I can access the page and download the applet. The next stage is to somehow create a program that can talk though my mobile phone to the applet......
    Ultimately, when I give a lecture I will be able to just browse on the PC to the URL of my mobile web site (xxx.mymobilesite.net) and then run an application on my mobile to control the computer......
    A lot of work for a simple power point controller...but with the possibility of more....

Maybe you are looking for

  • How to partition/format external drive?

    Hi, I bought a WD MyBook 320 GB external drive. It is by default formatted in fat32. However, fat32 has a ridiculous file size limitation! (<4GB) I have 2 Macs, one windows and one linux boxes at home, one linux and one windows boxes at work. I want

  • IPOD Touch Screen zoomed in and won't respond

    My screen zoomed in and is so large that I can't get the slides to respond to open or shut down. I have done the restore and reinstalled some music but that didn't solve the problem.  It only responds to voice command, it won't shut down because I ca

  • Error in MSS Internal Service request

    I install MSS 60.1.5 under EP 60 sp10. All iviews under My budget (internal service request) are not working now, such as "change internal order request", "change project" and so on. After clicking the "submit" button, the error shows "<b>An error oc

  • 1 Controller connected to 2 macs/logic???

    How can I get my controller connected to 2 different macs running logic? Will a y usb cable work? Thanks JLE

  • CCX 9 demo license

    Hello all, I'm planning to start the CCIE collaboration journey. I was wondering what demo license are available for using CCX. Only 30 days for express feature? thanks lorenz