当标准评估价格变式无法满足要求,可以在以下增强点写自定义逻辑
外协件价格增强,只有委外件才会进
MATERIAL_VALUATION_CK->SUBCONTRACTING_VAL_CK->GET_PRICE
METHOD if_ex_subcontracting_val_ck~get_price. DATA: lt_zcdsmm003_t TYPE STANDARD TABLE OF zcds_mm_003, ls_zcdsmm003_t TYPE zcds_mm_003, lt_konm TYPE STANDARD TABLE OF konm, lt_konm1 TYPE STANDARD TABLE OF konm, ls_konm TYPE konm, lv_price(16) TYPE p DECIMALS 6, lv_price1(16) TYPE p DECIMALS 6. IF sy-tcode = 'CK11N' OR sy-tcode = 'CK40N'. SELECT * INTO TABLE lt_zcdsmm003_t FROM zcds_mm_003 WHERE kappl = 'M' AND matnr = im_mack2-matnr AND werks = im_mack2-bwkey AND datbi >= sy-datum AND datab <= sy-datum AND datbi_kh >= sy-datum AND datab_kh <= sy-datum. IF lt_zcdsmm003_t[] IS NOT INITIAL. SELECT * APPENDING TABLE lt_konm FROM konm FOR ALL ENTRIES IN lt_zcdsmm003_t WHERE knumh = lt_zcdsmm003_t-knumh. SORT lt_zcdsmm003_t BY kbetr . CLEAR: lv_price,lv_price1. LOOP AT lt_zcdsmm003_t INTO ls_zcdsmm003_t. lt_konm1 = lt_konm. DELETE lt_konm1 WHERE knumh <> ls_zcdsmm003_t-knumh. IF lt_konm1 IS NOT INITIAL. SORT lt_konm1 BY kbetr . READ TABLE lt_konm1 INTO ls_konm INDEX 1. lv_price = ls_konm-kbetr / ls_zcdsmm003_t-kpein. ELSE. lv_price = ls_zcdsmm003_t-kbetr / ls_zcdsmm003_t-kpein. ENDIF. IF lv_price < lv_price1 OR lv_price1 = 0. lv_price1 = lv_price. ch_price = lv_price. ch_price_unit = ls_zcdsmm003_t-kpein. ch_price_uom = ls_zcdsmm003_t-kmein. ch_lifnr = ls_zcdsmm003_t-lifnr. * ch_infnr = ls_zcdsmm003_t- ch_ekorg = ls_zcdsmm003_t-ekorg. ENDIF. ENDLOOP. IF ch_lifnr IS NOT INITIAL AND ch_ekorg IS NOT INITIAL. SELECT SINGLE infnr INTO ch_infnr FROM v_eina WHERE ekorg = ch_ekorg AND werks = im_mack2-bwkey AND matnr = im_mack2-matnr AND lifnr = ch_lifnr. ch_no_standard_valuation = 'X'. "后续标准逻辑不执行 ENDIF. ENDIF. ENDIF. ENDMETHOD.
2.标准件
CMOD: COPCP005

上一篇: ABAP销售订单审批状态...
下一篇: 采购订单消息输出DEBUG位置...