上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
8.4 交易文件的格式
下面是平衡线算法用到的交易文件的记录格式,文件由两部分构成,前面是公共部分,适合于所有的交易类型,包含的内容有交易日志号、交易码和账号。其中交易日志号是按照交易的先后顺序编写的,即第1笔交易的交易日志号为1,第2笔交易为2,其他类推。交易码定义所有有效的交易代码,包括我们列出来的5种。
交易明细则分成了两种格式,第1种适用于开户、账户资料修改和销户交易,它们都是与客户资料有关的。第2种格式适用于存取款交易,牵涉到账户余额的修改。这两种格式都是使用REDEFINES短语指向同一个内存区域的,所以它们占据的是同一块地方,写到文件中时,每种交易类型决定了它的明细记录的格式。
在下面我们给出了每个栏位的说明,相信你不难理解它。也请注意,记录格式描述中的(:BKTRAN:)是伪文本,供程序使用COPY…REPLACING短语时使用。
000001 *************************************************************** 000002 * COPY BOOK : BKTRAN * 000003 * BANK TRANSACTION TRANSACTION FILE LAYOUT LN=80 * 000004 * MODIFIED DATE : * 000005 *************************************************************** 000006 * 000007 01 :BKTRAN:-RECORD. 000008 03 :BKTRAN:-COMM. 000009 05 :BKTRAN:-JNO PIC 9(04). → 交易日志号 000010 05 :BKTRAN:-TX-CODE PIC X(03). → 交易码,合法交易码如下 000011 88 :BKTRAN:-VALID VALUE 'OPN' 'UPD' 'CLS' 'DEP' 'WIT'. 000012 05 :BKTRAN:-AC-NO. 000013 07 :BKTRAN:-BK-NO PIC 9(03).→ 交易行号 000014 07 :BKTRAN:-BR-NO PIC 9(03). → 交易支行号 000015 07 :BKTRAN:-AC-TYPE PIC 9(01). → 账户类型 000016 07 :BKTRAN:-SEQ-NO PIC 9(06). → 账号序号 000017 07 :BKTRAN:-CHK-DIGIT PIC 9(01). → 账户校验位 000018 03 :BKTRAN:-DETAILS PIC X(50). 000019 03 :BKTRAN:-OUC REDEFINES :BKTRAN:-DETAILS. → 账户资料交易格式 000020 05 :BKTRAN:-LNAME PIC X(10). → 客户姓 000021 05 :BKTRAN:-FNAME PIC X(10).→ 客户名 000022 05 :BKTRAN:-ID PIC X(14). → 身份证号 000023 05 :BKTRAN:-ADDR PIC X(15).→ 客户地址 000024 05 FILLER PIC X(01). 000025 03 :BKTRAN:-DW REDEFINES :BKTRAN:-DETAILS.→ 存取款交易格式 000026 05 :BKTRAN:-REFERENCE PIC X(12). → 交易摘要 000027 05 :BKTRAN:-HOLD-REF PIC X(12). → 交易用途 000028 05 :BKTRAN:-TRAN-DATE PIC 9(8).→ 交易日期 000029 05 :BKTRAN:-TX-AMT PIC 9(13)V99.→ 交易金额 000030 05 FILLER PIC X(03). 000031 03 FILLER PIC X(09). 000032 ************************************************************** 000033 * END OF BANK TRANSACTION FILE LAYOUT * 000034 **************************************************************