2020年3月2日 星期一

SAP MM - Why the field MCH1-CUOBJ_BM is empty (create by BAPI_GOODSMVT_CREATE) and how to fix MCH1-CUOBJ_BM no value

[how to fix MCH1-CUOBJ_BM no value]

有時侯 SAP 在使用 'BAPI_GOODSMVT_CREATE' 產生的 batch 在 Table MCH1 中,其 CUOBJ_BM 值為空值



可透過 T-CODE:BMCC 將 Test Run 清除後,執行 Material + Batch


系統即會進行將 INOB-CUOBJ 寫入 MCH1-CUOBJ_BM 中

執行後即可產生 MCH1 在 CUOBJ_BM 的值

後記:當然最快的方法是直接用 BMBC / MSC2N 進入後再執行 BATCH 存檔

[Why the field MCH1-CUOBJ_BM is empty]

當提出上敘的解法後,又有問題來了,為何只有這種物料會發生,其他均不會發生,後來才想到這類物料是不會預設 Class Type 023 Batch Level 的 Class

如果這種物料去 MIGO 過帳時,即會顯示 Warning no class could be determined,而如果你用 MIGO 要寫入特性質時,之後使用 MSC2N 即會產生 mch1-cuobj_bm,但如果你是使用 BAPI_GOODSMVT_CREATE Batch 是在 MM Document 中產生時,即會發生 mch1-cuobj_bm 為空值。


當料號未指定 023 Class Type,第一個 Batch 又用 BAPI_GOODSMVT_CREATE 產生時,此時 Batch 就會因上面的訊息造成 MCH1-cuobj_bm 為空值,但建立後此料號就會自動 Assign Class 023 的 Class Name,之後再透過 BAPI_GOODSMVT_CREATE 時就不會再發生,所以可以透過 BMCC 進行修正。


REPORT Z_REPORT.

RANGES: so_matnr FOR mch1-matnr,
        so_charg FOR mch1-charg.

START-OF-SELECTION.

  CLEAR: so_matnr, so_matnr[],
         so_charg, so_charg[].

  so_matnr-sign = 'I'.
  so_matnr-option = 'EQ'.
  so_matnr-low = ''.
  APPEND so_matnr. CLEAR so_matnr.

  so_charg-sign = 'I'.
  so_charg-option = 'EQ'.
  so_charg-low = ''.
  APPEND so_charg. CLEAR so_charg.

  SUBMIT RVBCUOBJ
    WITH so_matnr IN so_matnr
    WITH so_charg IN so_charg
    WITH test_run = ''  "X:Test Run
    WITH show_all = ''  "X:會停在 ALV
    WITH hide_cuo = ''  "X:ALV 不顯示 cuobj_bm 的值
    AND RETURN.
reference : https://answers.sap.com/questions/6612471/-inconsistency-in-classification-data--transaction.html

沒有留言:

張貼留言

How to install & specified python version or distreibtuion package version in google colab

在買了 RTX 3080 要來 挖礦...  嗯~是跑機器學習後,結果發現了 GOOGLE COLAB,其實之前在「GAN 對抗式生成網路」一書就有看到,但資訊人就是什麼都想自己安裝,在本機用 Anaconda + pyCharm 弄了 GPU 環境,結果有天從新竹回家發現家裡沒...