天天看點

PDM和SAP內建BOM插入重複項。

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.