在報價單中有三個日期
報價生效 VBAK-ANGDT
報價失效 VBAK-BNDDT
請求交貨日 VBAK-VDATU 及 VBEP-EDATU
如果要更改這三個日期有前後關係
當然失效日期要大於生效日期
還有請求交貨日要大於生效日期
假如請求交貨日『2012/7/31』
此時一旦下達
HEADER-QT_VALID_F = 'X'.
headerv-QT_VALID_F = '20120810'.
去更改報價生效日
這樣會產生number 445的錯誤
{A schedule line with date 2012/07/31 already exists for item 000010}
一般是不會有這個狀況啦..這只是邏輯問題而已
再來還有個更重要的一點
如果要更改報價生效日期,不能跟『請求交貨日一起』改
比方說如果原先是
請求交貨日:2012/08/25
報價生效:2012/8/1
報價失效:2012/8/10
要改成
請求交貨日:2012/10/25
報價生效:2012/10/1
報價失效:2012/10/10
日期看起來很合理,但執行BAPI_SALESORDER_CHANGE
仍然會出現項目已有請求交貨日2012/8/25的錯誤
所以感覺雖然執行一次但系統似乎會先更改表頭資料後!排成明細都還沒修正的時候
就檢查到新的報價日期2012/10/10跟『舊的請求交貨日期』2012/8/25有邏輯上的問題
所以只能把這東西切成兩個來看
先執行BAPI_SALESORDER_CHANGE 改『請求交貨日』
再呼叫BAPI_SALESORDER_CHANGE改報價生失效日
留言列表