Locking transaction from modifying table

Hi All,
We have a transaction. This transaction is used to modify the data in certain tables. Currently multiple users can open the transaction in 'Change Mode'. We have to put a lock if one 'Change Mode' is open for transaction, it should say other new users that they can't modify it and open in display mode.
We thought of following strategy:
1. Create lock object for each corresponding to each table.
2. Call Enqueue Function Modules in PBO of different screens used in transaction.
Now problem is that once user is leaving the transaction he/she should dequeue it. We can do it by calling Dequeue FMs corresponding to 'BACK/EXIT/CANCEL' buttons. But can't think how to handle the scenario if user presses '/n'.
You can also suggest any other way of handling the issue as well.
Regards,
Ashwini

Hi,
The locks releases are dependent on the scope parmeter which you are passing ot the ENQUEUE_FUNCTION module.
There are this parameter can have 3 values 1,2,3.
We need to pass correct value depending on your requirement.
If you are updating all the tables in the same program which you are using to displaying the transaction go for scope parameter 1. So the lock will get released automatically when you end the transaction.
If you use some function module at update task then use the scope parameter 2. In such case you need to end it after updation using DEQUQE_<lock object> FM.
Generally locks will get released once the transaction got ended by /n. You can check that in T code SM12. after coming out of transaction. No need of Dequeue FM in such case.
Thanks
Kiran.
Edited by: kiran Pasala on Jun 26, 2009 3:36 PM
Edited by: kiran Pasala on Jun 26, 2009 3:38 PM

