Rollback

Hi All,
We have a scenario wherein SAP PI posts certain number for example, to create 10 materials say A1, A2.... A10, 2 Documents (D1, D2) and 2 Boms say A9 and A10
A9 BOM contains items A1, A2...A6 and A10 BOM contains items A7, A8, A9
Now PI   trigger an Inbound Proxy to upload say 10 materials are created, 2documents & BOM for A9 is also created Using Bapis.
but if while creating BOM for A10 some error happens, so in that scenario requirement is all 10 materials, 2documnets and BOM for A9 which was created should be rolled back/removed from system.
Please suggest
Thanks in advance
Kumar

Well in that case you will have to make sure that all these actions are performed in one single LUW. In other words, you shouldn't execute these BAPI's separately, but at one time within one (new custom) RFC, in which all these objects are created. If any of these BAPI's fails, do a BAPI_TRANSACTION_ROLLBACK, and you should be OK.

Similar Messages

  • Difference between rollback and issue_rollback(null)

    In key-Next-Item i kept issue_rollback(null) command,then application working fine.but when i keep just normal rollback command in the same place,it showing do u want to save changes message on my front_end application.
    So can any one tell that what is the diffrence between the normal ROLLBACK command and issue_rollback(null) procedure.

    Since the documentation warns against using Issue_Rollback outside of an On-Rollback trigger, it may not be doing anything.
    The plain rollback statement is interpreted by Forms as a Clear_Form with no parameters (which means using the default parameter values, which means it is doing a Clear_Form(Ask_commit,To_savepoint).
    If you really want to undo any changes already made by the user when he hits the Tab or Enter key, you should issue the Clear_Form with the proper parameters. And then you have the issue of re-querying the data.
    Maybe you should explain what you really want to happen in the trigger.

  • Problem with RollBack in  Oracle Batching

    Hi all,
    This is Adhil. I am facing a problem with Oracle Batching in java.
    I am using java 1.5 and Oracle 10 g.
    I have a below standalone code to test the Oracle Batching (Assume that i have the 2 tables with zero records ).
    with the batch size set as 10, I am trying add 2 records in each table.
    Now I rise divideByZero error exception manually and trying to rollback the connection in catch statement . But couldn't rollback the connection. I see the 2 records added in both of my tables.
    The same code when i set the batchsize 2 and trying to insert 10 records ,I could rollback and no rows get inserted.
    Since I am going to get the no of insert from user in runtime , my rollback may fail in any combinations as in my first case(with batch size 10 and if the no of insert is 2).
    import java.io.*;
    import java.util.*;
    import java.sql.*;
    import oracle.jdbc.*;
    public class BatchTest{
         public static void main(String args[]) throws Exception{
              Connection conn = null;
              conn = new BatchTest().createConnection();
              new BatchTest().insertdata(conn);
         public Connection createConnection() throws Exception{
                   Properties props =new Properties();
                   props.load(ClassLoader.getSystemResourceAsStream("connection.properties"));
                   String connectionString = (String)props.get("connection");
                   String username = (String)props.get("username");
                   String password = (String)props.get("password");
                   Class.forName("oracle.jdbc.driver.OracleDriver");
                   Connection connection = DriverManager.getConnection(connectionString, username, password);
                   return connection;
         public void insertdata(Connection dbConnection){
              PreparedStatement psCnt =null;
              PreparedStatement psImp =null;
              try{
              dbConnection.setAutoCommit(false);
              psCnt = dbConnection.prepareStatement("insert into CHKCNT values (?,?)");
              psImp = dbConnection.prepareStatement("insert into CHKIMP values (?,?)");
              ((OraclePreparedStatement)psCnt).setExecuteBatch (10);
              ((OraclePreparedStatement)psImp).setExecuteBatch (10);
              int x=0;
              for(int i=1;i<=2;i++){
                        psCnt.setInt(1,i);
                        psCnt.setString(2,"Jack");
                        psImp.setInt(1,i);
                        psImp.setString(2,"John");
                        psImp.executeUpdate();
                        psCnt.executeUpdate();
              if(true) x=10/0;
              dbConnection.commit();
              }catch(Exception e){
                   try{
                   dbConnection.rollback();
                   dbConnection.close();
                   }catch(Exception ex){
                   e.printStackTrace();
              }finally{
                   try{
                        psCnt.close();
                   }catch(Exception ee){
                   ee.printStackTrace();
    Can anyone suggest me a way to make my rollback work.
    Thanks in advance.
    -adhil.J

    Hi all,
    This is Adhil. I am facing a problem with Oracle Batching in java.
    I am using java 1.5 and Oracle 10 g.
    I have a below standalone code to test the Oracle Batching (Assume that i have the 2 tables with zero records ).
    with the batch size set as 10, I am trying add 2 records in each table.
    Now I rise divideByZero error exception manually and trying to rollback the connection in catch statement . But couldn't rollback the connection. I see the 2 records added in both of my tables.
    The same code when i set the batchsize 2 and trying to insert 10 records ,I could rollback and no rows get inserted.
    Since I am going to get the no of insert from user in runtime , my rollback may fail in any combinations as in my first case(with batch size 10 and if the no of insert is 2).
    import java.io.*;
    import java.util.*;
    import java.sql.*;
    import oracle.jdbc.*;
    public class BatchTest{
         public static void main(String args[]) throws Exception{
              Connection conn = null;
              conn = new BatchTest().createConnection();
              new BatchTest().insertdata(conn);
         public Connection createConnection() throws Exception{
                   Properties props =new Properties();
                   props.load(ClassLoader.getSystemResourceAsStream("connection.properties"));
                   String connectionString = (String)props.get("connection");
                   String username = (String)props.get("username");
                   String password = (String)props.get("password");
                   Class.forName("oracle.jdbc.driver.OracleDriver");
                   Connection connection = DriverManager.getConnection(connectionString, username, password);
                   return connection;
         public void insertdata(Connection dbConnection){
              PreparedStatement psCnt =null;
              PreparedStatement psImp =null;
              try{
              dbConnection.setAutoCommit(false);
              psCnt = dbConnection.prepareStatement("insert into CHKCNT values (?,?)");
              psImp = dbConnection.prepareStatement("insert into CHKIMP values (?,?)");
              ((OraclePreparedStatement)psCnt).setExecuteBatch (10);
              ((OraclePreparedStatement)psImp).setExecuteBatch (10);
              int x=0;
              for(int i=1;i<=2;i++){
                        psCnt.setInt(1,i);
                        psCnt.setString(2,"Jack");
                        psImp.setInt(1,i);
                        psImp.setString(2,"John");
                        psImp.executeUpdate();
                        psCnt.executeUpdate();
              if(true) x=10/0;
              dbConnection.commit();
              }catch(Exception e){
                   try{
                   dbConnection.rollback();
                   dbConnection.close();
                   }catch(Exception ex){
                   e.printStackTrace();
              }finally{
                   try{
                        psCnt.close();
                   }catch(Exception ee){
                   ee.printStackTrace();
    Can anyone suggest me a way to make my rollback work.
    Thanks in advance.
    -adhil.J

  • Problem with rollback in EJB and CMT

    Hello,
    I faced a problem in my application that I really do not understand (but I really would like to). How can I trigger a rollback of a transaction that is container-managed (CMT)? I know that any system exceptions are supposed to be handled by the container automatically and will cause a transaction rollback when they are thrown from an enterprise bean method. My Problem now is that I'm unable to make this work in my application.
    Consider a situation like this:
    The ManageEntityBean holds a simple save() method that creates an instance of EntityA and another of EntityB. Both instances store an arbitrary number (here 10). After this, the entityManger (injected from the container) is asked to make these instances persistent. EntityB is mapped with a "unique" constraint, so any attempt to store the same number twice will cause an SQL Exception.
    First time when the save() method is invoked, the instances aEntity and bEntity are made permanent in the database. Second time when the save() method is invoked, the database throws an exception because bEntity is violating the unique constraint. What I would expect now is a complete rollback of the whole transaction. Instead, only bEntity has not been made permanent, but aEntity has.
    What's wrong with this code?
    @Stateless
    public class ManageEntityBean implements ManageEntity {
         @PersistenceContext
         private EntityManager entityManager;
         @TransactionAttribute(TransactionAttributeType.REQUIRED)
         public void save() {
              try {
                   EntityA aEntity = new EntityA(10);
                   EntityB bEntity = new EntityB(10);
                    entityManager.persist(aEntity);
                    entityManager.persist(bEntity);
              } catch (Exception e) {
                   throw new EJBException(e);
    @Entity
    public class EntityA implements java.io.Serializable {
         @Id
         @GeneratedValue
         private long     id;
            @Column(name="NUMBER")
            private int   number;
         public EntityA() {}
         public EntityA(int number) {
              this.number = number;
    @Entity
    public class EntityB implements java.io.Serializable {
         @Id
         @GeneratedValue
         private long     id;
         @Column(name = "NUMBER", unique = true)
         private int          number;
         public EntityB() {}
         public EntityB(int number) {
              this.number = number;
    }I found two related topics in this forum but still I didn't find the solution yet.
    [Enterprise JavaBeans - CMT and JDBC|http://forums.sun.com/thread.jspa?forumID=13&threadID=525651]
    and
    [ Forums - A CMT Session Bean Does Not Maintain the Transaction Correctly| http://forums.sun.com/thread.jspa?forumID=13&threadID=161512]
    Maybe anyone can give me a hint. Help is very much appreciated
    Christoph

    Thank you for your input!
    The save() method is simply invoked from the test applications main() method:
    public class Test {
         public static void main(String[] args) {
              JndiUtil<ManageEntity> jndiUtil = new JndiUtil<ManageEntity>();
              ManageEntity handler = jndiUtil.lookupBeanContext("ManageEntityBean", ManageEntity.class);
              handler.save();
    }Btw. I use Hibernate as persistence provider and JBoss 4.2.2.GA as application server.
    For clarity I attach some lines of the debug logging that is produced when the test application is getting started for the second time:
    ### open Session
    17:44:00,555 DEBUG *[SessionImpl] opened session at timestamp: 5007498610909184*
    17:44:00,555 DEBUG [AbstractEntityManagerImpl] Looking for a JTA transaction to join
    17:44:00,555 DEBUG [JDBCContext] successfully registered Synchronization
    17:44:00,555 DEBUG [AbstractEntityManagerImpl] Looking for a JTA transaction to join
    17:44:00,555 DEBUG [AbstractEntityManagerImpl] Transaction already joined
    ### invoke em.persist(aEntity)
    17:44:00,555 DEBUG [AbstractSaveEventListener] executing identity-insert immediately
    17:44:00,555 DEBUG [AbstractBatcher] about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
    17:44:00,555 DEBUG *[ConnectionManager] opening JDBC connection*
    17:44:00,555 DEBUG [SQL]
    /* insert de.zippus.domain.EntityA
    17:44:00,556 INFO [STDOUT] Hibernate:
    /* insert de.zippus.domain.EntityA
    17:44:00,558 DEBUG [IdentifierGeneratorFactory] Natively generated identity: 2
    17:44:00,559 DEBUG [AbstractBatcher] about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
    17:44:00,559 DEBUG [ConnectionManager] aggressively releasing JDBC connection
    17:44:00,559 DEBUG [ConnectionManager] releasing JDBC connection [ (open PreparedStatements: 0, globally: 0) (open ResultSets: 0, globally: >0)]
    ### invoke em.persist(bEntity)
    17:44:00,559 DEBUG [AbstractSaveEventListener] executing identity-insert immediately
    17:44:00,559 DEBUG [AbstractBatcher] about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
    17:44:00,559 DEBUG [ConnectionManager] opening JDBC connection
    17:44:00,559 DEBUG [SQL]
    /* insert de.zippus.domain.EntityB
    17:44:00,560 INFO [STDOUT] Hibernate:
    /* insert de.zippus.domain.EntityB
    17:44:00,561 DEBUG [AbstractBatcher] about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
    17:44:00,561 DEBUG [ConnectionManager] aggressively releasing JDBC connection
    17:44:00,561 DEBUG [ConnectionManager] releasing JDBC connection [ (open PreparedStatements: 0, globally: 0) (open ResultSets: 0, globally: >0)]
    17:44:00,561 DEBUG [JDBCExceptionReporter] could not insert: [de.zippus.domain.EntityB] [* insert de.zippus.domain.EntityB */ insert into >ENTITY_B (NUMBER) values (?)]
    com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException: Duplicate entry '10' for key 2
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:931)
    17:44:00,563 WARN [JDBCExceptionReporter] SQL Error: 1062, SQLState: 23000
    17:44:00,563 ERROR [JDBCExceptionReporter] Duplicate entry '10' for key 2
    17:44:00,563 DEBUG [AbstractEntityManagerImpl] mark transaction for rollback
    17:44:00,563 ERROR [ManageEntityBean] Caught exception: javax.persistence.EntityExistsException: >org.hibernate.exception.ConstraintViolationException: could not insert: [de.zippus.domain.EntityB]
    17:44:00,563 ERROR [ManageEntityBean] Exception Cause: org.hibernate.exception.ConstraintViolationException: could not insert: >[de.zippus.domain.EntityB]
    17:44:00,564 DEBUG *[ManagedEntityManagerFactory] ************** closing entity managersession *************** Up to now I'm not that experienced in reading and understanding this kind of logging, but what I can see is, that there is a transaction that spans the whole unit of work and that this transaction is marked for rollback. I think that's quite a good thing, isn't it?
    But what really puzzles me here is, that both calls of em.persist() result in an opening of a jdbc connection and an immidiate execution of a database insert. Tell me if I'm wrong, but is this really the right place to happen?
    For what reason soever hibernate thinks it has to make these instances permanent, no matter if there is already a session that is taking care of this. If so, I might deal with a wrong hibernate configuration, I checked, but I can't find anything..
    What do you think?
    Thanks in advance!
    Christoph

  • Rollback segment Error coming for 8 lacks Record while creating MV

    Hi All,
    i am creating a materialized View and it gives us 8 lacks record but when we creates in production its fails due to rollback segment does not have enough space to handle it and it did not create the MV.
    can anyone help me out to resolve this issue for the below query while creating MV.
    SELECT DISTINCT NVL
    ((ROUND ((jt_date_completed - jt_date_requested) * 24, 2)
    0
    ) AS actual_hrs_to_complete,
    NVL ((ROUND ((jt_date_responded - jt_date_requested) * 24, 2)
    0
    ) AS actual_hrs_to_respond,
    peo1.peo_name AS agent_name,
    peo1.peo_user_name AS asagent_soe_id,
    le.lglent_desc AS ap_system,
    ' ' AS assign_work_request_comment,
    DECODE (jt.jt_bill_id,
    138802, 'CLIENT BILLABLE',
    138803, 'CONTRACTED',
    138804, 'INTERNAL BILLABLE',
    NULL, ' '
    ) AS billable,
    bl.bldg_name_cc AS building, bl.bldg_id_ls AS building_id,
    DECODE (bl.bldg_active_cc,
    'Y', 'ACTIVE',
    'INACTIVE'
    ) AS building_status,
    DECODE (jt.jt_wrk_cause_id,
    141521, 'STANDARD WEAR AND TEAR',
    141522, 'NEGLIGENCE',
    141523, 'ACCIDENTAL',
    141524, 'MECHANICAL MALFUNCTION',
    141525, 'OVERSIGHT',
    141526, 'VANDAL',
    141527, 'STANDARD',
    141528, 'PROJECT WORK',
    6058229, 'TEST',
    NULL, ' '
    ) AS cause_type,
    ' ' AS comments, peo3.peo_name AS completed_by,
    jt.jt_requestor_email AS contact_email,
    jt.jt_requestor_name_first
    || ' '
    || jt.jt_requestor_name_last AS contact_name,
    jt.jt_requestor_phone AS contact_phone,
    cc.cstctrcd_apcode AS corp_code,
    cc.cstctrcd_code AS cost_center,
    jt.jt_date_closed AS date_closed,
    jt.jt_date_completed AS date_completed,
    jt.jt_date_requested AS date_requested,
    jt.jt_date_responded AS date_responded,
    jt.jt_date_response_ecd AS date_response_ecd,
    jt.jt_date_scheduled AS date_scheduled,
    DECODE (jt.jt_def_id,
    139949, 'WTG VENDOR RESPONSE',
    139950, 'WAITING ON PARTS',
    139951, 'LABOR AVAILABILITY',
    139952, 'DEFERRED- HI PRI WORK',
    139953, 'WTG APPROVAL',
    139954, 'FUNDING REQUIRED',
    139955, 'ACCESS DENIED',
    139956, 'WTG MATERIAL',
    NULL, ' '
    ) AS deferral_reason,
    jt.jt_description AS description,
    jt.jt_date_resched_ecd AS ecd,
    fmg.facility_manager AS facility_manager,
    fl.floors_text AS FLOOR, gl.genled_desc AS general_ledger,
    ' ' AS kiosk_date_requested, ' ' AS kiosk_dispatch_confirmed,
    ' ' AS kiosk_dispatched,
    eqp.equip_customer_code AS linked_equipment_alias,
    eqp.equip_id AS linked_equipment_id,
    eqp.equip_text AS linked_equipment_name,
    DECODE (jt_originator_type_id,
    1000, 'PROJECT MOVE REQUEST',
    138834, 'CUSTOMER INITIATED CORRECTION',
    138835, 'CUSTOMER INITIATED REQUEST',
    138836, 'CORRECTIVE MAINTENANCE',
    138837, 'CONFERENCE ROOM BOOKING',
    138838, 'PROJECT INITIATED REQUEST',
    138839, 'PLANNED PREVENTIVE MAINTENANCE',
    138840, 'SELF INITATED REQUEST',
    NULL, ' '
    ) AS originator_type,
    ' ' AS payment_terms, priority_text AS priority_code,
    swoty.sworktype_text AS problem_type,
    prop.property_name_cc AS property,
    jt.jt_cost_quote_total AS quote_total,
    par.levels_name AS region,
    DECODE (jt.jt_repdef_id,
    141534, 'ADJUSTED SETTING',
    141535, 'TRAINING FOR END',
    141536, 'NEW REQUEST',
    141537, 'NO REPAIR REQUIR',
    141538, 'REPLACED PARTS',
    141539, 'REPLACE EQUIPMEN',
    1000699, 'NEW REQUEST',
    NULL, ' '
    ) AS repair_definitions,
    jt.jt_repairdesc AS repair_description,
    jt.jt_requestor AS requestor, ' ' AS requestor_cost_center,
    jt.jt_requestor_email AS requestor_email,
    jt.jt_requestor_name_first AS requestor_name,
    jt.jt_requestor_phone AS requestor_phone,
    ' ' AS response_time, rm.room_name_cc AS room,
    p1.peo_provider_code1 AS service_provider,
    p1.peo_address_1 AS service_provider_address,
    peocity.city_text service_provider_city,
    p1.peo_provider_code1 AS service_provider_code,
    peocity.city_country_name AS service_provider_country,
    peocur.currency_text AS service_provider_currency,
    p1.peo_name AS service_provider_description,
    p1.peo_dispatch_method AS serv_prov_dispatc_hmethod,
    p1.peo_rate_double AS serv_prov_double_time_rate,
    p1.peo_email AS service_provider_email,
    p1.peo_emergency_phone AS serv_prov_emergency_phone,
    p1.peo_fax AS service_provider_fax_number,
    p1.peo_home_phone AS service_provider_home_phone,
    p1.peo_rate_hourly AS service_provider_hourly_rate,
    p1.peo_title AS service_provider_job_title,
    p1.peo_method_id AS service_provider_method,
    p1.peo_cell_phone AS service_provider_mobile_phone,
    p1.peo_pager AS service_provider_pager,
    p1.peo_rate_differential AS service_provider_rates,
    p1.peo_rate_differential AS ser_prov_shift_differential,
    peocity.city_state_prov_text AS serv_prov_state_province,
    DECODE (p1.peo_active,
    'Y', 'ACTIVE',
    'INACTIVE'
    ) AS service_provider_status,
    p1.peo_url AS serv_prov_web_site_address,
    p1.peo_phone AS service_provider_work_phone,
    p1.peo_postal_code AS serv_prov_zip_postal_code, ' ' AS shift,
    ' ' AS skill,
    DECODE (jt.jt_bigstatus_id,
    138813, 'NEW',
    138814, 'PENDING',
    138815, 'OPEN',
    138816, 'COMPLETED',
    138817, 'CLOSED',
    138818, 'CANCELLED',
    NULL, ' '
    ) AS status,
    lev.levels_name AS subregion, ' ' AS trade,
    p1.peo_ls_interface_code1 AS vendor_id,
    p1.peo_fax AS vendor_purchasing_fax,
    p1.peo_vendor_site_code AS vendor_sitecode,
    jt.jt_id AS vendor_ticket, p1.peo_name AS vendor_companyname,
    jt.jt_requestor_vip AS vip, wo.wo_id AS work_order_no,
    jt.jt_id AS work_request,
    jt.jt_class_id AS work_request_class,
    woty.worktype_text AS work_type, ' ' AS wr_cost,
    jt.jt_description AS wr_description,
    ' ' AS wr_dispatch_method,
    DECODE (jt.jt_bigstatus_id,
    138813, 'NEW',
    138814, 'PENDING',
    138815, 'OPEN',
    138816, 'COMPLETED',
    138817, 'CLOSED',
    138818, 'CANCELLED',
    NULL, ' '
    ) AS wr_status,
    ctry.country_name AS country
    FROM citi.jobticket jt,
    citi.property prop,
    citi.bldg bl,
    citi.bldg_levels bldglvl,
    citi.LEVELS lev,
    citi.LEVELS par,
    (SELECT crstools.stragg (peo_name) facility_manager,
    bldgcon_bldg_id
    FROM citi.bldg_contacts, citi.people
    WHERE bldgcon_peo_id = peo_id
    AND bldgcon_contype_id IN (40181, 10142)
    GROUP BY bldgcon_bldg_id) fmg,
    citi.floors fl,
    citi.room rm,
    citi.general_ledger gl,
    citi.legal_entity le,
    citi.cost_center_codes cc,
    citi.equipment eqp,
    citi.worktype woty,
    citi.subworktype swoty,
    citi.work_order wo,
    citi.jt_workers jtwo,
    citi.priority,
    citi.country ctry,
    citi.people p1,
    citi.people peo3,
    citi.people peo1,
    citi.city peocity,
    citi.currency peocur
    WHERE jt.jt_bldg_id = bl.bldg_id
    AND bl.bldg_id = bldglvl.bldg_levels_bldg_id
    AND bldglvl.bldg_levels_levels_id = lev.levels_id
    AND lev.levels_parent = par.levels_id(+)
    AND prop.property_id = bl.bldg_property_id
    AND bl.bldg_active_ls <> 'N'
    AND jt.jt_floors_id = fl.floors_id(+)
    AND jt.jt_room_id = rm.room_id(+)
    AND jt.jt_bldg_id = fmg.bldgcon_bldg_id(+)
    AND jt.jt_genled_id = gl.genled_id(+)
    AND gl.genled_lglent_id = le.lglent_id(+)
    AND jt.jt_cstctrcd_id = cc.cstctrcd_id(+)
    AND jt.jt_equip_id = eqp.equip_id(+)
    AND jt.jt_id = jtwo.jtw_jt_id(+)
    AND jt.jt_worktype_id = woty.worktype_id(+)
    AND jt.jt_sworktype_id = swoty.sworktype_id(+)
    AND jt.jt_wo_id = wo.wo_id
    AND jt.jt_priority_id = priority_id(+)
    AND jt.jt_date_requested >= ADD_MONTHS (SYSDATE, -12)
    AND bl.bldg_country_id = ctry.country_id
    AND jtwo.jtw_peo_id = p1.peo_id(+)
    AND p1.peo_city_id = peocity.city_id(+)
    AND jt.jt_completed_by_peo_id = peo3.peo_id(+)
    AND p1.peo_rate_currency_id = peocur.currency_id(+)
    AND jt.jt_agent_peo_id = peo1.peo_id(+);
    Regards
    shyam~

    Hi,
    Its ora-1555? IS your undo_retention sufficient?
    Since you are developer the only option you have is to tune the query?
    Am curious to know like I create materialized view so that I do not have to run complex query on the master database / or to prevent the access to master database more than once to get the same data?
    Like to know which is your case because your query seem to be too complex to be the case for former. Do you think this materialized view would be used frequently in your application?
    Regards
    Anurag Tibrewal.

  • HOW TO ROLLBACK ENCUMBRANCE BALANCE

    제품 : FIN_GL
    작성날짜 : 2003-11-24
    HOW TO ROLLBACK ENCUMBRANCE BALANCE
    ===================================
    PURPOSE
    balance table의 data 에 corrput 가 발생했을 경우 예산 가집행에 대한 rollback script를 제공한다.
    Explanation
    1. 관련 data를 모두 backup 받아 놓는다.
    2. data가 corrupt 된 기간을 확인한다.
    3. gl_balance table에서 corrupt 된 data를 delete한다.
    delete from GL_BALANCES
    where set_of_books_id = <set of books id which has the corruption >
    and actual_flag = 'E'
    and encumbrance_type_id = <Encumbrance type id of the corrupt balances>
    and period_year >= <Fiscal year which has the corruption >
    4. GL_SETS_OF_BOOKS table 을 update 한다.
    Update gl_sets_of_books
    set latest_encumbrance_year = <last correct encumbrance year>
    where set_of_books_id = <set of books id>
    5. Encumbrance Year 를 재오픈한다.
    Period 화면에서 해당 encumbrance year를 재오픈한다.
    6. Journal Status를 update 한다.
    update GL_JE_BATCHES set status = 'U', status_verified = 'N'
    where default_period_name in <List of periods in the
    corrupt fiscal year starting with the first period in that year
    up to the latest open for that encumberance type>
    and actual_flag = 'E'
    and set_of_books_id = <set of books id which has the corruption>
    and je_batch_id in
    (SELECT je_batch_id
    from GL_JE_HEADERS
    where encumbrance_type_id = <Corrupt encumbrance type id>
    and actual_flag = 'E'
    and set_of_books_id = <Corrupt Set of books Id>
    and period_name in <List of corrupt periods starting
    with the first period in the corrupt fiscal year
    up to the latest open for that encumbrance type>
    update GL_JE_HEADERS set status = 'U'
    where period_name IN <List of periods in the corrupt fiscal year
    starting with the first period in that year up to the latest
    open for that encumbrance>
    and actual_flag = 'E'
    and encumberance_type_id = <Corrupt encumbrance type id>
    and set_of_books_id = <Corrupt set of books id>
    update GL_JE_LINES
    set status = 'U'
    where period_name IN <<List of periods in the corrupt fiscal year
    starting with the first period in that year up to the latest
    open for that encumbrance>
    and set_of_books_id = <Corrupt set of books id>
    and je_header_id IN
    (select je_header_id
    from GL_JE_HEADERS
    where period_name in <List of periods in the corrupt fiscal
    starting with the first period in that year up to the latest
    open for that encumbrance>
    and actual_flag = 'E'
    and encumberance_type_id = <Corrupt Encumbrance Type Id>
    and set_of_books_id = <Corrupt Set of Books Id>
    7. encumbrance journal 들을 repost 한다.
    Example
    Reference Documents
    Note 99415.1

    If you want to load balances at the time of go live.
    Create a clearing account like data take over A/c
    MM will upload material balances using tcode MB1C and movement type 561
    it will generate the following accounting entry
    Finished goods stock a/c          Debit
    Semi-Finished goods stock a/c Debit
    Raw Material stock a/c             Debit
    Packing Material stock a/c        Debit
    Stores and spares a/c              Debit
    Data take over                          Credit
    Customer a/c (not recon G/l) Debit
    Data takeover a/c                  Credit
    Data takeover a/c                Debit
    Vendor a/c (not recon GL) Credit
    For Asset - tcode OASV
    Plant and Machinery a/c          Dr
    Accumulated depreciation a/c Credit
    Data takeover a/c                    Credit
    Cash balance through FBCJ
    G/L Tcode F-02,
    Data takeover a/c     Debit  (Balancing figure)
    Bank a/c                    Debit
    Advances                 Debit
    Share capital a/c       Credit
    Short term Loan a/c   Credit
    Long term loan a/c     Credit

  • HOW TO ROLLBACK BUDGET BALANCE

    제품 : FIN_GL
    작성날짜 : 2005-05-10
    HOW TO ROLLBACK BUDGET BALANCE
    ==============================
    PURPOSE
    GL Budget Balance 의 Period 설정이 잘 못 되었거나 Budget Balance 가 잘 못 지정되었을 경우에 아래와 같은 step으로 Budget Balance 를 Roll back 한다.
    Problem Description
    고객이 Budget 화면에서 End Date 설정을 잘 못 하여 Period 가 잘못 지정되었는데 Budget Journal이 생성된 후에 End Date 설정을 강제로 변경 하고자 할 경우나 Budget Balance 자체에 문제가 있을 때 아래와 같은 Step 으로 Rollback 한다.
    Solution Description
    Step 1. 관련 데이타는 미리 Back up 받아 놓는다.
    Step 2. Delete 할 Period를 결정한다.
    Step 3. GL_BALANCES table에서 해당 period 의 budget balance 를 Delete 한다.
    DELETE from GL_BALANCES
    where set_of_books_id = <set of books id which has the corruption >
    and actual_flag = 'B'
    and budget_version_id = <Budget version id of the corrupt budget >
    and period_year >= <Fiscal year which has the corruption >
    Step 4. Journal Statuses 를 Update 한다.
    UPDATE GL_JE_BATCHES set status = 'U', status_verified = 'N'
    where default_period_name in <List of periods in the
    corrupt fiscal year starting with the first period in that year
    up to the latest open for that budget>
    and actual_flag = 'B'
    and set_of_books_id = <set of books id which has the corruption>
    and je_batch_id in
    (SELECT je_batch_id
    from GL_JE_HEADERS
    where budget_version_id = <Corrupt budget version id>
    and actual_flag = 'B'
    and set_of_books_id = <Corrupt Set of books Id>
    and period_name in <List of corrupt periods starting
    with the first period in the corrupt fiscal year
    up to the latest open for that budget>
    UPDATE GL_JE_HEADERS set status = 'U'
    where period_name IN <List of periods in the corrupt fiscal year
    starting with the first period in that year up to the latest
    open for that budget>
    and actual_flag = 'B'
    and budget_version_id = <Corrupt budget version id>
    and set_of_books_id = <Corrupt set of books id>;
    update GL_JE_LINES set status = 'U'
    where period_name IN <<List of periods in the corrupt fiscal year
    starting with the first period in that year up to the latest
    open for that budget>
    and set_of_books_id = <Corrupt set of books id>
    and je_header_id IN
    (select je_header_id
    from GL_JE_HEADERS
    where period_name in <List of periods in the corrupt fiscal
    starting with the first period in that year up to the latest
    open for that budget>
    and actual_flag = 'B'
    and budget_version_id = <Corrupt budget version Id>
    and set_of_books_id = <Corrupt Set of Books Id>
    Step 5. Latest Open Budget Period 를 update 한다.
    UPDATE GL_BUDGETS
    set latest_opened_year = <Year prior to the corrupt fiscal year>,
    last_valid_period_name = <last period for the year prior to the
    corrupt fiscal year>
    where budget_name = <Budget name of the corrupt budget>
    and budget_type = 'standard'
    and set_of_books_id = <Corrupt set of books id>;
    DELETE from GL_BUDGET_PERIOD_RANGES
    where budget_version_id = <Corrupt budget version id>
    and period_year = <Corrupt budget fiscal year >;
    Step 6. Budget Year 를 Reopen한다.
    GL Responsibility 로 Applications에 접속하여 Budget Year를 Open
    Step 7. Budget Journals 을 Repost 한다.
    해당 Budget Journals 를 Repost 처리 한다.

    If you want to load balances at the time of go live.
    Create a clearing account like data take over A/c
    MM will upload material balances using tcode MB1C and movement type 561
    it will generate the following accounting entry
    Finished goods stock a/c          Debit
    Semi-Finished goods stock a/c Debit
    Raw Material stock a/c             Debit
    Packing Material stock a/c        Debit
    Stores and spares a/c              Debit
    Data take over                          Credit
    Customer a/c (not recon G/l) Debit
    Data takeover a/c                  Credit
    Data takeover a/c                Debit
    Vendor a/c (not recon GL) Credit
    For Asset - tcode OASV
    Plant and Machinery a/c          Dr
    Accumulated depreciation a/c Credit
    Data takeover a/c                    Credit
    Cash balance through FBCJ
    G/L Tcode F-02,
    Data takeover a/c     Debit  (Balancing figure)
    Bank a/c                    Debit
    Advances                 Debit
    Share capital a/c       Credit
    Short term Loan a/c   Credit
    Long term loan a/c     Credit

  • Use of savepoint and rollback in trigger of forms

    I have a button in forms with next code
    --savepoint   
    SAVEPOINT SAVEP1;
    --Call procedure of BBDD: Changed data of tables
    Packet.procedureexample(..., bResult);
    --If not correct the execution -> rollback to savepoint and exit form
    IF NOT bResult THEN
      ROLLBACK TO SAVEPOINT SAVEP1;
      Exit_Form(NO_VALIDATE);
    END IF;
    -- Othe savepoint
    SAVEPOINT SAVEP2;
    --Call other procedure of BBDD: Changed data of tables
    Packet.procedureexample2(..., bResult);
    --If not correct the execution -> rollback to savepoint and exit form
    IF NOT bResult THEN
      ROLLBACK TO SAVEPOINT SAVEP2;
      Exit_Form(NO_VALIDATE);
    END IF;
    --All correct -> COMMIT
    COMMIT;This question is: if execution of "Packet.procedureexample" is correct, but the execution of "Packet.procedureexample2" isn't correct, what happend with data changed for first procedure (Packet.procedureexample).
    Thnks.

    Hi Jortri,
    If execution of "Packet.procedureexample" is correct, but the execution of "Packet.procedureexample2" isn't correct,
    Nothing will happen to data changed for Packet.procedureexample because it has not yet been committed.
    It's because when you are giving rollback to save point, you've also done Exit_Form(NO_VALIDATE); COMMIT is only at the last.
    Hence, if Packet.procedureexample2" is not correct, it'll roll back to save point 2(SAVEP2) and exit the form without validating.
    Since, commit is not issued till now, whatever data modification were done using Packet.procedureexample, are lost.
    If both of the packages data are independent of each other and you don't want to lose the change then issue a commit before creating second savepoint.
    Hope it helps.
    +Please mark answer as helpful / correct, if it helps you+
    Navnit
    Edited by: Navnit Punj on 17-Jun-2009 02:10

  • My iTunes will ONLY backup my iPhone ONCE *SO* VERY quickly, almost as if it's done nothing... (not the three options for rollback as promised) HELP! Please Read...

    Hi there,
       thanks in advance for any help you can give me on this, but, my iTunes will perform a backup on my iPhone ONCE. By which I mean, it will do another new backup again if I want it to, and that's all fine... but it's supposed to hold (I think) THREE states of backup that the user has saved at various points in order that the user can choose and rollback/restore from whichever one they want.
    There is none of that. I get the drop-down menu if I choose to restore... but it's pointless as there's only ever one option.
    At the moment, no matter how close together I perform the backups, or how far apart... I get ONE backup saved in my iTunes.
    As far as I can tell this is also ONE backup between iCloud or the computer. i.e. I don't get one for each. Just whichever I performed most recently.
      iTunes absolutely DID NOT used to do this. I used to get the three options and it took a little bit of a wait for the backup process to go through fully.
      Can anybody help or shed some light on this?
    As a sidenote: It's slightly concerning that the backup process it performs is now lightning quick and it almost seems as if it's doing nothing, when in fact my iPhone is absolutely, irresponsibly rammed with everything... hence the worrying need for backups and solving this issue etc. etc.
      Please can anyone help me with this, or even give a little support?
    P.S. Yes, I fully anticipate being told not to have my iPhone so stuffed etc. etc. It's got about 1-2gb free and I figure you should get to use what you pay for
      Thank you so much in advance.

       I have to say, this is so weird because it's actually become this way in the past week maybe, and I'm sure me saying this here will be disputed, ridiculed and belittled, and that's absolutely fair, but I've got to say it... up until a few days ago, my iTunes sync/backup area really would keep more than one backup for my one, single iPhone. They were all timed and dated with a drop-down menu (which appeared if I clicked the restore button) to choose which one I wanted to roll back to, for example. Sure, I'd read about the three backups thing etc. etc. and perhaps I got that wrong or misunderstood, but I can honestly say, I only ever had at the most two backups, that I could drop-down and choose to restore from. They were there. Same iPhone. Different dates.
       At the time, when this seemed to be the case, the backing-up process took quite a while. I would leave it to progress while I went and made a cup of tea, come back and it still wasn't finished running. So, not really AGES, but a little while.
       Now, when I perform a backup, the progress bar almost shoots across to a finish. I'll 'fess up... that worries me most of all. I can live without the luxury of a menu of backups... but if it does it once, I'd like to be sure it does it at all.
    Much more importantly though, thank you for your replies so far.
    Any further input, even if it's to belittle or shame is totally welcome. I'd like to understand this a bit more.
    Thanks again.

  • 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

  • What is the use of commit work and rollback work

    hao friends,
    what is the use of commitwork and rollback work where we can use these open sql statements .
    thanks,
    anji

    hi all
    i have written the following code in my development system to change the records of my database.
    SELECT * FROM zyikostl INTO TABLE itab.
      LOOP AT itab INTO wtab.
        tabix = sy-tabix.
        DO.
          READ TABLE itab INTO ktab WITH KEY kostl_alt = wtab-kostl_neu.
          IF sy-subrc = 0.
            wtab-kostl_neu = ktab-kostl_neu.
            MODIFY itab FROM wtab INDEX tabix.
            CONTINUE.
          ELSE.
            EXIT.
          ENDIF.
        ENDDO.
      ENDLOOP.
    MODIFY zyikostl FROM TABLE itab.
    In the development system i have only few records its working fine,but when it is been moved to test system there are 2500 records in the database so the report is taking much time(more than 5 hours )
    i sthere any solution for this ....
    thanks,
    vaasu.

  • MDB rollbacks and stops the listener port with error code 2072

    Hi
    We have a MDB listening on QUEUE1. This MDB processes the message and puts another message in QUEUE2. Transaction is "required" for this MDB.
    The processing could somtime take more than 2 min. We used to get EJB timeout error in this scenario. We changed EJB timeout to 5 min (default was 2 min). This resolved the timeout error. But it started throwing following exception. Note that if the processing takes less than 2 min, MDB never rollbacks.
    After this rollack, listener port can not pick up the next message and it throws error (MQJMS2002: failed to get message from MQ queue. MQ Error Code 2072) . It stops as a result and restarts after 60 sec. Even after restart it can not process the messages till we restart the JVM.
    Regarding error handling, Backout threshold is 3. If the message is redelivered, we discard this message.
    We are using 2 Phase commit for 2 resources MQ (5.3) and MS SQL.
    Websphere version is 5.1.
    Two issues here
    1. Why is MDB rolling back if processing takes more than 2 min.
    2. After the rollback, why is listener port not picking up the messages. Why do we need to recycle the JVM.
    Any pointers to resolve this issue?
    EXCEPTION
    [11/29/05 15:03:37:752 EST] 1b9bccc XATransaction E J2CA0027E: An exception occurred while invoking end on an XA Resource Adapter from dataSource JMS$postprocessor$JMSManagedConnection@25078403, within transaction ID {XID: formatId(57415344), gtrid_length(51), bqual_length(2, data(00000000000000950000000113238145f813eccfef12249c6aab206666f96901636c5f6170703130355f73656e7431715f716113238145f813eccfef12249c6aab206666f969010000000100000000)}: javax.transaction.xa.XAException: XA operation failed, see errorCode
    at com.ibm.mq.MQXAResource.end(MQXAResource.java:520)
    at com.ibm.ejs.jms.JMSManagedSession$JMSXAResource.end(JMSManagedSession.java:1557)
    at com.ibm.ejs.j2c.XATransactionWrapper.end(XATransactionWrapper.java:525)
    at com.ibm.ws.Transaction.JTA.JTAResourceBase.end(JTAResourceBase.java:253)
    at com.ibm.ws.Transaction.JTA.RegisteredResources.distributeEnd(RegisteredResources.java:629)
    at com.ibm.ws.Transaction.JTA.TransactionImpl.internalPrepare(TransactionImpl.java:1241)
    at com.ibm.ws.Transaction.JTA.TransactionImpl.commit(TransactionImpl.java:981)
    at com.ibm.ws.Transaction.JTA.TranManagerImpl.commit(TranManagerImpl.java:150)
    at com.ibm.ws.Transaction.JTA.TranManagerSet.commit(TranManagerSet.java:177)
    at com.ibm.ejs.csi.TranStrategy.commit(TranStrategy.java:712)
    at com.ibm.ejs.csi.TranStrategy.postInvoke(TranStrategy.java:167)
    at com.ibm.ejs.csi.TransactionControlImpl.postInvoke(TransactionControlImpl.java:570)
    at com.ibm.ejs.container.EJSContainer.postInvoke(EJSContainer.java:3068)
    at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:102)
    at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:127)
    at com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java:375)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:912)
    [11/29/05 15:03:38:089 EST] 1b9bccc ServerSession W WMSG0031E: Exception processing JMS Message for MDB BatchProcessorMDB, JMSDestination jms/PostprocessorQ : javax.ejb.TransactionRolledbackLocalException: ; nested exception is: com.ibm.ws.exception.WsEJBException
    com.ibm.ws.exception.WsEJBException
    at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapException(LocalExceptionMappingStrategy.java:159)
    at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapCSITransactionRolledBackException(LocalExceptionMappingStrategy.java:293)
    at com.ibm.ejs.container.EJSContainer.postInvoke(EJSContainer.java:3159)
    at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:102)
    at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:127)
    at com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java:375)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:912)
    javax.ejb.TransactionRolledbackLocalException: ; nested exception is: com.ibm.ws.exception.WsEJBException
    at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapCSIException(LocalExceptionMappingStrategy.java:96)
    at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapException(LocalExceptionMappingStrategy.java:165)
    at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapCSITransactionRolledBackException(LocalExceptionMappingStrategy.java:293)
    at com.ibm.ejs.container.EJSContainer.postInvoke(EJSContainer.java:3159)
    at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:102)
    at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:127)
    at com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java:375)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:912)
    [11/29/05 15:03:38:124 EST] 1e9aa18 JMSExceptionL E WMSG0018E: Error on JMSConnection for MDB BatchProcessorMDB , JMSDestination jms/PostprocessorQ : javax.jms.JMSException: MQJMS2002: failed to get message from MQ queue
    at com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java:553)
    at com.ibm.mq.jms.MQSession.consume(MQSession.java:3144)
    at com.ibm.mq.jms.MQSession.run(MQSession.java:1585)
    at com.ibm.ejs.jms.JMSSessionHandle.run(JMSSessionHandle.java:924)
    at com.ibm.ejs.jms.listener.ServerSession.connectionConsumerOnMessage(ServerSession.java:752)
    at com.ibm.ejs.jms.listener.ServerSession.onMessage(ServerSession.java:527)
    at com.ibm.ejs.jms.listener.ServerSession.dispatch(ServerSession.java:494)
    at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at com.ibm.ejs.jms.listener.ServerSessionDispatcher.dispatch(ServerSessionDispatcher.java:37)
    at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:91)
    at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:127)
    at com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java:375)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:912)
    ---- Begin backtrace for Nested Throwables
    com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2072
    at com.ibm.mq.jms.MQSession.consume(MQSession.java:3118)
    at com.ibm.mq.jms.MQSession.run(MQSession.java:1585)
    at com.ibm.ejs.jms.JMSSessionHandle.run(JMSSessionHandle.java:924)
    at com.ibm.ejs.jms.listener.ServerSession.connectionConsumerOnMessage(ServerSession.java:752)
    at com.ibm.ejs.jms.listener.ServerSession.onMessage(ServerSession.java:527)
    at com.ibm.ejs.jms.listener.ServerSession.dispatch(ServerSession.java:494)
    at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at com.ibm.ejs.jms.listener.ServerSessionDispatcher.dispatch(ServerSessionDispatcher.java:37)
    at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:91)
    at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:127)
    at com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java:375)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:912)
    [11/29/05 15:03:38:149 EST] 1e9aa18 JMSExceptionL E WMSG0057E: Error on JMSConnection for MDB BatchProcessorMDB , JMSDestination jms/PostprocessorQ , JMS Linked Exception : com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2072
    at com.ibm.mq.jms.MQSession.consume(MQSession.java:3118)
    at com.ibm.mq.jms.MQSession.run(MQSession.java:1585)
    at com.ibm.ejs.jms.JMSSessionHandle.run(JMSSessionHandle.java:924)
    at com.ibm.ejs.jms.listener.ServerSession.connectionConsumerOnMessage(ServerSession.java:752)
    at com.ibm.ejs.jms.listener.ServerSession.onMessage(ServerSession.java:527)
    at com.ibm.ejs.jms.listener.ServerSession.dispatch(ServerSession.java:494)
    at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at com.ibm.ejs.jms.listener.ServerSessionDispatcher.dispatch(ServerSessionDispatcher.java:37)
    at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:91)
    at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:127)
    at com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java:375)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:912)
    [11/29/05 15:03:38:190 EST] 1e9aa18 MDBListenerIm I WMSG0043I: MDB Listener ProcessorLP stopped for JMSDestination jms/PostprocessorQ
    [11/29/05 15:03:38:192 EST] 1e9aa18 MDBListenerIm I WMSG0058I: Listener Port ProcessorLP will attempt to restart in 60 seconds
    [11/29/05 15:03:38:194 EST] 1e9aa18 ConnectionEve A J2CA0056I: The Connection Manager received a fatal connection error from the Resource Adaptor for resource jms/PostprocessorQF. The exception which was received is javax.jms.JMSException: MQJMS2002: failed to get message from MQ queue
    [11/29/05 15:04:38:230 EST] 1436f66 MDBListenerIm I WMSG0042I: MDB Listener ProcessorLP started successfully for JMSDestination jms/PostprocessorQ

    Have been able to solve this problem? The same occurs in our environment. I have a nagging feelin git has something to do with a known bug that is solved in some fixpack or something. We're on Websphere 5.1.1.4.
    Any feedback would be appreciated.
    Thanks,
    Jaap

  • MDB Distributed transaction and stored procedure rollback

    Hi All,
    I am developing an asynchronous application using MDB. My application flow is as follows:
    1. From MDB onMessage i am calling another method MEthodA that
    a. calls a simple pojo1 where I am getting a Connection on XA enable datasource1 and executing Stored Procedure1 of DatabaseSchema1. In Stored Procedure1 I have some inner savpoints and rollback. No commit is inside Stored Procedure1 .
    b. In that pojo withput commiting m closing the connection and coming back in MethodA.
    c. Again from MethodA m calling an different pojo2 where I am getting a new Connection on XA enable datasource2 and executing Stored Procedure2 of DatabaseSchema1.In this pojo also without commiting m closing the connection and coming back in MethodA. In Stored Procedure2 I have some inner savpoints and rollback. No commit is inside Stored Procedure2 .
    d. Again from MethodA m calling pojo1 where I am getting a new Connection on XA enable datasource1 and executing a diffrent function of Stored Procedure1 of DatabaseSchema1.
    Now problem is:
    I have written some Savepoint and rollback inside Stored Procedure1 and inside Stored Procedure2. But these rollback is working only in inside Stored Procedure1 not in inside Stored Procedure2 in each case.
    In ejb-jar.xml transaction attributes is Required for all methods and transaction type is Container.
    Backend is Oracle 10g and init.xa has already been run on that.
    I have tested this on Oc4J and Websphere 6.0.
    I am using XaDatasource.
    Will be very obliged if any one can give a single hint of the problem as soon as possible.
    Thanks a lot

    Hi Kent;
      You have a few choices (AFAIK) with ASE...
    1)  AutoCommit = TRUE
      - must be before connect to your DB
    2) End your PB transaction first. For example
    String ls_end    =  "END TRANSACTION"
    String ls_begin  =  "BEGIN TRANSACTION"
    EXECUTE IMMEDIATE  ls_end using SQLCA;
    <call your SP>
    EXECUTE IMMEDIATE  ls_begin using SQLCA;
    3) use a 2nd Transaction Object for the SP where its AutoCommit = TRUE
    - or -
    4) In your SP ...
    Commit Transaction
    begin transaction
        insert into mytab (pub_id) values ("9999")
    commit transaction

  • Way to rollback only one row of a view object

    Is there a way to "rollback" only one row of a view object? That is, two or more rows have been modified but we wish to only restore one of the rows to the original (database) values.
    Is there a way to retain all of the current rows in all of the view objects for an application module after issuing a jbo:Rollback?
    Thanks

    Is there a way to "rollback" only one row of a view object? That is, two or more rows have been modified but we wish to only restore one of the rows to the original (database) values.In jdev903, a new method is being added to Row interface to reset the row state to the transaction-original state i.e., rollback the row to it's original values.
    Is there a way to retain all of the current rows in all of the view objects for an application module after issuing a jbo:Rollback?No. You may however override before/afterRollback methods on the ViewObjectImpl subclasses to cache the current row key in beforeRollback and restore currency on the default iterator to that rowkey in afterRollback
    Thanks

  • 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!

  • Forcing a specific rollback segment on a transaction does not seem to work

    Hi!
    We're using Oracle 9.2.0.5.0 on Sun Solaris and we're still configured to use Rollback Segments.
    We have an issue with Snapshot too old due to RBS too small on a long query I attach below for reference:
    set heading off
    set pagesize 0
    set feedback off
    set linesize 200
    <<<<< SET TRANSACTION USE ROLLBACK SEGMENT UMF_RBS_LARGE_TRAN; <<<<<
    SELECT ucms_cards.msisdn
    || ';;' || to_char(to_date(substr(ucms_cards.notes,14+length(ucms_cards.msisdn),19),'MM-DD-YYYY.HH24-MI-SS'),'DD/MM/YYYY HH24:MI:SS')
    || ';;' || to_char(ucms_batches.expiry_date,'dd/mm/yyyy')
    || ';;' || ucms_cards.serial_no
    || ';;' || ucms_cards.serial_no
    || ';;' || ucms_cards.batch_serial_no
    || ';;' || ' '
    || ';;' || CASE ucms_cards.card_status
    WHEN 'used' THEN '1'
    ELSE '0'
    END
    || ';;' || CASE WHEN date_booked_in is null THEN '01/01/1970 00:00:00' ELSE to_char(date_booked_in,'DD/MM/YYYY') || ' 00:00:00' END
    || ';;' || ' '
    from ucms_batches,ucms_cards, UCMS_EVENT_LOG
    WHERE ucms_cards.batch_serial_no = ucms_batches.serial_no
    AND ucms_cards.serial_no = substr(UCMS_EVENT_LOG.ENTITY_ID,11,length(UCMS_EVENT_LOG.ENTITY_ID)-9)
    AND UCMS_EVENT_LOG.PARTY_NO in (0)
    AND UCMS_EVENT_LOG.TIMESTAMP>=TO_TIMESTAMP(TO_CHAR(SYSDATE-1, 'DD-MM-YYYY') || ' 00:00:01', 'DD-MM-YYYY HH24:MI:SS')
    AND UCMS_EVENT_LOG.TIMESTAMP<=TO_TIMESTAMP(TO_CHAR(SYSDATE-1, 'DD-MM-YYYY') || ' 23:59:59', 'DD-MM-YYYY HH24:MI:SS')
    AND UCMS_EVENT_LOG.USER_ID LIKE 'SCP-AGENT1%'
    AND UCMS_EVENT_LOG.EVENT_TYPE_ID IN (1,2)
    AND UCMS_EVENT_LOG.ENTITY_TYPE_ID LIKE 'ucms_cards%'
    UNION
    SELECT ucms_imported_cards.msisdn
    || ';;' || to_char(to_date(substr(ucms_imported_cards.notes,14+length(ucms_imported_cards.msisdn),19),'MM-DD-YYYY.HH24-MI-SS'),'DD/MM/YYYY H24:MI:SS')
    || ';;' || to_char(ucms_imported_cards.expiry_date,'dd/mm/yyyy')
    || ';;' || ucms_imported_cards.serial_no
    || ';;' || ucms_imported_cards.serial_no
    || ';;' || DBMS_UTILITY.GET_HASH_VALUE(ucms_imported_cards.card_type,1,65536)
    || ';;' || ' '
    || ';;' || CASE ucms_imported_cards.card_status
    WHEN 'used' THEN '1'
    ELSE '0'
    END
    || ';;' || '01/01/1970 00:00:00'
    || ';;' || ' '
    from ucms_imported_cards, UCMS_EVENT_LOG
    where ucms_imported_cards.serial_no = substr(UCMS_EVENT_LOG.ENTITY_ID,11,length(UCMS_EVENT_LOG.ENTITY_ID)-9)
    AND UCMS_EVENT_LOG.PARTY_NO in (0)
    AND UCMS_EVENT_LOG.TIMESTAMP>=TO_TIMESTAMP(TO_CHAR(SYSDATE-1, 'DD-MM-YYYY') || ' 00:00:01', 'DD-MM-YYYY HH24:MI:SS')
    AND UCMS_EVENT_LOG.TIMESTAMP<=TO_TIMESTAMP(TO_CHAR(SYSDATE-1, 'DD-MM-YYYY') || ' 23:59:59', 'DD-MM-YYYY HH24:MI:SS')
    AND UCMS_EVENT_LOG.USER_ID LIKE 'SCP-AGENT1%'
    AND UCMS_EVENT_LOG.EVENT_TYPE_ID LIKE '2%'
    AND UCMS_EVENT_LOG.ENTITY_TYPE_ID LIKE 'ucms_imported_cards%';
    As you see we forced the session to use a huge RBS created for the purpose, but strangely after a long while the query fails with a RBS too small failure due to another RBS, not the one specified.
    Is there any chance the UNION or any other component of the query is implicitly opening a new transaction with a different RBS associated?
    Any chance to force the same RBS specified explicitly?
    Thanks!
    Mike

    albertone wrote:
    but strangely after a long while the query fails with a RBS too small failure due to another RBS, not the one specified.You misunderstand snapshot too old. It can be caused by other sessions same as by your session. Assume AFTER your session issued select some other session modified one (or more) tables ucms_batches, ucms_cards, UCMS_EVENT_LOG and committed changes. By the time your select reaches to fetch rows modified by that other session rollback extents in rollback segment used by that other session were reused. You will get snapshot too old. Bottom line - all sessions modifying table(s) used by your select must use rollback segments large enough so they are not overwritten before corresponding rows are needed by your select.
    SY.

Maybe you are looking for

  • Problem with file archival. Please help

    Hi Experts,   I have a requirement where XI reads input file via File adapter. Once the file is read successfully I need to archive it. I also need to append timestamp to the archived file. After 10 days the archived file should be deleted. How to ac

  • Grouping similar movies under one thumbnail

    Hi, I've bought a few movies from iTunes that are part of a series, like Star Trek, Die Hard, etc. I want to group such moves together so that (for example), all the Star Treks appear together under one thumbnail - like episodes are grouped in season

  • WSRP and File Uploads

    Hello, I am using BEA 8.1 SP4. I am trying to find out the status of being able to do file uploads in portlets being displayed remotely. I have a JSR-168 portlet which simply does a file upload to the server. The JSP page that renders the content con

  • HT4993 i have iphone5 A1429 locked by sprint. now i am in Saudia Arabia. i want to unlock it for all carrier. pls help me.

    i have iphone5 A1429 locked by sprint. now i am in Saudia Arabia. i want to unlock it for all carrier. pls help me.

  • Where can i find this file

    hi, i'm exucuting this : java[b] org.globus.wsrf.tools.wsdl.WSDLPreprocessor and i've an error: [main] ERROR wsdl.WSDLPreprocessor - ERROR: Couldn't read WSDL input file /home/chakib/Plateforme/org/globus/build/schema/exemple/blog.wsdl where can i fo