Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

EQUIPMENT_SAVE

Former Member
0 Kudos

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

5 REPLIES 5

Former Member
0 Kudos

I think you need to use the function module OBJECT_SET_ACCESS_LEVEL before using the EQUIPMENT_SAVE.

Thanks,

Srinivas

Former Member
0 Kudos

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

Former Member
0 Kudos

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.

0 Kudos

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

0 Kudos

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