Hi ,
I'm working on BOM Update with the following BPAI's, while maintaining im getting error...,
Please check my sample code...
PARAMETERS : p_matnr LIKE mara-matnr,
p_plant LIKE marc-werks,
p_bomusg LIKE mast-stlan,
p_altbom LIKE mast-stlal,
p_idnrk TYPE stpo-idnrk,
p_vald4m LIKE csap_mbom-datuv.
DATA: l_stko LIKE stko_api02,
l_warning TYPE capiflag-flwarning,
l_stpo LIKE TABLE OF STPO_API02,
e_stpo LIKE STPO_API02,
l_matnar TYPE csap_mbom-matnr,
l_msg TYPE msg.
DATA : wa_stko TYPE stko_api02,
wa_stpo TYPE stpo_api02.
CLEAR : l_stko, l_stpo.
REFRESH l_stpo.
l_matnar = p_matnr.
CALL FUNCTION 'CSAP_MAT_BOM_OPEN'
EXPORTING
material = l_matnar
plant = p_plant
bom_usage = p_bomusg
valid_from = p_vald4m
IMPORTING
o_stko = l_stko
fl_warning = l_warning
TABLES
t_stpo = l_stpo
EXCEPTIONS
error = 1.
IF sy-subrc <> 0.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
id = sy-msgid
lang = sy-langu
no = sy-msgno
v1 = sy-msgv1
v2 = sy-msgv2
v3 = sy-msgv3
v4 = sy-msgv4
IMPORTING
msg = l_msg
EXCEPTIONS
OTHERS = 0.
IF sy-msgty = 'E'.
WRITE : l_msg.
ENDIF.
ENDIF.
LOOP AT l_stpo INTO wa_stpo.
wa_stpo-CHANGED_ON = sy-datum.
wa_stpo-CHANGED_BY = sy-uname.
wa_stpo-component = p_idnrk.
wa_stpo-comp_qty = '991111'.
wa_stpo-valid_to = '31.12.9999'.
wa_stpo-change_no = wa_stpo-change_no + 1.
CALL FUNCTION 'CSAP_BOM_ITEM_MAINTAIN'
EXPORTING
i_stpo = wa_stpo
IMPORTING
o_stpo = wa_stpo
fl_warning = l_warning
EXCEPTIONS
error = 1
OTHERS = 2.
IF sy-subrc <> 0.
ENDIF.
ENDLOOP.
*Close and COMMIT
CALL FUNCTION 'CSAP_MAT_BOM_CLOSE'
EXPORTING
fl_commit_and_wait = 'X'
IMPORTING
fl_warning = l_warning
EXCEPTIONS
error = 1
OTHERS = 2.
IF sy-subrc <> 0.
ENDIF.
Please suggest me what is going wrong....,
Regards,
Lokesh.