No locks realease with CALL TRANSACTION

Hi all,
I have a problem. I have a call transaction statement inside of a Loop. The problem is that it brings in the messtab a message that says that the product that I'm trying to modify is locked after each loop pass. I've tried to correc it using COMMIT WORK AND WAIT, WAIT UP TO 5 seconds, DEQUEUE ALL and modifying the update technique of the call transaction to S and L....but nothing helps.
In addition, I have the same problem but instead of using a call transaction statement I used a BAPI ( BAPI_PRDSRVAPS_SAVEMULTI2)
I use the BAPI in this way.
CALL FUNCTION 'BAPI_PRDSRVAPS_SAVEMULTI2'
  EXPORTING
    logical_system                    = wl_logsis
  SAVE_OPTIONS                      =
   COMMIT_CONTROL                     =  ''
  BUSINESS_SYSTEM_GROUP             =
TABLES
   PRODUCT_LOCATION_VERSION          = t_location_ver
   PRODUCT_LOCATION_VERSION_X        = t_location_verx
   RETURN                            = t_return1.
Please some ideas...
Thanks.

Hi guys,
I've been trying in the way you said but I've not be able to solve the problem. This is part of the code I wrote before calling BAPI in order to get success.
wl_tabix = 1.
  WHILE wl_tabix ne 1.
    CALL FUNCTION 'ENQUEUE_/SAPAPO/E_MATKEY'
      EXPORTING
        MODE_/SAPAPO/MATKEY_LOCK       = 'E'
        MANDT                          = SY-MANDT
        MATNR                          = gt_outtab-matnr
     EXCEPTIONS
       FOREIGN_LOCK                   = 1
       SYSTEM_FAILURE                 = 2
       OTHERS                         = 3.
     MOVE sy-subrc TO wl_tabix.
     IF wl_tabix ne 1.
       CALL FUNCTION 'DEQUEUE_/SAPAPO/E_MATKEY'
        EXPORTING
           MODE_/SAPAPO/MATKEY_LOCK       = 'E'
           MANDT                          = SY-MANDT
           MATNR                          = gt_outtab-matnr.
     ENDIF.
  ENDWHILE.
Please, some ideas for this because I'm still stuck on it.
Thanks.