Similar Messages

  • Deleting Locked Transactions from SM12 programmatically

    HI,
    If a user is editing a particular transaction(Service ticket ST) and in this process if the particular transactions hangs or if the user is not following the correct process, this particular transaction gets locked for that particular user.
    Please suggest me which are the methods and function modules i can use to delete the entries in SM 12 programmatically.
    Thanks in advance.
    Warm Regards,
    Mathew.

    Hi Faisal,
    Sry i am new to CRM. Will this code work in deleting the SM12 entries programmatically.
    I need to delete the session lock for that particular user.
      DATA: W_GARG  TYPE EQEGRAARG.
      CLEAR: W_GARG, ENQ, ENQ[].
      CALL FUNCTION 'ENQUEUE_READ'
        EXPORTING
          GNAME                 = P_GNAME
          GUNAME                = P_GUNAME
        IMPORTING
          NUMBER                = P_NUMBER
          SUBRC                 = P_SUBRC
        TABLES
          ENQ                   = ENQ
        EXCEPTIONS
          COMMUNICATION_FAILURE = 1
          SYSTEM_FAILURE        = 2
          OTHERS                = 3.
      IF ENQ[] IS NOT INITIAL.
        CONCATENATE SY-MANDT P_WI_ID INTO W_GARG.
        DELETE ENQ WHERE GARG  W_GARG.
        CALL FUNCTION 'ENQUE_DELETE'
          EXPORTING
            CHECK_UPD_REQUESTS = '1'
          IMPORTING
            SUBRC              = P_SUBRC
          TABLES
            ENQ                = ENQ.
      ENDIF.
    ENDFUNCTION.

  • Reading Locked records from HR table using LDB PNP

    Hi,
    I am trying to read the table pa0168 using LDB PNP.
    But the problem is that get pernr staement does not retrieve locked records i.e where PA0168-sprps eq "X'.
    Can anybody help me with this.
    I have to use LDB  so i don't want a solution of writing a select * for the pa0168 table.
    hence i have to use get pernr statement but it should also retrieve locked records.
    how can i achieve that.? please help
    Thanks
    GT
    Message was edited by: GT

    Hi GT,
    In the START-OF-SELECTION event, set the parameter value
    pnp-sw-ignorelockedrecords = 'N'.
    Good Luck,
    Suresh Datti
    ( Pl award points if the answer helps you )

  • Duplicate transaction in interface table

    Hi Consultants,
    We need to delete the duplicate transactions from pa_transaction_interface_all table as we are getting duplicate transaction from OTL and some of them are processed into PA and some of them are rejected and stay in interface table. now we want to indentity those duplicate transaction in interface and need to delete them from interface table.
    anyone have look on my below query for one project#'MA0304007' and correct me. thanks in advance.
    SELECT *
    FROM pa_transaction_interface_all int
    WHERE 1=1
    AND EXISTS
    (SELECT 1
    FROM apps.PA_PROJECTS_ALL PA,
    apps.PA_PROJECT_STATUSES PST
    WHERE PA.PROJECT_STATUS_CODE =PST.PROJECT_STATUS_CODE
    AND PST.PROJECT_STATUS_NAME NOT IN ('Abandoned','Closed','Rejected')
    AND project_number = 'MA0304007'
    AND transaction_status_code = 'R'
    AND EXISTS
    (SELECT 1
    FROM apps.PA_EXPENDITURE_ITEMS_ALL XA,
    apps.PA_EXPENDITURES_ALL XE
    WHERE XA.EXPENDITURE_ID =XE.EXPENDITURE_ID
    AND XA. TRANSACTION_SOURCE ='GOLD'
    AND XA.PROJECT_ID = ( select project_id
    from pa_projects_all
    where segment1 = int.project_number)
    AND XA.TASK_ID = ( select task_id
    from pa_tasks
    where task_number =int.task_number
    and project_id = ( select project_id
    from pa_projects_all
    where segment1 = int.project_number) )
    AND TRUNC(XA.EXPENDITURE_ITEM_DATE) = TRUNC(INT.EXPENDITURE_ITEM_DATE)
    AND XA.EXPENDITURE_TYPE = INT.EXPENDITURE_TYPE
    AND XA.QUANTITY = int.quantity
    AND XA.ORIG_TRANSACTION_REFERENCE =int.ORIG_TRANSACTION_REFERENCE
    Thanks,
    Ashok.

    Hi
    PA_TRANSCTION_INTERFACE table will have all unique records, I would recommed you to extract all transactions for that particular project in xls sheet, identify the duplicate ones and take the transaction reference and now put a joining condition on the transaction-reference field and get rid of the same
    Thanks
    Krishna

  • Regarding modifying database from internal table

    Hi ABAP Experts,
    I am facing an issue regarding modifying DB table from itab.
    All the records of itab are not getting reflected in DB table using Modify statement.
    Syntax is as follows -
    Locking DB table using enque FM
    MODIFY abc FROM TABLE i_abc.
    Unlocking DB table using deques FM
    Please suggest what could be wrong with this. Helpful suggestion will be appreciated.
    Thanks in adv,
    Akash

    Hi,
    First Delete entries from the table(hope it is a custom table),
    for example
    DELETE  FROM <DatabaseTable name> WHERE <primarykey = 'somevalue'>.
    'After deleting those records.....then use insert statement
    IF sy-subrc = 0.
       INSERT <DatabaseTable name> FROM TABLE  <InternalTable name> ACCEPTING DUPLICATE KEYS.
      ENDIF.
    Thanks & REgards

  • Modify database table from internal table

    Hi All,
    I need to update database table from internal table which is having around 30000 records.
    I am using MODIFY tabname FROM TABLE int_tabname...
    Using this statement, I can modify the databse records very well. But user has some additional requirement.
    He wants that the table should be modified from the internal table and after modification we should have the erroneous records to be displayed if any.
    e.g. if 1500 records out of 30000 are erroneous then only 28500 records should be updated and 1500 records should be displayed as erroneous records so that the user can correct them and use them again for executing the program.
    Is there any FM which imports the database table name and internal table, modifies the database and exports an internal tanle with erroneous records?
    Any help will be appriciated,
    Regards,
    Neha

    Hi
    modifying datbase table useing internal table
    <b>advises</b> before updating this datbase table plz lock that table to avoid incosistency
    write the logic for modifying
    Modify the database table as per new dunning procedure
      MODIFY fkkvkp FROM TABLE lt_fkkvkp   .
    and finally unlock the table
    <b>example</b>
    *To lock table for further operations
      constants: lc_tabname TYPE  rstable-tabname  VALUE 'FKKVKP'  . "FKKVKP
      CALL FUNCTION 'ENQUEUE_E_TABLE'
        EXPORTING
          tabname        = lc_tabname
        EXCEPTIONS
          foreign_lock   = 1
          system_failure = 2
          OTHERS         = 3.
      IF sy-subrc EQ 0.
      To fetch all the contract accounts for customers of the segment
      Households/SME.
        PERFORM fetch_contract_accounts using lc_tabname .
      ENDIF.                    " IF sy-subrc EQ 0.
    *wrote the logic
    Modify the database table as per new dunning procedure from internal table
      MODIFY fkkvkp FROM TABLE lt_fkkvkp   .
    *unlock the tbale
      CALL FUNCTION 'DEQUEUE_E_TABLE'
       EXPORTING
         TABNAME   =  uc_tabname .
    <b>Reward if usefull</b>

  • 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

  • How to modify a row from a table?

    Hi experts!
    I've a doubt, I need to modify a table with some information I've search, if I do the code below, my program works slowly because the tabla ITDATOS has 650 rows... so, the problem is, how can I modify this in another way?
    FORM RELLENA_DATOS_GENERALES USING PERSONAL.
    DATA: UNIDAD TYPE P0001-ORGEH.
    DATA: TEXTO TYPE HRP1000-STEXT.
    data: indice type sy-index.
      LOOP AT ITDATOS.
      indice = sy-index.
    * Nombre, grupo de personal y área de personal.
        LOOP AT P0001 WHERE PERNR EQ ITDATOS-PERNR.
    *      AND
    *                                   BEGDA LT FECHA-HIGH AND
    *                                   ENDDA GT FECHA-LOW.
    * Nos quedamos con el último resgistro que existe en la fecha seleccionada por pantalla.
          ITDATOS-ENAME = P0001-ENAME.
          ITDATOS-PERSG = P0001-PERSG.
          ITDATOS-PERSK = P0001-PERSK.
        ENDLOOP.
    * Dni.
        LOOP AT P0002 WHERE PERNR EQ ITDATOS-PERNR.
    *      AND
    *                                   BEGDA LT FECHA-HIGH AND
    *                                   ENDDA GT FECHA-LOW.
    * Nos quedamos con el último resgistro que existe en la fecha seleccionada por pantalla.
          ITDATOS-PERID = P0002-PERID(9).
        ENDLOOP.
        LOOP AT P0050 WHERE PERNR EQ ITDATOS-PERNR.
    *      AND
    *                                   BEGDA LT FECHA-HIGH AND
    *                                   ENDDA GT FECHA-LOW.
    * Nos quedamos con el último resgistro que existe en la fecha seleccionada por pantalla.
          ITDATOS-ZAUSW = P0050-ZAUSW.
        ENDLOOP.
    * Recogemos el dato de departamento del infotipo 0001
        SELECT SINGLE ORGEH FROM PA0001 INTO UNIDAD WHERE PERNR EQ ITDATOS-PERNR.
        SELECT SINGLE STEXT FROM HRP1000 INTO TEXTO WHERE OBJID EQ UNIDAD AND
                                                          PLVAR EQ '01'   AND
                                                          LANGU EQ 'S'.
        ITDATOS-DEPART = TEXTO.
    * Insertamos datos modificando tabla ITDATOS ya existente con la información específica.
        MODIFY ITDATOS index indice.
      ENDLOOP.
    ENDFORM.                    " RELLENA_DATOS_GENERALES
    Thanks a lot,
    Regards,
    Rebeca

    Hi,
    Take another internal table and work area same as the initial internal table and work area used in screen 8002 which is to be used to delete the selected data.
    Take the names of the input/output fields as work_area-field_name and select column in table control as work_area-flag.
    Also take a flag field of size 1 datatype character as the last field in the internal table and work area while declaration.
    You have to pass a code in PBO of the screen for reading internal table into the table control.
    So it reads the internal table into the table control whenever you perform any action on use command.
    All you need to do is to write a code to modify the internal table form the table control while performing any user action.
    At screen logic,
    PROCESS BEFORE OUTPUT.
      MODULE status_8002. "for pf-status
      LOOP WITH CONTROL po_tab. "po_tab is table control
        MODULE pass_data. "to pass data into table control from internal table
      ENDLOOP.
    PROCESS AFTER INPUT.
      MODULE user_command_8002. "for user command(back and exit)
      LOOP WITH CONTROL po_tab.
        MODULE modify_data. "to modify data from table control into table control
      ENDLOOP.
    In PBO,
    *&      Module  STATUS_8002 OUTPUT
    MODULE status_8002 OUTPUT.
      SET pf-status 'ZAB_PFSTA'. " pf-status
      DATA : line_count TYPE i.
      DESCIRBE TABLE it_ekpo
      LINES line_count.
      po_tab-lines = line_count + 10.
      " to make table control scrollable
    ENDMODULE.                 " STATUS_8002  OUTPUT
    *&      Module  PASS_DATA  OUTPUT
    MODULE pass_data OUTPUT.
      READ TABLE it_ekpo into wa_ekpo INDEX po_tab-current_line.
    ENDMODULE.                 " PASS_DATA  OUTPUT
    "it_ekpo is internal table and wa_ekpo is the work area
    In PAI,
    *&      Module  MODIFY_DATA  INPUT
    MODULE MODIFY_DATA INPUT.
      MODIFY IT_EKPO INDEX PO_TAB-CURRENT_LINE FROM WA_EKPO.
      "modify records from table control into the internal table
    ENDMODULE.                 " MODIFY_DATA  INPUT
    Now at PAI, if you done any changes in the table control, then all these changes will be reflected to the internal table, and PBO will read the modified internal table.
    Hope this solves your problem.
    Thanks & Regards,
    Tarun Gambhir

  • From which tables the data is coming in to transaction fields, how to find?

    Hi abapers,
    I am new to abap,
    I have some data in one transaction.
    I want to know that one particular record in a field from which table the data is coming, how do i know?
    How to find that for the transaction is haveing header and item tables?
    How to find that what are tables used for that transaction?
    by presseing f1 on a field we can find table name or structure name along with field name of that particular field?
    If structrure means how to find that field from which table it is coming?
    I  found table name for some of the fields like this by pressing f1,double clicking on structure name?
    but some fields in another transaction does not showing the table names only structure it is showing?
    Moderator Message: Basic Question. Please search.
    Edited by: kishan P on Nov 13, 2010 3:20 PM

    hi ,
    you can  do that by Transation st05
    where you have to 1) activate trace  ,
      2) execute transaction  
    3) deactivate trace after transaction complete 
    4) display trace 
    there you can find all  step by step flow from where data has been retirved and tables also  .
    if you dont no take help from Basis  People  .
    Regards
    Deepak.

  • Transaction to modify a table

    Hi,
    What is the transaction to modify a table  (oracle) ?
    Thanks in advance

    Dear Jean,
    Sometime,Changes to the Table data without analyzing its data dependency may lead to Data Inconsistency. So, be careful.
    Changes to the production system always require comprehensible documentation.
    If you are changing your Table Data using SE16N, the accompanying changes are logged as well as the responsible users are logged. The data changes are stored in the table SE16N_CD_DATA. And The responsible user is listed in the table SE16N_CD_KEY, together with the modification date and time.
    Regards,
    Bhavik G. Shroff

  • Data fetching from Standard tables or transaction to SAP PI

    Dear Friends !
         Good day ! How are you ? 
         I have one requirement , My client asks me to develop a solution in that I should get the data from standard SAP tables like EKKO, EKPO ( MM related ) etc..  and send it to PI system and then PI system sends it to third party system database system.
    We have current scenario is working fine,  I have abap proxy that I called in various  standard transaction codes ( MIRO, MIGO, etc ) ' Baddis just beforethe commit stament and it passed the data to SAP PI system and it sends to SQL system.
    but my client dont want me to use Baddis. Client wants  like u should read from those EKKO,EKPO tables as soon as you get new entry there and send it to PI system.  I have no clue How can I go further in that. Shall I use events ? but then question is same I need to trgger them somewere?  Is any one have idea  How I can send the data to PI system frm SAP standard tcodes and tables without using Baddis.
    Please reply me. your any help will be appreciated.
    Regards
    Naeem

    The current Approach of your development perfectly good approach,
    it is not possbiel to read data directly from SAP Tables, you have to use IDoc/RFC/Proxy,if you want to avoid BADI's then better to contact ABAP Team, they will help you different approches .
    But you have to use Porxy/IDoc/BAPI for sure.
    Regards,
    Raj

  • Fm or metod that retrieve the lock object name from the table name

    HI ALL,
    there is FM or method that retrieve the lock object name from the table name ?
    Best regards
    Nina

    CALL FUNCTION 'ENQUEUE_REPORT'            
    EXPORTING                                
    gclient                     = sy-mandt   
    gname                       = 'RCTMV'         "Table Name
      GTARG                       = ' '       
      GUNAME                      = SY-UNAME  
    IMPORTING                                 
      number                      =           
      SUBRC                       =           
      TABLES                                  
        enq                         =  lt_seqg3
    EXCEPTIONS                               
       communication_failure       = 1        
       system_failure              = 2        
       OTHERS                      = 3

  • I want to delete the transactional record from database table

    Hai,
    I want to delete the transactional data from database table with out using the dialog programming is it there any trancation for this.
    for master data we have the transaction code for delete the records. The t.code is 'OBR2'.
    Plz help in that cse.
    Thanks and regards,
    P.Naganjana Reddy

    Hai,
    Plz help me urgent.
    I am asking i want to delete transactional data from database table without using the dialog programming.
    Thanks and Regards,
    P.Naganjana

  • Insert or Modify statement from internal table to database table

    Hi All,
    I have three tables wakh, wrf and wakp. I have an internal table with 5 columns col1, col2, col3, col4 and col5.
    The value in Col1 is my article no and the articleno. is in the table wakh. The value in col2 is my ccode and it is in the table wrf. The rest three columns col3, col4 and col5 are unit, qty and price and they are in the wakp table. Now when my articleno is equal to ccode I need to update the col3, col4 and col5 values  in the wakp. wakp has around 20 columns.
    Can anyone of you guys please give me the code for this issue. Your help is highly appreciated and thanks for all for your time.
    Cheers,
    Cheng

    Hi Rob,
    let me explain you the whole process what i am trying to do. I have a screen where there are 3 fields. In my first field I have a promoiton no. As soon as the user enters the promotion no. its description will be populated in my second field. If the promotion is not maintained then it will throw an error. In my third field User will upload an excel sheet which has 5 columns articleno, colorcode, salesunit, qty, mdprice. Here articleno is coming from wakh and colorcode is in wrf_charval table and the rest three fields are coming from wakp table. So for the article no. which is in col1. and for its corresponding colorcode which is in col3 i need to update col3, col4, col5 values.
    With my below code I am able to upload the excel into internal table and display it. So instead of displaying I need to update in the database. Can you please let me know how I need to attach the function module within my code and update accordingly.
    REPORT  ZTest.
    tables : wakh, wakt.
    Parameter: PromoID type wakh-aktnr, PromoDec type wakt-aktkt, p_file LIKE rlgrap-filename
                   DEFAULT 'c:\test.xls' OBLIGATORY.   " File Name
    *FileName type string.
    *file_nm type localfile.
    TYPES:   BEGIN OF t_datatab,
             col1(25)  TYPE c,
             col2(30)  TYPE c,
             col3(30)  TYPE c,
             col4(30)  TYPE c,
             col5(30)  TYPE c,
             END OF t_datatab.
    DATA: it_datatab TYPE STANDARD TABLE OF t_datatab INITIAL SIZE 0,
          wa_datatab TYPE t_datatab.
    Data : p_table type t_datatab occurs 0 with header line.
    DATA : gd_scol   TYPE i VALUE '1',
           gd_srow   TYPE i VALUE '2',
           gd_ecol   TYPE i VALUE '5',
           gd_erow   TYPE i VALUE '65536'.
    DATA: it_tab TYPE filetable,
          gd_subrc TYPE i.
    field-symbols : <fs>.
    AT selection-screen on PromoID.
    select single * from wakh where aktnr = PromoID.
      if sy-subrc EQ 0.
    select aktkt from wakt into PromoDec where aktnr eq PromoID.
    endselect.
    else.
    message A000(ZI) with 'Promotion ID is not Maintained.'.
    endif.
    *Title : Excel Uploading
    *Selection screen definition
    *SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    *PARAMETERS:  p_file LIKE rlgrap-filename
                  DEFAULT 'c:\test.xls' OBLIGATORY.   " File Name
    *SELECTION-SCREEN END OF BLOCK b1.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      REFRESH: it_tab.
      CALL METHOD cl_gui_frontend_services=>file_open_dialog
        EXPORTING
          window_title     = 'Select File'
          default_filename = '*.xls'
          multiselection   = ' '
        CHANGING
          file_table       = it_tab
          rc               = gd_subrc.
      LOOP AT it_tab INTO p_file.
       so_fpath-sign = 'I'.
       so_fpath-option = 'EQ'.
       append so_fpath.
      ENDLOOP.
    START-OF-SELECTION.
      PERFORM upload_excel_file TABLES   it_datatab
                                 USING   p_file
                                         gd_scol
                                         gd_srow
                                         gd_ecol
                                         gd_erow.
    END-OF-SELECTION.
    END-OF-SELECTION.
      LOOP AT it_datatab INTO wa_datatab.
        WRITE:/ wa_datatab-col1,
                wa_datatab-col2,
                wa_datatab-col3,
                wa_datatab-col4,
                wa_datatab-col5.
      ENDLOOP.
    *&      Form  UPLOAD_EXCEL_FILE
          upload excel spreadsheet into internal table
         -->P_TABLE    Table to return excel data into
         -->P_FILE     file name and path
         -->P_SCOL     start column
         -->P_SROW     start row
         -->P_ECOL     end column
         -->P_EROW     end row
    FORM upload_excel_file TABLES   p_table
                           USING    p_file
                                    p_scol
                                    p_srow
                                    p_ecol
                                    p_erow.
      DATA : lt_intern TYPE  kcde_cells OCCURS 0 WITH HEADER LINE.
    Has the following format:
                Row number   | Colum Number   |   Value
         i.e.     1                 1             Name1
                  2                 1             Joe
      DATA : ld_index TYPE i.
    Note: Alternative function module - 'ALSM_EXCEL_TO_INTERNAL_TABLE'
      CALL FUNCTION 'KCD_EXCEL_OLE_TO_INT_CONVERT'
        EXPORTING
          filename                = p_file
          i_begin_col             = p_scol
          i_begin_row             = p_srow
          i_end_col               = p_ecol
          i_end_row               = p_erow
        TABLES
          intern                  = LT_INTERN
        EXCEPTIONS
          inconsistent_parameters = 1
          upload_ole              = 2
          OTHERS                  = 3.
      IF sy-subrc <> 0.
        FORMAT COLOR COL_BACKGROUND INTENSIFIED.
        WRITE:/ 'Error Uploading file'.
        EXIT.
      ENDIF.
      IF lt_intern[] IS INITIAL.
        FORMAT COLOR COL_BACKGROUND INTENSIFIED.
        WRITE:/ 'No Data Uploaded'.
        EXIT.
      ELSE.
        SORT lt_intern BY row col.
        LOOP AT lt_intern.
         MOVE lt_intern-col TO ld_index.
         assign component ld_index of structure
         p_table to <fs>.
    move : lt_intern-value to <fs>.
        MOVE lt_intern-value TO p_table.
          AT END OF row.
            APPEND p_table.
            CLEAR p_table.
          ENDAT.
        ENDLOOP.
      ENDIF.
      ENDFORM.
    Thanks for your valuable time.
    Cheng

  • How to delete records from MTL_SYSTEM_ITEMS table

    Hello Experts,
    BANNER
    =======
    Oracle8i Enterprise Edition Release 8.1.7.4.0 - Production
    PL/SQL Release 8.1.7.4.0 - Production
    CORE     8.1.7.0.0     Production
    TNS for IBM/AIX RISC System/6000: Version 8.1.7.4.0 - Production
    NLSRTL Version 3.4.1.0.0 - Production
    I am working on Oracle Apps - 11.5.8 version.
    I have some doubts in deleting the records from MTL_SYSTEM_ITEMS table.
    There are few records which have junk characters and currently resides in table.
    I need to delete those records.
    But as per the approach; we should not delete any data directly from MTL table as it would cause huge impact.
    I have followed the below approach; but didnt worked out well.
    Script
    =======
    1)
    I have modified the below parameter in the MTL_SYSTEM_ITEMS_INTERFACE table --> SET_PROCESS_ID =0,TRANSACTION_TYPE ='DELETE',PROCESS_FLAG=1 .
    Apart from that; everything remains the same as in MTL_SYSTEM_ITEM table.
    2) Called the "Import Items" concurrent program.
    It got successfully completed. But record still exists in MTL_SYSTEM_ITEMS_INTERFACE table
    Your help is highly appreciated.
    Insert into MTL_SYSTEM_ITEMS_INTERFACE
       (SET_PROCESS_ID ,TRANSACTION_TYPE,PROCESS_FLAG ,INVENTORY_ITEM_ID, ORGANIZATION_ID, LAST_UPDATE_DATE, LAST_UPDATED_BY, CREATION_DATE, CREATED_BY, LAST_UPDATE_LOGIN,
    SUMMARY_FLAG, ENABLED_FLAG, DESCRIPTION, BUYER_ID, SEGMENT1, ATTRIBUTE3, ATTRIBUTE4, ATTRIBUTE9, ATTRIBUTE15, PURCHASING_ITEM_FLAG, SHIPPABLE_ITEM_FLAG,
    CUSTOMER_ORDER_FLAG, INTERNAL_ORDER_FLAG, SERVICE_ITEM_FLAG, INVENTORY_ITEM_FLAG, ENG_ITEM_FLAG, INVENTORY_ASSET_FLAG, PURCHASING_ENABLED_FLAG,
    CUSTOMER_ORDER_ENABLED_FLAG, INTERNAL_ORDER_ENABLED_FLAG, SO_TRANSACTIONS_FLAG, MTL_TRANSACTIONS_ENABLED_FLAG, STOCK_ENABLED_FLAG, BOM_ENABLED_FLAG, BUILD_IN_WIP_FLAG,
    REVISION_QTY_CONTROL_CODE, CATALOG_STATUS_FLAG, RETURNABLE_FLAG, TAXABLE_FLAG, QTY_RCV_EXCEPTION_CODE, ALLOW_ITEM_DESC_UPDATE_FLAG, RECEIPT_REQUIRED_FLAG,
    RFQ_REQUIRED_FLAG, QTY_RCV_TOLERANCE, LIST_PRICE_PER_UNIT, PRICE_TOLERANCE_PERCENT, ENFORCE_SHIP_TO_LOCATION_CODE, ALLOW_SUBSTITUTE_RECEIPTS_FLAG,
    ALLOW_UNORDERED_RECEIPTS_FLAG, DAYS_EARLY_RECEIPT_ALLOWED, DAYS_LATE_RECEIPT_ALLOWED, RECEIPT_DAYS_EXCEPTION_CODE, RECEIVING_ROUTING_ID, LOT_CONTROL_CODE,
    SHELF_LIFE_CODE, SHELF_LIFE_DAYS, SERIAL_NUMBER_CONTROL_CODE, RESTRICT_SUBINVENTORIES_CODE, RESTRICT_LOCATORS_CODE, LOCATION_CONTROL_CODE, ACCEPTABLE_EARLY_DAYS,
    PLANNING_TIME_FENCE_CODE, LEAD_TIME_LOT_SIZE, ACCEPTABLE_RATE_INCREASE, ACCEPTABLE_RATE_DECREASE, PLANNING_TIME_FENCE_DAYS, END_ASSEMBLY_PEGGING_FLAG,
    REPETITIVE_PLANNING_FLAG, BOM_ITEM_TYPE, PICK_COMPONENTS_FLAG, REPLENISH_TO_ORDER_FLAG, ATP_COMPONENTS_FLAG, ATP_FLAG, WIP_SUPPLY_TYPE, PRIMARY_UOM_CODE,
    PRIMARY_UNIT_OF_MEASURE, ALLOWED_UNITS_LOOKUP_CODE, COST_OF_SALES_ACCOUNT, SALES_ACCOUNT, DEFAULT_INCLUDE_IN_ROLLUP_FLAG, INVENTORY_ITEM_STATUS_CODE,
    INVENTORY_PLANNING_CODE, PLANNING_MAKE_BUY_CODE, FIXED_LOT_MULTIPLIER, ROUNDING_CONTROL_TYPE, CARRYING_COST, POSTPROCESSING_LEAD_TIME, PREPROCESSING_LEAD_TIME,
    FULL_LEAD_TIME, MRP_SAFETY_STOCK_CODE, FIXED_DAYS_SUPPLY, RESERVABLE_TYPE, VENDOR_WARRANTY_FLAG, SERVICEABLE_COMPONENT_FLAG, SERVICEABLE_PRODUCT_FLAG,
    PREVENTIVE_MAINTENANCE_FLAG, PRORATE_SERVICE_FLAG, INVOICEABLE_ITEM_FLAG, INVOICE_ENABLED_FLAG, MUST_USE_APPROVED_VENDOR_FLAG, OUTSIDE_OPERATION_FLAG,
    COSTING_ENABLED_FLAG, AUTO_CREATED_CONFIG_FLAG, CYCLE_COUNT_ENABLED_FLAG, ITEM_TYPE, SHIP_MODEL_COMPLETE_FLAG, MRP_PLANNING_CODE, RETURN_INSPECTION_REQUIREMENT,
    EFFECTIVITY_CONTROL, CHECK_SHORTAGES_FLAG, EQUIPMENT_TYPE, WEB_STATUS, BULK_PICKED_FLAG, LOT_STATUS_ENABLED, SERIAL_STATUS_ENABLED, LOT_SPLIT_ENABLED,
    LOT_MERGE_ENABLED, DUAL_UOM_CONTROL, SERV_BILLING_ENABLED_FLAG, LOT_TRANSLATE_ENABLED, DEFAULT_SO_SOURCE_TYPE, CREATE_SUPPLY_FLAG)
    Values
       (0,'DELETE',1,464852, 102, TO_DATE('01/11/2007 16:15:11', 'MM/DD/YYYY HH24:MI:SS'), 3443, TO_DATE('08/24/2006 14:13:03', 'MM/DD/YYYY HH24:MI:SS'), 3443, 21069398,
    'N', 'Y', 'pentaseal 6 X 320 SL-807202 Klockner', 4223, '0006320161', 'No', 'No', 'MRPM', 'N', 'Y', 'N', 'N', 'N', 'N', 'Y', 'N', 'Y', 'Y', 'N', 'N', 'N', 'N', 'Y',
    'Y', 'Y', 1, 'N', 'Y', 'N', 'WARNING', 'Y', 'Y', 'N', 3, 0, 20, 'WARNING', 'Y', 'Y', 5, 5, 'WARNING', 3, 1, 2, 1825, 1, 2, 2, 2, 10, 4, 1, 0, 0, 1, 'B', 'N', 4, 'N',
    'N', 'N', 'N', 2, 'EA', 'EACH', 3, 12916, 14296, 'Y', 'Uncosted', 6, 1, 100, 1, 2, 0, 5, 50, 1, 20, 1, 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'Y', 'N', 'Y',
    'CMPC', 'N', 3, 2, 1, 'N', 2, 'UNPUBLISHED', 'N', 'N', 'N', 'N', 'N', 1, 'N', 'N', 'INTERNAL', 'Y');---------

    Hi,
    You have to use the delete item utility of Oracle Inventory.
    Responsibility: Inventory Superuser or similar
    Navigation: Items -> Delete Items
    Enter a meaningful name in the Group field.
    Type - Item
    Select the organization you want to delete the item from.
    In the details section, enter the items you want to delete.
    Once all the items entered, click on the "Chcek Group" button. This will validate whether the items you have entered are eligible to delete (i.e. whether any child record such as transactions exist).
    It will submit a concurrent program and once the program finishes you will be able to see the result in the Results tab.
    Finally click on the "Delete Group" button to delete the eligible items.
    Thanks,
    PS.

