Issue with BAPI & Commit

Dear All,
I have been working with an assignment and facing a strange issue.
I have used the 'BAPI_SALESORDER_CHANGE' to modify sales order and then I call 'BAPI_TRANSACTION_COMMIT' with wait = X. So, this bapi modifies the sales order schedule lines and also in turn updates the info structure linked to it (In our case, say it is S800)
Immediately after this I have a select statement on S800 to fetch the records.
On debug, if I break at select statement, I get correct records from S800  but If i break one step after select it gives me different records.
I think there is some delay in updation of infostructure, hence, If i use wait statement before select for 1 sec, it works fine, but cause performance issues.
for over 15000 order items, it will wait for around 8 hours, hence, i would like to know is there any way I can avoid wait and also read the infostructure for correct records.
<< Moderator message - Everyone's problem is important. Please do not ask for help quickly. >>
Edited by: Rob Burbank on Feb 24, 2011 9:45 PM

Hi Chandanrs,
with COMMIT WORK (or BAPI_TRANSACTION_COMMIT) with WAIT addition, processing is continued after all high-priority ("VB1") update function modules are executed in the order of their registration and in a shared database LUW.
That means that the info structures are probably updated in low-priority ("VB2") update.
I never faced this situation but I think that the info structure should still be locked. Try to find the corresponding lock object, in a (test) run, locks may be visible shortly in SM12 lock overview.
If possible, after commit work, try to call the enqueue function with the same arguments as it is done within the BAPI processing. You should get a foreign lock error until the end of the second level update process.
while lv_locked is initial.
  call function 'ENQUEUE...
  IF sy-subrc = 0.
    lv_locked = 'X'.
  endif.
endwhile.
  call function 'DEQUEUE...
  clear lv_locked.
This lets your program wait until the info structure update is complete. Sorry I do not really know which lock object is used here. Anyway, I still do not know why you have to read the S900 directly after update.
You may also process all orders to the to set the order quantity to delivered qty, COMMIT every 1000 or so orders, put the original quantity to internal table. Then do the same for restoring.
BAPI processes run a great deal faster if you do not COMMIT after every single document. But you can't take too many because than you risk a lock table overflow.
Hope it is some help anyway.
Regards,
Clemens

