UserTransaction doesn't rollback (JOTM)

I'm running tomcat 5.5 with SQL Server 2000. I'm working on adding transaction support through UserTransaction with JOTM.
I installed JOTM, a Transcation Manager, but it doesn't seem to work. When I try to rollback an update, it still commits it.
###My code (snippet):
Connection con = DAOUtil.getConnection();
        String sqlStmt = "INSERT INTO Building (Street, City, State, Zip, CLLI, " +
                       "SWC, ContactName, ContactPhone, CommonName) " +
                       "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
      PreparedStatement saveBuilding = null;
            Context ctx = new InitialContext();
            UserTransaction ut = (UserTransaction)ctx.lookup("java:comp/UserTransaction");
            ut.begin();
            saveBuilding = con.prepareStatement(sqlStmt, Statement.
                                       RETURN_GENERATED_KEYS);
            saveBuilding.setString(1, building.getStreet());
           saveBuilding.execute();
            ut.rollback();       //THIS DOESN'T WORK###Server.xml:
<Server>
<GlobalNamingResources>
   <Resource auth="Container" name="UserTransaction"
                       type="javax.transaction.UserTransaction"
                       jotm.timeout="60"
                       factory="org.objectweb.jotm.UserTransactionFactory" />
      <Resource name="jdbc/cafe"
                           type="javax.sql.DataSource"
                           driverClassName="net.sourceforge.jtds.jdbc.Driver"
                           password="XXX"
                           maxIdle="5"
                           maxWait="300"
                           validationQuery="Select Val From ValueItem"
                           username="ABC"
                           url="jdbc:jtds:sqlserver://SERVER_NAME:1433;
                           DatabaseName=ABCD;"
                           factory="org.objectweb.jndi.DataSourceFactory"
                           maxActive="10" />
</GlobalNamingResources>
</Server>###domain.xml:
<Context displayName="CaFE"
                      docBase="CaFE"
                      path="/CaFE"
                      reloadable="true"
                      workDir="C:\Tomcat-5.5\webapps\CaFE\work">
    <ResourceLink global="UserTransaction"
                               name="UserTransaction"
                              type="javax.transaction.UserTransaction"/>
   <ResourceLink global="jdbc/cafe"
                              name="jdbc/cafe"
                              type="javax.sql.DataSource"/>
</Context>I'm able to read/get the UserTransaction from the JNDI tree. But for some reason the transaction doesn't work.
Any ideas?
Thanks in advance.

SunForumsGuest wrote:
I thought that when you're using UserTransaction that it takes care of setting autoCommit to false. Thats what I read in many places.
Anyway, when I set autoCommit to false and then call commit on the UserTransaction, it doesn't commit.
Connection con = DAOUtil.getConnection();        String sqlStmt = <font color="red">"INSERT INTO Building (Street, City, State, Zip, CLLI, "</font> +                       <font color="red">"SWC, <a href="http://www.blackits.net/el/travel-and-tourism/an-starter-news-regarding-the-several-pigeon-forge.html" class="bodylinkwhite"><font face="tahoma,verdana,sans-serif" size="1" color="#000">ContactName</font></a>, ContactPhone, CommonName) "</font> +                       <font color="red">"VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"</font>;      PreparedStatement saveBuilding = <font color="navy"><b>null</b></font>;             Context ctx = <font color="navy"><b>new</b></font> InitialContext();             UserTransaction ut = (UserTransaction)ctx.lookup(<font color="red">"java:comp/UserTransaction"</font>);             ut.begin();
con.setAutoCommit(<font color="navy"><b>false</b></font>);             saveBuilding = con.prepareStatement(sqlStmt, Statement.                                        RETURN_GENERATED_KEYS);                     saveBuilding.setString(1, building.getStreet());            ...            saveBuilding.execute();             ut.commit();       <font color="darkgreen">//THIS DOESN'T WORK</font>
I got more deep understanding about this part, Thanks for your explanation! It's good for reference.

