TaskFlow rollback all VOs

Hi,
I have a taskflow which is launched as a popup using lightweight dialog framework. I am trying to implement rollback when clicking the cancel button according to this [example:|http://otn.oracle.com/products/jdev/tips/muench/restorecurrencyonrollback/RestoreCurrentRowAfterRollback.zip] :
I have the beforeRollback() and afterRollback() methods in CustomViewObjectImpl.java and my xxxVO extends CustomViewObject. My rollback is implemented in the taskflow as "task-flow-return" with End Transaction="rollback".
The problem is that looks like taskflow rollback internally calls rollback on all VOs in AM. So the workaround I have is to put the beforeRollback() and afterRollback() in xxxVOImpl.java instead of CustomViewObjectImpl.java. Then only the relevant VOs are rolled back. Any ideas how can it can be done more generalized since all VOs need that and it does not make sense to put the custom codes in beforeRollback() and afterRollback() in every VOs.
Thanks.
-Mina

See section 36.1 of the Fusion Dev Guide "36.1 Globally Extending ADF Business Components Functionality":
http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/bcadvgen.htm#BABCGFIE
As such the gloval VOImpl class can override the before/afterRollback functionality, and all your VOs can derive that additional functionality from your extensions.
CM.

Similar Messages

  • Cmp 2.0 how to rollback all related transactions

    Hi,
    As to rollback in cmp 2.0, I'm wondering:
    1. how to make a rollback (is call rollbackOnly the only way)?
    2. how to define within same transactions when an exception caught, rollback all other trans?
    3. modify in descriptor or in code, how? what's diff
    Thanks
    John

    Hi,
    As to rollback in cmp 2.0, I'm wondering:
    1. how to make a rollback (is call rollbackOnly the
    only way)?Yes. Entity beans can only have Container-managed transactions,
    so the only way to tell the container to mark the tx as rollback only
    is to call EntityContext.setRollbackOnly().
    >
    2. how to define within same transactions when an
    exception caught, rollback all other trans?There is no such behavior in EJB or J2EE. There is
    no special relationship/association like this
    between J2EE transactions. E.g., there are no
    nested transactions in J2EE. All transactions are
    independent and peers of one another.
    >
    3. modify in descriptor or in code, how? what's diff
    Thanks
    John

  • Rollback all steps in a mapping if an error occurs

    We have a mapping with some different steps (pre-mapping procedure, some operators and post mapping procedure) and we want to commit or to rollback the entire mapping transaction. So we have that all is OK or all is not refreshed in this mapping. Which parameters we have to configure (Maximum number of errors: 1, Commit frequency: 0, ...)?
    Thanks.
    Alessandro

    You should probably make sure that the pre-mapping does not have commits (that should be easy). Also don't do DDL in there!
    Then set the commit frequency to large, or even better, make sure the mapping runs in set based mode. That means any error rolls back the stuff (be sure to set this to SET BASED ONLY, otherwise we will do row-by-row and commit stuff).
    Make sure that the post mapping does NEVER run (e.g. configure this to only run on success of the main mapping body).
    That should do the trick.
    Jean-Pierre

  • How to rollback all rows after inserted by OracleBulkCopy()

    Hello,
    I have tried to roll back external transaction and also tried to abort OracleBulkCopy() but it still inserted all rows. Anyone knows how to do this?
    Case 1: Didn't work. All row inserted anyway.
    OracleConnection connection = new OracleConnection(ConnectionString);
    connection.Open();
    OracleTransaction trans = connection.BeginTransaction();
    OracleBulkCopy bulkCopy = new OracleBulkCoopy(connection, OracleBulkCopyOptions.Default);
    bulkCopy.DestinationTableName = "SomeTable";
    bulkCopy.WriteToServer(SomeDataTable);
    trans.Rollback();
    Case 2: Use OracleRowsCopiedEventHandler delegate and in this callback set Oracle.RowsCopiedEventsArgs.Abort to true and then rollback on the transaction in catch block. Didn't work either.
    Thank you.
    Hoang

    OK, I have gotten the answer from Oracle. Transaction is not supported with OracleBulkCopy() currently.

  • After Vista rollback all files locked by TrueSuite

    A while back I rolled back in Windows Vista to a previous date and as a result all of my files locked by TrueSuite have become corrupt and I cannot open them, move them, delete, etc.
    I have tried to delete from command prompt but that didn't work either.
    Is there any way I can delete it?
    Thanks for any help.

    Hi
    Did you try to delete these files after the TrueSuite has been uninstalled?
    I think its worth a try.
    Remove the TrueSuite from the system, reboot the notebook, clean the OS and the registry using the CCleaner and reboot the notebook again.
    Then check if the locked files could be deleted again.
    Greetings

  • Problem using rollback in master-detail relationship

    Hello,
    I have an odd error using master-detail relationship, for example: countries and states. This is the problem:
    I have 3 pages:
    Page A: Read-only table of countries
    Page B: Read-only table of states
    Page C: State form
    and the flow:
    1. In the page A, select a country and click button to go to the states page
    2. In the page B, select a state and click detail button to go to the state form page
    3. In the page C, edit something and click rollback button. The rollback button's action goes to the page B
    4. In the page B, the states table is empty but I expected the table contains the same states those were in the step 2
    I know it's a bit difficult to understand but I hope someone can help me.
    Thanks, edwin.
    Edited by: user13259215 on Jun 19, 2012 10:44 PM

    On invoking Rollback the whole of AM is refreshed and hence all VOs are refreshed. The first row in all VOs is selected by default. You will need to retain the VO row selections on your own. Check this thread for ideas.
    Stay on previous or next row on rollback.

  • Rollback without loosing currency

    Hello,
    We moticed that when rolling back a transaction on a JSP
    (via the Rollback tag), curency is lost. Is there a way
    to do a rollback w/o loosing the curency?
    What about the refresh methods? Are those similar to
    a rollback?
    Chris

    Chris:
    refresh() will restore data from database on individual row basis. rollback() rolls back the entire transaction.
    refresh() will keep currency. rollback() loses currency for all VOs.
    If refresh() is good enough for your purpose, I'd recommend that. If you need to go with rollback(), you can get the currency info and restore it after rollback. But, this can be expensive. This is because after rollback the view row collections are all emptied out.
    getCurrentRowIndex() can be used to get the current row index. Then, setRangeStart() and setCurrentRowAtRangeIndex combination can be used to set the currency. However, this index may be skewed by new rows. Since rollback will remove these new rows from the collection, the current-row-index may be indeed incorrect after rollback().
    Thanks.
    Sung

  • FileAdapter to JaxRpc web service, all or nothing

    I've managed to use the File Adapter to read batch files (both positional and delimited) and for each record invoke a synchronous Web Service exposed by my J2EE app to update that application with my data. Now I would like to do the same thing, but have the entire system reject/rollback all updates from an inbound file if ANY of the records encounter errors (either during the reading/transformation or during the WS call).
    Is this possible, and if so, how would I go about doing it? FWIW the application is using OC4J,TopLink,Struts,Spring,Axis. The web services in question have been created specifically for this purpose, so can be modified if required.
    Thanks,
    Richard

    I discussed with Dev Group on this feature. Here is the response below.
    Yes, "all or nothing" was the old default behavior. We introduced a notion of "uniqueDelimiter" in order to have "reject only bad records" functionality. Richard should just be able to remove the "uniqueDelimiter" in his nxsd file to revert to "all or nothing" functionality. Otherwise please ask him for his nxsd file and we can take a look.
    if you need further details, please send your requirement to [email protected]

  • Rollback in Master-Detail form - SOLVED

    Hellou.
    I have 2 blocks Mater-Detail relation. I execute query and make some changes in Items from block 1 and some changes in items in block 2.There are althoug some POSTs. I have Button "Change Back" and i need to use this button to rollback all changes i have made (All post will be rollbacked). But it always rollback me only DETAIL block items, but MASTER block items didn't rollback.
    I use Forms_ddl('rollback')
    Althoug I change Session_mode to OFF and perform FULL rollback. But always the same. Master block NO ROLLBACK.
    Some ideas???
    Message was edited by:
    zoffob

    I want rollback and continue in query.I guess I don't understand what you are trying to do. Do you simply want to be at the same record when a rollback is issued? If so, this can still be accomplished using CLEAR_FORM() built-in. You simply need to capture the pertinent data so you can return to this record after the Form has been re-queried. For example, the user in on record number 75 when they decide they need to rollback the changes. In your Button trigger, you will need to capture that a rollback was performed and store the current record in a parameter or global variable. When the form is re-queried, check to see if a rollback was done and if so use the GO_BLOCK(), GO_ITEM(), and GO_RECORD() built-ins to return the user to the record they were on when they clicked on the Rollback button.
    For Example:
    When-Button-Pressed trigger
    BEGIN
       /**I prefer to use Forms Parameters to capture Forms unique global variables because
          these values only apply to the current form and shouldn't be visible to other Forms
          in the same session. **/
       :parameter.rollback_issued := 'Y';
       :parameter.current_block := :system.current_block;
       :parameter.current_item := :system.current_item;
       :parameter.current_record := :system.current_record;
       /**If you modified the Data Block's Default Where clause you will want to capture this
           information also. **/
       :parameter.curr_blk_def_where := get_block_property(:system.current_block,DEFAULT_WHERE);
       CLEAR_FORM(NO_COMMIT,FULL_ROLLBACK);
    END;Now, in your When-New-Form-Instance or When-New-Block-Instance trigger do something like:
    BEGIN
       IF (:parameter.rollback_issued = 'Y') THEN
          :parameter.rollback_issued := 'N';
          set_block_property(:parameter.current_block,DEFAULT_WHERE,:parameter.curr_blk_def_where);
          GO_BLOCK(:parameter.current_block);
          EXECUTE_QUERY;
          GO_ITEM(:parameter.current_item);
          GO_RECORD(:parameter.current_record);
       ELSE
          /** Do what you would normally do here.  **/
       END IF;
    END;If this is not what you are trying to achieve, please post what you are trying to achieve and why the CLEAR_FORM() method wont work and we'll see if we can help you find a way to achieve what you are trying to do.
    Hope this helps.
    Craig...

  • How to rollback the oracle silent installation

    Hello Guys!
    i have one simple question related to the Oracle silent installation.
    I implemented embedded installation of Oracle in silent mode for my product.
    But i want to implement the rollback feature, i mean it should be possible to interrupt silent installation of Oracle s\w and it should be implemented in correct way. All installed files services should be removed, cleared all registry keys, cleared the inventory information etc.
    So if someone knows anything how to perform this functionality it will be great help for me. I see only two ways:
    1. To write something into the input stream of the process, like "stop", "cancel" ...
    Maybe it is funny idea
    2. The second way to perform termination of process and clear all information in scripts, but this is waste of time and may cause some addional errors at execution.
    3. So if you can help me thanks in advance
    Alex

    Hello Nicolas!
    yes you are very close to the theme. I used this codes but it is not what i am looking for now. I'll try to explain:
    ---------------------------------------- xx% ---------------------------------------
    | Oracle Installer is strated | ---------------> | Oracle istallation is done |
    ---------------------------------------- | ---------------------------------------
    | |
    | |
    | to interrupt installation
    | |
    |______________|
    go to the same state as before installation
    Thus do you know the best way how to implement this process:
    1. To interrupt silent installation of Oracle
    2. Rollback all changes made by interrupted setup program(some files are installed etc, but i don't need them since i had interrupted the installation process)
    So thanks for your answer
    Alex

  • Commit and rollback on session level

    Hi All,
    I am calling one stored procedure and I am doing some dml operation in that sp. there after I calling another sp which contain some ddl operations. if process may be fail in somewhere I wanted to rollback all dml transactions.
    So I wanted to commit and rollback on session level. Is such kind of concept available in oracle.
    Prashant.

    Prashant,
    Not sure what you are talking about.
    Commit and rollback is always on session level!!!!
    Also all DDL statements are automatically committed, and rollback in case of errors is always statement level rollback.
    So let's assume
    begin
    insert into foo...;
    update foo...;
    execute immediate 'alter table foo add (last_update date)';
    end;
    exit
    and the alter table fails:
    1 alter table is rolled back
    2 insert and updates are not rolled back.
    If the alter table succeeds
    all statements are committed and you can't roll them back anymore.
    This is why issuing DDL in stored procedures has unwanted side effects and should be conisdered pure evil.
    Sybrand Bakker
    Senior Oracle DBA
    Experts: those who did read the documentation.

  • How to do "DDL rollback"

    I have script, that contains several DDL-statements. For example script removes FK-constraint from a column, then it renames the column, then it puts new data to the column, then it puts new FK-constraint to the column, also some other ALTER-statements are done, and with several tables.
    I want to test my such script. I want to test so that if something in my long script throws error, then i can rollback all made ddl changes and fox the script and rerun the script again. How can i do this?
    It could be something like this:
    begin DDL tran;
       alter 1
       alter 2
       alter N
    when others then
       rollback all ddl
    end DDL tran;

    You cannot ROLLBACK a DDL. Because Oracle issue COMMIT before and after execution of the DDL statement.
    But the best way to write these DDL Script is to include the command to drop the newly created object in the script itself.
    I would say like this.
    drop table t
    create table t (no integer)
    /

  • 3 different Business Service Layers - 1 Taskflow for 3 Applications

    Hello,
    I'm using JDEV 11.1.2.3 and have the following use case:
    I got 3 different Business Service Layers. All based on 3 different ADF BC projects with 3 different underlying DB schemas.
    On top i got 3 viewcontroller-projects.
    Now I'd like to put together some controller- and view-elements inside 1 taskflow for all 3 applications.
    Is this possible and how? How can a single taskflow work on top of 3 different service layer? Is the ADF model layer capable of solving this use case?
    Thanks a lot for all incoming answers!
    Greetings,
    Marc

    Hi
    if the data controls are different (different names and packages) then you should be able to use them from a single task flow. However, be aware that this means 3 database connections per user, which is quite expensive
    Frank

  • Oracle 9iAS is rolling back all my transactions...any idea why?

    Hi Guys,
    I am involved in developing a medium sized J2EE Application Running on Oracle9iAS
    Develeopment Version obtained from OTN.(version 1.0.2.2a)
    The backend DB is Oracle8i RDBMS.
    It has Browser based web client.
    It is presently having 2- stateless session beans, with one bean acting as
    Session Facade(as per J2EE Blueprints 1.2)
    All transactions are container managed.
    Following observations are made while load testing:
    1. 9iAS Server rollbacks all the transactions when number of simultaneous
    users exceeds 45.
    Following are the Queries:
    1. Is there any restriction on the number of Concurrent Transactions on the
    9iAS Server Development version.
    2. Is there any restriction on the pool size of the Resource Manager(Data
    base in this case) on the 9iAS Development Version.
    3. Exactly what is the difference between the Development and the Proper
    Production release.
    4. Are there any thing to do with my RAM?
    This is my data-sources.xml -
    <?xml version="1.0"?>
    <!DOCTYPE data-sources PUBLIC "Orion data-sources" " " target="_new">http://xmlns.oracle.com/ias/dtds/data-sources.dtd">
    <data-sources>
    <data-source
    class="com.evermind.sql.DriverManagerDataSource"
    name="demoPool"
    location="demoPool"
    xa-location="jdbc/demoPool"
    ejb-location="jdbc/demoPool"
    connection-driver="oracle.jdbc.driver.OracleDriver"
    max-connect-attempts="10"
    max-connections="1000"
    username="cue"
    password="cue"
    url="jdbc:oracle:thin:@163.122.23.104:1521:CALVYN"
    inactivity-timeout="30"
    </data-sources>
    Thanks in advance

    Do you have any more information related to this? I don't see any errors. Are you getting any other indications like a timeout or something else? Are there any database errors being recieved?
    1. Is there any restriction on the number of Concurrent Transactions on the 9iAS Server Development version. No.
    2. Is there any restriction on the pool size of the Resource Manager(Data base in this case) on the 9iAS Development Version. No.
    3. Exactly what is the difference between the Development and the Proper Production release. The core J2EE components are the same.
    4. Are there any thing to do with my RAM? Not likely.
    Thanks -- Jeff

  • Rollback when an error occurs

    Hi!
    I process all the xml files from a directory (insert the data into some relational tables). I use a for loop cursor to process each file at a time. When an error occurs, I have to rollback all the inserts and process the next file, but when I try to rollback the transaction, the following error is raised:
    ORA-01002: fetch out of sequence
    I know that this explanation is terrible without a line of code, but what I need to know is: is there any special treatment when I work with XML extraction? (I'm using XMLTABLE to extract the data). Because I have the same logic with text files + external tables and it works fine.
    Thanks.

    I've just found the answer at http://it.toolbox.com/wiki/index.php/Wondering_%27ORA-1002_Fetch_out_of_sequence%27
    (my cursor is not FOR UPDATE).
    And, sorry, the problem was not with XML.
    Bye...

Maybe you are looking for

  • No longer seeing 802.11n base station

    Hi, I have a two-week old 17" MBP. I just reinstalled OS X (10.4.8 w/ all the latest updates) and I can no longer see my Airport Extreme base station when it is in "n only" mode. I have reinstalled the "AirPortExtremeUpdate2007001.dmg" update a few t

  • Sql tuning set explain plan

    A hypothetical question came up between dbas in the office.   We regularly take tuning sets before making significant changes on the DB.  Populate from cache.  Great little way of checking to see if anything changed.  Someone asked if a table T1 was

  • How connect my iPad with Facebook, how connect my iPad with Facebook

    how can I make my Facebook say via iPad 2

  • EIS : parent child - member load gives duplicate across dimensions message

    <p>I am trying to do member load from EIS (version7.1) desktop using an ASO metaoutline. The outline does notget built properly for one of the dimensions.</p><p> </p><p>Message log shows one of the values is duplicate but there areno duplicate values

  • Multiple Developer Environement

    All, Has anyone set up a development environment using WLS 5.1 for multiple developers? We've got enough developer licenses to have everyone with a local copy of WLS but we need to be able to access a central repository for the webapp. What we want t