Maybe you are looking for

  • Tape-Op 100 quotes from past 100 issues related to recording/mixing/engineering

    Tape-Op the creative recording magazine  (free) For their 100th issue Tape-Op offers 100 quotes from guests they've interviewed. http://tapeop.com/articles/100/100-issues-100-quotes/ I have nothing to do with the magazine, just a public service annou

  • Row to Column display in PL/SQL

    Hi All, I have dyanamic query its display the periods. ex: if the uesr gives the input like APR-07 to APR 08. It will display the record like APR-10   1200 MAR-10   1400 APR-08 2500Now i want to display the above code as APR-10 MAR-10 - - - - - -- -

  • Key with a slash character

    Hello, In my tests I see that when I add a key component that contains a slash character "/", Oracle NoSQL encodes it as "%2F". For example: ArrayList<String> majorComponents = new ArrayList<String>(); majorComponents.add("forums.oracle.com/community

  • IS Mining - Formula BTU calucation Base on Coal base Price

    Hi all. we are in to implementation of IS Mining Solution to coal industry. a coal having different characteristics like Ash, Sulpher , BTU , Size of the coal , there want to calculate BTU as Base price      Penalty Calculation for BTU           S.No

  • "no visible interface for uiapplication"

    i am setting local noification in some viewController but this line code :"[[UIApplication sharedApplicaition] scheduledNotification:notification] " give me this error: "no visible interface for uiapplication declares the selector :scheduledNotificat