SAP 用近 15 年的食品廠,這樣翻身
不動 SAP 一行程式碼、不加顧問預算,用線外系統雙引擎(SAP RPA + 自建 MES),把整間食品廠的管理節奏壓縮了一個量級。
- 11+ 個 SAP 標準交易自動化
- 5 套自建服務協同運作
- 1.5 hr → 10 min 排程會議
客戶背景
此案例為中部某年營業額 8 億的食品製造廠,旗下產品涵蓋多種品項(多 SKU、多包裝規格、多客戶代工 OEM),擁有多條產線並行運作。SAP ERP 已導入近 15 年,主要承擔財會、採購、銷售、庫存等核心模組。
但長年下來,SAP 標準交易雖然穩定,「現場端 → SAP」與「SAP → 老闆儀表板」這兩段卻始終卡在人工:生管手抄、現場紙本報工、會計月底用 Excel 拉公式核對。老闆每週開排程會議像在玩拼圖,產線盈虧只能等月底結帳才知道。
導入前:4 種慢性耗損
每週排程會議手抄手貼
生管把 SAP CO41 計劃工單一張張查、抄到白板上,再對 BOM 用量、產能限制、客戶交期反覆喬。一場會 1.5 小時起跳,會議結束還要再整理一份 Excel 給產線。
現場報工紙本上飛
領班拿紙本工單到產線,現場用筆寫實際投料、實際產出、人時、機時。下班後文件堆一疊回辦公室,文書同仁再 key in SAP。數字錯一欄追一整天,KEY 錯一筆 SAP 月底對不平。
產線狀況像黑盒子
老闆走到辦公室問「今天 A 線在跑什麼?目前進度幾趴?」—— 沒人答得出來。要等晚班結束、文書 key 完,第二天早上才知道昨天的事。
盈虧靠月底事後臆測
每張工單實際用了多少料、多少工時,散在 SAP COOIS、報工紙本、請款單之間。要算單張工單盈虧只能會計月底大整合,發現超用已經是 30 天前的事。
線外系統雙引擎解法
不去動 SAP 核心,而是在 SAP 旁邊架一層自動化系統,把「該自動的事」全部從人手裡接走。
引擎 A:SAP RPA 模組
取代人工抄表,讓 SAP 標準交易自動跑
- 透過 SAP GUI Scripting(SAP 原廠合法腳本介面,需 BASIS 於 RZ11 開啟
sapgui/user_scripting=TRUE)以合法帳號登入 - 自動執行銷售、採購、生產、BOM 等 11+ 個標準交易
- 抓回的資料寫入線外系統的 SQLite,供其他模組使用
- 排程引擎可定時跑,人不在也照抓
- 深度整合場景再以 PyRFC / BAPI / IDoc 補強
引擎 B:自建 MES 模組
取代紙本報工,讓現場數據即時上傳
- 以 SAP 抓回的工單資料為基礎,產線 / 工序 / 用料一鍵展開
- BOM 自動反推工序時程(鍋數、標準工時、產值換算)
- 計劃工單轉生產工單(CO40 自動化)一次搞定多筆
- 現場 Kiosk 平板顯示噴印日期、即時 QR Code
- LINE Bot 推播排程異常、與工程師對話查詢
兩大引擎共用同一份 SAP 拉回的資料,但分工明確:RPA 負責「跟 SAP 對話」,MES 負責「跟現場對話」。老闆只看儀表板,不再看 Excel。
技術架構:多模組協同運作
整套線外系統部署在客戶自己的機房(Windows Server),由多個獨立的 Flask 服務組成,各跑在不同 port 互不干擾,壞一個不會拖垮整個系統。
┌─────────────────────────────────────────────────────────┐
│ SAP ERP 核心 │
│ (不動、只讀寫資料) │
└──────────────────────┬──────────────────────────────────┘
│ SAP GUI Scripting / PyRFC
↓
┌─────────────────────────────────────────────────────────┐
│ SAP RPA Flask 服務 │
│ 11+ 個標準交易自動化 / Session Pool 管理 │
└──────────────────────┬──────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ Automation Core 主平台 │
│ Portal 入口 / Kiosk 資訊版 / 名片歸檔入口 │
└─────┬─────────────────┬─────────────────┬──────────────┘
↓ ↓ ↓
┌───────┐ ┌───────┐ ┌───────────┐
│ 排程 │ │ 名片 │ │ LINE Bot │
│ 系統 │ │ 歸檔 │ │ Studio │
└───────┘ └───────┘ └───────────┘
│ │ │
↓ ↓ ↓
產線平板 Google Sheets LINE 推播
SAP 交易自動化清單
RPA 模組覆蓋的 SAP 交易代碼遍及銷售、採購、生產、物料主檔四大模組。以下是實際導入的範圍:
| SAP 模組 | 代表交易 | 自動化目的 |
|---|---|---|
| 銷售與採購 | ZSD001(自定銷售報表)、ME2N(採購文件清單) | 抓回未交銷售單、未到採購單,供排程系統使用 |
| 計劃與生產工單 | CO41 計劃工單、COOIS 生產訂單資訊 | 每日同步工單狀態,自動轉換、刪除旗標 |
| BOM 展開 | CS11 / CS03 | 抓物料 BOM 階層、基礎數量、單位換算 |
| 主檔同步 | MKVZ 供應商、VCUST 客戶、OX09 倉別 | 定期同步主檔到自建 DB,避免名稱對不上 |
| 工作中心 | CR03 | 抓母線、機台、清潔線三階層及標準工時 |
| 工單操作 | CO40 轉換、CO02 修改 | 計劃工單批次轉生產工單、設定刪除旗標 |
注意:所有交易皆透過 SAP GUI Scripting 以合法帳號登入執行,SAP 看到的就是一個正常使用者,所有操作完整留稽核軌跡,與人工點選 SAP 時產生的 log 完全相同。不寫任何資料表 hack、不繞過任何 SAP 權限控制。
導入進度:階段式上線
整套線外系統並非一次到位,而是分波導入,每個模組獨立可用、漸進累加。以下是當前各模組的真實進度:
✅ 已上線:核心自動化
- SAP RPA 平台:11+ 個標準交易已封裝為 Web 模組,前線同仁點按鈕即可跑
- Automation Core 主平台:模組總入口、設定管理、執行記錄
- 生產排程系統:銷售訂單、計劃工單、BOM 自動展開、工序產出
- Kiosk 資訊版:噴印保存期限換算(10 種期限自動算到期日)、QR Code、純檢視版工廠平板專用
- LINE Bot Claude Studio:團隊對話、問題回報、AI 輔助查詢
- 名片歸檔系統:AI 辨識名片、自動分類存 Google Sheets
🔧 進行中:流程精緻化
- BOM 反推工序時程(鍋數、標準工時、產值)— 持續調校公式準度
- 計劃工單轉生產工單(CO40 自動化)— 已可批次轉換、刪除
- 客訂單殘料篩選(「略客+製」邏輯)— 排除業務訂單與實際生產的小量差額
- COOIS 生產工單同步策略 — 一週前定案、過期不處理、UPSERT 邏輯
📅 規劃中:MES 現場化(Phase 5)
- 條碼掃描防呆(手機/平板掃料、自動比對 BOM)
- 磅秤自動讀數(取代手動 key 重量)
- 多品項同時生產追蹤(用料累計、差異即時顯示)
- 電子報工表單(取代紙本,數據回傳 SAP)
- 盈虧儀表板(即時看單張工單實際盈虧)
※ 此階段需配合現場磅秤、條碼設備盤點,預計分波導入。
開發節奏與 ROI
首輪上線
8–12 週
從盤點訪談到第一個自動化流程(生產排程資料自動彙整)實際節省工時。
後續模組節奏
2–4 週
新增一個 SAP 交易封裝、新增一個現場工具,皆以 2–4 週節奏分波上線。
對比 SAP 內客製
1/5 ~ 1/10
同等需求若走 SAP 顧問內製,預算動輒百萬;線外系統僅修改客戶端 Python 程式碼。
程式碼歸屬
100%
所有 Python 程式碼、SQLite 資料庫、Flask 服務皆在客戶自己的伺服器,永久客戶資產。
以前每週開排程會議要 1.5 小時,現在 10 分鐘搞定,因為大部分數字系統已經先算好了。
—— 客戶生管主管
老闆從靠經驗開會,變成看儀表板做決策。