實戰案例 食品製造業 年營業額 8 億

SAP 用近 15 年的食品廠,這樣翻身

不動 SAP 一行程式碼、不加顧問預算,用線外系統雙引擎(SAP RPA + 自建 MES),把整間食品廠的管理節奏壓縮了一個量級。

客戶背景

此案例為中部某年營業額 8 億的食品製造廠,旗下產品涵蓋多種品項(多 SKU、多包裝規格、多客戶代工 OEM),擁有多條產線並行運作。SAP ERP 已導入近 15 年,主要承擔財會、採購、銷售、庫存等核心模組。

但長年下來,SAP 標準交易雖然穩定,「現場端 → SAP」「SAP → 老闆儀表板」這兩段卻始終卡在人工:生管手抄、現場紙本報工、會計月底用 Excel 拉公式核對。老闆每週開排程會議像在玩拼圖,產線盈虧只能等月底結帳才知道。

導入前:4 種慢性耗損

01

每週排程會議手抄手貼

生管把 SAP CO41 計劃工單一張張查、抄到白板上,再對 BOM 用量、產能限制、客戶交期反覆喬。一場會 1.5 小時起跳,會議結束還要再整理一份 Excel 給產線。

02

現場報工紙本上飛

領班拿紙本工單到產線,現場用筆寫實際投料、實際產出、人時、機時。下班後文件堆一疊回辦公室,文書同仁再 key in SAP。數字錯一欄追一整天,KEY 錯一筆 SAP 月底對不平。

03

產線狀況像黑盒子

老闆走到辦公室問「今天 A 線在跑什麼?目前進度幾趴?」—— 沒人答得出來。要等晚班結束、文書 key 完,第二天早上才知道昨天的事。

04

盈虧靠月底事後臆測

每張工單實際用了多少料、多少工時,散在 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 分鐘搞定,因為大部分數字系統已經先算好了。
老闆從靠經驗開會,變成看儀表板做決策。

—— 客戶生管主管