Similar Messages

  • Post Goods Issue with BAPI with reference to BOM

    Hi All,
    I want to post Goods Issue with BAPI / FM with reference to BOM.
    The requirement is like to replicate what we can do with MB1A with reference to BOM with BAPI / FM.
    Please give ur suggestions.
    Thanks in advance.
    Chintan.

    https://www.sdn.sap.com/irj/scn/advancedsearch?cat=sdn_forums_rm&query=kanban&adv=false&sortby=cm_rnd_rankvalue&sortmode=true&searchmode=similar&similardocsuri=/forumsrm/1_category/42_category/50_forum/34196_thread/322837_message

  • Performance issues with Bapi BAPI_MATERIAL_AVAILABILITY...

    Hello,
    I have a Z program to check ATP which is working with Bapi BAPI_MATERIAL_AVAILABILITY....
    As I am in the retail system we have performance issues with this bapi due the huge amount of articles in the system we need to calculate the ATP.
    any  way to  improve  the  performance?
    Thanks and best regards
    L

    The BAPI appears to execute for only one plant/material, etc., at a time, so I would have to concentrate on making data retrieval and post-bapi processing as efficient as possible.  In your trace output, how much of your overall time is consumed by the BAPI?  How much by the other code?  You might find improvements there...

  • Issue with BAPI BAPI_ACC_DOCUMENT_REV_POST

    Hi,
    I am using the BAPI BAPI_ACC_DOCUMENT_REV_POST to reverse FI documens but the function module generates a short dump when I commit the transaction.
    I first use the function module BAPI_ACC_DOCUMENT_REV_CHECK to simulate the reversal operation and it does not return any error. I then use BAPI_ACC_DOCUMENT_REV_POST which returns the number of the reversed document. But when I commit, a short dump is generated.
    The type of the exception is INS_ERROR_IT and it occurs in the include LFLQPOF01(Form UPDATE_ITEM ). After debugging the program, I noticed that the standard is trying to insert a row in FLQITEMBS  table which exists already.
    What is surprising is that reversing the same document directly through FB08 is done correctly.
    I started looking to SAP notes, but no succes to finding a suitable solution.
    Does any one have a similar issue? Any tips?
    Thank you all in advance.

    Hello,
    You can run the standard ACC_BAPI_TEST_DOCUMENT program and check if the same issue is coming. It will be then easier for you to find out what exactly happening.
    Thanks & Regards,
    Abhijit

  • Issue with Database Commit

    Hello All,
    I have two include in my user exit of the sales order.
    In one include I am doing some validation on the Order quantity of the sales order depending upon the order quantity in one of my Z table. If every validation is OK then I am exporting this order quantity to memory ID.
    In the second include I am importing this Order Quantity and updating this Quantity in my database in my same Z table.
    If I process one order at a time then everything is working fine but when I try to create two sales order at the same time then only second order is getting validated and order quantity is getting updated whereas for the first order no validation is performed and also order quantity is not getting updated in the Z table.
    I really do not know is this issue related to database commit or something else.
    Kindly help.
    Regards
    Sachin yadav

    Sachin,
    I guess i am getting to understand your requirement a little bit,
    In validation I am modify the records in the Ztable as well I mean to say for each order created I am updating the Quantity in my Z table.
    So you are just updating the quantity fields in the Z table, and this doesn't have any affect on the actual order quantity what soever, is that right or is the order quantity changed or modified based on the entry in the Z table?
    So for the next order the validation should be done depending upon the new order quantity not the old order quantity.
    Now this is a little tricky, now by next order do you mean the next order with respect to the number range or the next order in general?
    For ex: Orders 1234, 1235, 1236 in order, or let us say there are 10 people around the world creating order simultaneously depending on the sequence in which their orders are saved.
    I mean to say for the first order the validation should be done depending upon the old Qty and for the second order validation should be done by new order Qty.
    When I am saving the two order at same time validation on both the order is done by old qyt bcoz new oder Qty from the first order is not yet upadated in the database when second order try to fetch the data from the Z table as i am saving both the order at same time.
    This is what will happen most probably, even though you use the lock concept, let me try and explain...once you save the order in the user exit you are locking the object with enqueue and dequeue...something like below.
    Order 1
    userexit_save_doc.
    enqueue ztable
    select from Z table
    validate based on the entries from z table
    update/modify the z table with udpated values
    dequeue ztable
    end of userexit.
    Now by the above code it doesn't mean that your changes are available in the Z table immediately, the table will actually be updated by the update modules along with other standard tables. Now in the mean time if an other order that hits userexit_save_doc before the update module of the previous order is complete it will still be looking at the old values.
    Now in order to overcome the above sitauation you might need to add a COMMIT WORK AND WAIT in the userexit. But this will compromise the data integrity of the order and IS NOT SUGGESTED.
    So you see, by locking the table you still haven't achieved your results.
    Now, you need to confirm if the entries in the Z table are used only for validation and updating of data in the Z table or does it have any kind of affect on the Order quantity or any other Order specific values in general.
    If it is only to track the quantity in the Z Table, and there is no affect on the order data in general, then i suggest that you create a  Z program and get all the orders that have been created/changed in a given period and then update the Z Table quantity accordingly, you can have this scheduled as a background job in the non business hours.
    Let me know if i was completely off track in getting your requirement
    Regards,
    Chen

  • Issue with BAPI 'BAPI_PROJECT_MAINTAIN'

    Hi All,
    I am changing some dates of wbs elements in CJ20N.
    I am using the BAPI 'BAPI_PROJECT_MAINTAIN'
    when I use the BAPi
    it gives an error:
    The method table is not consistent with the data tables
    I am using the code
    data posid like prhi-posnr.
    CALL FUNCTION 'CONVERSION_EXIT_ABPSP_INPUT'
      EXPORTING
        input         = i_prps-posid
    IMPORTING
       OUTPUT        = posid          .
    select * from prhi INTO table i_wbs WHERE
      posnr = posid.
      move : 'E42527' to i_prjdef-project_definition.
      clear : i_prjupd.
      move : 'X' to i_prjupd-project_definition.
      clear : i_prjmtd.
      move : 'WBS-ELEMENT' to i_prjmtd-objecttype,
             'UPDATE' to i_prjmtd-method,
             '000001' to i_prjmtd-refnumber,
             'E425270111801' to i_prjmtd-objectkey.
      append i_prjmtd.
      clear : i_prjmtd.
    CALL FUNCTION 'BAPI_PROJECT_MAINTAIN'
      EXPORTING
        i_project_definition               = i_prjdef
        i_project_definition_upd           = i_prjupd
    IMPORTING
       RETURN                             =  i_return
      tables
        i_method_project                   = i_prjmtd
       I_WBS_HIERARCHIE_TABLE             = i_wbs
    I am not sure why the eror happens.I suppose the issue is with the  i_prjmtd table update method.Please let me know if anything need to be changed for me to update date values.
    Thank You in advance.
    Regards,
    KS

    Solved it by self.

  • Issue with parsing comma separated file

    Hi,
    We are having an issue while parsing a comma separated file with "eol" as delimiter for last field. For last line in file we get either  "eof" or "eol" as delimiter for last field. Is there any way we can handle both these scenarios using singe file adater? Example as below
    File1:
    a,b,c,d,e,f,g eol
    a,b,c,d,e,f,g eol
    a,b,c,d,e,f,g eol
    a,b,c,d,e,f,g eol
    a,b,c,d,e,f,g eol
    File2:
    a,b,c,d,e,f,g eol
    a,b,c,d,e,f,g eol
    a,b,c,d,e,f,g eol
    a,b,c,d,e,f,g eol
    a,b,c,d,e,f,g eof
    Thanks

    Write your own tokenizer. I think StringTokenizer ignores those values if they're empty since there's nothing to tokenize it into. It's a pretty simple class, I say just write your own.

  • Issue with BAPI CONTRACT CREATE while uploading pricing conditions

    Hi Experts
                        I am using BAPI CONTRACT CREATE to create Purchase Contract ME31K
    I am facing the issue while passing pricing conditions  Could you please help me regarding this
    Could you please help me along with this what are the values has to pass
    Thanks
    Vijay Kumar Reddy

    Hi Experts
                        I am using BAPI CONTRACT CREATE to create Purchase Contract ME31K
    I am facing the issue while passing pricing conditions  Could you please help me regarding this
          gs_oucondition-item_no = w_data-evrtp.  
          gs_oucondition-serial_id = '1'.     
          gs_oucondition-cond_count = '01'.     
          gs_oucondition-cond_type = w_data-cond1.     
          MOVE w_data-amnt1 TO gs_oucondition-cond_value.     
          gs_oucondition-currency  = w_data-curr1.     
          gs_oucondition-numerator   = '1'.     
          gs_oucondition-denominator = '1'.     
          gs_oucondition-change_id   = 'I'.     
          APPEND gs_oucondition TO gt_oucondition.     
          CLEAR gs_oucondition.
          gs_ouconditionx-item_no = w_data-evrtp.     
          gs_ouconditionx-serial_id = '1'.
          gs_ouconditionx-cond_count = '01'.     
          gs_ouconditionx-item_nox = c_x.     
          gs_ouconditionx-serial_idx = c_x.     
          gs_ouconditionx-cond_countx = c_x.     
          gs_ouconditionx-cond_type = c_x.     
          gs_ouconditionx-cond_value = c_x.     
          gs_ouconditionx-currency  = c_x.     
          gs_ouconditionx-numerator   = c_x.     
          gs_ouconditionx-denominator = c_x.     
          APPEND gs_ouconditionx TO gt_ouconditionx.     
          CLEAR gs_ouconditionx.
    Could you please help me along with this what are the values has to pass.
    these are the parameters passing to the condition structure while executing bapi i am getting error like enter quantity conversion.
    but with the same data i am able to create contract using SE37 by directly executing the Function module.
    and if i have net price in my excel sheet also i am able to create contract using my program.
    the only problem with pricing conditions alternatively there will be no net price..
    Please really it will be a challenging question....
    Thanks
    Vijay Kumar Reddy

  • Issue with BAPI: BAPI_ADDRESSCONTPART_CHANGE

    Hi,
    I'm trying to utilize BAPI BAPI_ADDRESSCONTPART_CHANGE to change first and last name of Contact Person associated with Customer. See below my ABAP code. Strange thing is that the BAPI call doesn't do any change. I do not see change to first and last name of Contact Person neither in XD03 or VAP3 t-codes.
    DATA: lt_return      LIKE bapiret2 OCCURS 10  WITH HEADER LINE,
               lt_bapiad3vl   TYPE TABLE OF bapiad3vl  WITH HEADER LINE,
               lt_bapiad3vl_x TYPE TABLE OF bapiad3vlx WITH HEADER LINE,
              address_number LIKE adrc-addrnumber,
              person_number  LIKE adrp-persnumber.
    PARAMETERS: p_first TYPE name1_gp DEFAULT 'firstname1',
                             p_last  TYPE name1_gp DEFAULT 'lastname1'.
    lt_bapiad3vl-firstname = p_first.
    lt_bapiad3vl-lastname  = p_last.
    APPEND lt_bapiad3vl.
    MOVE: 'X' TO lt_bapiad3vl_x-firstname,
           'X' TO lt_bapiad3vl_x-lastname,
           'U' TO lt_bapiad3vl_x-updateflag.
    APPEND lt_bapiad3vl_x.
    CALL FUNCTION 'BAPI_ADDRESSCONTPART_CHANGE'
       EXPORTING
         obj_type_p  = 'BUS1006001' "Person object BOR object type
         obj_id_p    = '0000152955'    "Person object BOR object key = KNVK-PARNR person no
         obj_type_c  = 'KNA1'           "Company address owner BOR object type
         obj_id_c    = '0000099009'   "BOR company address owner object key = KNA1-KUNNR customer no
         context     = '0005'
       IMPORTING
         address_number = address_number
         person_number  = person_number
       TABLES
         bapiad3vl   = lt_bapiad3vl
         bapiad3vl_x = lt_bapiad3vl_x
         return      = lt_return.
    I tried to use a call of BAPI_TRANSACTION_COMMIT after my BAPI call however result is the same: no change to the data. Sy-subrc is always equal to zero. Return table lt_return has no rows. So there is no indication of what can be wrong.
    I guess that there is maybe issue within export parameters:
    obj_id_p
    obj_id_c
    However I'm using them as provided in the comments of my ABAP code. Any hints of what can be wrong? Thanks in advance.
    m./

    Would you please test input data with BAPI_ADDRESSCONTPART_GETDETAIL.
    Got any result?

  • Issue with BAPI BAPI_GOODSMVT_CREATE

    Hello,
    I am using BAPI_GOODSMVT_CREATE to post goods mvt against PO. When the PO is fully delivered and if i run my program again, it again posts against the same PO
    How can i avoid this ? Won't the BAPI check this automatically ?
    Thanks

    Hi Anup,
    When the PO is fully delivered, and if i use MIGO for the PO it issues a message "Document 4100000105   does not contain any selectable items".
    But when i post using the BAPI it posts again (even when the PO is fully delivered), which should not happen...Ideally it should give a error !!
    Thanks

  • Issue with BAPI parameters  -  BAPI_SALESORDER_CHANGE

    Hi,
       I am trying to use BAPI_SALESORDER_CHANGE to modify the contents of the sales order item quantity. but the below code was not working, can any one correct the below program.
       I have seen the same type of post few months back but no one provided the solution till now. I hope experts can correct my program. Surely i will reward.
    regards
    jaya
    REPORT y_bapi1 .
    TABLES: vbap.
    DATA:
          bapichdr  LIKE bapisdh1,
          bapichdrx LIKE bapisdh1x,
          bapirtn   LIKE bapiret2     OCCURS 0 WITH HEADER LINE,
          bapiitm   LIKE bapisditm    OCCURS 0 WITH HEADER LINE,
          bapiitmx  LIKE bapisditmx   OCCURS 0 WITH HEADER LINE.
    DATA: s_vbap LIKE vbap.
    PARAMETERS: p_vbeln LIKE vbap-vbeln DEFAULT '40486',
                p_posnr LIKE vbap-posnr DEFAULT '20'.
    start-of-selection.
    START-OF-SELECTION.
    PERFORM get_data_4m_vbap.
    PERFORM fill_header_in.
    PERFORM fill_header_inx.
    PERFORM fill_item_in.
    PERFORM fill_item_inx.
    PERFORM call_bapi_so_change.
    PERFORM call_bapi_commit.
    *&      Form  get_data_4m_vbap
          text
    FORM get_data_4m_vbap.
      SELECT SINGLE * FROM
               vbap
               INTO s_vbap
               WHERE vbeln = p_vbeln
                 AND posnr = p_posnr.
    ENDFORM.                    " get_data_4m_vbap
    *&      Form  fill_header_in
          text
    FORM fill_header_in.
    *bapichdr
    ENDFORM.                    " fill_header_in
    *&      Form  fill_header_inx
          text
    FORM fill_header_inx.
       bapichdrx-updateflag = 'U'.
    ENDFORM.                    " fill_header_inx
    *&      Form  fill_item_in
          text
    FORM fill_item_in.
    bapiitm-itm_number = p_posnr.
    bapiitm-target_qty = s_vbap-kwmeng + 5.
    APPEND bapiitm.
    CLEAR bapiitm.
    ENDFORM.                    " fill_item_in
    *&      Form  fill_item_inx
          text
    FORM fill_item_inx.
      bapiitmx-itm_number = p_posnr.
      bapiitmx-updateflag = 'U'. " I for insert & D for Delete
      bapiitmx-TARGET_QTY = 'X'.
        APPEND bapiitmx.
        CLEAR bapiitmx.
          bapiitmx-itm_number = p_posnr.
          bapiitmx-updateflag = 'I'. " I for insert & D for Delete
          bapiitmx-target_qty = 'X'.
        APPEND bapiitmx.
        CLEAR bapiitmx.
    ENDFORM.                    " fill_item_inx
    *&      Form  call_bapi_SO_change
          text
    FORM call_bapi_so_change.
    CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
      EXPORTING
        salesdocument               = p_vbeln
       order_header_in              = bapichdr
        order_header_inx            = bapichdrx
      SIMULATION                  =
      BEHAVE_WHEN_ERROR           = ' '
      INT_NUMBER_ASSIGNMENT       = ' '
      LOGIC_SWITCH                =
      NO_STATUS_BUF_INIT          = ' '
      TABLES
        return                      = bapirtn
        order_item_in               = bapiitm
        order_item_inx              = bapiitmx
      PARTNERS                    =
      PARTNERCHANGES              =
      PARTNERADDRESSES            =
      ORDER_CFGS_REF              =
      ORDER_CFGS_INST             =
      ORDER_CFGS_PART_OF          =
      ORDER_CFGS_VALUE            =
      ORDER_CFGS_BLOB             =
      ORDER_CFGS_VK               =
      ORDER_CFGS_REFINST          =
      SCHEDULE_LINES              =
      SCHEDULE_LINESX             =
      ORDER_TEXT                  =
      ORDER_KEYS                  =
      CONDITIONS_IN               =
      CONDITIONS_INX              =
      EXTENSIONIN                 =
      READ TABLE bapirtn WITH KEY id = 'V1' number = '311'.
      IF sy-subrc <> 0.
        PERFORM bapi_errorlist.
      ENDIF.
    ENDFORM.                    " call_bapi_SO_change
    *&      Form  call_bapi_commit
          text
    FORM call_bapi_commit.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
       wait          =  'X'
    IMPORTING
      RETURN        =
    ENDFORM.                    " call_bapi_commit
    *&      Form  bapi_errorlist
          text
    FORM bapi_errorlist.
    DATA: bapierr TYPE c,
          string TYPE string,
          i TYPE i.
      bapierr = 'X'.
      CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
      LEAVE TO LIST-PROCESSING.
      SET PF-STATUS 'LIST'.
      FORMAT INTENSIFIED ON.
      WRITE: / 'BAPI ERROR OCCURED' COLOR COL_NEGATIVE INVERSE ON.
      SKIP 1.
      LOOP AT bapirtn.
        CONCATENATE bapirtn-type bapirtn-number '(' bapirtn-id ')'
          INTO string.
        WRITE: / string.
        i = strlen( bapirtn-message ).
        WRITE bapirtn-message(i).
      ENDLOOP.
      LEAVE TO SCREEN 0100.
    ENDFORM.                    " bapi_errorlist

    Hello Jaya,
    The problem would be you are not using SCHEDULE_LINES  ,so try to use.
    see the below program for referenec:
    REPORT  ZTRIALBAPICHANGE    message-id z3d                   .
    DATA:I_HEADER1 TYPE BAPISDH1.
    DATA:I_HEADER1X TYPE BAPISDH1X.
    DATA:I_PART1 LIKE BAPIPARNR  OCCURS 0 WITH HEADER LINE.
    DATA:I_ITEMS1 LIKE BAPISDITM OCCURS 0 WITH HEADER LINE.
    DATA:I_ITEMS1X LIKE BAPISDITMX OCCURS 0 WITH HEADER LINE.
    DATA:I_SCH1 LIKE BAPISCHDL OCCURS 0 WITH HEADER LINE.
    DATA:I_SCH1X LIKE BAPISCHDLX OCCURS 0 WITH HEADER LINE.
    data:err like bapiret2 occurs 0 with header line.
    DATA:RETSALES LIKE VBAK-VBELN.
    DATA:R(4).
    R = '609'.
    I_HEADER1-SALES_ORG = '0001'.
    I_HEADER1-DISTR_CHAN = '01'.
    I_HEADER1-DIVISION = '01'.
    MOVE:'U' TO I_HEADER1X-UPDATEFLAG.
    MOVE:'X' TO I_HEADER1X-SALES_ORG.
    MOVE:'X' TO I_HEADER1X-DISTR_CHAN.
    MOVE:'X' TO I_HEADER1X-DIVISION.
    **PARTNER
    CALL FUNCTION 'CONVERSION_EXIT_PARVW_INPUT'
      EXPORTING
        INPUT = 'SP'
        IMPORTING
         OUTPUT = I_PART1-PARTN_ROLE.
    I_PART1-PARTN_NUMB = '0000000011'.
    APPEND I_PART1.
    **ITEM DETAILS
    I_ITEMS1-MATERIAL = '000000000000000011'.
    I_ITEMS1-ITM_NUMBER = '000011'.
    APPEND I_ITEMS1.
    MOVE:'U' TO I_ITEMS1X-UPDATEFLAG.
    MOVE:'X' TO I_ITEMS1X-MATERIAL.
    APPEND I_ITEMS1X.
    **SCHEDULE LINE
    I_SCH1-ITM_NUMBER = '000011'.
    I_SCH1-REQ_QTY = '100'.
    I_SCH1-SCHED_LINE = '0000'.
    APPEND I_SCH1.
    MOVE:'U' TO I_SCH1X-UPDATEFLAG.
    MOVE:'X' TO I_SCH1X-ITM_NUMBER.
    MOVE:'X' TO I_SCH1X-REQ_QTY.
    MOVE:'X' TO I_SCH1X-SCHED_LINE.
    APPEND I_SCH1.
    UNPACK R TO RETSALES.
    CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
      EXPORTING
        salesdocument               = RETSALES
        ORDER_HEADER_IN             = I_HEADER1
        order_header_inx            = I_HEADER1X
       SIMULATION                  = 'X'
      BEHAVE_WHEN_ERROR           = ' '
      INT_NUMBER_ASSIGNMENT       = ' '
      LOGIC_SWITCH                =
      tables
        return                      = ERR
       ORDER_ITEM_IN               = I_ITEMS1
      ORDER_ITEM_INX              = I_ITEMS1X
       PARTNERS                    = I_PART1
      PARTNERCHANGES              =
      PARTNERADDRESSES            =
      ORDER_CFGS_REF              =
      ORDER_CFGS_INST             =
      ORDER_CFGS_PART_OF          =
      ORDER_CFGS_VALUE            =
      ORDER_CFGS_BLOB             =
      ORDER_CFGS_VK               =
      ORDER_CFGS_REFINST          =
       SCHEDULE_LINES              = I_SCH1
       SCHEDULE_LINESX             = I_SCH1X
      ORDER_TEXT                  =
      ORDER_KEYS                  =
      CONDITIONS_IN               =
      CONDITIONS_INX              =
      EXTENSIONIN                 =
    loop at err.
    format color 4.
    write:/ err-type,
    err-id,
    err-number,
    err-message,
    err-log_no,
    err-log_msg_no,
    err-message_v1,
    err-message_v2,
    err-message_v3,
    err-message_v4,
    err-parameter,
    err-row,
    err-field,
    err-system.
    *WRITE:/10 ERR-MESSAGE.
    endloop.
    IF ERR-TYPE <> 'E'.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
      WAIT          =
    IMPORTING
      RETURN        =
      MESSAGE S101 WITH RETSALES.
    ELSE.
      MESSAGE S100.
    ENDIF.
    Thanks
    Seshu

  • Issue with BAPI "BAPI_FIXEDASSET_CHANGE"

    Hello guys,
    My aim is to update one of the fields in the Allocation tab of the Asset master. I am using bapi_fixedasset_change" for this.
    Its coming back with "No changes made" message and not changing any field.
    Please let me know where i am going wrong. Am i missing some mandatory fields to be passed?
    Here is my code:
    *data : ALLOCATIONS like BAPI1022_FEGLG004,
    ALLOCATIONSX like BAPI1022_FEGLG004X,
    return like BAPIRET2.
    *allocations-ENVIR_INVEST = '1345'.
    *allocationsx-ENVIR_INVEST = 'X'.
    *CALL FUNCTION 'BAPI_FIXEDASSET_CHANGE'
    EXPORTING
    companycode = '0010'
    asset = '000008209332'
    subnumber = '0000'
    ALLOCATIONS = allocations
    ALLOCATIONSX = allocationsx
    RETURN = return
    *CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
    WAIT =
    IMPORTING
    RETURN =

    Hi,
    have you checked OSS notes? For example there is note 945966 - BAPI_FIXEDASSET_CHANGE: Error message content. This note describes case when this BAPI returns your message in case of error. In this case that error message is useless because it does not say what's the problem. There are some additional notes related to your BAPI as well.
    Cheers

  • Issue with BAPI's in Crystal reports

    Hi All,
    We have connected crystal reports to SAP R/3 and BI using the integration kit. We are able to see all BAPi's but not able to see data using few BAPi's like BAPI_PO_GETITEMS. There is data in ECC system and the BAPI runs fine in ECC and displays data. Did anybody face a similar issue

    Hi,
    did you import the transports for the Crystal Reports connectivity into the SAP system ?
    regards
    Ingo

  • Cardinality Issue - WD Model (Form) Integration with BAPI

    Hi -
    We have an issue with our forms editable fields are getting disabled (read only, we can not enter data) even though we have proper properties set.
    Our developers are looking into a possible cardinality issue i.e. our form fields are test field and have a cardinality of 0..1, where as our bapi structure is showing a cardinality of 0..n for the corresponding field in bapi.
    We had internal table as an export parameter so we though may be because of that we are getting 0..n. However we have changed the internal table to a type of structure and recreated a model mapped all the controller and context nodes back to the new structure and still get 0..n cardinality.
    We have already researched on SDN logs and did not find any relevant answers.
    Any one have any idea please make our weekend happy Developers are really working hard on Friday to close on this before they go home.
    Thanks
    Shahid

    Hi Shahid,
    If the context node cardinality is 0...1 or 0...n then you need to first create or bind an element to the node to make the form fields editable to which those nodes are bound to. If it's a model node then you need to instantiate a new model node object and bind it to the node e.g.:
    Bapi_xxx_Input input = new Bapi_xxx_Input();
    wdContext.nodeBapi_xxx_Input().bind(input);
    Or if it's a value node then you need to instantiate the node element as below:
    wdContext.nodemyNode().addElement(wdContext.nodemyNode().createElement());
    Hope this helps.
    thanks,
    Dipankar

  • [svn] 4610: Commit Josh's patch for 3. x to fix bug SDK-17367 which works around an issue with Dictionary that stops ObjectUtil .toString() working with QNames.

    Revision: 4610
    Author: [email protected]
    Date: 2009-01-21 12:48:01 -0800 (Wed, 21 Jan 2009)
    Log Message:
    Commit Josh's patch for 3.x to fix bug SDK-17367 which works around an issue with Dictionary that stops ObjectUtil.toString() working with QNames.
    QE: Yes, please add a test case to ObjectUtil tests for this scenario.
    Doc: No
    Checkintests: Pass
    Bugs:
    SDK-17367 ObjectUtil.toString(QName) causes RTE
    Ticket Links:
    http://bugs.adobe.com/jira/browse/SDK-17367
    http://bugs.adobe.com/jira/browse/SDK-17367
    Modified Paths:
    flex/sdk/branches/3.x/frameworks/projects/framework/src/mx/utils/ObjectUtil.as

    VPN-User,
    Ok - I see the list of issues and will ensure our X300 specialist takes a look at it.   
    Please do understand that while you have put together a very coherent list, I try to ensure priority to threads in which multiple customers are focused on a single issue, as we deliver the most benefit to the community in working on those.   This forum is primarly a peer to peer discussion forum rather than a Lenovo chat / tech support where we try to solve each and every issue put forth.
    Individuals with a long list of issues on a particular machine may find benefit from either contacting technical support and working through their list, or publishing it as you have done and wait for other users of the same system to share their experiences.
    Thanks for your patience
    Mark
    ThinkPads: S30, T43, X60t, X1, W700ds, IdeaPad Y710, IdeaCentre: A300, IdeaPad K1
    Mark Hopkins
    Program Manager, Lenovo Social Media (Services)
    twitter @lenovoforums
    English Community   Deutsche Community   Comunidad en Español   Русскоязычное Сообщество

Maybe you are looking for