Direct read causing locks in Table - NRIV

Hi Guys,  since the kernel upgrade the system has been having a huge number of dumps & the performance has gone down drastically.  did some checking on SM50 & DB01, i can see so many locks on the NRIV table.
Has anyone come across this issue before ?
Thanks in advance
Chris
Termination occurred in the ABAP program "SAPLSNR3" - in "READ_NRIV".
The main program was "RBDAPP01 ".
In the source code you have the termination point in line 245
of the (Include) program "LSNR3F01".
The program "SAPLSNR3" was started as a background job.
Job Name....... "Z_AUTOBILL"
Job Initiator.. "BATCHADM"
Job Number..... 15174905
The termination is caused because exception "CX_SY_OPEN_SQL_DB" occurred in
procedure "READ_NRIV" "(FORM)", but it was neither handled locally nor declared
in the RAISING clause of its signature.
The procedure is in program "SAPLSNR3 "; its source code begins in line
240 of the (Include program "LSNR3F01 ".
>>>>>     SELECT SINGLE FOR UPDATE * FROM NRIV WHERE
  246                                      OBJECT    = P_OBJECT
  247                                  AND SUBOBJECT = P_SUBOBJECT
  248                                 AND NRRANGENR = P_NR_RANGE_NR
  249                                  AND TOYEAR    = '0000'.

Hi Chris,
unfortunately, this is "normal" and a typical application issue.
NRIV is "THE" number buffering table. If you do have locks there, you have to investigate the currently running and failing applications. One of them will not work properly with the number rage table.
Perhaps, it might be an option, to buffer the table for the "row in problem" - but this needs to be discussed with the application people, because sometimes, this is forbidden.
Regards
Volker Gueldenpfennig, consolut international ag
http://www.consolut.net - http://www.4soi.de - http://www.easymarketplace.de

Similar Messages

  • Help on locking MySQL tables (many can read, but only one can write) Java

    Hi there,
    I have a question regarding locking of tables so that only one person can write to the file, but many are able to read the files (or tables entities).
    I am not sure if I need to lock the tables in my Java code or do I lock the tables within the MySQL syntax. I'm just a little confused on the matter.
    This java code is a working prototype of inserting a customer data into the database and that works fine. I just don't know how to implement it so that only one person can update the table at a time.
    Here is the Customer.java code that I have written.
    Help would be greatly appreciated, thanks so much.
    package business;
    //~--- non-JDK imports --------------------------------------------------------
    import shared.info.CustomerInfo;
    //~--- JDK imports ------------------------------------------------------------
    import java.sql.*;
    * @author
    public class Customer {
        static Connection    con  = DBConnection.getConnection();
        private CustomerInfo info = new CustomerInfo();
        private String               customerID;
        private String               firstName;
        private String               lastName;
        private String               email;
        private String               addressID;
        private String               homePhone;
        private String               workPhone;
        private String               unitNum;
        private String               streetNum;
        private String               streetName;
        private String               city;
        private String               provinceState;
        private String               country;
        private String               zipPostalCode;
        public Customer(String id) {
            try {
                PreparedStatement pstmt = con.prepareStatement("SELECT * FROM " +
                        "Customer NATURAL JOIN Address WHERE CustomerID = ?");
                pstmt.setString(1, id);
                ResultSet rs = pstmt.executeQuery();
                while (rs.next()) {
                    customerID    = rs.getString("CustomerID");
                    firstName     = rs.getString("FirstName");
                    lastName      = rs.getString("LastName");
                    homePhone     = rs.getString("HomePhone");
                    workPhone     = rs.getString("WorkPhone");
                    email         = rs.getString("Email");
                    city          = rs.getString("City");
                    provinceState = rs.getString("ProvinceState");
                    country       = rs.getString("Country");
                    zipPostalCode = rs.getString("ZipPostalCode");
                    unitNum       = rs.getString("UnitNum");
                    streetNum     = rs.getString("StreetNum");
                    streetName    = rs.getString("StreetName");
                    addressID     = rs.getString("AddressId");
            } catch (SQLException e) {
                e.printStackTrace();
            info.setCustomerID(customerID);
            info.setFirstName(firstName);
            info.setLastName(lastName);
            info.setHomePhone(homePhone);
            info.setWorkPhone(workPhone);
            info.setEmail(email);
            info.setCity(city);
            info.setProvinceState(provinceState);
            info.setCountry(country);
            info.setZipPostalCode(zipPostalCode);
            info.setUnitNum(unitNum);
            info.setStreetNum(streetNum);
            info.setStreetName(streetName);
            info.setAddressID(addressID);
        public static void addCustomer(CustomerInfo cust) {
            try {
                int id = -1;
                PreparedStatement pstmt = con.prepareStatement("INSERT INTO Address" +
                        "(UnitNum, StreetNum, StreetName, City, ProvinceState, Country," +
                        " ZipPostalCode) VALUES(?, ?, ?, ?, ?, ?, ?)");
                pstmt.setString(1, cust.getUnitNum());
                pstmt.setString(2, cust.getStreetNum());
                pstmt.setString(3, cust.getStreetName());
                pstmt.setString(4, cust.getCity());
                pstmt.setString(5, cust.getProvinceState());
                pstmt.setString(6, cust.getCountry());
                pstmt.setString(7, cust.getZipPostalCode());
                pstmt.executeUpdate();
                ResultSet rs = pstmt.getGeneratedKeys();
                rs.next();
                id = rs.getInt(1);
                pstmt = con.prepareStatement("INSERT INTO Customer" +
                        "(FirstName, LastName, HomePhone, WorkPhone, Email, AddressID)"
                        + "VALUES(?, ?, ?, ?, ?, ?)");
                pstmt.setString(1, cust.getFirstName());
                pstmt.setString(2, cust.getLastName());
                pstmt.setString(3, cust.getHomePhone());
                pstmt.setString(4, cust.getWorkPhone());
                pstmt.setString(5, cust.getEmail());
                pstmt.setInt(6, id);
                pstmt.executeUpdate();
            } catch (SQLException e) {
                e.printStackTrace();
        public void setFirstName(String newName) {
            try {
                PreparedStatement pstmt = con.prepareStatement("UPDATE Customer"
                                              + " SET FirstName = ? WHERE CustomerID = ?");
                pstmt.setString(1, newName);
                pstmt.setString(2, customerID);
                pstmt.executeUpdate();
            } catch (SQLException e) {
                e.printStackTrace();
            firstName = newName;
        public void setLastName(String newName) {
            try {
                PreparedStatement pstmt = con.prepareStatement("UPDATE Customer"
                                              + " SET LastName = ? WHERE CustomerID = ?");
                pstmt.setString(1, newName);
                pstmt.setString(2, customerID);
                pstmt.executeUpdate();
            } catch (SQLException e) {
                e.printStackTrace();
            lastName = newName;
        public String getFirstName() {
            return firstName;
        public String getLastName() {
            return lastName;
        public void setHomePhone(String number) {
            try {
                PreparedStatement pstmt = con.prepareStatement("UPDATE Customer"
                                              + " SET HomePhone = ? WHERE CustomerID = ?");
                pstmt.setString(1, number);
                pstmt.setString(2, customerID);
                pstmt.executeUpdate();
            } catch (SQLException e) {
                e.printStackTrace();
            homePhone = number;
        public String getHomePhone() {
            return homePhone;
        public void setWorkPhone(String number) {
            try {
                PreparedStatement pstmt = con.prepareStatement("UPDATE Customer"
                                              + " SET WorkPhone = ? WHERE CustomerID = ?");
                pstmt.setString(1, number);
                pstmt.setString(2, customerID);
                pstmt.executeUpdate();
            } catch (SQLException e) {
                e.printStackTrace();
            workPhone = number;
        public String getWorkPhone() {
            return workPhone;
        public void setEmail(String email) {
            try {
                PreparedStatement pstmt = con.prepareStatement("UPDATE Customer" + " SET Email = ? WHERE CustomerID = ?");
                pstmt.setString(1, email);
                pstmt.setString(2, customerID);
                pstmt.executeUpdate();
            } catch (SQLException e) {
                e.printStackTrace();
            this.email = email;
        public String getEmail() {
            return email;
        public void setUnitNum(String num) {
            try {
                PreparedStatement pstmt = con.prepareStatement("UPDATE Address" + " SET UnitNum = ? WHERE AddressId = ?");
                pstmt.setString(1, num);
                pstmt.setString(2, addressID);
                pstmt.executeUpdate();
            } catch (SQLException e) {
                e.printStackTrace();
            unitNum = num;
        public String getUnitNum() {
            return unitNum;
        public void setCity(String city) {
            try {
                PreparedStatement pstmt = con.prepareStatement("UPDATE Address" + " SET City = ? WHERE AddressId = ?");
                pstmt.setString(1, city);
                pstmt.setString(2, addressID);
                pstmt.executeUpdate();
            } catch (SQLException e) {
                e.printStackTrace();
            this.city = city;
        public String getCity() {
            return city;
        public void setStreetNum(String num) {
            try {
                PreparedStatement pstmt = con.prepareStatement("UPDATE Address" + " SET StreetNum = ? WHERE AddressId = ?");
                pstmt.setString(1, num);
                pstmt.setString(2, addressID);
                pstmt.executeUpdate();
            } catch (SQLException e) {
                e.printStackTrace();
            streetNum = num;
        public String getStreetNum() {
            return streetNum;
        public void setStreetName(String name) {
            try {
                PreparedStatement pstmt = con.prepareStatement("UPDATE Address"
                                              + " SET StreetName = ? WHERE AddressId = ?");
                pstmt.setString(1, name);
                pstmt.setString(2, addressID);
                pstmt.executeUpdate();
            } catch (SQLException e) {
                e.printStackTrace();
            streetName = name;
        public String getStreetName() {
            return streetName;
        public void setZipPostalCode(String code) {
            try {
                PreparedStatement pstmt = con.prepareStatement("UPDATE Address"
                                              + " SET ZipPostalCode = ? WHERE AddressId = ?");
                pstmt.setString(1, code);
                pstmt.setString(2, addressID);
                pstmt.executeUpdate();
            } catch (SQLException e) {
                e.printStackTrace();
            zipPostalCode = code;
        public String getZipPostalCode() {
            return zipPostalCode;
        public CustomerInfo getInfo(){
            return info;
        static void deleteCustomer(String customerId) {
            try{
                PreparedStatement pstmt = con.prepareStatement("DELETE FROM Customer" +
                        " WHERE CustomerId = ?");
                pstmt.setString(1, customerId);
                pstmt.executeUpdate();
            }catch(SQLException e){
                e.printStackTrace();
        static void updateCustomer(CustomerInfo custInf) {
            try{
                PreparedStatement pstmt = con.prepareStatement("UPDATE customer" +
                        " SET firstName = ?, SET lastName = ?," +
                        " SET homePhone = ?, SET workPhone = ?, SET email = ?" +
                        " WHERE CustomerId = ?");
                pstmt.setString(1, custInf.getFirstName());
                pstmt.setString(2, custInf.getLastName());
                pstmt.setString(3, custInf.getHomePhone());
                pstmt.setString(4, custInf.getWorkPhone());
                pstmt.setString(5, custInf.getEmail());
                pstmt.setString(6, custInf.getCustomerID());
                pstmt.executeUpdate();
                pstmt = con.prepareStatement("UPDATE address" +
                        " SET unitNum = ?, SET StreetNum = ?, SET StreetName = ?," +
                        " SET city = ?,SET Province = ?,SET country = ?,SET ZipPostalCode = ?" +
                        " WHERE AddressId = ?");
                pstmt.setString(1, custInf.getUnitNum());
                pstmt.setString(2, custInf.getStreetNum());
                pstmt.setString(3, custInf.getStreetName());
                pstmt.setString(4, custInf.getCity());
                pstmt.setString(5, custInf.getProvinceState());
                pstmt.setString(6, custInf.getCountry());
                pstmt.setString(7, custInf.getZipPostalCode());
                pstmt.setString(8, custInf.getAddressID());
                pstmt.executeUpdate();
            }catch(SQLException e){
                e.printStackTrace();
    }In addition, here is my customer sql table.
    -- Table structure for table `customer`
    DROP TABLE IF EXISTS `customer`;
    CREATE TABLE `customer` (
    `CustomerID` mediumint(9) NOT NULL auto_increment,
    `FirstName` varchar(20) NOT NULL,
    `LastName` varchar(20) NOT NULL,
    `HomePhone` varchar(11) NOT NULL,
    `WorkPhone` varchar(11) default NULL,
    `Email` varchar(20) NOT NULL,
    `AddressID` mediumint(9) default NULL,
    PRIMARY KEY (`CustomerID`),
    KEY `AddressID` (`AddressID`),
    CONSTRAINT `customer_ibfk_1` FOREIGN KEY (`AddressID`) REFERENCES `address` (`AddressID`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
    -- Dumping data for table `customer`
    LOCK TABLES `customer` WRITE;
    /*!40000 ALTER TABLE `customer` DISABLE KEYS */;
    /*!40000 ALTER TABLE `customer` ENABLE KEYS */;
    UNLOCK TABLES;

    to the best of my knowledge, this is something related to the database and not the programming. If you'd want to be the only user to read and edit the table, speicify only one user with that privilege and make it password protected. User must enter the password to write to the tables.

  • Do I have to use lock when I am reading data from a table

    Hi,
    When i am reading data from a table , do I have to set a lock on that table .
    Is it necessary for us to set the lock on a table when I am reading data from the table.
    When I am updating the table , do I have to set a lock on the table ?
    If yes, then what sort of lock-read lock,write lock or shared lock?
    Regards,
    Sushanth H.S.

    check it out,
    Lock objects are use in SAP to avoid the inconsistancy at the time of data is being insert/change into database.
    SAP Provide three type of Lock objects.
    - Read Lock(Shared Locked)
    protects read access to an object. The read lock allows other transactions read access but not write access to
    the locked area of the table
    - Write Lock(exclusive lock)
    protects write access to an object. The write lock allows other transactions neither read nor write access to
    the locked area of the table.
    - Enhanced write lock (exclusive lock without cumulating)
    works like a write lock except that the enhanced write lock also protects from further accesses from the
    same transaction.
    You can create a lock on a object of SAP thorugh transaction SE11 and enter any meaningful name start with EZ Example EZTEST_LOCK.
    Use: you can see in almost all transaction when you are open an object in Change mode SAP could not allow to any other user to open the same object in change mode.
    Example: in HR when we are enter a personal number in master data maintainance screen SAP can't allow to any other user to use same personal number for changes.
    Technicaly:
    When you create a lock object System automatically creat two function module.
    1. ENQUEUE_<Lockobject name>. to insert the object in a queue.
    2. DEQUEUE_<Lockobject name>. To remove the object is being queued through above FM.
    You have to use these function module in your program.
    check this link for example.
    http://help.sap.com/saphelp_nw04s/helpdata/en/cf/21eea5446011d189700000e8322d00/content.htm
    tables:vbak.
    call function 'ENQUEUE_EZLOCK3'
    exporting
    mode_vbak = 'E'
    mandt = sy-mandt
    vbeln = vbak-vbeln
    X_VBELN = ' '
    _SCOPE = '2'
    _WAIT = ' '
    _COLLECT = ' '
    EXCEPTIONS
    FOREIGN_LOCK = 1
    SYSTEM_FAILURE = 2
    OTHERS = 3
    if sy-subrc 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    endif.
    Normally ABAPers will create the Lock objects, because we know when to lock and how to lock and where to lock the Object then after completing our updations we unlock the Objects in the Tables
    http://help.sap.com/saphelp_nw04s/helpdata/en/cf/21eea5446011d189700000e8322d00/content.htm
    purpose: If multiple user try to access a database object, inconsistency may occer. To avoid that inconsistency and to let multiple user give the accessibility of the database objects the locking mechanism is used.
    Steps: first we create a loc object in se11 . Suppose for a table mara. It will create two functional module.:
    1. enque_lockobject
    1. deque_lockobject
    before updating any table first we lock the table by calling enque_lockobject fm and then after updating we release the lock by deque_lockobject.
    Select the radio button "Lock object"..
    Give the name starts with EZ or EY..
    Example: EYTEST
    Press Create button..
    Give the short description..
    Example: Lock object for table ZTABLE..
    In the tables tab..Give the table name..
    Example: ZTABLE
    Save and generate..
    Your lock object is now created..You can see the LOCK MODULES..
    In the menu ..GOTO -> LOCK MODULES..There you can see the ENQUEUE and DEQUEUE function
    Reward if helpful

  • Can I use APEX directly read/sync with the Oracle Tables ?

    We have a Oracle Database to manage the design data.I am trying to setup a web-based front end using APEX to manage & monitor the parts ordering & logisitics.I want to drive the master data directly from the database without any export or data transfer ? Can I directly read or Link an Oracle tables from APEX application.
    Also,once this is setup,I am looking for setting up some data entry fields to enter Purchasing & Logistics information.Hope I can achieve this using APEX !
    Look forward for the appropriate response.
    Thanks,
    Sham

    Tony,
    Thanks & Appreciate your Quick response.
    Glad that I can use the existing Oracle db schema with APEX.I am not sure if there is any information as how I can connect or link my production schema to the APEX ! I was able to import .csv files & use XL data to create some test databases & play with APEX..but,I did try to go thru most of the instructions & guides to find how to use the production oracle tables,but,could not find anything particular...Please send me a link or material info.
    I suppose I can then use which ever attribute or table data that is required to build the queries ! I am planning to use the production data to build the ordering & logistics application using APEX.Assume I can create new fields & columns for parts that will be ordered & capture/record the purchasing information like Purchase order numbers/Supplier Info/Target Delivery dates etc...
    - Am on very tight schedules to get this application up & running ! Is there any support team or a technical support team that I can call upon if I need any help ?
    Thanks,
    Sham

  • Does MM_EKKO  archive write job lock the tables?

    Archive experts,
    We run MM_EKKO archiving twice a week. From my understanding the write job just read the data and write it to archive files. But we run Replenishment jobs which hit EKPO tables, the jobs run slow, and I noticed that the archive write job is holding the locks on this table. As soon as I cancelled the write job, the replenishment jobs move faster. why this happens?  Archive write jobs should not be causing any performance issues, only the delete jobs will impact the performance. Am I correct?  Is any one experiencing similar issues?
    Sam

    Hi Sam,
    Interesting question! Your understanding is correct, write job just reads the data from tables and writes it into archive files... but....write job of MM_EKKO (and MM_EBAN) is a bit different. The MM_EKKO write job also takes care of setting the deletion indicator (depending on whether its a one step or two step archiving. So its possible that it puts a lock during the process of setting the deletion indicator, as its a change to database.
    please have a look at the folloing link for the explanation of one step and two step archiving:
    http://help.sap.com/saphelp_47x200/helpdata/en/9b/c0963457889b37e10000009b38f83b/frameset.htm
    Hope this explains the reason for the performance problem you are facing.
    Regards,
    Naveen

  • How to LOCK a table in SAP?

    Hi,
    Just wondering is there a way we can lock a table in SAP?
    tcode or something?
    ex. there a tcode to lock tcodes (SM01)
    so wondering if there is a tcode or another method?
    Thanks!

    Hi,
    These are application locks not the database tables lock.
    If you use this function modules (enqeue and dequeue)
    then only it works the concept of locking.If you dont use this fms then you can directly access the table.
    If I am the developer and I dont implement the  locks then no locking concept would happen.
    Regards,
    Vamshi.

  • Locking the table

    Hi folks,
    I am new to using Numbers, or any spreadsheet for that matter, so I'm pretty baffled.
    I created a table to use in my lesson planning, as I found inserting a table into a Pages document didn't serve my purposes. The table looks great, but here's my problem:
    I created a large area in the middle of the page in which to type text by merging a whole whack of cells. I did this as it seemed like the best way to create a large area but still maintain the integrity of the format of the page. The problem, however, is that I have no clue how to lock the table - to set the table so that none of the cells change size when I insert text. I have been typing in the text, and the cell keeps expanding, and I have no idea why - I haven't reached the "end" of the cell so I'm not sure why it's not just staying the same size.
    I tried to read through the user guide, but I wasn't able to find what I'm looking for.
    Thanks folks,
    Shawn

    Shawn,
    Without knowing more about why you need a large text area in the middle of your table, it's a little difficult to suggest solutions. In general though, it's not a good idea to Merge Cells just for visual effect. Having affected all those rows and columns will cripple any future efforts to sort the table, or to add or delete rows and columns. You could Insert a Text Box and put your prose there. Position the text box anywhere you like - even over the middle of the table - without causing any future problems with the table.
    Generally we want table cells to expand when we run out of room while making input. I assume that you already have turned on the Wrap feature in the Cells Inspector so that you get more than one line in the cell. You can begin with an oversize cell by dragging the borders of the labels. Beyond that, with Wrap turned on, Numbers will (as you have noticed) accommodate all your input by expanding the height of the cell.
    Jerry

  • Lock Object (Not locking the table)

    Hi Guys
    I have a custom table ZDRAD same like standard table DRAD with an additional 'DATE' field . ZDRAD's Key fields are same like DRAD . I have created a lock object 'EZDRAD' where I put name = 'ZDRAD' (Custom table) and mode = 'EXCLUSIVE CUMULATIVE' . Now I want to lock the table(Whole table) before modifying/Inserting/deleting the records in se38. Please check the code below and suggest me if I am passing wrong values to the lock object Function module.
    Code
    TABLES : ZDRAD.
    CALL FUNCTION 'ENQUEUE_EZDRAD'
    EXPORTING
       MODE_ZDRAD           = 'E'
       MANDT                = SY-MANDT
       DOKAR                = ' '
       DOKNR                = ' '
       DOKVR                = ' '
       DOKTL                = ' '
       DOKOB                = ' '
       OBZAE                = 0
       OBJKY                = ' '
       X_DOKAR              = ' '
       X_DOKNR              = ' '
       X_DOKVR              = ' '
       X_DOKTL              = ' '
       X_DOKOB              = ' '
       X_OBZAE              = ' '
       X_OBJKY              = ' '
       _SCOPE               = '2'
       _WAIT                = 'X'
       _COLLECT             = ' '
    EXCEPTIONS
       FOREIGN_LOCK         = 1
       SYSTEM_FAILURE       = 2
       OTHERS               = 3
    *IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    *ENDIF.
    IF SY-SUBRC = 0.
    ZDRAD table is locked.
        P_L_LOCK_STAT = 'X'.
        EXIT.
      ELSE.
    ZDRAD table is not locked
        CLEAR P_L_LOCK_STAT .
      ENDIF.

    Hi Kanthimathi
    That is numeric field . Please suggest me how can i check the lock.

  • Toplink locking oracle tables?

    Does toplink ever issues a "Lock Table" or "Select xxx From xxx FOR UPDATE"?
    I'm getting a oracle error: ORA-00060: deadlock detected while waiting for resource
    When I query the v$locks table I can see
    SID Type LMODE
    252 TM 3
    From what I've read this is a table lock. Is TM LMODE 3 a table lock? Or just a row exclusive lock?
    http://rahulagarwal.wordpress.com/2006/03/27/locking-in-oracle-dml-locks/

    TopLink never issues a Lock table but can issue a SELECT ... FOR UPDATE. The pessimistic locking SELECT ... FOR UPDATE requires the developer to configure its use on a query or through the UnitOfWork API.
    Doug

  • Reading Data from Internal Table

    Hi,
    Can anyone please tell me how to read data from Internal Tables in the Event Handler without using the Select statement OnInitialization?
    Thanks,
    Gaurav

    Hi Siddhartha,
    Can you tell me the problem in my code. I tried to work on the way you suggested. Though I have not finished with the coding, I just wanted to know whether I am going in the direction or not.
    I have declared the the structure in Type Defination as
    TYPES: BEGIN OF TEST_STRUC,
             BEGDA TYPE BEGDA,
             ENDDA TYPE ENDDA,
           END OF TEST_STRUC.
    TYPES: TEST_TAB_TYPE TYPE TABLE OF TEST_STRUC.
    In the Event Handler, I have added the following code on OnInputProcessing:
    event handler for checking and processing user input and
    for defining navigation
    DATA TEST_INFO LIKE LINE OF TEST_TAB.
    DATA: MYTAB6 TYPE TABLE OF PA0006,
          MYTAB6_WA LIKE LINE OF MYTAB6.
    REFRESH TEST_TAB.
    CLEAR TEST_INFO.
    MYTAB6_WA-BEGDA = REQUEST->GET_FORM_FIELD( STARTDATE ).
    MYTAB6_WA-ENDDA = REQUEST->GET_FORM_FIELD( ENDDATE ).
    IF EVENT->NAME EQ 'button'
       AND EVENT->SERVER_EVENT EQ 'click'.
      LOOP AT MYTAB6 INTO MYTAB6_WA.
        TEST_INFO-BEGDA = MYTAB6_WA-BEGDA.
        TEST_INFO-ENDDA = MYTAB6_WA-ENDDA.
      ENDLOOP.
      APPEND TEST_INFO TO TEST_TAB.
      CLEAR TEST_INFO.
      NAVIGATION->SET_PARAMETER( NAME = 'test_tab'
      VALUE = 'begda' ).
      NAVIGATION->SET_PARAMETER( NAME = 'test_tab'
      VALUE = 'endda' ).
      NAVIGATION->GOTO_PAGE( 'MyBSP2.htm').
    ENDIF.
    P.S. MyBSP2.htm is my next page.
    Thanks,
    Gaurav

  • Will MV cause locking for FAST REFRESH

    Hi ,
    I want to create an MV on a table on a FAST REFRESH basis but this table is being constantly being updated/inserted and i am unsure of exactly the no of transactions but possibly in hundreds.
    1)
    with that in mind , would a FAST REFRESH on a schedule of every 10th mins be a good option and during the FAST REFRESH will it actually cause the master table to be locked and prevent updates/inserts from being done ?
    2)
    and during the time where my source database is down from re-org , there could be possibly changes in thousands e.g from 5000 - 10,000 , will a FAST REFRESH in this case bog down the source database then ?
    pls advise
    , in this case

    A fast refresh won't prevent you from doing DML on the source table. A fast refresh will generate additional load on the primary server, though, and there will also be additional load for every transaction on the source system that has to write a change vector into the materialized view log.
    If you're really concerned about the load on the source system, using Streams for your replication is designed to put much less load on the primary system.
    Justin

  • How to lock a table in a report program

    Hi all,
         I have a requirement inwhich if i have selected one radio button  the table should locked .
       and the i need to check wether the table is locked or not by checking the condition.if locked continue else i need to stop.
    can any one help me doing this.

    Hi,
    Hope this information will be useful for you.....
    The description of an SAP lock to a table is made via the lock condition and the lock mode.
    The lock condition is a logical condition for the lines of the table to be locked. It describes the area of the table which the lock is to protect from competitive access. To avoid the administration of the lock becoming complicated, the lock condition can not be formulated as freely as the WHERE clauses:  only fully qualified key fields related by AND may appear in the condition.
    Via the lock mode you define which operations on the table are to be protected by the lock. The lock modes available are:
    Read lock (shared lock)
    protects read access to an object. The read lock allows other transactions read access but not write access to the locked area of the table.
    Write lock (exclusive lock)
    protects write access to an object. The write lock allows other transactions neither read nor write access to the locked area of the table.
    Enhanced write lock (exclusive lock without cumulation)
    works like a write lock except that the enhanced write lock also protects from further accesses from the same transaction.
    In order to be able to define SAP locks for a table, you must first create a lock object for the table via Development->Dictionary.
    If the data for an application object is distributed among several database tables, it is often necessary to be able to lock these tables simultaneously. It is therefore possible to include several tables in a lock object, althought they must be related via appropriate foreign key relationships. The tables involved in a lock object are also known as its base tables.
    Thanks
    NITESH

  • Problem related to locking the table

    Hi all,
    i am facing a problem while applying locks on the oracle table.my intention is stop the accessing of table to other users, if the table is locked by one user.
    for this i wrote the code as follows
    Class.forName("oracle.jdbc.driver.OracleDriver");       con = DriverManager.getConnection("jdbc:oracle:thin:@192.168.2.123:1521:xe",         "root", "paridb");   con.setAutoCommit(false);             System.out.println("Successfully connected to " +           "Oracle server using TCP/IP..."); String lock="lock table report@xe in exclusive mode";-------------------------------------->1  query to lock the table Statement stmt1=con.createStatement(); stmt1.executeUpdate(lock); System.out.println("lock is applied"); Statement stmt=con.createStatement();                 for(int i=0;i<6;i++)         {         sql="insert into report values(1921682123,'device','host')";         stmt.executeUpdate(sql);         }
    after locking i inserted some data into table, after insertion i am not commiting it because if i commit,the lock will be release.next i am trying to insert data into that table from another system,acutually the data don't insert.but data is inserted. how it is happening like that ??
    in another scenario, if execute the locking query on the database directly then trying to insert into database through java application, at that time it is not giving permission to access table.
    plz guide me
    thanks&regards,
    nagaraju

    Hi! Thank you so much for your reply. Yes, I´m using ADF. I attach you the iterator´definition from the page definition:
    <iterator id="MovimientosCtbView3Iterator" RangeSize="10"
    Binds="MovimientosCtbView3" DataControl="AppModuleDataControl"/>
    If I set the RangeSize to 11, the problem is solved, but my project manager want to find out why this situation happens with RangeSize=10.
    Thank you so much and sorry for bothering you

  • DEAD LOCKS on table ARFCSSTATE

    Please help!
    Essentially the problem is that anything that updates the customer master (T/C BP) causes DEAD LOCKS on table ARFCSSTATE and the queues either slow down terrible or they hang (stop).  When one tries to delete an entry in the queue a screen dump takes place – DBIF_RSQL_SQL_ERROR in ARFC_RUN.
    We are using: CRM 3.0 with the following service packs:
    SAP Basis release 610 level 38
    SAP ABA Release 50A level 38
    BBPCRM Release 300 level 17
    Points will be given.
    Thank you.

    Hi Surendra,
    I was expirenced with the error, Basis people had resolved that for me,
    better to post this issue to them,
    this problem for all data sources or any perticulat data source when scheduling infopackage.
    Regards
    Vijay

  • Locking a Table

    I just wanted to know , how the lock works on a table. I am very much confused..
    Let me put down my requirement...
    I am inserting a new record in a Table(Batches) for which one of the columns(no_batch) is an incrementing value. To acheive this, I select the max value of the above column from the same table and add 1 to it.
    (Pl note: I cannot use sequence for this
    nor I cannot have an UNIQUE constraint on this Column... )
    Then I insert this new Record.
    The problem what i faced was...
    When Multiple users accessed to insert the record at the same time,
    Selecting and inserting on the table allowed duplicate values to be inserted on the no_batch column in the batches Table.
    Is there any way out to lock the Table exclusively, when a user is accessing this Table until he/she gives a COMMIT or ROLLBACK operation on the Table.
    so that the next user should wait for the Resources.
    The Time delay is okay for me.
    Here is the skeleton of my insert procedure..
    PROCEDURE insert_record IS
    BEGIN
    <set of statements>
    SELECT max(no_batch) + 1
    into var_no_batch
    from batches
    where <conditions> ;
    insert into batches values
    (val1, val2, val3,var_no_batch,........);
    commit;
    END;
    I have an alternative, but I dont know whether this will work out.
    Can I give an UPDATE statement which will update 0 rows on the same Table, so that it will be locked, and then, I SELECT and INSERT on the same table, which I guess will work, and a COMMIT will release the LOCK on this Table..
    Let me know if this is correct...
    This is very urgent.....
    Any help and suggestions would be greatly appreciated. and Thanks in Advance..
    null

    Thanks for your Help and Suggestions...
    Sorry,I cannot use a select for update Clause, since the select has an aggregate function.
    There are some other procedures which access this Table(only select statements). Will this LOCK stop the other users also who access this Table through the SELECT procedures. Please let me know about that.

Maybe you are looking for

  • How do I import a clip when the window automatically closes?

    I was unable to even open After Effects CC when I upgraded to OS Mavericks. Once I realized adobe released a patch for it (the 12.0.1 "trial" update), the program opened. I thought all was fine, until I attempted to import a new video clip. It would

  • Slow printing in a queue

    Hello. I'm new to Mac. Having MacBook with Mac OS X 10.6.3, I connected HP Laserjet P1505 printer via USB, and all seems to be OK, until I try to print several documents from Word. The first document is printing OK, but then I see the queue and must

  • E-Mail attachments are shown as "undefined" since switching to Firefox 7.0.1

    Since I switched to Firefox version 7.0.1, any attachments I add to an e-mail are shown as "undefined". If I look at the "Sent" e-mail, and click on "Attachments", I find them to be correct. This is very confusing when there are multiple attachments

  • How to make project in 16:9 ratio?

    Hello guys, I apologize for this very silly question. But how do I make my project appear as 16:9? I did open new project and set presets as HDV 1080i. But the project (main window) is still appearing as 4:3. What am I missing?

  • Child *********** scare in a popup

    My son was on his MacbookPro and had a screen come up that looked like a government site of some kind saying pay me and we will remove the child *********** from your computer.  How can I protect against it?  The popup blocker is on. I don't know if