CIF issue - Product Price not updated from Purchase Info Record
I like to discuss 2 points.
1) If Info Record is not changed the Product Price is not getting updated in SCM box.
2) After updating Info Record if we do Bulk CIF from ECC to SCM only few Product Price is updated .
we did Enhancement through BADI /SAPAPO/CIF_TPSRC_IN for updating Product Price while CIF info record using BAPI BAPI_PRDSRVAPS_SAVEMULTI2.
I found the RFC Function module /SAPAPO/CIF_TPSRC_INBOUND is not always triggered and get skipped for some reason.
The Procurement Relation ship is created but the Enhancement is not properly fired to update Product Price.
Kindly let us know do we follow the correct way?
Please give your valuable Suugestion to update the Product Price.
Finally we found the Problem.
we used BADI /SAPAPO/CIF_TPSRC_IN for updating Product Price.
BAPI_PRDSRVAPS_GETLIST2 this BAPI is used to get the Product details but this BAPI has a Restriction and we can pass maximum 100 records at a time.
now rewrite the logic and pass 100 Records per call in internal table product_selection.
lv_index1 = lv_index2.
lv_index2 = lv_index1 + lc_99.
APPEND LINES OF lt_prod_get FROM lv_index1 TO lv_index2 TO lt_prod_get_tmp.
lv_index2 = lv_index2 + 1.
IF lt_prod_get_tmp IS INITIAL.
CLEAR : lv_num_prd_get.
" bapi to get material location detail
CALL FUNCTION 'BAPI_PRDSRVAPS_GETLIST2'
logical_system = lv_log_sys
number_of_products = lv_num_prd_get
product_selection = lt_prod_get_tmp
planning_version_selection = lt_version_get
product_location_version = lt_loc_ver_get_tmp
return = lt_bapi_ret_get.
IF lt_bapi_ret_get IS NOT INITIAL.
ct_return = lt_bapi_ret_get.
APPEND LINES OF lt_loc_ver_get_tmp TO lt_loc_ver_get.
change method in this BADI has CT_RETURN we have to use for capturing any error during BAPI call.
Additionally we used BAPI_PRDSRVAPS_SAVEMULTI2 to update Procurement_cost and this BAPI has no restrictions.
Triggering of RFC /SAPAPO/CIF_TPSRC_INBOUND is based on Active APO Application or Purchase Info Record Creation/Change status and functional team can help on this.