| 領域 | 建議 |
|---|---|
| 編碼規範 | 統一 COBOL 編碼標準 (縮排、命名、註解區塊)、CICS 指令錯誤處理模板 (CHECK EIBRESP)、SQL 寫法規範 (明確列清單、避免 SELECT *)。 |
| 資料集管理 | 嚴格 HLQ (High Level Qualifier) 分層:`PROJ.DEV.USERID`、`PROJ.TEST`、`PROJ.PROD`。定期 `IEBCOPY` 壓縮 PDS、釋放未用空間。 |
| 編譯連結 | 使用 `IGYCRCTL` (COBOL 編譯) + `IEWL` (連結編輯) 標準 PROC。啟用 `OPTIMIZE`、`RENT` (可重入)、`AMODE=31 RMODE=ANY` (31 位址模式)。 |
| CICS 資源定義 | 程式 (PROGRAM)、事務 (TRANSACTION)、檔案 (FILE)、TDQ/TSQ、連接 (CONNECTION) 全部用 **CEDA/CEMT** 線上定義並 `INSTALL`,納入版控 (CSD 匯出)。 |
| DB2 效能 | 定期 `RUNSTATS`、 `REBIND` Package。關鍵 SQL 加 `OPTIMIZE FOR 1 ROW` / `FOR FETCH ONLY`。避免 `CORRELATED SUBQUERY` 改寫為 `JOIN`。善用 `DECLARE GLOBAL TEMPORARY TABLE` (DGTT) 處理中間結果。 |
| 異常處理 | 統一 `ABEND` 代碼映射表,前端 JSP 友善提示,後端寫入 CICS 錯誤日誌 (DFHCSDUP/自定義 TDQ) 含 EIBDATE/EIBTIME/EIBTRNID/EIBRCODE。 |
| 測試策略 | 單元測試:COBOL 程式用 `DFHEITEST` / `CECI` 模擬輸入。整合測試:WAS → CICS → DB2 全鏈路。回歸測試:自動化提交 JCL 執行批次測試腳本。 |
結語: 三個月從零到交付,雖然過程痛苦,但獲得了跨平台、跨世代技術棧的整合經驗。期待與更多 Mainframe 開發者交流,共同推動傳統核心系統的現代化轉型。