Locking & Unlocking the tables

I am locking one z-table in a module pool.
i have one more FM in which i will have to delete all entries of this table first and then create new entries into the same table.
So I used ENQUEUE_E_TABLE to lock the table while the transaction runs with E mode.
<u><b>issue:</b></u>
on-site cordinator could not create entries in that z-table using FM when the transaction is running. Sounds resonable but when am testing, i could create entries. How is this possible.
Thanks
Kiran

Hi,
In order to fulfil your requirements I would suggest the following:
Move the call to ENQUEUE_TABLE into your FM and add an exception of type, e. g. TABLE_LOCKED to the FM interface.
In your FM call ENQUEUE_TABLE and check sy-subrc. If it is greater than 0 raise the exception TABLE_LOCKED. Otherwise update the table as required.
In your application coding call the FM and check for the exception. Report an error if the exception was raised. After the FM call either call DEQUEUE_TABLE or COMMIT WORK to release the lock. You might also do this in the FM - the decision depends on whether the FM will be called from other programs as well, whether you will later call the FM IN UPDATE TASK etc. Just be shure to release the lock somewehere...
At least that's how I would do it (your mileage may vary
Hope this helps (please reward me if it does).
Regards, Joerg

Similar Messages

  • Hi how to handel the lock and unlock the table

    Hi,
    i am having the one scenario like,for lock and unlock the table i used the function modules ENQUEUE_E_TABLE and  DEQUEUE_E_TABLE but it allowing the edit the first user and suppose to try the editing the second user it is giving the error message it correct but again the second user press any button it is leaving the program it should not happened please help me that.
    regards,
    Hari.

    Hi,
    i assume it's in table JEST
    so select:
      SELECT        * FROM  JEST
               WHERE  OBJNR  =  aufk-OBJNR
                AND   STAT   IN S_STATI
    Andreas

  • Table overflowed  when trying to sap locks in the table..

    Dear ALL,
      when trying to sap locks in the table then its showing table overflowed. can telle the actual reason.
    Reagards.
    ASHUTOSH

    Hi, ALL
    suddenly sap PP persons execute the report, " errors comes as last msg  table overflow" whats the main reasons. i konw my self it automatically resize the table.
    Regards,
    ASHUTOSH

  • Lock's the table

    hi,
    I have update statement like
    Update table_name a
    set sal =
         (select sal
         from sal_table b
         where a.empno = b.emp_no);
    when, i run this statement, it takes near by 20 minutes.
    and upto that time it lock's the table.
    Is it possible, i run same statement and at that i use dml statement on that?
    Please, help...

    Do you really need to update every row of TABLE_NAME? My guess is that you want a WHERE clause, i.e.
    Update table_name a
       set sal =
        (select sal
          from sal_table b
         where a.empno = b.emp_no)
    where exists
        (select 1
           from sal_table b
          where a.empno = b.emp_no
            and nvl(a.sal,-1) != nvl(b.sal,-1))If you actually want to update every row of the table, this won't change anything. But if it's likely that most of the salaries in TABLE_NAME are already correct, it is likely to be far more efficient.
    Justin

  • Locking/Unlocking the Iphone

    I think I phone is missing a very basic feature of Lock/Unlock the phone with password protection. Alteast, Apple MUST have an option to password protect the unlocking of the phone.
    What if you loose the phone like one of my friend and the person can access your e-mail account and all the personal notes and stuff.
    What do you guys think?

    Here are the manuals, a link to which should really come on the phone:
    http://www.apple.com/support/manuals/iphone/

  • Windows 8.1 refresh error "Drive where windows is installed is locked, Unlock the drive and try again"

    Hi all,           My model is Sony Vaio SVF15213SNB. I had upgraded to windows 8.1 about a year ago from windows 8 using windows store. Recently i had issues with my Vaio and want to refresh back to windows 8. But when i tried to refresh using Assist key on my vaio, i get an error " driver where windows is installed is locked, please unlock the drive and try again" and i am unable to refresh. Is there any way i could refresh my Vaio? Sincerely, Nilesh Wagh

    Hi NileshWagh,
    Welcome to sony Community!
    Here is the link on how to properly go back to factory setting. Please read and follow the steps carefully.
    For further assistance regarding your concern, please contact the Sony offices/Sony representative offices nearest to your place of residence in Asia Pacific region http://www.sony-asia.com/countryselector.html?hpid=countryselector:AsiaPacific. Due to proximity, they are in a better position to respond to your questions or concerns.
    Regards,
    Jen
    If my post answers your question, please mark it as "Accept as Solution"

  • How to find out the locks in the table

    Any query anybody have to find out locks in any table.

    Here is a version with SID and serial# data:
    set linesize 150;
    set head on;
    col sid_serial form a13
    col ora_user for a15;
    col object_name for a35;
    col object_type for a10;
    col lock_mode for a15;
    col last_ddl for a8;
    col status for a10;
    break on sid_serial;
    SELECT l.session_id||','||v.serial# sid_serial,
           l.ORACLE_USERNAME ora_user,
           o.object_name,
           o.object_type,
           DECODE(l.locked_mode,
              0, 'None',
              1, 'Null',
              2, 'Row-S (SS)',
              3, 'Row-X (SX)',
              4, 'Share',
              5, 'S/Row-X (SSX)',
              6, 'Exclusive',
              TO_CHAR(l.locked_mode)
           ) lock_mode,
           o.status,
           to_char(o.last_ddl_time,'dd.mm.yy') last_ddl
    FROM dba_objects o, gv$locked_object l, v$session v
    WHERE o.object_id = l.object_id
          and l.SESSION_ID=v.sid
    order by 2,3;

  • Do we have any API to Lock-Unlock the User

    Hi all,
    i want to check the status of the user(Unlock or locked) through my webdynpro application and depending on the condition,i want to change the status.
    please guide me in doing so.
    Thanks and Regards,
    Mithileshwar Dayal Sahu.

    Hi,
    You can use interface IUserAccount.
    There are methods :
    isLocked()
    isPasswordLocked()
    isUserAccountLocked()()
    lockDate()
    setLocked(boolean lock, int reason)
    http://help.sap.com/javadocs/NW04S/current/se/com/sap/security/api/IUserAccount.html
    Regards
    Abdul.

  • How to unlock the table

    hello frnds
    i am using proc.in that proc i select data from a table(PRMASUP) and then insert into a another table(AFPBLRMPDTL) which in remote database.my problem is the prmasup table is locked every timer i run the proc.when i am trying to kill the session it is killed but still it is not release the lock.in dba studio it is showing it killed.but when i restart the server the lock is released.but after another two to three process it is again showing locked and same old problem occours.
    can u give the permanent solution for this.
    regards sourav

    Maybe, you must make In-Doubt Transactions.
    Please refer [url http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/ds_txnman.htm#ADMIN032] Managing Distributed Transactions.

  • My iPad will only use the speaker for movies, music, and YouTube, but not for games, locking/unlocking the screen, keyboard clicks, or anything else. What can I do to fix that?

    I have reset all the settings, and there is no change. Please help!

    If you lose sounds for keyboard clicks, games or other apps, email notifications and other notifications, system sounds may have been muted.
    System sounds can be muted and controlled two different ways. The screen lock rotation can be controlled in the same manner as well.
    Settings>General>Use Side Switch to: Mute System sounds. If this option is selected, the switch on the side of the iPad above the volume rocker will mute system sounds.
    If you choose Lock Screen Rotation, then the switch locks the screen. If the screen is locked, you will see a lock icon in the upper right corner next to the battery indicator gauge.
    If you have the side switch set to lock screen rotation then the system sound control is in the task bar. Double tap the home button and in the task bar at the bottom, swipe all the way to the right. The speaker icon is all the way to the left. Tap on it and system sounds will return.
    If you have the side switch set to mute system sounds, then the screen lock rotation can be accessed via the task bar in the same manner as described above.
    This support article from Apple explains how the side switch works.
    http://support.apple.com/kb/HT4085

  • Lock On the table

    Dear All,
    I m using oracle 10g r2 on windows.
    I just have doubt that if i update a table by merging (MERGE) and will not commit for hours.
    What will happen in this case if i commit after 10 hours.
    will it rollback or get commit.
    Thanks.

    861329 wrote:
    Dear All,
    I m using oracle 10g r2 on windows.
    I just have doubt that if i update a table by merging (MERGE) and will not commit for hours.
    What will happen in this case if i commit after 10 hours.
    will it rollback or get commit.
    Thanks.If the session is active then your COMMIT will work. But lets say if you have set your IDLE_TIME as 2 Hours and you come and issue a COMMIT after 10 Hours then The session will be disconnected and your session will go away from v$session. In that case your transaction is ROLLBACKed.
    So in general its advised to end your transaction with a COMMIT or ROLLBACK immediatly. Why wait for 10 Hours?

  • How we can lock No more than one user can use the table  at a single time

    Hi Abapers,
    0)  which  function modules to lock & unlock a table.
    1) When you execute the program, we can check if there is any lock on this table. If yes, the user should be able to only view the table contents and not modify.
    2) If there is no lock, then lock the table and go into change mode.
    3) On exiting from the program, unlock the table using the function module.
    4) more than one user can't modify the table just display.
    Note: If there is any lock, display message saying table is locked.
    Plz help me for this requirement.
    Thanks
    Nani

    Hello Nani
    Have a look at the lock object EMMARAE (<i>Lock MARA and MARM/MAKT exclusively</i>) in transaction SE11.
    Inspect the F1 help for field <b>Lock mode</b>:
    DE ENQMODE
    Short Text
         Lock mode
    Definition
         Defines how to synchronize table record access by several users.
    The following modes exist:
         Exclusive lock
             The locked data can be read or processed by one user only. A request
             for another exclusive lock or for a shared lock is rejected.
         Shared lock
             Several users can read the same data at the same time, but as soon
             as a user edits the data, a second user can no longer access this
             data. Requests for further shared locks are accepted, even if they
             are issued by different users, but exclusive locks are rejected.
         Exclusive but not cumulative lock
             Exclusive locks can be requested by the same transaction more than
             once and handled successively, but an exclusive but not cumulative
             lock can only be requested once by a given transaction. All other
             lock requests are rejected.
    If you want to lock a standard table search whether the table is used in lock objects (<i>Where-Used-List</i>). If it is a customer table you have to create your own lock object (including two function modules: one for enqueuing and the other for dequeuing).
    The lock modules can be found in menu <b>GoTo -> Lock Modules</b>.
    Given these lock modules the logic should be quite clear after starting the program:
    1. Request lock -> if successful, continue in Change mode; -> if failed, continue in Display mode
    2. Before leaving the report remove lock (note: no problem if no lock has been set in the beginning).
    Regards
      Uwe

  • Is it Necessary to lock the table while accessing the entries from table

    Hi Gurus,
    While optimization of the Program i came through one type of coding is in  inside the Loop of The internal table  which is processing BDC call transcation through updating the Custom table.
    Before processing the BDC, the Custom table has been locked and read the entries from same custom  table ,if the process fails then it waits for another 20 seconds and retrying the same for another time .I could not able to understand the Logic behind this.if it is not the Correct way then i can straight away remove this Part which is very well improve the perfromance of the Object.
    For Your Better Understanding i have attached the Snippet of the Code .Please find the Code and advice me the same .
    +LOOP AT i_stk_req INTO wa_stk_req.+
    +**  Lock is set to '0',meaning that no lock exist.+
        ++v_lock = 0.    "FALSE.++
    ++*   Preparing variable key for locking.++
        ++CLEAR v_key.++
        ++v_key = sy-mandt.++
        ++v_key+3(3) = wa_stk_req-lgnum.++
        ++v_key+6(4) = wa_stk_req-werks.++
        ++v_key+10(18) = wa_stk_req-matnr.++
        ++v_key+28(10) = wa_stk_req-charg.++
    ++*   Try to lock the row for max of 100 times.++
        ++DO 10 TIMES.++
    ++*     this perform sends sy-subrc EQ 1. in case of foreign lock.++
          +PERFORM enqueue_tab IN PROGRAM saplsvix USING 'ZSDT_STK_REQ'  v_key c_e c_e.+
          +IF sy-subrc EQ 0.          "If Enqueue is successful.+
    +**      set lock as TRUE+
            ++v_lock = 1.  "TRUE++
    ++*       selecting the latest entry for the table(Entry might have changed-refer to++
            +SELECT SINGLE *+
                    ++FROM zsdt_stk_req++
                    ++INTO wa_stk_req++
                   ++WHERE lgnum = wa_stk_req-lgnum++
                     ++AND werks = wa_stk_req-werks++
                     ++AND matnr = wa_stk_req-matnr++
                     ++AND charg = wa_stk_req-charg.++
            ++IF sy-subrc NE 0.        "Checking if select statement was successful++
    ++*         Unlock the table row.++
              ++PERFORM enqueue_tab IN PROGRAM saplsvix USING c_table v_key c_e c_d.++
              ++v_lock = 0.            "If unsuccessful.Then we set lock as FALSE.++
              ++EXIT.++
            ++ENDIF.++
            ++EXIT.++
    ++*     If unsuccessful in locking then wait for 1 sec.++
          +ELSE.+
           +WAIT UP TO 20 SECONDS.+
          +ENDIF.+
    +** exit from DO. ENDDO.+
        ++ENDDO.++
    ++*   v_lock will be FALSE if all attempts for lock was unsuccessful or++
    ++*   if there is a problem in select single after lock.++
        ++IF v_lock = 0.++
          ++NEW-PAGE.++
          ++CLEAR v_display.++
          ++CONCATENATE text-004 text-012 wa_stk_req-matnr text-011 wa_stk_req-werks++
                      ++text-019 wa_stk_req-lgnum text-020 wa_stk_req-charg INTO v_display SEPARATED BY space.++
          ++WRITE :/ v_display.++
        ++ENDIF.++
    ++*   Only to process if lock is successful.++
        ++CHECK v_lock NE 0.++
    ++*   If UPDATE IS FALSE that means that no updates need to be done.++
    ++*   So we set v_update as FALSE in its initial state.++
        ++v_update = 0.++
    ++* Begin of Insert Optima App - 053++
      ++SELECT   lgnum++
               ++lqnum++
               ++matnr++
               ++werks++
               ++charg++
               ++lgtyp++
               ++meins++
               ++verme++
               ++lgort++
               ++qplos++
               ++bestq++
          ++FROM lqua++
          ++INTO TABLE i_lqua1++
         ++WHERE lgnum EQ wa_lqua-lgnum++
           ++AND matnr EQ wa_lqua-matnr++
           ++AND werks EQ wa_lqua-werks++
           ++AND charg EQ wa_lqua-charg++
           ++AND bestq EQ wa_lqua-bestq++
           ++AND lgort EQ wa_lqua-lgort++
           ++AND verme GE 0.++
    ++* End of Insert Optima App - 053++
    ++*   IF a requirement still exists.++
        ++IF wa_stk_req-verme > 0.++
          ++LOOP AT i_lqua INTO wa_lqua WHERE bestq  = 'Q'++
                                      ++AND   qplos  NE 0++
                                      ++AND   lgnum  =  wa_stk_req-lgnum++
                                      ++AND   werks  =  wa_stk_req-werks++
                                      ++AND   matnr  =  wa_stk_req-matnr++
                                      ++AND   charg  =  wa_stk_req-charg.++
            ++CLEAR v_target.++
            ++CHECK wa_stk_req-lgtyp = wa_lqua-lgtyp OR wa_stk_req-lgtyp IS INITIAL.++
    ++*       checking if still some stock needs to be transported.++
            ++IF wa_stk_req-verme < 0.++
              ++EXIT.++
            ++ENDIF.++
    ++*       we need to send the entire lot if the stock belongs to quality inspection++
            ++IF wa_stk_req-verme >= wa_lqua-verme.++
              ++IF wa_stk_req-lgort IS INITIAL.++
    ++*           fetch the Storage location value from the two custom tables.++
                ++PERFORM f_fetch_lgort.++
              ++ELSE.++
                ++v_lgort = wa_stk_req-lgort.++
              ++ENDIF.++
    ++*         checking if v_lgort is not initial.++
              ++CHECK NOT v_lgort IS INITIAL.++
    ++*         Calling QAC2++
              ++PERFORM f_qac2.++
    ++*         Checking if Post Good was successful.++
              +IF NOT wa_qamb-mblnr IS INITIAL.+
               +REFRESH i_lqua1.+
                +SELECT   lgnum+
                         +lqnum+
                         +matnr+
                         +werks+
                         +charg+
                         +lgtyp+
                         +meins+
                         +verme+
                         +lgort+
                         +qplos+
                         +bestq+
                    +FROM lqua+
                    +INTO TABLE i_lqua1+
                   +WHERE lgnum EQ wa_lqua-lgnum+
                     +AND matnr EQ wa_lqua-matnr+
                     +AND werks EQ wa_lqua-werks+
                     +AND charg EQ wa_lqua-charg+
                     +AND bestq EQ wa_lqua-bestq+
                     +AND lgort EQ wa_lqua-lgort+
                     +AND verme GE 0.+
                +SORT i_lqua1 BY lgtyp.+
                +CLEAR: wa_lqua1,+
                       +v_position.+
                +READ TABLE i_lqua1 INTO wa_lqua1 WITH KEY lgtyp = wa_lqua-lgtyp.+
                +IF sy-subrc EQ 0.+
                  +v_position = sy-tabix.+
                +ENDIF.+
                +SELECT SINGLE lgnum+
                               +ubnum+
                          +FROM lubu+
                          +INTO wa_lubu+
                          +WHERE lgnum = wa_lqua-lgnum+
                            +AND mblnr = wa_qamb-mblnr.+
                +CLEAR i_bdcdata.+
                +REFRESH i_bdcdata.+
                +REFRESH i_messtab.+
                +CLEAR wa_bdcdata.+
                +wa_bdcdata-program  = 'SAPML03T' .+
                +wa_bdcdata-dynpro   = '0141' .+
                +wa_bdcdata-dynbegin = 'X' .+
                +APPEND wa_bdcdata TO i_bdcdata .+
                +CLEAR wa_bdcdata .+
                +wa_bdcdata-fnam = 'BDC_OKCODE' .+
                +wa_bdcdata-fval = '/00' .+
                +APPEND wa_bdcdata TO i_bdcdata .+
                +CLEAR wa_bdcdata .+
                +wa_bdcdata-fnam = 'LUBU-UBNUM'.+
                +wa_bdcdata-fval = wa_lubu-ubnum.+
                +APPEND wa_bdcdata TO i_bdcdata .+
                +CLEAR wa_bdcdata .+
                +wa_bdcdata-fnam = 'LUBU-LGNUM'.+
                +wa_bdcdata-fval = wa_lqua-lgnum.+
                +APPEND wa_bdcdata TO i_bdcdata .+
                +CLEAR wa_bdcdata .+
                +wa_bdcdata-fnam = 'RL03T-DUNKL'.+
                +wa_bdcdata-fval = 'H'.+
                +APPEND wa_bdcdata TO i_bdcdata .+
                +CLEAR wa_bdcdata.+
                +wa_bdcdata-program  = 'SAPML03T' .+
                +wa_bdcdata-dynpro   = '0143' .+
                +wa_bdcdata-dynbegin = 'X' .+
                +APPEND wa_bdcdata TO i_bdcdata .+
                +CONCATENATE 'RL03T-SELKZ('+
                            +v_position+
                            +')'+
                      +INTO  v_str.+
                +CLEAR wa_bdcdata .+
                +wa_bdcdata-fnam = v_str.+
                +wa_bdcdata-fval = 'X'.+
                +APPEND wa_bdcdata TO i_bdcdata .+
                +CLEAR wa_bdcdata .+
                +wa_bdcdata-fnam = 'BDC_OKCODE' .+
                +wa_bdcdata-fval = 'BU' .+
                +APPEND wa_bdcdata TO i_bdcdata .+
                +CLEAR wa_bdcdata.+
                +wa_bdcdata-program  = 'SAPML03T' .+
                +wa_bdcdata-dynpro   = '0142' .+
                +wa_bdcdata-dynbegin = 'X' .+
                +APPEND wa_bdcdata TO i_bdcdata .+
                +CLEAR wa_bdcdata .+
                +wa_bdcdata-fnam = 'BDC_OKCODE' .+
                +wa_bdcdata-fval = 'BU' .+
                +APPEND wa_bdcdata TO i_bdcdata .+
    +*......changes as per ticket 44206+
    ++*            CLEAR wa_bdcdata .++
    ++*            wa_bdcdata-fnam = 'LQUAU-KZUAP(01)'.++
    ++*            wa_bdcdata-fval = 'X'.++
    ++*            APPEND wa_bdcdata TO i_bdcdata .++
    +*......end of changes as per ticket 44206+
                +CALL TRANSACTION 'LT05' USING i_bdcdata+
                                        +OPTIONS FROM wa_ctu_params+
                                        +MESSAGES INTO i_messtab.+
    Regards,
    Raja

    hi , please check the link below
    [http://help.sap.com/saphelp_nw70/helpdata/en/41/7af4c5a79e11d1950f0000e82de14a/content.htm|http://help.sap.com/saphelp_nw70/helpdata/en/41/7af4c5a79e11d1950f0000e82de14a/content.htm]

  • Lock and Unlock a table:AFVU

    Hi Folks.
    I want to modify a standard table (AFVU )  with new user dates from User.For this,First I need to lock and unlock the table.
    When I am trying for the standard table lock object (EAFVU) ,it was not there in the system.
    Is there any way to find out the lock object for a particular table?
    How to proceed for this?
    Any Pointers are much helpful.

    Hi,
    Go to SE11 and display your table - do a where used list and select lock objects.
    I really hope when you say you are modifying a standard table you are only updating custom appends on that table, and not directly updating standard SAP fields...
    Gareth.

  • FM to lock the Table

    Could anybody check and tell me whether Function Module ENQUEUE_E_TABLE
    and DEQUEUE_E_TABLE are working fine and if it is so let me know the Parameters used for it.
    Full reward points for issue solver.
    Regards,
    Amol

    hi..
    check out the following documentation
    Lock objects are used to lock the database table while making the modifications on the database table.
    you can create your own lock objects using SE11.
    if you create lock objects on any table system will create two function modules.
    1.ENQUEUE....
    2.DEQUEUE.....
    first one is used to lock the table
    second one used to removing lock on the table.
    lock Table
    CALL FUNCTION 'ENQUEUE_E_TABLE'
    EXPORTING
    tabname = table_name
    EXCEPTIONS
    foreign_lock = 1
    system_failure = 2
    OTHERS = 3.
    Unlock Table
    CALL FUNCTION 'DEQUEUE_E_TABLE'
    EXPORTING
    tabname = table_name
    check this link :
    http://help.sap.com/saphelp_40b/helpdata/en/cf/21eea5446011d189700000e8322d00/content.htm
    _SCOPE = 1: The lock is not sent to the update program. The lock is removed when the transaction is ended.
    _SCOPE = 2: The lock is sent to the update program. The update program is responsible for removing the lock. The dialog program which requested the lock no longer has an influence on the lock behavior. This is the standard setting for the ENQUEUE function module.
    _SCOPE = 3: The lock
    Re: lock objects
    Managingin lock entries
    http://help.sap.com/saphelp_nw04/helpdata/en/37/a2e3ae344411d3acb00000e83539c3/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/7b/f9813712f7434be10000009b38f8cf/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/cb/168237d30d974be10000009b38f8cf/frameset.htm
    <b>Reward points if useful</b>
    Regards
    Ashu

Maybe you are looking for

  • How can my daughter get apps on her new ipod without a credit card?

    My daughter just got a new Ipod.  She tried creating her own AppleID but it keeps asking for a credit card.  How can she get apps without a credit card?  Can I use my AppleID to get her apps without allowing her access to my credit card?

  • Problem with access JSF applet using javascript

    Can someone help me! I'm using a applet in jsf page, and i'm trying to access this applet using a javascript. Here is the applet code <jsp:plugin code="DoAction.class" codebase="." height="400" hspace="10" jreversion="1.5" type="applet" vspace="50" w

  • Use different portals for authentication and collaboration

    Hello, I would like to request your help on a portal issue. I have installed a dual stack(ABAP+Java) Enterprise Portal (EP 6 - NW 7). The  ABAP stack is required in order to implement user collaboration. However, another requirement is that the users

  • How do I do?

    1) How do I do to create a new Database in Oracle 9i with a .sql file and generated in Power designer? 2) How do I do to create a .sql file where are all the Create tables of all talbe in the one database and all INSERT INTO with all values in each c

  • Strange & Unique requirement

    need some great favour from you all. Please help me with your valuable inputs. I have R/3(ECC 6.0) and SRM5.0 systems. Now my communication is between R/3 & SRM-EBP(Component of SRM). I will have to send the PO data along with its attachments to SRM-