How to commit/rollback a transaction encompasing multiple EJBs

I have 2 Stateless Session Beans 'RulesManager' and 'BankManager'. Each EJB method in them gets a connection, perform the task, close the connection and return the results.
Now in RulesManager I have an EJB method processRules(). And in BankManager I have an EJB method updateTransactions().
I have a requirement that means I first have to call BankManager's updateTransactions() method; if successful then call RulesManager's processRules() method. IF its successfull as well then commit else rollback.
I dont know how to do this. Can anybody help me in this regard?
Thanks

Thanks kdgregory. This is how the things work out in our application.
I have a class BankDelegate which has each public method in BankManager SSB without the throws clause. Inside each method I get remote interface of BankManager SSB and then calls the corresponding EJB method.
Similarly I have a RulesDelegate class which has each public method in RulesManager SSB without the throws clause. Inside each method I get remote interface of RulesManager SSB and then calls the corresponding EJB method.
User press Update button on JSP which submits the form to another JSP. That JSP creates an instance of BankDelegate and call its updateTransactions() method.
Each EJB method is using container managed transactions. Inside each EJB method, if anything failed then i issued a rollback using this._sessionContext.setRollbackOnly();
I am using MS SQL Server 2000.
Thanks

Similar Messages

  • How can I rollback a transaction using EJBContext.rollbackOnly()?

    I failed to rollback a "required" method of a seesion bean using EJBContext.rollbackOnly() , but it rollbacked if I throw EJBException , how can I rollback a transaction by
    EJBContext.rollbackOnly() ? Thanks for your help.
    regards,
    dean

    The full and partial updates (whether it be Thunderbird, Firefox or SeaMonkey) from mozilla.org are only provided to the official builds and not builds built yourself or by a third-party.
    The openSUSE and other Linux distro provided builds have their own ways of package updates in their package manager.
    However if the poster is using Thunderbird for Linux from http://www.mozilla.org/en-US/thunderbird/ (64-bit Linux is on ftp) then those preferences would be valid and work.
    Nothing is being gutted as it has been this way since forever with third-party builds whether on Windows, Mac OSX and Linux.

  • How to COMMIT all open transactions?

    Hi,
    I have 10.2.0.4 on Windows.
    I need to run a critical month-end DataPump export of 1 schema. Easy enough. The system will be in-use by the end users when this runs. Not many maybe 10 users will be connected and it is not a very large db - 10 GB.
    My concern is that there may be a few uncommitted transactions hanging around that may not be written to the dump file. If I run COMMIT; that only commits for my session, right? How can I force all open transactions for all users to be committed just before I run the DP export?
    -OR- is DataPump so sophisticated that it will auto. commit them first?
    Thanks for your ideas. John

    user629010 wrote:
    Thanks, Justin.
    This is a 24 hour system so I don't want to interrupt the users unless there is no other option.
    Yes the RMAN backups are complete but I just need the export for purposes of refreshing my reporting database at each month-end. So I will use impdp to do the import. This is the way we have been doing it for awhile.
    We only recently became aware of some out-of-balance issues (money) and we thought uncommitted transactions may be partly responsible.
    I know the application code controls when the commit takes place but, in general, is this something you would be concerned with?
    Another question if I may: how can I see how many open transactions there are at a given time?
    Thanks, JohnIf you think about what constitutes a "transaction" (and financial balances are the textbook example of such) then you realize that it is absolutely the responsibility of the transaction to decide when to commit. An outside process (like an evil DBA) can safely force a rollback of an incomplete transaction (say, by killing the session), but to force a COMMIT? Suppose the session had only updated 2 of 4 tables that needed to be updated to consitute a complete transaction and guarantee your account balances? How do you suppose your "force" will know what the other two table updates are?
    Maybe you could explain in more detail how you intend to use this export, particularly in relation to where it was you found the out of balance issues..

  • How best to make a transaction span multiple HTTP requests?

    Hi, all. What is the best way to implement a transaction that spans multiple
    HTTP requests? Many J2EE applications must solve this problem, but I can't
    any guidelines for an implementation.
    Consider an application that implements a multi-step wizard. Each step
    gathers data from the user; step one gets the user's name, and step two gets
    his dog's name. When the user completes the wizard, the application saves
    the user & dog in two entity beans. Conceptually, the application treats
    this wizard like a single, long-running transaction. The transaction begins
    when the user launches the wizard. Submitting the JSP for step one adds the
    Boy bean to the transaction, and submitting step two adds the Dog bean.
    Finishing the wizard commits the transaction. Exiting the wizard or timing
    out causes the transaction to rollback.
    Although the wizard looks like a transaction, the entire sequence of user
    interactions can't be captured in a single JTA UserTransaction. A
    UserTransaction must be associated with a single thread, but each wizard
    step is handled asynchronously by its own execution thread. It's impossible
    to funnel the conversation through one thread that can demarcate the
    transaction. (This would be a pretty dumb solution for other reasons, but I
    don't want to get lost in details.)
    I think the standard way to solve this problem is to store conversation
    state in a stateful session bean (or the http session) and create / update
    both entity beans in a transactional EJB method after the wizard completes.
    Unfortunately, this solution prevents me from leveraging a lot of great
    transaction management features provided by the app server. For example, I
    can't use optimistic concurrency to make sure that the dog object hasn't
    changed in the database between the start and end of the wizard. Also, I'm
    forced to keep track of changes to the dog object in the conversation state,
    then replicate these changes to an entity bean at the end of the wizard.
    Keeping track of state in a stateful bean is pretty straightforward, but it
    seems like there must be an existing solution that leverages the appserver's
    concurrency and state management features. Am I missing something? Is there
    code, a pattern, or an article that describes the best way to implement a
    multi-step process that looks transactional? I suppose WLI does what I want,
    but that feels like killing a roach with a SCUD missle. Thanks for any
    advice.
    Dave

    Dave Smith wrote:
    Without a transaction, will the app server manage the version column
    automatically, assuming of course that <concurrency-strategy> is
    "Optimistic" and <verify-columns> is set to "Version"? Of course, I'll have
    to expose the version as a cmp-field, which is fine with me.Yes
    >
    Do you know offhand, so that I don't have to get off my lazy ass and write a
    test, whether the CMP service will create the version column when it
    generates db tables? (I realize it's not good to let WLS generate the tables
    in a production system.)No, I don't think it does.
    >
    I assume from your answer that I'm on my own for implementing stuff like and
    transaction inheritance and tracking object modifications? Well, we'll give you a bit of help on the object modifications. The
    usual pattern is when you're pushing the JavaBean back to the CMP you
    call all the setXXX methods on the CMP bean. Our CMP container will
    check if the value you are setting is the same as read from the db. If
    so, it will not update that column.
    -- Rob
    If so, no big
    deal. I was just hoping somebody would say, "Oh, you want the Jakarta
    SuperBeans project" or something.
    Thanks,
    Dave
    "Rob Woollen" <[email protected]> wrote in message
    news:[email protected]...
    I'd recommend that you include a separate version or timestamp column in
    your db schema.
    Then do something like this:
    Client Server
    1) First HTTP Request
    2) Read current Dog and Boy Entity Beans
    (if any) and copy their values into a JavaBean.
    You want to include the version
    column(s) in the JavaBean(s) along with the data values.
    You probably also want to store the JavaBeans in
    your HTTP Session.
    3) Client proceeds through wizard interacting with JavaBeans
    4) Finish with Wizard, copy JavaBean values (including
    version columns) to CMP 2.0 Entity Beans.
    The version column will give you the optimistic concurrency protection
    that you desire without opening a JTA transaction to span user input.
    -- Rob
    Dave Smith wrote:
    Hi, all. What is the best way to implement a transaction that spans
    multiple
    HTTP requests? Many J2EE applications must solve this problem, but Ican't
    any guidelines for an implementation.
    Consider an application that implements a multi-step wizard. Each step
    gathers data from the user; step one gets the user's name, and step twogets
    his dog's name. When the user completes the wizard, the applicationsaves
    the user & dog in two entity beans. Conceptually, the application treats
    this wizard like a single, long-running transaction. The transactionbegins
    when the user launches the wizard. Submitting the JSP for step one addsthe
    Boy bean to the transaction, and submitting step two adds the Dog bean.
    Finishing the wizard commits the transaction. Exiting the wizard ortiming
    out causes the transaction to rollback.
    Although the wizard looks like a transaction, the entire sequence ofuser
    interactions can't be captured in a single JTA UserTransaction. A
    UserTransaction must be associated with a single thread, but each wizard
    step is handled asynchronously by its own execution thread. It'simpossible
    to funnel the conversation through one thread that can demarcate the
    transaction. (This would be a pretty dumb solution for other reasons,but I
    don't want to get lost in details.)
    I think the standard way to solve this problem is to store conversation
    state in a stateful session bean (or the http session) and create /update
    both entity beans in a transactional EJB method after the wizardcompletes.
    Unfortunately, this solution prevents me from leveraging a lot of great
    transaction management features provided by the app server. For example,I
    can't use optimistic concurrency to make sure that the dog object hasn't
    changed in the database between the start and end of the wizard. Also,I'm
    forced to keep track of changes to the dog object in the conversationstate,
    then replicate these changes to an entity bean at the end of the wizard.
    Keeping track of state in a stateful bean is pretty straightforward, butit
    seems like there must be an existing solution that leverages theappserver's
    concurrency and state management features. Am I missing something? Isthere
    code, a pattern, or an article that describes the best way to implementa
    multi-step process that looks transactional? I suppose WLI does what Iwant,
    but that feels like killing a roach with a SCUD missle. Thanks for any
    advice.
    Dave

  • How Transaction Rollback within multiple EJB

    Hello,
    I am new to EJB, i would like to know how does the transaction could be rollback..? For instances in our project, the session
    bean act as the manager for control the transaction in action class..
    For Example;
    Table A, Table B, Table C, Table D
    In this case, each table are acts as one EJB, and for sure there was 4 session bean, session bean A(AManager), session bean B(BManager), session bean C(CManager), session bean D(DManager)... and EJB A, EJB B, EJB C, EJB D....
    In the action class
    There was one transaction involve 4 table, for example;
    AManager manager = (AManager) EJBService.getFactory().lookUpManager("AManager",AManagerHome.class);
    follow in.. B,C and D also same calling the Manager(session bean ) class...
    try
    {AManager.add("something);}
    Catch(Exception e){}
    try
    {BManager.add("something);}
    Catch(Exception e){}
    try
    {CManager.add("something);}
    Catch(Exception e){}
    try
    {DManager.add("something);}
    Catch(Exception e){}
    If there was error in transaction CManager, how does all the transaction (AManager,BManager)could be rollback?
    Any suggession? any good website? Thanks for all your help guideness...
    Feel very appreciate for any help...

    Hi,
    From your description I can model your problem like this:
    You have one method executing one particular task involving four session EJBs like this:
    public void performTask(){
    try{
    AManager.add("something);
    }catch(Exception e){}
    try{
    BManager.add("something);
    Catch(Exception e){}
    try{
    CManager.add("something);
    Catch(Exception e){}
    try{
    DManager.add("something);
    Catch(Exception e){}
    Now I will introduce another concept: Session Facade. And our performTask() method belongs to Session Facade. Session Facade is nothing but another session bean which the client talk to.
    Now your problem is:
    "CManager.add() creates some problems, then want to rollback the whole transaction-- specifically you want to rollback whatever done through AManager.add() and BManager.add() methods."
    Solution Steps:
    ============
    1. Set the transaction-attribute of performTask() method to
    RequiresNew. It means whenever client(any java application or
    other EJB) invokes the performTask() method, this method starts
    execution in a new transaction context.
    2. Now set the transaction attribute of Session A, Session B, Session
    C, Session D, EJB A, EJB B, EJB C, and EJB D in such a way that
    transaction context of performTask() method should be propagated
    to these Enterprise beans. It means when you are calling
    AManager.add() method from performTask() method, the
    AManager.add() method should be executed under the same
    transaction context as of parformTask(). Also true for other manager.
    3. Throw System Exception when you will get some error inside
    CManager.add() method. This will automatically rollback the
    transaction. You don't need to worry.
    Does it solve your problem? For further information you should go through the following book:
    Enterprise Java Beans, Orielly Publication

  • How to avoid the Commit/Rollback dialog box

    I've a JClient app with two frames wich relate to the same appllication module with the same connection (I need it because I want a single commit).
    I start the first frame,then I click a button to start the second frame, I insert data in the second one and I see the commit/rollback buttons in both navebars enabled.
    When I close the secod frame, without committing (because I want to commit at the end of the whole process) I receive the Commit/Rollback dialog box.
    How can I solve that problem ?
    TIA
    Tullio

    Remove or conditionalize the code in generated Form/Frame.java class that binds a WindowListener to the Frame like:
        addWindowListener(new WindowAdapter()
            public void windowClosing(WindowEvent e)
              _popupTransactionDialog();
              JUApplication juApp = panelBinding.getApplication();
              if (juApp != null)
                juApp.release();
              System.exit(0);
      }You may either conditionlize the above windowClosing method or the code in generated method
    private void _popupTransactionDialog()

  • Establishing commit-rollback mechanism in a transaction

    Hi,
    If there are more than one tables that records to be inserted into and more then one record for some tables, is it possible to establish commit rollback mechanism?
    It must be used repeater action for some tables because of more than one records to be inserted.
    I'm trying to establish commit rollback mechanism for all inserts for oracle database.
    Is it possible?
    Thanks.

    Hi,
    with the standard SQLQuery it is not possible. Sam has develop some custom action blocks with this
    functionality. Take a look on this link [Installing the SAP MII v12.1 JTA JDBC Custom Action Blocks.|http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/10bfa608-103b-2c10-6399-e41044c3363e]
    BR
    Pedro

  • How can i rollback the tasks done by webservice?

    Hi,
        I am implementing a webservice.
        Which posts data in a DB as well as SAP.
        posting data into DB has to be implemented by calling ejb.
        posting data into SAP has to be implemented by calling XI webservice.
        For this i am assuming like this way...............
        Call the ejb to post data into DB.
        Call the XI webservice to post data into SAP.
        If XI webservice is executed properly then commit the transaction to post data   into DB.
        But there may be another possibility ...........
         While commiting the transaction if any exception comes ,
         How can i rollback the XI webservice?Is it possible to rollback the webservice
         after it is executed?
         Can any one guide me.
    Regards
    Madhu

    The other solution could be the XI WebSerice should handle multiple targets which I mean, instead of two separate calls to DB and XI you can have single call to XI WebService which will take care of SAP transaction as well as DB transaction with JDBC Adapter. I am not a XI expert but as per my knowledge you can achieve this through BPM.
    Regards
    Abhilash

  • Commit/Rollback in Stored Procedures

    I'm just confused about how this setup works. I understand that ODP.NET is in autocommit mode by default, and any INSERT, UPDATE, or DELETE commands are committed automatically. If they fail for any reason, obviously the row(s) are not modified.
    But how about sprocs? Do they autocommit as well? If so how are rollbacks handled? Do I need to explicitly create a transaction and commit/rollback? Is it best practice to commit/rollback in the .NET transaction or in the sproc itself?
    As you can see, I'm just really looking for info on how these two interact. Any info you can provide will be extremely helpful.
    Thanks!

    Hello,
    When ODP.NET is operating in auto-commit mode (the default as you note) this applies to PL/SQL calls as well.
    I am of the opinion that the client should be in charge of a transaction and I do not commit/rollback inside PL/SQL code (unless of course I am writing PL/SQL that is the client of other PL/SQL code).
    Here's a bit from Tom Kyte on the subject:
    http://tkyte.blogspot.com/2007/03/dreaded-others-then-null-strikes-again.html
    Just search for the text "Who control the commit?" on that page.
    Regards,
    Mark

  • Rollback a transaction in a session bean BMP?

    The following code would work correctly if executed in a stateless session bean BMP?
    InitialContext ic = new InitialContext();
    javax.sql.DataSource dataSource = (javax.sql.DataSource) ic.lookup("java:comp/env/jdbc/OracleDS");
    Connection conn = dataSource.getConnection();     
    conn.setAutoCommit(false);
    Statement stmt = conn.createStatement("UPDATE TABLE_A SET NAME = 'Duke' WHERE ID = 7");
    stmt.executeUpdate();
    if (someCondition) {
    conn.commit();
    } else {
    conn.rollback();
    My question:
    It�s possible to rollback a transaction using rollback() from Connection class in a stateless
    session bean BMP?

    Dear JDC member:
    With EJB, you can gain the benefit of transactions without performing any transaction programming. That is, your enterprise beans never explicitly issue a begin, commit, or abort statement. The container performs it to you. But you have to tell the container how to do it. As you might know, the deploment descriptor is the place for it.
    But nothing prevent you to do do programmatic transaction as you want.. For that case you have to know JTA (Java Transaction API) and more.
    Suppose the transaction aborts, you have to throw an exception back to the client or try it again. The issue here is with stateless sesssion beans, there is no in-memory conversational state. You might think to implement javax.ejb.SessionSynchronization interface with your business methods....
    You see there is a lot to know. You can take care of transactions in the client code, but it is a bad design.
    You have to understand today most application servers (Websphere, Weblogic...) are designed to minimize those issues in order to make developers' tasks easier. The container takes care of transactions.
    Be careful when you write stateless session beans BMP (BMP are for entiti beans)
    Regards,
    Armand Komenan

  • Commit/Rollback in EclipseLink

    Hi,
    Most of my changes are wrapped in a pair of
    EntityManagerHelper.beginTransaction();
    save(entity);//or delete(), update(), ...
    EntityManagerHelper.commit();
    How do I handle exceptions and rollbacks?
    In the above example, do I catch all exceptions (ie, Throwable) and do a rollback (EntityManagerHelper.rollback())?
    Without any rollbacks, EclipseLink complains about inconsistant transactions (already in a transaction), when failures occur.
    Regards,
    Ramin

    Hello,
    EclipseLink unit tests generally wrap test code within a try/catch block an call:
    if (getEntityManager().getTransaction().isActive()){
    getEntityManager().getTransaction().rollback();
    at the end to rollback the transaction if it hasn't already. The if statement will prevent rolling back the transaction if it is not active.
    Most JPA exceptions should mark the transaction for rollback already though, as per the spec:
    "All instances of PersistenceException except for instances of NoResultException, NonUniqueResultException, LockTimeoutException, and
    QueryTimeoutException will cause the current transaction, if one is active, to be marked for rollback."
    Best Regards,
    Chris

  • Needed to ROLLBACK failed Transaction

    Hi Oracle Expertz,
    QRY will Look Like
    BEGIN
    INSERT into tab3 RETURNING INTO v_exer_num
    UPDATE tab1
    SET col1 = ''
    WHERE exer_num = v_exer_num
    UPDATE tab2
    SET col1 = ''
    WHERE exer_num = v_exer_num
    END ;
    Example :
    1st record:
    Participant A
    Exer 1 Success
    Exer 2 Success
    2nd record
    Participant B
    Exer 1 Failed due to dead lock or some other exception.
    3rd Record
    Participant C
    Exer 1 Success
    Now in this transaction, I need to only rollback for Participant B ( failed Record) . Participants A and C should have committed the transaction. Can any one suggest me on this?
    Possiblities Of Exception :
    successful of INSERT , UPDATE , UPDATE will be considered as a completed tranasaction.
    For a particular record ( exer_num) , If insertion is executed successfully ,and updates failed for the corresponding exernum , I need to rollback the inserted record .
    Regards,
    Maran
    Edited by: Maran on Aug 6, 2009 1:17 PM

    Hey Sven ,
    thanks for your response. No these three DML statements would be executed inside my procedure. We can not run it in different session. the reason is
    as i said, completion of these 3 DML statements , then only will conisdered as a successful transaction else i need to roll back .
    also this will be called in a Batch JOB. we have a commit for whole transaction.
    Lets these are all the possibilites :
    1) INSERT FAILED ( ROW 1 )
    2) INSERT SUCCESS (ROW 2 )
    1st UPDATE Failed
    3) INSERT SUCCESS ( ROW 3 )
    1st UPDATE SUCCESS
    2nd UPDATE D FAILED
    4) INSERT SUCCESS ( ROW 4)
    UPDATE SUCCESS
    UPDATE SUCCESS
    Now for these scenario none of three statements got executed successfully . So if it fail between any of the statements , I need to rollback that particular row.
    Hope you understand the problem well now.
    Now can anyone suggest me that How can i handle this exception and need to keep going my transaction even if it fails in between.
    Objective over this problem is :
    Need to rollback Failed rows.
    Need to keep continue the Program , need to commit successful rows.
    Regards,
    MARAN
    Edited by: Maran on Aug 10, 2009 6:19 PM

  • Commit / RollBack

    Hi,
    I want to execute 2 or more database operation in one transcation with commit/rollback mechanism.
    Below is my code,
    How can i make it has commit /rollback (in one transaction).
    Thanks.
    InitialContext ctx = new InitialContext();
    DataSource ds = (DataSource) ctx.lookup("jdbc/SAPXXXDB");
    Connection con1 = ds.getConnection();
    Connection con2 = ds.getConnection();
    PreparedStatement pstm1 =con1.prepareStatement("insert into ZTABLE1(...)Values(...)";
    PreparedStatement pstm2 =con2.prepareStatement("insert into ZTABLE2(...)Values(...)";
    pstm1.executeUpdate();
    pstm2.executeUpdate();
    con1.close();
    con2.close();

    Hi Cemil Bozlagan ,
    When a connection is created, it is in auto-commit mode. This means that each individual SQL statement is treated as a transaction and is automatically committed right after it is executed.
    The way to allow two or more statements to be grouped into a transaction is to disable auto-commit mode by using Connection object.
    con.setAutoCommit(false);
    Once auto-commit mode is disabled, no query statements are committed until you call the method commit explicitly. All statements executed after the previous call to the method commit are included in the current transaction and committed together as a unit.
    Have a look
    PreparedStatement pstm1 =con1.prepareStatement("insert into ZTABLE1(...)Values(...)";
    PreparedStatement pstm2 =con2.prepareStatement("insert into ZTABLE2(...)Values(...)";
    pstm1.executeUpdate();
    pstm2.executeUpdate();
    con.commit();
    con.setAutoCommit(true);
    To roll back the transaction based on ur requirement u can use
    con.rollback()
    Regards,
    srikanth

  • Maintaining Transaction Across Multiple JSP Pages

              Hi,
              I have a multi page Registration (3 steps). On each step data submited is taken
              to the database via an EJB component (Session Bean). How do I maintain a transaction
              across these JSP pages so that the data in the database is consistent. If a there
              is a problem in the 3rd step the data submitted in the first two steps should
              be rolled back.
              How do I maintain transaction across multiple pages.
              Regards
              -MohanRaj
              

    It will take from several minutes to a long time for a user to complete a multiple page registration process. Do you really have enough database connections that each concurrent user can hold on to one?
    Usually you cannot open more than 50-200 connections to a database at any given time.
    Remember that some users will abandon the registration process. Can you afford that their sessions holds a db conenction until the session times out?
    Consider changing your datamodel so you can run and commit a transaction at the end of processing the form data from a page. Immediately after the commit give the db connection back to the pool inside the app. server.
    It can be as simple as having a column in the database of type enum, with a set of values that shows how far in the registration process the registration has procesed.
    BTW. if you absolutely have to hold on to the db connection, you can stuff it into a session scoped attribute and it will be available on all pages.

  • OS 10.3.1 Update - issues and question on how to uninstall / rollback

    Hi.
    Up front, I'm trying to remain calm, professional, objective. Pretty sure I've missed the mark, but, then, read on...
    I'm having some issues with OS 10.3.1 update. Before anyone says search the boards, I have. For hours. On various websites. I'd appreciate (but am not hopeful for) an official response from BlackBerry.
    1. I am using a Z30. Carrier is Rogers Wireless (Canada) Updates are set to off. Yet, unbelievably, the update came down anyway, when I was driving, didn't know until I got home. Device rebooted and now 10.3.1xxxx is on my smartphone.
    ISSUES:
    1. The screen blacks out. EVERY TIME I wake it, the display is zoomed in. I have to gesture and gesture and gesture to get the display to fit the screen so I can unlock the phone.
    2. The home screen is not customisable, and is the default. Now I have to swipe to get to either the hub or my applications. Twice the work = 1/2 the productivity.
    3. The much-vaunted Assistant does what, exactly? All I know is when I did voice dialing via Bluetooth earpiece, the call would (75% of the time) be made. The other 25% of the time, I have to tell it "Call Mom Home" is not the same as "search battery charge". Yeah, my bluetooth is a very expensive, highly-rated one that has no issues in recognition with any other device. Now, the Voice part (Assistant?) doesn't make ANY calls. At best, it offers me suggestions, usually not related (Linda <> Tom) and wastes my time reading out multiple PHONE NUMBERS. Good grief, If I knew the darn phone number, I'd just tell it, Call (phone number). It'd be faster than sitting through all that. Otherwise, Voice Assistant whatever doesn't do much of anything for me. I have it set, as far as I can tell, to do the minimum, not interact with everything on my phone.
    4. Although the new Camera app now (finally!) renders colours more-or-less correctly, whereas before everything was tinted blue, I'm not a fan of the new positioning of the controls. Putting the video button beside the "Take picture" button is ridiculous. The touch sensitivity is so off, that I find myself recording video rather than taking a wanted picture --- and the moment is lost. I really miss being able to tap the screen to take a picture. Now I have to aim for a small dot at the bottom. If I wanted an iPhone, I would have bought an iPhone!
    5. More on the Camera front, it's now difficult to get to photos. As in, I touch the icon to bring up the list of photos, and the latest shot never appears. I have to swipe to find it. And in a different direction now.
    6. In the Hub, especially, the "select multiple" used to be right in the middle of the menu. Now I have to scroll down to find and activate it.
    7. What's with the honking battery drain? More tinkering required on my part to get it back to the 4-day standby I used to enjoy?
    MISSED FEATURES UPDATES:
    1. I was really hoping this latest update with display the NUMBER of the phone entry. Such as Work 1, Work 2, etc. I find it useful to assign direct number always as Work 1, then toll free as Work 2, Main reception as Work 3, Home as Work 4, and so on. Then it's easy to use (or used to be) voice dialling to call the number I want without knowing what the number actually is. I was also hoping the update would eliminate that so offensive message "next time, just say call xxxxx Mobile 2" or whatever. Which I darn well would, if there was anything in the contacts to display the sequence of numbers.
    2. Calendar. Seriously, why can't I set a reminder for somewhere between 3 and 7 days???? I'm so tired of setting one for (7-3) days, doing the calculation in my head to bypass weekends or other events) then having to update the reminder when I get to the BlackBerry-approved 3 day range. Other smart phones allow any custom setting. Allow me to also ask, put the custom reminder FIRST. Don't make us scroll all the way to the bottom to find it!
    3. Allow me to put my most-used icons on the fricking HOME SCREEN! I don't care about the cutesy pictures. I care about getting my job done as quickly and conveniently as possible.
    4. Fix the darn voice control mechanism. I bought expensive Bluetooth pieces. All I want to do is do voice dialling. That's it.
    5. Give me some control over the spell check. There's no way to edit the words that are "learnt" through monitoring usage.
    6. Enough with the US-marketing. Mountain Time is Mountain Time. Not US-Mountain Time. I'm not picking something like that, I don't care who that offends. It's as dumb as as settting time zones (as Apple used to) to "Calgary, Alberta." I don't live in Calgary. I do live in the GENERIC Mountain time Zone.
    7. Speaking of, I also speak English. Not US-English with US-spelling. How about giving Canada some love
    8. Give me the option to rollback the update. Or at least choose which parts I want.
    9. Expand support for file formats. At this point, I can only load documents onto my smartphone if they're Adobe or Microsoft Office. Here's the thing - I operate in the Corel WordPerfect universe. So the Z30 is limited in what I can / can't do with it. Why on earth can't I just copy my FILES to my phone? Even if I can't edit them, I can use the whopping 64 GB memory chip as a flash drive to take my files with me when I travel. I don't always take a computer ...sometimes I use what's at destination. Plus having them on the phone SHOULD allow me to email them or send in other ways...whether or nor BlackBerry can read them.
    ===================
    REQUEST FOR ASSISTANCE:
    Better - release an immediate UPDATE to fix these problems and add the features I've noted above. Surely I'm not the only one struggling with the built-in limitations of the interface and info-displays.
    Please tell me how I can rollback / uninstall / whatever this "update".
    I shudder to think the only solution is to backup, restore, then reload the Z30. Others have tried and have not been successful.
    MORE VENTING;
    The only reason I'm still on BlackBerry is that the issues and to an extent a difference in perspective regarding phone layout / features are still less problematic on BB Z30 than they are on ios or android platforms. Absolutely in my opinion. But then, I'm the one with a frustration level well into the redline.
    Thanks for reading. I'll be even more grateful for some resolution.
    Cinereo

    Also:
    #2) You can turn off the blank home screen by going to Settings >Display and turning off "Show Wallpaper When All Apps Are Closed."
    1. Please thank those who help you by clicking the "Like" button at the bottom of the post that helped you.
    2. If your issue has been solved, please resolve it by marking the post "Solution?" which solved it for you!

Maybe you are looking for

  • Addition of a inputfield as column to item level table in shopping cart

    Dear Experts i added a new inputfield to item level table as columen of Shopping cart and binded a variable from context. that column is displayed in the table but it is displayed in Disabled mode im not able to give input to the column(as it is a in

  • Itunes 12.0.1 not responding

    Hi guys, Ive recently updated to Itunes 12.0.1 (PC) and its not responding at all. Tried the restarts etc and still I get the little loading circle going round and round forever. The only way to stop it is to force stop via task manager. Any ideas? M

  • PowerView Drill down to details list

    Great to have PowerView discussion forum. :)  Would it be possible to drill the PowerView dashbord to the details list like SSRS sub-reports.  For example: PowerView dashboard that display Yr, make, model car types, and would like to drill to details

  • I cannot seem to get the iCloud back up window to close

    I have tried to click OK but does not close window to allow ipod touch to turn on

  • Firefox 24 and 25 won't run on server identities?

    I downloaded the last update, 24, which worked fine on local identities. When I try to open it in a server/network identity, it never opens, just hangs - I tried opening in safe mode (opt key + open, choose safe mode) and it acts like it will open, b