01-04-2008 9:41 AM
Hi ,
I am using FM EQUIPMENT_SAVE to update the sales order and line item in IQ02 transaztion, but I am getting error ' Serial number 100 for material 17 cannot be locked.
Please let me know do I need to use any other series of function modules along with this FM.
Appreciate your help.
Thanks in advance
Kalyani
01-04-2008 11:12 PM
I think you need to use the function module OBJECT_SET_ACCESS_LEVEL before using the EQUIPMENT_SAVE.
Thanks,
Srinivas
01-10-2008 9:26 AM
Hai,
You must set I_COMMIT_WORK = 'X'. Please check your Exporitng parameters.
You have call function module: EQUIPMENT_UNLOCK after calling your function module.
Note: You can use the following function module before calling your function module:
CALL FUNCTION 'DEQUEUE_ALL'. " Releases locked objects
02-22-2008 7:32 AM
Hi,
After implementing the suggests that have been provide we run into a problem that the IDOC cannot post because the Equipment cannot be blocked.
When we debug the function module EQUIPMENT_SAVE we find the the equipment number needs to be locked so that the update can happen. By locking the equipment number it seems like we are causing the function module to raise an error and abort the update.
Do you have any suggestions that could help us get over this hurdle?
Thank you for your help in advance.
11-24-2010 8:11 PM
I try it and work....
CALL FUNCTION 'ITOB_SERIALNO_READ_SINGLE'
EXPORTING
i_lock = 'X'
i_matnr = "Material
i_sernr = "Serial Number
EXCEPTIONS
not_successful = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
CALL FUNCTION 'OBJECT_SET_ACCESS_LEVEL'
EXPORTING
id_objnr = sl_equi-objnr
id_level = 'V'.
CALL FUNCTION 'EQUIPMENT_SAVE'
EXPORTING
i_activity_type = 'V'
i_itob_type = '03'
i_equi_old = sl_equi
i_no_data_check = 'X'
i_no_extnum_check = 'X'
i_sync_asset = 'X'
i_write_cdocs = 'X'
i_status_cdocs = 'X'
i_success_message = 'X'
i_commit_work = 'X'
CHANGING
c_equi_rec = sl_equi
c_eqbs_rec = sl_eqbs
EXCEPTIONS
err_data_check = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
Edited by: David Morales on Nov 24, 2010 9:12 PM
04-13-2011 3:04 PM
Hello David,
I tried your code logic . Still it didnot work.
I am getting the error message saying "Internal error in buffer management for technical objects".
Thanks,
Greetson