SA(計劃協議)通過參考Contract方式創建需要注意的情況以及規避方式詳解
作者:袁雲飛(AlbertYuan)- 微信號yuanalbert
以下內容均爲原創,希望對初學者有一些輔助作用,本人主要從事MM/QM/WM的相關工作,不專業處請多多指點,十足乾貨,碼字不易,且行且珍惜,你們的關注就是我努力的動力,轉載請引用出處,感激不盡;
SA通過拷貝合同而創建,這個方案用的不多,但容易出現問題的地方也多。
我們知道一旦使用了合同,就表示我們談價以及議價的基礎就是合同,這個是一個框架性的東西了,所有的數量和價格條件都將以合同方式談定並記錄在案,而合同裏是時間相關性條件的,所以裏面的條件是和有效期相關的;
所以想ZB00這樣和數量無關的費用類條件,是不會和合同的目標數量有任何關係的,也就是說ZB00裏定義的金額,就是1PC的單個費用,而非目標數量的費用,謹記。
如果SA是考慮合同而創建的,系統在拷貝的時候是不會拷貝任何合同中的條件的,不管這個SA是時間相關還是獨立的。
然後,拷貝時,系統會讓人工確定SA的目標數量,然後根據這個數量和ZB00的金額來決定淨價的結果,也就是說這裏的目標數量是和ZB00有關的,用來確定淨價。
在SA裏也就保存一個淨價而已,以後如果合同條件發生變化,系統會同步更新SA的淨價的。
但這裏要注意,如果這樣的SA,在修改的時候,進入了其條件維護界面,則系統會自動創建一個PB00=0的條件記錄出來,在條件表A016裏,這樣,不管你是GR還是用ME3N進行價格模擬,系統確定出來的淨價都是0,這個問題需要引起注意。同時如果這樣的SA進行收貨,會報錯的,提示你淨價爲0的,ME 573錯誤消息;
爲了避免這個問題,可以通過設置權限對象“M_RAHM_BSA”將09取消來控制不進入條件維護屏幕。
如果真出現這個問題,可以進入條件維護屏幕,將對應0條件類型標記刪除解決。同時有個報表可以用來檢查系統裏那些拷貝合同創建的SA出現了0這種問題。
這個報表的源代碼;
*$*$----------------------------------------------------------------$*$*
*$ Correction Inst. 0120061532 0000301709 $*
*$--------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component SAP_APPL SAP Application $*
*$ Release 31I All Support Package Levels $*
*$ Release 40B All Support Package Levels $*
*$ Release 45B All Support Package Levels $*
*$ Release 46B All Support Package Levels $*
*$ Release 46C All Support Package Levels $*
*$--------------------------------------------------------------------$*
*$ Changes/Objects Not Contained in Standard SAP System $*
*$*$----------------------------------------------------------------$*$*
*&--------------------------------------------------------------------*
*& Object REPS ZLISA016
*& Object Header PROG ZLISA016
*&--------------------------------------------------------------------*
*& REPORT ZLISA016
*&--------------------------------------------------------------------*
*>>>> START OF INSERTION <<<<
REPORT ZLISA016 .
TABLES: A016, KONP, EKKO.
SELECT-OPTIONS: S_EBELN FOR EKKO-EBELN.
SELECT * FROM EKKO WHERE EBELN IN S_EBELN
AND BSTYP EQ 'L'
AND KONNR NE SPACE.
SELECT * FROM A016 WHERE EVRTN EQ EKKO-EBELN
AND KAPPL EQ 'M'
AND KSCHL EQ 'PB00'
AND DATBI GE SY-DATLO
AND DATAB LE SY-DATLO.
SELECT * FROM KONP WHERE KNUMH EQ A016-KNUMH
AND KBETR NE 0
AND LOEVM_KO EQ SPACE.
EXIT.
ENDSELECT.
IF SY-SUBRC NE 0.
WRITE: / A016-EVRTN, A016-EVRTP.
ENDIF.
ENDSELECT.
ENDSELECT.
*>>>> END OF INSERTION <<<<<<
...
*&--------------------------------------------------------------------*
我們總結一下,參考合同創建SA,如果進入了SA的條件屏幕,不管是參考創建的時候,還是創建之後,ME32L進入的時候,系統都會在A016表裏創建一條PB00 = 0的條件記錄,此時會導致收貨報錯;
以上爲本章全部內容,希望對小夥伴們有所幫助;