PDM內建時目前偶爾出現插入重複項目(項目号+物料号)。
在調用BOM函數前已經檢查是否有重複項目,可是仍然有重複資料插入。而且BOM日志顯示是同一時間插入的。同時程式已經檢查,同一ECO不允許做兩次。
目前解決辦法:BOM BADI增強。
BADI:BOM_UPDATE
同時在JAVA程式中異常部分加入失敗代碼,因為調用RFC後會異常(LEAVE TO CURRENT TRANSACTION AND SKIP FIRST SCREEN. 導緻)。
得不到正确的傳回值,隻有自己在異常部分人為認定為“重複項目錯誤”。
METHOD if_ex_bom_update~change_before_update.
DATA: li_stpob TYPE TABLE OF cs01_stpob .
DATA:wa_delta_stasb TYPE cs01_stasb.
li_stpob[] = delta_stpob[].
LOOP AT delta_stasb INTO wa_delta_stasb WHERE lkenz EQ 'X'.
DELETE li_stpob WHERE stlkn = wa_delta_stasb-stlkn.
ENDLOOP.
DATA: li1 TYPE i , li2 TYPE i.
li1 = LINES( li_stpob[] ).
SORT li_stpob BY posnr idnrk.
DELETE ADJACENT DUPLICATES FROM li_stpob COMPARING posnr idnrk.
li2 = LINES( li_stpob[] ).
IF li1 NE li2.
MESSAGE '存在項目号和物料号重複,不允許儲存BOM!' TYPE 'I'.
LEAVE TO CURRENT TRANSACTION AND SKIP FIRST SCREEN.
ENDIF.
ENDMETHOD.