17/05/2026
AI 有沒有針對 SAP 單據建立時限制條件整理出規則
例如 甚麼單據上可以有甚麼樣的客戶或廠商(夥伴)
甚麼單據上的已採購或銷售甚麼"物品"
甚麼單據那些物品是不允許 買或賣 給那些客戶或廠商(夥伴)
有的,SAP 針對您提到的這些「單據、夥伴、物品(物料)」之間的相互制約關係,有一套非常嚴密且成體系的控制規則與配置邏輯(Configuration Logic)。
在 SAP 的標準架構中,這並非單一規則,而是由 「夥伴確定程序」、「項目類別確定」 以及 「條件技術(Condition Technique)」 三大核心機制共同交織而成的控制網。
以下為您整理這三大情境在 SAP 中對應的底層邏輯與控制規則:
1. 什麼單據上可以有什麼樣的客戶或廠商(夥伴)?
SAP 透過 夥伴確定程序 (Partner Determination Procedure) 來嚴格限制單據與夥伴角色的關係。
控制邏輯:
SAP 不會讓你隨便把一個「貨代(Forwarding Agent)」當作「售達方(Sold-to Party)」來開單。系統的檢查鏈如下:
單據類型 (Document Type)→夥伴確定程序→允許的夥伴功能 (Partner Function)→帳戶組 (Account Group) 限制
具體規則:
單據層級限制: 每種單據類型(如:銷售訂單 OR、採購訂單 NB)都會分配一個夥伴程序。該程序定義了這張單據「必須具備」與「允許具備」哪些角色(例如:售達方 SP、送達方 SH、開票方 BP、付款方 PY)。
主檔層級限制: 當你在單據輸入一個客戶代碼時,系統會去檢查該客戶的「帳戶組」(Account Group)。如果該帳戶組在後台沒有綁定對應的夥伴功能(T-Code: VOPAN),單據就會直接報錯,不允許帶入。
採購端(MM): 同理,採購單據則是控制哪些「供應商帳戶組」可以扮演「採購夥伴(供應商 VN、開票方 IP、貨源廠商 GS)」。
2. 什麼單據上可以採購或銷售什麼「物品」?
這在 SAP 中是由 項目類別確定 (Item Category Determination) 與 物料類型/組織架構 來共同決定的。
控制邏輯:
單據能不能吃下某個物料,取決於這張單據的性質與該物料在主檔中的「轉變身份」。
具體規則:
組織架構限制(硬限制): 銷售單據依賴「銷售組織/分銷管道/產品組(Sales Area)」,採購單據依賴「工廠/庫存地點(Plant/Storage Location)」。如果該物料沒有擴展(Extension)到該銷售區域或工廠,單據在第一關就會因「物料未定義」而被阻擋。
項目類別動態控制(軟/硬控制): 在銷售單 (T-Code: VOV4) 中,系統依據:
單據類型+物料主檔的項目類別組 (Item Category Group)→系統決定出的項目類別 (Item Category)
例如:同樣是「雞肉」這個物料,在銷售訂單 (OR) 裡帶出的是標準銷售項(TAN,要過帳、要計價);在樣品單 (FD) 裡帶出的就是免費項(TNN,不計價)。如果某個物料的屬性(如:資產類、服務類)與該單據類型在後台沒有配置對應關係,系統會直接提示「項目類別無法決定」,不允許該物料上單。
3. 什麼單據哪些物品是不允許買或賣給那些客戶或廠商?
這是您提到的核心:特定「客戶+物料」或「廠商+物料」的黑白名單限制。SAP 分別在銷售端與採購端提供了標準工具。
A. 銷售端(SD):物料清單與排除 (Material Listing and Exclusion)
SAP 利用條件技術(Condition Technique),透過主檔配置(T-Code: VB01 / VB11)來達成極具彈性的矩陣控制。
控制機制 邏輯架構 業務場景舉例
物料清單 (Listing)
(白名單)
客戶 A 只能 購買清單中維護的物料(如:物料M1, M2)。輸入其他物料系統直接攔截。 專供特定大型量販店(如 Costco)的特殊規格包裝物品,嚴禁賣給一般經銷商。
物料排除 (Exclusion)
(黑名單)
客戶 B 絕對不能 購買清單中的物料(如:物料 M3)。輸入時系統報錯。 因應地方法規或合約保護,某些特定基改飼料或添加物不允許賣給特定區域的農場。
背後規則: 單據類型(如 OR)在後台會掛載一個「排除程序(Exclusion Procedure)」。當你在單據輸入客戶與物料時,系統會秒速去掃描 Condition Table(通常依據「銷售組織+客戶+物料」的階層)。如果踩到黑名單,系統會彈出硬性錯誤(Hard Error),連存檔都不讓你存。
B. 採購端(MM):貨源清單與配額 (Source List / Info Record)
在採購單據(如 PO)中,限制哪些物品不能買給哪些廠商,通常使用貨源清單 (Source List)。
控制規則 (T-Code: ME01):
你可以針對某個「工廠+物料」,指定在特定時間範圍內,哪些供應商(Vendor)是被凍結(Blocked)的。
當採購開單時,如果選了該供應商與該物料,系統會去比對貨源清單。若被勾選了「凍結」,採購單便無法建立,從源頭阻止錯誤的採購行為。
總結
SAP 對於這些限制條件的整理,並不是寫死在程式碼裡的固定規則,而是提供了一套「樂高式」的底層框架(基本資料 + 組織架構 + 條件技術):
夥伴控制: 解決「誰(Who)可以在這張單據玩」的問題。
項目控制: 解決「這張單據(What)可以用什麼商務模式處理這個物料」的問題。
清單/排除控制: 解決「誰不准動特定物料(Who cannot do What)」的交叉限制。