ASO members with formula not rolling up

Hi Gurus,
In our ASO cube we have a members which caluclate % are not rolling up to parent . Its rolling up for MTD but they are not rolling for QTD . Members are in Account dimension .Please let me know if you require more info to get the excat idea .

These are MDX formula members, right? Is the problem that the results are recalculated at the QTD level rather than the MTD level summing up the Period dimension?
Is Period a stored dimension? The members / formulae in dynamic dimensions or hierarchies will always be calculated after roll-up of stored dimensions / hierarchies.
See the section on 'Calculation Order' here: http://docs.oracle.com/cd/E26232_01/doc.11122/esb_dbag/alocare.html#alocare1058144
If that is the problem you're seeing, the only options are a) to use an ASO calculation to derive the percentages as stored values, which can then roll up in stored hierarchies, or b) calculate the percentages outside of Essbase - in a relational staging area, for example.

Similar Messages

  • Retrieval performance become poor with dynamic calc members with formulas

    We are facing the retrieval performance issue on our partititon cube.
    It was fine before applying the member formulas for 4 of measures and made them dynamic calc.
    The retrieval time has increased from 1sec to 5 sec.
    Here is the main formula on a member, and all these members are dynamic calc (having member formula)
    IF (@ISCHILD ("YTD"))
    IF (@ISMBR("JAN_YTD") AND @ISMBR ("Normalised"))
    "Run Rate" =
    (@AVG(SKIPNONE, @LIST (@CURRMBR ("Year")->"JAN_MTD",
    @RANGE (@SHIFT(@CURRMBR ("Year"),-1, @LEVMBRS ("Year", 0)), @LIST("NOV_MTD","DEC_MTD")))) *
    @COUNT(SKIPNONE,@RSIBLINGS(@CURRMBR ("Period")))) + "04";
    ELSE
    IF (@ISMBR("FEB_YTD") AND @ISMBR ("Normalised"))
    "Run Rate" =
    (@AVG (SKIPNONE, @RANGE (@SHIFT(@CURRMBR ("Year"),-1, @LEVMBRS ("Year", 0)),"DEC_MTD"),
    @RANGE (@CURRMBR ("Year"), @LIST ("JAN_MTD", "FEB_MTD"))) *
    @COUNT(SKIPNONE,@RSIBLINGS(@CURRMBR ("Period")))) + "04";
    ELSE
    "Run Rate"
    =(@AVGRANGE(SKIPNONE,"Normalised Amount",@CURRMBRRANGE("Period",LEV,0,-14,-12))*
    @COUNT(SKIPNONE,@RSIBLINGS(@CURRMBR ("Period"))))
    + "Normalised"->"04";
    ENDIF;
    ENDIF;
    ELSE 0;
    ENDIF
    Period is dense
    Year is dense
    Measures (normalised) is dense
    remaining all sparse
    block size 112k
    index cache to 10mb
    Rertrieval buffer 70kb
    dynamiccalccahe max set to 200mb
    Please not that, this is partition cube, retriving data from 2 ASO, 1 BSO underline cubes.

    I received the following from Hyperion. I had the customer add the following line to their essbase.cfg file and it increased their performance of Analyzer retrieval from 30 seconds to 0.4 seconds. CalcReuseDynCalcBlocks FALSE This is an undocumented setting (will be documented in Essbase v6.2.3). Here is a brief explanation of this setting from development: This setting is used to turn off a method of reusing dynamically calculated values during retrievals. The method is turned on by default and can speed up retrievals when it involves a large number of dynamically calculated blocks that are each required to compute several other blocks. This may happen when there is a big hierarchy of sparse dynamic calc members. However, a large dynamic calculator cache size or a large value of CALCLOCKBLOCK may adversely affect the retrieval performance when this method is used. In such cases, the method should be turned off by setting CalcReuseDynCalcBlocks to FALSE in the essbase.cfg file. Only retrievals are affected by this setting.

  • ASO aggregation Issue. Not rolling up to parents.

    hg
    Edited by: user7805819 on Jan 13, 2011 4:08 PM

    I don't have anything open to test syntax right now but something like
    Case
    When
    currentmember([Scenario]) is [Actual] and
    currentmember([Version]) is [Fina;] and
    ISlevel([Total Product].currentmember,0)
    and Not IS([Total Product].currentmember,[XXXXX])
    Then
    20
    When
    currentmember([Scenario]) is [Actual] and
    currentmember([Version]) is [Fina;] and
    NOT ISlevel([Total Product].currentmember,0) THEN
    sum([Total Product].currentmember.children,[measure])
    End
    where measure is the member name you are performaing the calculation on (where the 20 gets put). It has been a whild so you might need additional ({}) around the tuple to make it a set

  • Clear ASO region with dynamic members

    I have a problem in clearing a region in an Oracle ESSBASE ASO cube that returns in an error like:
    dynamic members are not allowed in data clear region specification
    when i try to execute this query
    alter database 'aso'.'db' clear data in region '{CrossJoin(CrossJoin(CrossJoin(CrossJoin(CrossJoin(CrossJoin(CrossJoin(CrossJoin(CrossJoin({[var1]},{[var2]}),{[var3]}),{[var4]}),{[var5]}),{[a],[b ],[c],[d]}),{Descendants([node],Levels([dim1],0))}),{Descendants([dim2],Levels([dim3],0))}),{Descendants([dim4],Levels([node1],0))}),{Descendants([dim5],Levels([node2],0))})}' physical;
    In my case there are level 0 dynamic members in dim5.
    As you can see i tried the "physical" approach as found in some oracle forums but with without success. I want to work at leaf level for each node, excluding the ones marked as dynamic. How can I achieve this? How can I exclude from the query dynamic members in the hyerarchy and, as in my case, only dynamic leaf?
    Help is very appreciated.
    Thank you
    Edited by: user9289301 on Feb 23, 2013 12:46 PM

    There are two things I have done.
    1. Move all of the dynamically calcualted members under a a parent like statistical, then for Dim 5 I wuld do the level zero members except the statistics parent
    2. put a UDA on each of the members with formulas then exclude them.(You could conversely put a uda on members without formulas and select only those

  • Dynamic Calc Member with Formula to Calculate a Rolling 13 Year

    I have to create a rollup in my time dimension that will have 13 members representing each month of a 13 rolling forecast. I am having trouble setting this up as dynamic calc members with a formula assigned to it. For example, on of the members has the following formula.
    As you can see, I am referencing several substitution variables since I want to make this as most dynamic as possible without having to make any changes to the formula member. Only making changes to the substitution variable. Any help would be much appreciated.
    IF((@ISMBR(&Current_Year)) AND (&Act_RF_Last_Month == "Jan"));
    "RTM 6" = @MDSHIFT(&Act_RF_Last_Month, -1, "Years", , 5, "Period",);
    ELSE #Missing;
    ENDIF
    IF((@ISMBR(&Current_Year)) AND (&Act_RF_Last_Month == "Feb"));
    "RTM 6" = @MDSHIFT(&Act_RF_Last_Month, -1, "Years", , 5, "Period",);
    ELSE #Missing;
    ENDIF
    IF((@ISMBR(&Current_Year)) AND (&Act_RF_Last_Month == "Mar"));
    "RTM 6" = @MDSHIFT(&Act_RF_Last_Month, -1, "Years", , 5, "Period",);
    ELSE #Missing;
    ENDIF
    IF((@ISMBR(&Current_Year)) AND (&Act_RF_Last_Month == "Apr"));
    "RTM 6" = @MDSHIFT(&Act_RF_Last_Month, -1, "Years", , 5, "Period",);
    ELSE #Missing;
    ENDIF
    IF((@ISMBR(&Current_Year)) AND (&Act_RF_Last_Month == "May"));
    "RTM 6" = @MDSHIFT(&Act_RF_Last_Month, -1, "Years", , 5, "Period",);
    ELSE #Missing;
    ENDIF
    IF((@ISMBR(&Current_Year)) AND (&Act_RF_Last_Month == "Jun"));
    "RTM 6" = @MDSHIFT(&Act_RF_Last_Month, -1, "Years", , 5, "Period",);
    ELSE #Missing;
    ENDIF
    IF((@ISMBR(&Current_Year)) AND (&Act_RF_Last_Month == "Jul"));
    "RTM 6" = @MDSHIFT(&Act_RF_Last_Month, -1, "Years", , 5, "Period",);
    ELSE #Missing;
    ENDIF
    IF((@ISMBR(&Current_Year)) AND (&Act_RF_Last_Month == "Aug"));
    "RTM 6" = @SHIFT(&Act_RF_Last_Month,-7);
    ELSE #Missing;
    ENDIF
    IF((@ISMBR(&Current_Year)) AND (&Act_RF_Last_Month == "Sep"));
    "RTM 6" = @SHIFT(&Act_RF_Last_Month,-7);
    ELSE #Missing;
    ENDIF
    IF((@ISMBR(&Current_Year)) AND (&Act_RF_Last_Month == "Oct"));
    "RTM 6" = @SHIFT(&Act_RF_Last_Month,-7);
    ELSE #Missing;
    ENDIF
    IF((@ISMBR(&Current_Year)) AND (&Act_RF_Last_Month == "Nov"));
    "RTM 6" = @SHIFT(&Act_RF_Last_Month,-7);
    ELSE #Missing;
    ENDIF
    IF((@ISMBR(&Current_Year)) AND (&Act_RF_Last_Month == "Dec"));
    "RTM 6" = @SHIFT(&Act_RF_Last_Month,-7);
    ELSE #Missing;
    ENDIF

    We use similar logic but its in a calc script, not a dynamic formula.
    Here's an example of what we do:
    FIX (&Year, &Scenario)
    IF (@ISMBR("JAN"))
    "Average Usage%" = @AVG(SKIPBOTH, @MDSHIFT("Usage %"->"DEC"->&actYear, -1, "Year",), "Util %"->"JAN"->&actYear);
    ELSEIF
    ENDFIX
    Another example in a different database:
    IF (@ISMBR("JAN")) ((@MDSHIFT("Fees"->APR,-1,YEARS,)+@MDSHIFT("Fees"->MAY,-1,YEARS,)+@MDSHIFT("Fees"->JUN,-1,YEARS,)+@MDSHIFT("Fees"->JUL,-1,YEARS,)+@MDSHIFT("Fees"->AUG,-1,YEARS,)+@MDSHIFT("Fees"->SEP,-1,YEARS,)+@MDSHIFT("Fees"->OCT,-1,YEARS,)+@MDSHIFT("Fees"->NOV,-1,YEARS,)+@MDSHIFT("Fees"->DEC,-1,YEARS,)+"Fees"->JAN)/10)*12;

  • Adding formulas via ADS file - How to Handle Members with Spaces

    greetings,
    I'm building onto an existing dimension using an ADS file in EPMA where some of the members have formulas. The problem is the ADS load is not consistent with the double quotes where at times the double quotes are retained after deployment, while at other times they are not, thus giving a formula error in Essbase.
    The ads file shows something like this: IF(@ISIDESC (""SPECIFIC ACCOUNT"")) ""JAN2012""; ELSE ""JAN2013""; ENDIF
    In Essbase, the quotes around SPECIFIC ACCOUNT are removed: IF(@ISIDESC (SPECIFIC ACCOUNT)) ""JAN2012""; ELSE ""JAN2013""; ENDIF
    We're on 11.1.1.4.
    I've tried various things, such as surrounding the double quote with single quotes, nothing seems to work... Any help is greatly appreciated...
    cg
    Edited by: cg on May 9, 2012 5:41 AM

    Does this document in Oracle Suport help - Double Quotes Around Member Formulas Are Deleted When The ADS file Is Imported [ID 1101093.1]     
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • HT1476 My iPhone 4S will charge on a laptop but not from a wall plug. I have tried different boxes and different USB cords from the wall but none work. These boxes and USB cords work for other family members with iPhones. I'm stumped :/

    My iPhone 4S will charge on a laptop but not from a wall plug. I have tried different boxes and different USB cords from the wall but none work. These boxes and USB cords work for other family members with iPhones and a USB cord that works from the laptop won't work from 3 or 4 different wall boxes that work for others. I'm stumped :/

    Update: It seems as though the phone will charge if I plug it in and then turn it off.  It will not charge while the phone is on.  Also iTunes will not recognize it, so I can't sync or anything.  I read somewhere that it could be a fuse somewhere?? Or maybe the dock connector. Where is the best place to get this repaired?

  • Suppress Missing Data not work in web form with formula column inside

    Dear All,
    I've a planning web form with formula column inside to calculate the variance and % variance. But missing cell can't be suppressed, although I've checked the 'Suppress Missing Blocks' and 'Suppress Missing Data' options.
    Anyone have face the same problem..?? and how to fixed it..??
    thanks.
    Regards,
    VieN

    There is a known issue that sounds like the problem you are experiencing
    10358200 - If a formula column exists in a data form, selecting the Suppress missing option does not hide rows that do not contain data.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • ASO Cube with attributes very slow in retrieval

    Hi,
    I have a ASO Cube with 5 base dimensions and 8-9 attributes on the entity dimension. I have only 5-6 measures, which do the averages and counts based on the 40 day period. Howere, the data is loaded at the 15 minute increment
    Entity
    Date - (date-time, lowest level being date)
    TIme - ( 15 minute time for the full 24 hour period, has a attribute assocuated with oit)
    LocationType
    Measures.
    The sample formula is
    IIF(Islevel([Locations].CurrentMember,0), Avg(CrossJoin({[Measure].[Sale]},{[DateDim].CurrentMember.lag(40):[DateDim].CurrentMember})),Missing)
    Is there a way, i can have this calculated as a part of the script? DO you suggest i create a BSO, to do these calculations and pass on the result.
    In OBIEE, the report is to display the followung based on the date input.
    Entity Gen7, Entity Gen 6..... Entity Gen 2, Attr1, Attr2, Attr3, Attr4, Attr5, Attr6, Attr7, Measures

    2 things I would look at
    1st - I don't know how much performance you would get out of this, but I'm not clear why you are using a crossjoin in your MDX, it seems unnecessary and may cause more overhead. The following should work, you could also try using IsLeaf instead and see if that is any faster
    IIF(Isleaf([Locations].CurrentMember),
    Avg({[DateDim].CurrentMember.lag(40):[DateDim].CurrentMember},
    [Measure].[Sale], INCLUDEEMPTY)
    2nd - your problem mostly revolves around the fact that you are running a 40 member sum/avg for every member you are querying. It also sounds like the average is at the Day level, which is not level 0. So for all forty days, ASO also has to calc the results of each of those days. Remember that aggregations only get you so far, you should really think of everything in ASO as dynamic and that is why you can see what you have set up is not going to work that well, it is too calc intensive.
    I don't know how practical this is, but to get this to work fast you would probably need to break out the 15 minute increments below the day level to another dimension so the day level becomes a stored level zero member. The 15 minute increment dimension should also be stored. If at all possible you would want to have an alternate stored hierarchy with the 40 days you want to base the average on. Enable alternate hierarchies in your aggregations, then change your MDX calc to be based on the parent of the 40 day hierarchy divided by 40. That would be fast.
    I suppose you could opt to not break out the 15 minute increments and just have the shared hierarchy made up of the 15 minute increments that are below the 40 days. That would still give you a good stored subtotal that with some query hints you could get optimized.

  • BW 3.5 - Issue with formula variable with replacement path

    Dear experts,
    I'm facing an issue with formula variable with replacement path.
    Just to clarify, I know replacement paths is raising a lot of questions but I've been using this functionnality extensively in the past, both in 7.0 and 3.5, so I'm not looking for basic information about how to use it.
    I'm trying to setup a simple report that would show total values per plant of Purchase Order < 100 €
    To do so I've setup a calculated key figure as follow:
    VAR1 * ("PO value" < 100 ) * "PO value"
    VAR1 is a formula variable with replacement path on 'purchase order' and value attribute 'constant =1'.
    (The report has to show values summarized by plant but should not show the detail PO by PO, so I'm not looking at a solution based on condition)
    The report as characteristic "plant" in rows and my CKF in columns.
    Now let's take an example. I have 3 POs in Plant 1:
    PO1 -> 150€
    PO2 -> 90€
    PO3 -> 80€
    Because of the variable with replacement path, the result in my query should be:
    plant1 = 170 (even though characteristic "purchase order" is not in my rows, system should evaluate PO one by one and return values only for those two that are below 100).
    But the result coming is 320, which is wrong.
    I've done the same report on many other 3.5 systems and it worked perfectly, and I am not able to get proper support from SAP OSS who keep saying that this functionnality is not ready in 3.5 (although I've provided screenshot of this working on another 3.5 system!!! how frustrating...)
    They have also pointed to problems of Before and After aggregation but that has absolutely no impact. Once again, the scenario is working perfectly on other 3.5 systems with the same query design, so i'm sure it has nothing to do with Query Designer options.
    Would anyone have ever come to an equivalenet problem? I'm wondering whether the DB itself could not play a role in the variable with ref  characteristic 'constant =1' ...
    Any though is welcome!
    thanks

    Hi,
    The text variable is replaced when the exact date is clear for this key figure column according to the restriction.
    To achive this, please make sure that either the variable is directly restricted in the key figure selection, or that the date characteristic is in drilldown.
    Regards,
    Patricia

  • Inactive component cost not rolled up to top level item

    Hi
    Our scenario is as follows: we have a top level item with a BOM. And some components of the BOM  are having material status u2018inactiveu2019. Inactive means materials will not procured and sold, however we could have inventory which can be consumed in production of other materials. In other words inactive items are like old items. These inactive items already have costing value. And we donu2019t want to recost inactive items.
    Having described above scenario, the requirement here is when we run costing for top level item, system should take costing value of inactive items  and roll up into top level item costing which is NOT happening now. Client donu2019t want to recost inactive items. The reason for not recosting inactive items is the recosting could change cost of inactive items significantly.  We are using 4.7 version and standard costing.
    Would appreciate any ideas or suggestions in this regard.
    thanx
    Sunil

    Thanks Young for the reply. 
    We already set 'do not cost' indicator for inactive components. And these inactive components do have standard costs valid up 10 12/31/2999.  It seems bom explosion is excluding these materials. it is ok to exclude. However the existing standard cost of these inactive components did not roll up in to top level. when I checked the costing status log, it says material ABCDF123 in plant 3344 has material status 40: Inactive.
    I checked BOM as well and inactive component is flagged as 'relevant for costing'.
    We are using following valuation varaiant
        Strategy Sequence ->  1. Planned Price 1    2.Standard Cost
        Transfer Control - Complete Transfer
    thnx

  • Project professional 2010: Physical % Complete field does not roll-up to the summary tasks

    Hi,
    I have a project plan which I need to set the physical % complete fields of it in order to use it for earned value over time report. I have assigned costed resources to come of the tasks, set all project task's earned value method to physical % complete,
    and finally set a baseline. However, the physical % complete still does not get calculated for the summary tasks! It is always zero! 
    I have created another project with only 3 tasks and 3 resources, did the same as above, and was able to get calculated values for the physical % complete.
    I followed the same procedure in both projects. In one I was able to get the physical % complete value of the summary tasks while it was always zero in the other! What may be the problem? 
    Regards,
    George 

    Hi Julie,
    This is what I am seeing as necessary to make Physical % complete roll up to the summary level task.
    BEFORE tasks are entered, set the "Default Task Earned Value method" to Physical % complete. File > Options, Advanced.  This will set both the summary and detail tasks to that method.
    Add tasks
    Add resources with costs.
    Assign resources to tasks.
    Baseline the file
    Take a look at the Tracking table and enter progress in the Physical % complete field for subtasks. The value should roll up.
    Sadly I don't know of anyway to force the change after the tasks have been added.  You can certainly add the Earned Value Method field to a task view to confirm all is set - but I have never been able to switch mid-flight and get it to work correctly.
    I did, however, just try an experiment.  I created a file that did not work correctly - Physical % complete was not rolling up.  I inserted it into a blank project that had the option set correctly without linking.  After a bit of tweaking
    (outdenting all tasks to be able to delete the "extra summary task", saving a baseline), it now appears to be working correctly.
    I hope this helps.

  • Problem with formula variable

    HI,
    I am facing problem with formula variable with replacement path. my requirement is system date - posting date.
    here i created 2 formula variable one is system date. second formula vaiable with replacement path is posting date. second formula vaiable not populating data. please help on that.
    regards,
    kris

    Hi,
    here is some idea.. here i have taken expample dates 1)notification creation date and 2) notification completion.
    1st:in the query designer at key figure coloumn create
    one local formula.in that local formula create formula
    variable with replacement path.in that take reference character
    notification completion.in the next tab take replace ment
    as key.in the last tab select "date".
    2nd: do the same thing for the notification creation date.
    3 rd : create 3 rd local formula and do the substraction
    for the first 2 local formulas.
    4th:create codition on the difference which u have find with
    on that condition u can create one user entry varibale.
    5th:while u defining the query put these 2 dates,i,e
    notification completion, notification creation date in the character block.
    If not system will ignore the formula variable which u created in
    above steps.
    Hope this wil help u.
    regards....KP

  • Formula Not available error after BW35 Upgrade

    Hi Guys,
        We upgraded to BW35 from BW30B. If I open a query in QBW getting an error message,
    Abort, The (Sub) Formula 3kfd3fe54er343df3fdf is not available.
         This query was working just fine before the upgrade, I checked all the formulas used in the query, everything is OK. I get the same error from TCODE: RSRT, I can't even debug. Any inputs ?
    Thanks.

    Hi Thiagu,
    You might want to check with OSS Note:824356 to resolve this issue. Hope it helps.
    Bye
    Dinesh

  • Toplink 9.0.4.8 and JTS on OAS 10.1.2.0.0 and 10.1.2.0.2 not rolling back

    Re-Posting message with more information.
    Toplink 9.0.4.8 and JTS not rolling back transaction
    Hi
    Scenario:
    I have a session bean (EJB1) calling a session bean (EJB2).
    When an EJB1 is called, EJB1 persists data on to Table1 in database.
    And EJB1 makes multiple calls to EJB2 to create entries in three different tables. Trans-attribute is set as required on both EJBS.
    Problem:
    EJB1 gets a Runtime Exception while inserting the data into TABLE1 (ORA-12899: value too large for column), EJB1 transaction is rollback, but all other transactions related to EJB2 are getting committed. I assume that they should roll back too.
    Also, I did JAD on external transaction controller and listener and noticed that there is a transaction associated to each call. Meaning EJB1 had Transaction T1 and EJB2 had T2, T3, and T4 for the subsequent calls. When EJB1 is getting runtime exception in the method beforeCompletion(), the it calls rollbackGlobalTransaction() which is calling T1.setRollbackonly(). But not on on T2, T3, and T4 rollback
    Am I missing anything?
    Please help me
    Here are my configuration details:
    The datasource configuration:
    <data-source name="myTxDataSource"
    class="com.evermind.sql.OrionCMTDataSource"
    location="jdbc/myTxDataSourceCoreDS"
    xa-location="jdbc/xa/myTxDataSourceXADS"
    ejb-location="jdbc/myTxDataSourceDS"
    pooled-location="jdbc/myTxDataSourcePooledDS"
    connection-driver="oracle.jdbc.driver.OracleDriver"
    username="duser"
    password="d123"
    url="jdbc:oracle:thin:@localhost:1521:ORCL"
    inactivity-timeout="30"
    />
    Sessions.xml
    <login>
    <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
    <connection-url>jdbc:oracle:thin:@localhost:1521:orcl</connection-url>
    <datasource>jdbc/DimpleTxDataSourceCoreDS</datasource>
    <user-name>duser</user-name>
    <encryption-class-name>oracle.toplink.internal.security.JCEEncryptor</encryption-class-name>
    <encrypted-password>22F7AFE6F6B9672435537CE1189E123DD62D1A19DF561D1E</encrypted-password>
    <uses-native-sequencing>true</uses-native-sequencing>
    <uses-external-connection-pool>true</uses-external-connection-pool>
    <uses-external-transaction-controller>true</uses-external-transaction-controller>
    </login>
    <external-transaction-controller-class>oracle.toplink.jts.oracle9i.Oracle9iJTSExternalTransactionController</external-transaction-controller-class>
    Toplink Helper class that is used by both EJB's
    This one uses SessionBroker. here is how it is initialized:
    SessionManager manager = SessionManager.getManager();
    sessionBroker = (SessionBroker) manager.getSession(xmlLoader,
    sessionBrokerName, this.getClass().getClassLoader());
    Oracle9iJTSExternalTransactionController extController = new Oracle9iJTSExternalTransactionController();
    sessionBroker.setExternalTransactionController(extController);
    It has common following commong methods:
    public UnitOfWork getUnitOfWork() {
    UnitOfWork uow = sessionBroker.getActiveUnitOfWork();
    return uow;
    public Object create(Object o)
    UnitOfWork uow = getUnitOfWork();
    uow.registerNewObject(o);
    // added so that the assigned sequence number will be available before the commit happens
    uow.assignSequenceNumber(o);
    return o;
    }

    A couple of this appear different in your sessions.xml. To do what you want you need to configure TopLink to:
    1. Use an external XT controller - requires flag to be set and controller provided
    2. Use the OC4J data source - requires flag to be set and data source name provided
    I notice that your sessions.xml has both a data source name as well as a direct connection URL.
    Here is a sample that shows the proper settings for the external TX and data source usage:
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <!DOCTYPE toplink-configuration PUBLIC "-//Oracle Corp.//DTD TopLink Sessions 9.0.4//EN" "sessions_9_0_4.dtd">
    <toplink-configuration>
       <session>
          <name>default</name>
          <project-xml>META-INF/tlMap1.xml</project-xml>
          <session-type>
             <server-session/>
          </session-type>
          <login>
             <datasource>jdbc/DimpleTxDataSourceCoreDS</datasource>
             <platform-class>oracle.toplink.platform.database.oracle.Oracle10Platform</platform-class>
             <uses-external-connection-pool>true</uses-external-connection-pool>
             <uses-external-transaction-controller>true</uses-external-transaction-controller>
          </login>
          <external-transaction-controller-class>oracle.toplink.jts.oracle9i.Oracle9iJTSExternalTransactionController</external-transaction-controller-class>
          <enable-logging>true</enable-logging>
          <logging-options>
             <print-thread>false</print-thread>
             <print-date>false</print-date>
          </logging-options>
       </session>
    </toplink-configuration>Doug

Maybe you are looking for