SAP 交貨單與HU指派關系資料不一致問題的解決方案
我所在的專案是一個超大型的Global SAP專案,客戶是一家跨國企業巨頭,其SAP系統早已實施十幾年了,除了SAP系統,客戶還有其它各種外部系統,比如WMS系統等,
我的合作伙伴是一家印度的知名咨詢公司,該公司有近乎100號印度人在這個專案上,客戶這些年每年都有一些優化專案在做,我和這些印度同事們根據客戶總部的安排,有需要實施的SAP優化專案就參與其中,沒有優化專案需要實施就做運維,
近期客戶總部以及乙方合作伙伴沒有給我安排實施專案,所以我加入了有近乎50人的運維團隊,主要解決客戶業務團隊提出的各種問題,為客戶的業務部門保駕護航,該運維團隊基本都是印度人,我和另外2個中國的SAP同行在運維團隊里主要負責客戶中國區工廠的運維支持,
近日接到了專案上用戶提出的一個比較棘手的問題,讓我糾結了幾天,通過在專案上跟印度同事一起尋找解決方案,讓我對于印度同行們有更多的了解,他們在專案上作業的專業技能和態度,他們的檔案能力,都給筆者留下了比較深刻的印象,
如今問題已經解決,閑來無事寫下這篇文字,做一個記錄,
Part I:問題描述
客戶美國公司的某個用戶提出他需要洗掉一個外向交貨單,無法洗掉,所以報了一個TICKET給到我們運維團隊,我剛好手頭沒其它事,就主動接了這個TICKET,
該外向交貨單是一個公司間STO流程里的交貨單,交貨單因故需要洗掉,不過經過業務人員的一頓操作猛于虎,弄成的結果就是:該交貨單相關的Handling Unit都已經被un-assigned(解除分配)了,且這些HU都已經沒有庫存了,就是一些空的HU了,該批次號的庫存在發貨工廠里也沒有了,
VL03N顯示該交貨單,其Pack界面里,已經沒有任何HU資訊了,


但是因為操作不當等種種原因,導致該交貨單的document flow里還是能看到這些HU號碼資訊,如下圖示:

要想洗掉交貨單,一定要將交貨單里的picked quantity清零,且需要將已經相關的批次號洗掉掉,
但是因為交貨單之前做揀配時候關聯的HU解綁出問題了,憑證流表(VBFA)里還殘留有資料,這使得業務人員無法將清空picked quantity以及批次號,系統會提醒說:Delivery still contains handling units.如下圖示:

也就是說現在外向互動單,業務人員已經無法正常取消其揀配,無法將憑證流里的HU資訊正常洗掉掉,所以就沒有辦法將該交貨單正常洗掉了,
尼瑪,一不小心接了一個燙手山芋!
Part II: 我的解決方案
接到這個ticket,我第一反應就是這是一個由于業務人員操作不當或者資料庫更新例外導致的疑難雜癥,常規手段已經無法解決了,
所以我想到的解決方法是只能在Debug模式下將VBFA里該交貨單相關的HU資料行洗掉掉,然后去修改交貨單里的picked quantity以及清理批次號資訊,然后就可以正常洗掉該交貨單了,
Debug改SAP表資料以解決很多疑難雜癥,是很多SAP同行在萬不得已的時候都會想到和用到的終極解決方案,這個方案是純粹技術手段,并且是上不了臺面的手段,當然這個解決方案對于解決類似由于業務人員操作失誤或者資料庫更新例外等導致的疑難雜癥,是非常簡單且快捷有效的!
這種手段這在很多民營企業的SAP專案里屢試不爽,不過以筆者參與的諸多大型跨國企業的GLOBAL SAP專案經歷來看,Debug改SAP表資料絕不是輕易可以做的事情,大型跨國企業里的SAP系統,對于權限控制極為嚴格,很多權限是不會開放給IT部門的,Debug改SAP表資料的權限更是不可能輕易開放給運維團隊的,
所以當我將自己想到的解決方案跟運維團隊的相關負責人溝通,他們表示這種解決方案不是不可以,但是不推薦;只能在別無他法的時候才能考慮,并且需要客戶的業務部門同意,客戶總部IT老大以及運維部門老大審批,然后申請專門的Firefighter賬號,才能去執行Debug改表,
看得出,專案上對于這種技術手段的控制是非常嚴格的,雖然沒有一刀切的絕對禁止,但是設計了非常嚴謹而復雜的管控流程,我對此表示理解,畢竟客戶是跨國大公司,做什么都要講究合規,都有規范的流程,
Part III:印度人的解決方案
運維團隊負責人在專案上干了很多年,很明顯對于類似的疑難雜癥有相關處理經驗,他要求我所在的DOMAIN內其他幾個印度同事也幫忙看看這個問題,以找出更為可行的解決方案,這讓筆者挺欣慰的,技術上有疑難雜癥可以在團隊內部得到幫助和建議,這不就是team work么?
不通過DEBUG改表的方式能解決這個問題?我倒是想看看這些印度人到底有啥好辦法,兩天后,印度同事給出了方案,不過步驟很多,都是業務人員就能有權限執行的操作:
1)先通過701盤盈方式造出該物料批次的少量庫存,畢竟該物料批次的庫存已經沒有了,
2)系統上的外向互動單的包裝(Packing)是通過SHPCON這種message type的IDoc方式進行的,所以通過WE19復制其它IDoc的方式產生一個新的SHPCON型別的IDoc,然后reprocess這個IDoc, SAP系統就能自動更新交貨單的Packing資訊,將憑證流里的HU資訊自動更新(老的垃圾HU資料被清除,新的HU增加進去),
3)正常手段對該交貨單執行unpack,洗掉HU,
4)正常手段洗掉交貨單,
5)最后執行702盤虧方式將第一步里造出的少量庫存清除掉,
看完印度同事的解決方案,我表示很震驚,不能不對他們暗自佩服,居然還可以這么玩!不過他也表示,先讓業務人員按照這個執行,如果不可行最后還得要debug洗掉表資料來解決,解決方案發給用戶沒多久,用戶就反饋說按這個方案解決了問題,交貨單已順利洗掉!
至此,掛在我名下的這個TICKET可以關閉了,我也可以松口氣兒,
-完-
寫于2023-1-13.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/542017.html
標籤:SAP