Similar Messages

  • Transaction doesn't rollback

    Hello guys,
    I 've a trouble and I'm not able to solve it..Ineed your help...
    I have a jsf application.
    I need to execute several insert query into a mysql db in a transaction, so operation must be accomplished only if all query are successfully executed.
    To solve this issue I thinked to store prepared statement into an arraylist and passing it to a method that execute queries...if at least one query gives exception transaction must be rollback.
    So in my code I've
    ArrayList list = new ArrayList(); //collects prepared statements
    PreparedStatement ps= conn.prepareStatement(....);
    list.add(ps);
    String result= Helper.executeTransaction(list);//I call static method to execute queries in transaction.Issue is that if a query fails during execution, exception is thrown but transaction is not rollback..so queries that has been successfully executed write into db...
    This is method to execute transaction...
    public static String executeTransaction(ArrayList ps) {
            Connection conn = null;
            String result = "success";
            String allgood = "false";
            try {
                conn = Singleton.getInstance().getInstance().getDataSource().getConnection();
            } catch (SQLException ex) {
                Logger.getLogger(Helper.class.getName()).log(Level.SEVERE, null, ex);
            List results = new ArrayList();
            try {
                conn.setAutoCommit(false);
            } catch (SQLException ex) {
                Logger.getLogger(Helper.class.getName()).log(Level.SEVERE, null, ex);
            for (int i = 0; i < ps.size(); i++) {
                try {
                    int nrows = ((java.sql.PreparedStatement) ps.get(i)).executeUpdate();
                    allgood = "true";
                    results.add(allgood);
                } catch (Exception z) {
                    z.printStackTrace();
                    allgood = "false";
                    results.add(allgood);
            for (int j = 0; j < results.size(); j++) {
                if ((results.get(j)).equals("false")) {
                    try {
                        conn.rollback();
                    } catch (SQLException ex) {
                        Logger.getLogger(Helper.class.getName()).log(Level.SEVERE, null, ex);
                result = "failure";
                return result;
            try {
                conn.commit();
            } catch (SQLException ex) {
                Logger.getLogger(Helper.class.getName()).log(Level.SEVERE, null, ex);
            return result;
        }Debugging code seems like system arrives to conn.rollback(), but it seems like after executing correctly query data are written in the db without waiting for other queries, to estabilish if commit or rollback.
    Where is the error?
    Please help me

    Hello guys,
    thanks for your replies...
    but issue isn't still clear to me...
    Please correct me if I'm wrong.
    Basing on what I understood from your answers I evaluated my code but I'm not able what I miss..
    I set
    conn.setAutoCommit(false);that mean that data are not entered into db before commit is run..
    I stored all prepared statement in a list (and I think it's ok)..I iterate on list executing prepared statement and I store a boolean for each query execution (why data are entered into db if I set conn.setAutoCommit(false)?
    Next I read list of boolean, if I find a "FALSE" I run
    conn.rollback();
    It seems correct to me...could you help me with my code?
    Or at least more explanation...
    Thanks

  • How to do rollback in a database control in ajpd

    Hello,
    I created a database control which has 3 methods that calls 3 respective stored procedures that inserts/updates tables. I have a jpd which uses the database control and calls each of the 3 methods. When it fails on the 3rd method, it doesn't rollback the inserts/updates done by the 2 methods. I'm using BEA's XA driver for SQL Server. Im new in this thing so please any help will be greatly appreciated.
    Thanks.
    Florence

    Dear Dinsh,
    Here are some links that will help you:
    http://download-uk.oracle.com/docs/cd/A97630_01/server.920/a96540/statements_510a.htm#2062405
    http://download-uk.oracle.com/docs/cd/A97630_01/server.920/a96540/toc.htm
    http://www.oracle.com/technology/products/oracle9i/index.html
    Regards,
    Francisco Munoz Alvarez

  • Rollback transaction

    Hi
    I posted in the wrong forum before and I repost it here.
    I have a method in session bean method to create 3 records in Table A through another session bean and 1 record in Table B through an entity bean. The methods are declared "Require", but it doesn't rollback when it fails and fall out from exception. I thought the container will take care of it for me, do I need to call setRollbackOnly through SessionContext? Thanks for any info.
    Kenny Lau

    .

  • Weblogic.management.security with transactions, Please HELP

    I am using weblogic.management.security.authentication API to programmatically insert/delete users and passwords into/from default security provider on Weblogic Server 8.1. I want to add transactional support to this these actions, I tried using UserTransaction API but without any luck. Does weblogi.managment.security.authenication has no transactional support (rollback-commit) or am I doing something wrong? I very much appreciate your help and looking forward to hearing from you!!!!
    It doesn't rollback, Here is the code:
    UserTransaction transaction = (UserTransaction)ctx.lookup("javax.transaction.UserTransaction");
    transaction.begin();
    UserEditorMBean userEditor = (UserEditorMBean)providers;
    userEditor.createUser(userName, password, description);
    transaction.rollback();

    I do not think you can have transactions over MBean calls as they communicate with relevant object over t3 and this objects are possibly in different class loader.
    -TJ

  • Trying to find the last committed SCN

    My developers have told me that schema refreshes (export/import) done via DataPump (without using either of the FLASHBACK_* parameters) have caused some sequences to be out of sync with the data in their associated tables. My research into the DataPump documentation directs me to the FLASHBACK_SCN parameter, but the only method I find in documentation to find an SCN is to use DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER to get the current SCN. However, to ensure we resolve the aforementioned issue of out-of-sync objects, I would prefer to use the last committed SCN. Unfortunately, I can find no documentation to suggest how I might derive that value. Can anyone here point me in the right direction for this, or perhaps even provide a solution?
    Thank you in advance for your attention, consideration, and enlightened feedback!
    Mark C (a.k.a. user621573)

    Sequences are database objects but are not really protected by transactions: if you rollback your transaction that doesn't rollbacks sequence numbers. I'm not sure that using some SCN parameters is the solution for Data Pump.
    There are known limitations when using old export/import.
    I cannot find documentation about Data Pump limitations when dealing with sequences.

  • Handling Transaction in Stateful Session Bean

    I wrote a public method like public void doTransaction()
    it will call 2 private method, like: methodA and methodB
    Both private methods have db accesss statement and will update the db. They got different db connection and will close the connection when method call finished.
    How to include them to one transaction? I want to be able to rollback the job of the first method when I catch exception thrown by the second method.
    I tried simply define transaction type of the public method to be Container and Required. But it doesn't work, the first method doesn't rollback. Of course I can let the 2 private methods share a same connection and commit after finishing calling them. But how if they are in different DB?

    Ok... Here it goes...
    You can do it in the following manner.
    As you said you have got 2 private methods doing d/b updates and these are called from a public method.
    Stateful session beans since associated with a client across methods, you can take advantage of it. Write your own user defined transaction.
    Begin the transaction scope in your public before calling the 1st private method. Call the 2 methods in a try block. Once you are done with these methods, you can commit and end the transaction. If you get any exception, rollback the transaction in the catch block. Otherwise if u get any exception in the 2nd method, you can rollback the transaction there itself.
    Stateful session beans lets u allow to spawn the bean managed transaction across methods. you can begin your transaction in one method and end it in a differnt method or you can end the transaction after calling the methods.
    The problem you are dealing with can typically very well handled by writing bean managed transaction.
    Hope this helps. If you need anymore clarity on my solution, please let me know.
    -amit

  • Advanced queue DBMS_AQ.ENQUEUE procedure

    Hi all.
    I want to use the oracle DBMS_AQ.ENQUEUE procedure to enqueue a message to a specified queue. However I want to only do it in an after statement trigger (for insert update or delete).
    My concern is if the DML operation is rolled back for whatever reason, the message might remain (ie: I only want the message to remain if the record is commited).
    Can anyone tell me if the DBMS_AQ.ENQUEUE would be rolled back and reversed if the DML operation is rolled back? Or if Oracle decides to re-do the operation for write concurrency, etc.. ?
    Any ideas on how to make it work if not?
    Regards,
    Greg.

    Well it appears that I was mistaken. Wouldn't be the first time. But hey - it got you to read the docs. And that's a good thing!
    You should be okay in an AFTER STATEMENT trigger since that trigger will only fire once and there will no side effects.
    But as Tom Kyte has said
    >
    Now, before we discuss this - you must be made aware that not only do we NOT promise to fire the trigger once - we actually promise to fire it more than once in certain cases:
    You are doing something non-transactional in a trigger - we are doing a statement level rollback silently on you (we do those, we have always done those, we will always do those). When we rollback - your code doesn't "rollback".
    in general before, before for each row, after for each row triggers can fire twice in a multi-row update"
    {quote}
    See this in his Followup April 28, 2010 - 7am Central time zone: at
    http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:2599480800346313755#2600827300346401245

  • Simulated distributed transactions in WLS5.1

    Hello
              I can´t use WLS 6.0 I must use WLS 5.1. So I can´t to use distributed
              transactions.
              So that, my problem is this situation:
              Client code: in WL Personalization Server
              method
              UserTransaction.begin
              class1.create
              class2.updateDatabaseOracle1
              this.comit();
              Exception
              this.rollback();
              method commit
              class1.commit();
              class2.commit();
              UserTransaction.commit
              methdo rollback
              class1.rollback;
              class2.rollback;
              UserTransaction.rollback
              class1 in WL Personalization Server
              create
              EJBCreate
              commit
              EJB.putData
              rollback
              EJB.remove
              EJB in WL5.1
              I get this Error:
              "Connection has already been created in this tx context for pool
              named pool1. Illegal attempt to create connection from another
              pool: pool2"
              Can I modify the type of transaction in the EJB that solve this error??
              if the request is false How can I simulated it?
              I can lose the transanction because my class (class1) implements a
              rollback and commit methods that save it.
              Please Help
              Miguel Lopez Montero
              Soluziona Servicios Internet,Spain
              

    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by JDBC_TX ():
    In the readme file of Oracle JDBC drivers 8.1.6.0.1 (http://technet.oracle.com/software/tech/java/sqlj_jdbc/files/Readme_01.txt)
    it mentioned that it supports "distributed transactions".
    As I understand, JDBC transaction is connection based and uses Oracle internal transaction manager. In order to do "distributed transactions", I must have at least two connections open at the same time each to its own database instance. How does the two connections coordinate the transactions? I thought in order to support "distributed transactions", one has to build a higher layer to encapsulate the two connections and therefore coordinate the distributed transactions. Any examples will be welcome.<HR></BLOCKQUOTE>
    The two branches of the transaction are coordinated using 2-phase commit.
    For samples look under
    $ORACLE_HOME/jdbc/demo/samples/oci8/jdbc20-samples/
    null

  • Connection has already been created in this tx context for pool

    Hello
              I can´t use WLS 6.0 I must use WLS 5.1. So I can´t to use distributed
              transactions.
              So that, Can I to simulate this situation???
              Client code:
              method
              UserTransaction.begin
              class1.create
              class2.updateDatabaseOracle1
              this.comit();
              Exception
              this.rollback();
              method commit
              class1.commit();
              class2.commit();
              UserTransaction.commit
              methdo rollback
              class1.rollback;
              class2.rollback;
              UserTransaction.rollback
              class1
              create
              EJBCreate
              commit
              EJB.putData
              rollback
              EJB.remove
              I get this Error:
              "Connection has already been created in this tx context for pool
              named pool1. Illegal attempt to create connection from another
              pool: pool2"
              Please Help How can I do it?
              Miguel Lopez Montero
              Soluziona Servicios Internet,Spain
              

    Niambh,
    you can have only one non-xa datasource participating in a transaction. Emulating or faking XA means only that WLS does first all the operations for the XA resources, then the one non xa, and based on the result of this either commit or rollback.
    So obviously only one resource can "emulate 2PC).
    But there can be as many non XA db connections as you want, as long as they are not participating in the transaction.
    Check your datasources.
    I think the reason to use non-XA driver and "emulate 2PC" for Oracle is mainly the poor performance of the XA driver prior to 10g.
    Check also, if your Oracle database is XA enabled at all. I have seen some issues with customers, where the necessary PL/SQL packages have not been installed and therefore the thin XA driver did not work.
    -Kai

  • TS4268 I updated my iPhone 4s to version 6.1 and can't make or receive any more calls. What can I do?

    Hi,
    As stated, I updated my iPhone 4s to version 6.1 and can't make any calls now.
    Restoring it to a prior state doesn't rollback the iOS version, so I'm stuck with a brick now.
    Does anyone have a solution to this?
    Thank you.

    Well, frankly you've provided no useful details.
    If you want help, we need details.
    Any errors on the device?
    Is it activated?
    Is it saying "No Service"?
    Unsupported SIM?
    Have you tried removing and reinstalling the SIM?
    Replacing the SIM?

  • For what it's worth . . . Safari 3 reinstall

    I, too, unthinkingly did the Safari 4 upgrade on my MBP. I was immediately unimpressed with the new features, turned off what I could and pushed what I couldn't to the background as much as possible, and did NOT upgrade on the other machines. I work about 50-50 Safari & Firefox, because they both have advantages for different things I do, so I figured, no big deal.
    Then a friend called saying the new upgrade crashes on launch. Somethings up. They had no other browser, so I downloaded Firefox and used a flash drive to get the .dmg onto their machine. Then yesterday, I had to stop what I was doing, so I closed the lid like I usually do, and when I came back about a half-hour later, the fan was roaring and the computer was locked up. I had to power down & restart. A little experimenting and I determined if Safari was open when I closed the lid it would hang everything.
    So I came to these forums (on Firefox) to see what was going on and read a number of threads about archive & install and messing in terminal and so on. So I decided to try what I did some time ago when I installed the +Safari 3 beta+, which was unreliable, and I wanted to get rid of it the second day.
    I trashed it and took the earlier Safari version that was in the Applications folder in the clone on my external hard drive and dropped it in the Applications folder on the computer. I had no problems for the months that went by until I finally upgraded to the final version (some time after the release).
    Last night, I trashed Safari 4 and dropped in 3.2.1 from the clone and everything is still working fine.
    It may not work for you, or you may not have a cloned version available, but sometimes simple solutions work fine.
    Each of my computers has a bootable clone partition on an individual external hard drive, re-cloned on a regular schedule. I've never had a catastrophic failure where I've needed to boot from it, but I have down-graded applications a number of times. The Mini (which is used as a server) has developed some issues since going to 10.5.7 a couple of weeks ago, so I'm probably going to throw the cloned 10.5.6 back on, because it was nice & stable. I don't use TimeMachine and cloning is cheap insurance for a number of reasons.

    Hi,
    For most people, that's probably 'good enough' as most of the gripes seem to be about the GUI more than anything, but note that you haven't truly reverted things to how they were with Safari 3:
    Last night, I trashed Safari 4 and dropped in 3.2.1 from the clone and everything is still working fine.
    That doesn't rollback the system frameworks that were installed with Safari 4. For most users, it's probably not a problem. For web developers, the pages they work with won't be truly what Safari 3 would show. Just something to bear in mind.

  • RPC Fault faultString

    Hi ..
    I createad a simple test application with LCDS, and when I
    run the application with Tomcat 6 as target webserver from Eclipse,
    I am getting the following exception.
    I copied JTOM libraries into Tomcat/lib folder and defined
    the below line in application context.xml under META-INF folder
    <Transaction
    factory="org.objectweb.jotm.UserTransactionFactory" timeout="60"
    />
    I also defined the default channel on destination-config.xml
    with <channel ref="my-rtmp"/>
    [RPC Fault faultString="There was an unhandled failure on the
    server. javax/transaction/SystemException"
    faultCode="Server.Processing" faultDetail="null"]
    at mx.data::ConcreteDataService/
    http://www.adobe.com/2006/flex/mx/internal::dispatchFaultEvent()
    at DataListRequestResponder/fault()
    at mx.rpc::AsyncRequest/fault()
    at NetConnectionMessageResponder/statusHandler()
    at mx.messaging::MessageResponder/status()
    Please let me show some light where I am missing,
    Thanks
    V

    Hi
    I'm working withHi
    I get the same error and I don't know how fix it.
    I'm working with Tomcat 5.5.17 and LCDS using the following
    configuration:
    - JOTM libraries in myApp\WEB-INF\lib;
    - carol.properties file in myApp\WEB-INF\classes with the
    following properties:
    # JNDI (Protocol Invocation)
    carol.protocols=jrmp
    # Local RMI Invocation
    carol.jvm.rmi.local.call=true
    # do not use CAROL JNDI wrapper
    carol.start.jndi=false
    # do not start a name server
    carol.start.ns=false
    # Naming Factory
    carol.jndi.java.naming.factory.url.pkgs=org.apache.naming
    - context.xml file in myApp\META-INF like this:
    <Context reloadable="true" crossContext="true">
    <Resource name="jdbc/myDB" auth="Container"
    type="javax.sql.DataSource"
    factory="org.objectweb.jndi.DataSourceFactory"
    driverClassName="com.mysql.jdbc.Driver"
    username="root" password="openview"
    url="jdbc:mysql://localhost:3306/prova"/>
    <Transaction name="UserTransaction" auth="Container"
    type="javax.transaction.UserTransaction"
    factory="org.objectweb.jotm.UserTransactionFactory"
    jotm.timeout="60"/>
    </Context>
    - and the myApp\WEB-INF\flex\data_management_config.xml as
    follow:
    <?xml version="1.0" encoding="UTF-8"?>
    <service id="data-service"
    class="flex.data.DataService">
    <default-channels>
    <channel ref="my-rtmp"/>
    </default-channels>
    <destination id="dm_anagrafica">
    <adapter ref="java-dao"/>
    <properties>
    <source>openview.sn.AnagraficaAssembler</source>
    <scope>application</scope>
    <metadata>
    <identity property="codid"/>
    </metadata>
    <network>
    <session-timeout>30</session-timeout>
    <paging enabled="true" pageSize="50"/>
    <throttle-inbound policy="ERROR" max-frequency="500"/>
    <throttle-outbound policy="REPLACE"
    max-frequency="500"/>
    </network>
    </properties>
    </destination>
    <adapters>
    <adapter-definition id="actionscript"
    class="flex.data.adapters.ASObjectAdapter" default="true"/>
    <adapter-definition id="java-dao"
    class="flex.data.adapters.JavaAdapter"/>
    </adapters>
    </service>
    Please try to help me.
    Thanks

  • Please help! connection.rollback() doesn't work for me.

    I have two updates to the database. If either one fails, all the changes should be rolled back.
    I set the auto commit to false before the updates started and invoked rollback() if any exception was caught.
    During the execution of the program, an exception was caught. And one table got updated and the other didn't.
    I can see "TRYING TO ROLLBACK~!!!! ROLLBACK!!!" and "ROLLBACK FINISHED!!!" printed out. But the change made to
    one table did not get rolled back.
    And I tried to call rollback() right after the first update was made. But it didn't rollback the changes made
    to the database.
    Why doesn't the rollback() work?
    Development environment:
    Database:     MySQL Server 4.1
    jdbc driver:      mysql-connector-java-3.1.8
    JDK:          jdk1.5.0_04
              Connection connection = dbConn.getDBConnection();
              String insertDummy1= "insert into dummy1 values(?)";
              String insertDummy2 = "insert into dummy 2 values(?)";
              PreparedStatement psCA = null;
              PreparedStatement psCD = null;
              try {               
                   connection.setAutoCommit( false );
                   psCA = connection.prepareStatement( insertClientAccount );
                   psCA.setString(1, cName);               
                   psCA.executeUpdate();
                   psCA.close();                         
                   // connection.rollback();
                   psCD = connection.prepareStatement( insertClientDetail );
                   psCD.setString(1, cName);               
                   psCD.executeUpdate();               
                   psCD.close();
                   connection.commit();
              } catch(Exception e){
                   if( connection != null ) {
                        try {
                             System.out.println("TRYING TO ROLLBACK~!!!! ROLLBACK!!!");
                             connection.rollback();
                             System.out.println("ROLLBACK FINISHED!!!");
                        } catch(Exception ex) {
                             System.out.println("Exception!! try to roll back >>> " + ex.getMessage() );
                             ex.printStackTrace();
                   processResult = "Failed to complete the process. " + e.getMessage();
                   System.out.println("Exception!! >>> " + e.getMessage() );
                   e.printStackTrace();
              } finally {                                             
                   psCA = null;
                   psCD = null;
                   try{
                        connection.close();
                   } catch(Exception e){
                        System.out.println("Exception!! >>> " + e.getMessage() );
                        e.printStackTrace();
                   return processResult;
              } // try

    In MySQL, there are several different storeage engines/table types. Some of these table tables support transactions (and therefore commit() and rollback() ) and some do not. I believe that if you use a non-transactional table type, it's effectively the same as having autocommit=true (and commit() and rollback() are then silently ignored).
    See:
    http://www.developer.com/db/article.php/2235521
    http://dev.mysql.com/doc/mysql/en/storage-engines.html
    I have used the InnoDB storeage engine and have had no issues with transactionality.

  • Rollback doesn't work in custom BAPI

    Hi all,
    i have a custom bapi that modify a custom dictionary table; modify goes well, but after that, if i get any problems and i would make rollback, it doesn't work and code in table remains modified !!!!
    Custom bapi is called as follows:
                do.
                  call function 'ZCA_BPXIFDELTA'
                    starting new task gs_file-partnerexternal
                    destination in group p_rfcgr
                    performing return_rfc on end of task
                    exporting
                      data               = gt_data
                      category           = gs_file-partn_cat
                      rec_file           = gs_file_edwh
                      flusso             = flusso
                      g_text             = g_text
                      g_open_log         = g_open_log
                      p_log_l            = p_log_l
                      file_seq           = file_seq
                    exceptions
                      resource_failure      = 4
                      communication_failure = 8
                      system_failure        = 16.
                  case sy-subrc.
                    when 0 .
                      exit .
                    when 4 .    
                    wait until ireturnedtask > istartedtask .
                    when others.
                      exit.
                  endcase.
                enddo.
    may U help me ?
    Please, it's urgent !!!!!
    Kind regards,
    Francesco

    Hi Maksim,
    Based on your description, my understanding is that you want to use custom styles in multiple lines of text field.
    I recommend to check if the column is allowed to use rich text in the custom list.
    Go to List settings > click the column under Columns > check if the Enhanced rich text (Rich text with pictures, tables, and hyperlinks) is selected.
    By the way, you can refer the link below to add custom styles to the ribbon in SharePoint:
    http://rules.ssw.com.au/SoftwareDevelopment/RulesToBetterSharePoint/Pages/CustomStylesForRichHtmlEditor.aspx
    Best regards.
    Thanks
    Victoria Xia
    TechNet Community Support

Maybe you are looking for

  • Can't Find Final Cut Pro with my admin user!

    It was there, but I changed the name from the person I bought the macbook15 from and now all the settings and apps are set default. Is there a way my main account (set to admin) can find Final Cut Pro (and maybe others) to appear on hard drive withou

  • INSTALL SOLARIS 8 ON COMPAQ

    I am trying to load Solaris 8 on a Compaq Deskpro 700mhz, 9gb drive. I am getting the following error "Unable to mount a Solaris root file system from the device". Everything is SCSI on my machine, but how do I mount a file system? Thanks!

  • How do I get my adobe to work?

    My computer says it's already installed but, I can't download games and/or ads that say I need it.

  • Problem with CAF Core Exercise

    Hello All, I am performing the CAF exercise I doing it as per the guide How-to-Guide CAF Core however when I am trying to create a Web Service from the CAF Applications I am getting the following error: Result => deployment aborted : file:/C:/DOCUME~

  • Is there somebody within Oracle that feels resposible for OCI???????

    I have made several attemps to get an answer to a simple question. Q:"What are (license) requirements for commercially deploying own written C++ applications that include the OCI library?" Andri Koot