Similar Messages

  • How to replace 'CALL DIALOG' with 'CALL TRANSACTION'

    IF NOT bkpf-bukrs IS INITIAL.
        CLEAR   buztab.
        REFRESH buztab.
        buztab-zeile = bseg-buzei.
        buztab-bukrs = bkpf-bukrs.
        buztab-belnr = bkpf-belnr.
        buztab-gjahr = bkpf-gjahr.
        buztab-buzei = bseg-buzei.
        APPEND buztab.
        buztab-zeile = bseg-buzei.
        x_nochange = 'X'.
        CALL DIALOG 'RF_ZEILEN_ANZEIGE'
             EXPORTING
                  buztab
                  buztab-zeile
                  tcode        FROM 'FB03'
                  x_nochange
             IMPORTING
                  buztab
                  x_commit.
      ENDIF.
      CLEAR bkpf.
      CLEAR bseg.
    The above given is the part of a code. I need to replace the CALL DIALOG part with CALL TRANSACTION. Can any one plz suggest me how to go ahead with it?

    Javascript. window.open();

  • 2 issues with call transaction to LS24

    Hello All,
    There are 2 issues with call transaction to LS24.
    <b>1) It doesn't take batch value and displays stock for all batches.
    2) When you go back, it doesn't go back to the calling program.</b>
    Any thoughts ?
    <u>Here is my code:</u>
    PARAMETERS: p_lgnum TYPE lgnum,
                p_matnr TYPE matnr,
                p_werks TYPE werks_d,
                p_lgort TYPE lgort_d,
                p_charg TYPE charg_d.
    START-OF-SELECTION.
    END-OF-SELECTION.
      PERFORM display_stock_per_batch.
    *&      Form  DISPLAY_STOCK_PER_BATCH
    FORM display_stock_per_batch .
      SET PARAMETER ID 'LGN' FIELD p_lgnum.
      SET PARAMETER ID 'MAT' FIELD p_matnr.
      SET PARAMETER ID 'WRK' FIELD p_werks.
      SET PARAMETER ID 'LAG' FIELD p_lgort.
      SET PARAMETER ID 'CHA' FIELD p_charg.
      CALL TRANSACTION 'LS24' AND SKIP FIRST SCREEN.
    ENDFORM.                    " DISPLAY_STOCK_PER_BATCH

    hello
    use this code
    perform bdc_dynpro      using 'SAPML01S' '0209'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RL01S-CHARG'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'RL01S-LGNUM'
                                  p_lgnum.
    perform bdc_field       using 'RL01S-MATNR'
                                  p_matnr.
    perform bdc_field       using 'RL01S-WERKS'
                                  p_werks.
    perform bdc_field       using 'RL01S-LGORT'
                                  p_lgort.
    perform bdc_field       using 'RL01S-BESTQ'
    perform bdc_field       using 'RL01S-SOBKZ'
    perform bdc_field       using 'RL01S-CHARG'
                                  p_charg.
    perform bdc_dynpro      using 'SAPML01S' '0209'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/EBACK'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RL01S-LGNUM'.
    perform bdc_transaction using 'LS24'.
    may be it will help u

  • Problems executing batch input with call transaction

    When I execute BI with Call transaction the fields disabled are enabled and I do not know why. How to resolve it? I do not want them to be enabled

    Can you provide us the BI Program name and Transaction Code???
    Regards
    Eswar

  • ABAP prog with Call Transaction  to SU01 will not add roles in a CUA client

    I am modifying a current ABAP program that works in a non-CUA client to hopefully execute in a CUA client.  This program performs a Call Transaction to tcode SU01 and adds roles to an existing user.  I used tcode SHDB to identify the new BDC commands needed for CUA when using tcode SU01.  When executing the program in the CUA client  it does not save the roles to the user.  There is no error message or abnormal termination.
    When I assign the role to the same user that's referenced in my program directly with tcode SU01 it works fine.  Its just when I run the ABAP program the role assigment is not retained.  I opened a Customer Message with SAP and they referenced OSS Note 93802 and said this was a consulting question.  My program is not abending as referenced in Note 93802, it just does not add the role.
    Has anyone been able to get this to work in a CUA client?

    Hi,
    it should be fairly simple to create a new ABAP using the BAPI's related to business object USER. Call BAPI_USER_CREATE1 to create the users, and BAPI_USER_LOCACTGROUPS_ASSIGN to assign roles in a CUA environment. It should go something like this:
    [read file with user data into internal table wt_users]
    [read file with role assignments into internal table wt_roles]
    Loop at wt_users into wa_user.
      [create LOGINDATA, ADDRESS and other structures for user in BAPI below, based on the data in wa_user]
      call 'BAPI_USER_CREATE1'
      exporting
        username                      = [the user name from input file]
      NAME_IN                       =
        logondata                     = [structure for logondata]
        password                      = [initial password value]
      DEFAULTS                      =
        address                       = [address structure created above]
        [etc.]
      if sy-subrc eq 0.
    Assign roles for the user
    clear wt_activitygroups. refresh wt_activitygroups.
    loop at wt_roles into wa_roles where username = wa_user-username.
        [build an internal table, wt_activitygroups, for system/role assignments for the user]
    endloop.
        call BAPI_USER_LOCACTGROUPS_ASSIGN
          exporting
            username                      = [the users name]
          tables
            activitygroups           = wt_activitygroups
            return                       = wt_return.
    Endloop.
    Ideally, you would have two input files: one with the user data (one record per user), and another one containing the data for the BAPI_USER_LOCACTGROUPS_ASSIGN (on the format USERNAME, SYSTEM, ROLENAME); one entry per line. You'd loop at the first table, containing the user data, then create the user, then loop at all entries in the system/role assignment file for the same username, building an internal table of role assignemnts; then call the second BAPI (provided there were any role assignments to assign for that user!)
    Hope this makes sense. It's not rocket science really; you can omit most of the parameters of BAPI_USER_CREATE1, and the second BAPI is even simpler. You could consider validating the input data by checking entries in table USRSYSACT, which contains all valid system/role assignments as seen from the CUA system (this table gets updated every time you do a "text compare" from within SU01.
    Regards,
    Trond

  • Problem with call transaction and a query

    Hi,
    Whe have a query that has its own Z tcode, we are working with this "EXIT_SAPLCORF_103"  within the tcode CO11N. Inside the include "ZXCOFU13" we call the query Tcode and it is displayed on screen but with no data.
    The table "itbdcdata" record well the data of the inputs in the query recording so you can see with the WERKS and the number of reserve (3994) in the recording.
    Why the call transaction display the query screen with no data...? and how can i pass the inputs to the query screen so it be executed.
    Thanks on advance.
    David Fúnez
    Tegucigalpa, Honduras.
    This is the recording:
    AQZZZ_USER_GRMA=Z_QUERY_PP_003     1000X                                                                                BDC_CURSOR     SP$00002-LOW
                                                                BDC_OKCODE     =CRET
                                                                S_WERKS-LOW     1202
                                                                SP$00002-LOW           3994
                                                                %ALV     X
    this is the code in the INCLUDE
    *&  Include           ZXCOFU13
    DATA: itbdcdata TYPE bdcdata    OCCURS 0 WITH HEADER LINE,
          optoption TYPE ctu_params.
    REFRESH itbdcdata.
    CLEAR   itbdcdata.
    itbdcdata-program  = 'AQZZZ_USER_GRMA=Z_QUERY_PP_003'.
    itbdcdata-dynpro   = '1000'.
    itbdcdata-dynbegin = 'X'.
    APPEND itbdcdata.
    itbdcdata-fnam = 'BDC_CURSOR'.
    itbdcdata-fval = 'SP$00002-LOW'.
    APPEND itbdcdata.
    itbdcdata-fnam = 'BDC_OKCODE'.
    itbdcdata-fval = '=CRET'.
    APPEND itbdcdata.
    itbdcdata-fnam = 'S_WERKS-LOW'.
    itbdcdata-fval = '1202'.
    APPEND itbdcdata.
    itbdcdata-fnam = 'SP$00002-LOW'.
    itbdcdata-fval = caufvd_imp-rsnum.
    APPEND itbdcdata.
    itbdcdata-fnam = '%ALV'.
    itbdcdata-fval = 'X'.
    APPEND itbdcdata.
    CLEAR optoption.
    optoption-dismode = 'A'. "A is visible
    optoption-updmode = 'S'.
    CALL TRANSACTION 'ZRESV' USING itbdcdata OPTIONS FROM optoption.

    problem solved.

  • Problem with CALL Transaction syntax

    Hi All,
    I have created  a report in which Im displaying Sales order, planned order n production order details.
    In the output if the user double clicks, anyone of the sales order/planned order/production order no, it has to take to concern transaction.
    Sales order and planned order are perfectly working.
    problem is with production order, it is not displaying, the exact order no.
    my code:
    WHEN '&IC1'.
          IF rs_selfield-fieldname = 'VBELN'.
         READ TABLE gt_final_so INTO wa_final_so INDEX rs_selfield-tabindex
            SET PARAMETER ID 'AUN' FIELD wa_final_so-vbeln.
            CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.
          ELSEIF rs_selfield-fieldname = 'PLNUM'.
         READ TABLE gt_final_so INTO wa_final_so INDEX rs_selfield-tabindex.
            SET PARAMETER ID 'PAF' FIELD wa_final_so-plnum.
            CALL TRANSACTION 'MD13' AND SKIP FIRST SCREEN.
          ELSEIF rs_selfield-fieldname = 'AUFNR'.
         READ TABLE gt_final_so INTO wa_final_so INDEX rs_selfield-tabindex.
            SET PARAMETER ID 'ANR' FIELD wa_final_so-aufnr.
            CALL TRANSACTION 'COR3' AND SKIP FIRST SCREEN.
    In debugging I checked, after call transaction, the system executing the following code, here CAUFVD-AUFNR is initial.
    So, it has been picking some different no.
          Starten Batchrezept über Einsatzplanung - DO-THANH
      MODULE GET_PARAMETER OUTPUT.
        IF CAUFVD-AUFNR IS INITIAL.
          GET PARAMETER ID 'BR1' FIELD *CAUFVD-AUFNR.
          IF NOT *CAUFVD-AUFNR IS INITIAL.
            CAUFVD-AUFNR = *CAUFVD-AUFNR.
          ENDIF.
        ENDIF.
      ENDMODULE.                             " GET_PARAMETER  OUTPUT
    Pls help me how to resolve the above problem.
    Valuable suggesstion will be highly appreciated.
    regards,
    Priya

    Hi,
    Note that the code as different Parameter id
    you are setting the parameter 'ANR'
    SET PARAMETER ID 'ANR' FIELD wa_final_so-aufnr.
    Where as in that method it is reading the parameter id 'BR1'
    GET PARAMETER ID 'BR1' FIELD *CAUFVD-AUFNR.
    so try by setting  the 'BR1' in set parameter.
      ELSEIF rs_selfield-fieldname = 'AUFNR'.
         READ TABLE gt_final_so INTO wa_final_so INDEX rs_selfield-tabindex.
            SET PARAMETER ID 'BR1' FIELD wa_final_so-aufnr.
            CALL TRANSACTION 'COR3' AND SKIP FIRST SCREEN.
    Regards,
    Kiruba.

  • Problem with "Call Transaction" which calls a view cluster

    Hi Colleagues ,
    I have a rare issue with the call transaction , here is the use case for it :
    1> I call a transaction(calls a screen X) in a report ,
    2> I have a button in the screen , which calls another transaction(calls a screen X2) .
    3> On the screen X2 i have another button which calls transaction (calls the view cluster ).
    problem :
    i'm not able to see the navigation pane in the view cluster on the left. its missing .
    but when the view cluster is called direclty , i'm able to see the navigation pane in the view cluster ..
    My initial doubt was , is this the problem with nesting of 'Call Transaction' calls ????
    please answer the thread , i have to fix this ASAP.
    regards,
    Dilip

    problem solved.

  • Problem with Call Transaction opt-RACOMMIT = 'X'.

    Hello Experts
    I am having a problem with call transction. I am calling a Z transaction in function module. Within the Z transaction I am furhter calling some function modules and doing commit work and then some more processing  after the comit work inside  So to make sure the code after comit work is fired I am using opt-RACOMMIT = 'X' in call transaction. Whenever I set this parameter opt-RACOMMIT = 'X' call transaction fails and gives error saying No batch Input data for screen XXXX. However the Z tcode processed succesfully.
    By changing the Mode to E i found that it remians at the last screen of call transction after executing the Z transaction and never comes back 
    But if I donot use RACOMMIT = 'X'  everything is fine. Please let me know if anyone came across such problem. Any help will be apreciated.
    Thanks,
    kamal

    Hello,
    as you said, if there is more than commit statement in your ztransaction, then you should put RACOMMIT to 'X'.
    I think the problem is in your bdcdata: change it to be sure to get back to the 1st screen of your ztransaction. Then, at this point (1st screen) hit "back" button.
    Cordialement,
    Chaouki

  • BDC with call transaction VD02 works fin in A mode but not in N mode

    Hi All,
        I have BDC program developed in 4.6c using call transaction VD02 works fine with mode A but not with mode N.
    Now we upgraded to ECC 6.0.Do I need to change anything?

    No, you don't have to change anything for ECC. BTW, I wonder why VD02 is not working in the background for you?

  • Lock inheritance with "CALL FUNCTION func IN BACKGROUND TASK"

    I see that the "SAP Lock concept" documentation states that for locks obtained with _scope = '3', all UPDATE tasks (spawned via "CALL FUNCTION func IN UPDATE TASK" inherit the lock (which is released only once all such update tasks and the calling process have requested a DEQUEUE).
    What should happen when instead, I use "CALL FUNCTION func IN BACKGROUND TASK" (for doing the update in a queue)? Are the locks inherited here as well?
    Cheers!

    Hopefully not, as a background task may be executed late. While update tasks are to be executed quickly (if not, administrators should review the system configuration, like increasing the number of UPD workprocesses).
    Solution: In the background task, redo the locks, as if it was a background job.

  • LT04 problems with call transaction

    Hello,
    I am using RF and creating screens for users to putaway material  in a raw material warehouse based on a material document number from the GRN which is linked to a TR (transfer requirement).  I am, however, having problems with the TO creation where the material is QM relevant.
    I have used function module L_TO_CREATE_TR which works for non-QM relevant items but most of our items are QM relevant.  I am trying to process these by creating a TO using LT04 as a call transaction.
    However, before I can put in a bin , the screen that appears in order to enter the bin  has an error message before anything has been input -  'No destination storage bin to be found in storage type 001 "(L3 009).
    Anyone have any suggestions how I can get around this as I cannot create the TO in the background using LT04 because of this error.
    Regards
    Larissa Maryniuk

    As mentioned in my original question, I cannot use the LTOCREATE_FROM_TR FM for items set  with stock category Q as these are QM relevant.  If you try and create a TO from a TR using L_TO_CREATE_TR you get an error of 2 which is item is QM relevant.  I cannot see how I can use  WS_LM_TRANSFER_ORDER_CREATE as you cannot put in the TR number anywhere. Other than these 2 cannot see how I can create a TO from a TR without using LT04. 
    If I use LT04 and set as backrground I get the message specified. The way to get around the error using LT04 is only available if T04 is set as Foreground on the front screen instead of background.
    Anyone have any suggestions?
    Edited by: Larissa Maryniuk on Jan 25, 2010 11:41 AM

  • Problem with CALL TRANSACTION  SKIP FIRST SCREEN

    Hi Experts,
    I am having a functionality where in if i click the hotspot i go the specified transaction..I am able to do that using --
    CALL TRANSACTION 'CAA3' AND SKIP FIRST SCREEN
    Now if i press the back button on the standard transaction i am coming to the first screen of the CAA3 transaction..
    Can i come back to my original ALV display instead of coming to the first screen of the CAA3 transaction which i have skipped while going there..
    I have searched in all forums. But i couldn't get the proper solution.
    Please Help me !!!
    Regards,
    Rajesh

    Hi friends,
    What do you think the results?
    I used alv hotspot.
    FORM user USING  r_ucomm LIKE sy-ucomm rs_selfield
                              TYPE slis_selfield .
       READ TABLE gt_alv INTO gs_alv INDEX rs_selfield-tabindex.
       IF rs_selfield-fieldname EQ 'BELGE'.
         SET PARAMETER ID '80B' FIELD gs_alv-belge.
         CALL TRANSACTION 'FPE3' AND SKIP FIRST SCREEN.
       ELSEIF rs_selfield-fieldname EQ 'GPART'.
         SET PARAMETER ID 'BPA' FIELD gs_alv-gpart.
         CALL TRANSACTION 'FPP3' AND SKIP FIRST SCREEN.
       ELSEIF rs_selfield-fieldname EQ 'VKONT'.
         SET PARAMETER ID 'KT0' FIELD gs_alv-vkont.
         CALL TRANSACTION 'CAA3' AND SKIP FIRST SCREEN.
       ENDIF.
    FPE3 and FPP3 is running. But CAA3 is incorrect.
    is the correct answer enhancement ?

  • Problem with CALL TRANSACTION 'VA33' with PARAMETER ID 'AUN'

    I started to post this as a problem, but stumbled into the solution while testing further.  Since I didn't find a solution in the SDN.SAP Forums I'm entering this to help others who may have the same problem.
    This code would not work:
          SET PARAMETER ID 'AUN' FIELD sy-lisel(10).   "sy-lisel(10) contains the Scheduling Agreement on the selected line of the report.
          CALL TRANSACTION 'VA33' AND SKIP FIRST SCREEN.
    It would go to Transaction VA33 but would always default to the last Scheduling Agreement accessed manually instead of the one I needed to see via this call.
    When I change the transaction to VA03 it works:
          SET PARAMETER ID 'AUN' FIELD sy-lisel(10).
          CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.
    We can not access a Scheduling Agreement from VA03 on-line, but for some reason this call displays the correct S/A, and System Status says it is running transactin VA03. 
    Perhaps it is because we are using a custome Order Type for Scheduling Agreements (YALZ)?
    Best wishes to our SAP friends.

    Hi,
    VA33 is for schedulinng Agreement so use..
    SET PARAMETER ID 'LPN' FIELD sy-lisel(10).
    AUN - Order number
    LPN - Scheduling agreement number
    now it works..
    Regards,
    Sathish Reddy.

  • Problem with Call Transaction

    hello,
    i am doing call transaction to ME41 in mode 'A' (visible). The problem is when it go to screen SAPLMLSP 0200, in this screen stop call transaction, no error, no okcode, no data,..why?
    thanks,
    regards,

    Hi,
    Please check your BDC Program. i think you are not done the recording for that screen. Pleae do the recording one more time and check the program.
    Thanks,
    Venkat

Maybe you are looking for

  • Can someone shed some light on my HDMI woes?

    Hello all, I'm running a brand new MacBook Pro Retina 15" with OS X 10.9.4. I went ahead and bought an HDMI to VGA adapter from Amazon (cheap, Chinese model. No branding.) and when I connected it to the HDMI port on my MBP I got... nothing.  Absolute

  • How to close database connections in Crystal Reports

    I am using the following code to connect to database. I can either pass JNDIName or I can provide values for others by leaving JNDI name empty. If i use JNDI name, it will use a connection from the connection pool of App Server (in my case Weblogic),

  • How to open a PDF file using NWDS or VC

    Hi Frndz... As per my requirment i need to open a PDF file on browser which PDFs are reside on R/3 and in my case EP server is on UNIX usinig either NWDS or VC .... Thanks in Advance Regards Rajesh 09903726944

  • Share Aperture photos over network

    Hallo every body, iam searching for a solution, how to share photo over network for a long time, in our company we have 40 macs(imac, mac bookpro) and 3 xserve, vtrak and 30pc. and we have round about 30000 pic they are saved in iphoto library on one

  • Data filtering for table and chart

    Hi, I'm new to crystal reports XI. I have one sql query which I am using as the data source for a chart and a table (cross tab). The query return balance for monthly data. In the chart I need to display all the data returned by the query. In the tabl