首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

AS400 銀行核心系統開發規範:交易與組件程式結構模板完整解析

     編輯:Java 綜合教學

AS400 銀行核心系統開發規範:交易與組件程式結構模板完整解析

Firebird 核心系統採用「主控 → 交易 → 組件」三層架構。本文詳細解析 RPGLE 交易程式與組件程式的標準模板、公共複製文件、參數傳遞規範、錯誤處理機制及記賬傳票流水重組邏輯。

公共複製文件

  1. HEAD:版權聲明、日期格式(ISO)、編輯格式(YMD)
  2. ENUM:枚舉常量定義(數據字典衍生)
  3. PGDS:程序狀態數據結構 (PSDS)、文件信息數據結構 (INFDS)、錯誤信息接口 (PMG)、替換參數數組、特殊標誌變量
  4. PGCM:通用子程序
      • #EXIT:返回/結束
      • #ERR:調用 SCNCMMG 格式化錯誤信息並退出
      • #CHKMSG:檢查 PMG.BKMSID 非空則退出
      • *PSSR:程序異常捕獲,記錄異常信息退出
      • #FLEX:文件異常處理,1218 鎖記錄專門處理

交易程式模板:T000000A

接口定義

  • 輸入:T000000I1 (單值)、T000000I2 (數組)
  • 輸出:T000000O1 (單值)、T000000O2 (數組)
  • 統一三參數入口:PMG (錯誤信息)、PIN (輸入復合結構)、POT (輸出復合結構)

復合結構組成

結構包含子結構
PININHD (應用頭) + INFE (費用數組) + INCS (券面數組) + I1 + I2...
POTOTHD (應用頭) + OTVC (記賬傳票數組) + O1 + O2...

標準流程

/FREE
EXSR @INIT;  // 初始化:CLEAR PMG, A_MSDS, POT.O1, POT.O2, D_VARS
EXSR @CHEK;  // 校驗:機構號必輸,否則 EIOND 錯誤
EXSR @MAIN;  // 主邏輯:調用組件 SCETPSV,檢查返回
EXSR @RETN;  // 返回:調用 SCNCMTA 登記輸出數組實際條數 (O2RECD)
EXSR #EXIT;
/END-FREE

關鍵設計點

  • 臨時變量統一定義在 D_VARS 結構,CLEAR D_VARS 一次性初始化
  • 調用組件必傳 PMG,配合 #CHKMSG 實現錯誤信息層層透傳
  • 記賬組件最後一參數必為 POT.OTVC,實現跨交易多組件記賬流水按套順序重組,保證每套借貸平衡、順序正確(業界罕見能力)
  • 輸出數組需在 @RETN 中通過 SCNCMTA 登記實際條數,主控據此精簡返回報文

組件程式模板:SCETPSV

參數定義

  • SCETPSVF1:輸入單值結構 (機構號)
  • SCETPSVF2:輸出數組結構 (櫃員號),含 RECD 實際條數 + ARR 數組
  • SCETPSVP:原型聲明 + 參數結構定義 (EXTNAME/LIKEDS)

文件聲明規範

FACNBRMF UF E K DISK INFSR(#FLEX) INFDS(S_CNBRMF) QUALIFIED
FACNTLMF UF A E K DISK INFSR(#FLEX) INFDS(S_CNTLMF) QUALIFIED COMMIT
  • 順序:只讀 (I) → 讀寫 (UF A) → 更新 (U) → 更新寫入 (UF A) → 只寫 (O)
  • QUALIFIED 限定名訪問,INFSR(#FLEX) 統一異常處理
  • COMMIT 關鍵字啟用提交控制

標準流程

/FREE
EXSR @INIT;  // CLEAR PMG, A_MSDS, K_CNBRMF, R_CNBRMF, R_CNTLMF, D_VARS
EXSR @CHEK;  // 機構號非空校驗
EXSR @MAIN;  // CHAIN 讀取機構表 → 更新 → 輸出到 TPSVF2.ARR(1)
EXSR #EXIT;
/END-FREE

關鍵技術

  • FILEDSP = %ADDR(S_CNBRMF) 動態綁定 INFDS,實現文件異常捕獲
  • EVAL-CORR 對應字段賦值,簡化數據移動
  • 數組輸出帶 RECD 計數器,解決定長數組實際長度傳遞問題

架構價值總結

  1. 統一錯誤處理:#ERR/#CHKMSG/*PSSR/#FLEX 覆蓋程序/文件異常,業務代碼零干擾
  2. 參數規範化:三參數入口、復合結構分層、數組帶計數
  3. 記賬流水重組:OTVC 穿透傳遞,實現會計級套式順序與借貸平衡
  4. 開發效率:模板複製即用,專注業務邏輯
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved