Temenos T24银行核心系统JBase Basic语言

一、Temenos T24是什么?

Temenos T24 是一个 Temenos 集团开发的核心银行系统。

二、T24编程语言是什么?

T24 JBASE BASIC是Temenos T24核心银行系统的其中一种编程语言。

T24 JBASE BASIC是基于 JBASE 环境开发的编程语言,也被称为 InfoBasic 。

三、T24 Jbase Basic有什么?

1. Defined

PROGRAM - 定义主程序,可独立运行
SUBROUTINE - 定义子程序,不可独立运行
RETURN - 返回程序
FUNCTION - 定义功能
EXIT - 退出程序
SETTING - 设置环境变量
MAT - 声明矩阵,相当于Java里面Map
DIM - 声明变量或定义数组

2. Loop

FOR - 循环
LOOP  - 循环
WHILE - 循环
NEXT - 下一个
BREAK - 跳出
CONTINUE - 继续
REMOVE - 移除
REPEAT - 重复
DO -做

3. Control

IF - 控制语句的如果
ELSE - 控制语句的否则
END - 控制语句结束、程序结束
THEN - 控制语句然后
CASE - 控制语句的分支
GOSUB - 子程序内部跳转调用的关键字
EQ NE GT GE LT LE LK OR AND

4. Utility

ASSIGNED - 检查变量
CLEAR -清理变量,相当于赋空值,就是重置
DEBUG -调试
LOCK - 上锁
UNLOCK - 解锁

5. Include

INSERT - 插入头文件变量
COMMON - 引入全局变量
INCLUDE - 引入头文件变量

6. String

UPCASE - 字符串转大写
DOWNCASE - 字符串转小写
LEN - 计算变量长度
FINDSTR - 查找字符串
COUNT - 统计字符串次数
FIELD - 字符串截取
LOCATE - 循环查找
TRIM - 字符串首尾的空格或指定字符
INDEX - 查找字符串首次出现的下标,从1开始计算
CHANGE - 改变字符串,替换多次

7. Database File

OPEN - 开表/开文件
READ  - 读表/读文件
READU - 带锁读表/读文件
WRITE - 写表/写文件
RELEASE - 释放带锁的操作

8. XML

READXML - 读取XMLRECORD操作
WRITEXML - 写入XMLRECORD操作

9. Sequential File

OPENSEQ - 打开顺序文件
READSEQ - 读取顺序文件
WRITESEQ - 写入顺序文件

10. Date Time

TIMEDATE - 获取当前系统日期和时间
TIMESTAMP -  获取当前系统日期和时间,以时间戳字符串返回

11. I/O Stream

CRT - 打印输出
PRINT -  打印输出
ECHO - 打印输出
INPUT - 接收输入

12. Thread

SLEEP - 线程中睡眠等待指定时间,定时任务
PUASE - 线程中等待用户按键后继续执行,等待用户交互

13. Format

FMT - 格式化
OCONV - 日期的格式化
ICONV - 将字符串转换为数值或日期
CONVERT - 字符串转换、替换

14. Sort

SORT - 数组排序
MAXIMUM - 查找最大值
MINIMUM - 查找最小值

15. Regular

REGEXP - 正则表达式匹配字符串
MATCHS - 字符串全匹配字符串
MATCHFIELD - 动态数组匹配字符串

16. Encrypt

DECRYPT - 加密函数,AES/DES/Base64
ENCRYPT - 解密函数

17. Encoding

UTF8 - Unicode 字符编码方式
ASCII - 字符串转ASCII码表
CHARS - 生成重复N次字符串
CHAR - ASCII码表转字符串

四、T24 Jbase Basic思维脑图

五、T24 Jbase Basic工作运行图

六、T24 Jbase Basic程序编译与运行

1. tCompile -  编译程序

例如: tCompile EX

EX - 是BASIC program的名称,可独立运行,如同Java里面的Main

2. tRun - 运行程序

2.1. tRun EX - 登录T24后台GUI界面

EX - 是一个T24 Core  Program用于进入后台GUI用户交互界面登录T24系统。

BK - 退出T24后台GUI界面

2.2. tRun tSS TWS - 带OFSSOURCE参数执行T24 OFS命令

tSS - 是一个T24 Core  Program用于进入执行T24 OFS命令,TWS 是一个入参参数,它是创建在OFS.SOURCE表中的记录。

OFS.CALL.BULK.MANAGER / OFS.BULK.MANAGER - 同步OFS事务一致性

OFS消息处理一错将全错并回滚已成功的处理。tSS程序是调用OFS.BULK.MANAGER OFS事务一致性处理,将批量OFS消息作为单一一个请求数据库交易。

OFS.POST.MESSAGE - 异步OFS事务一致性

OFS消息处理互不影响。请求存储在OFS.MESSAGE.QUEUE排队,依次等待自动服务OFS.MESSAGE.SERVICE处理OFS消息。

3. T24 Classic经典GUI界面的命令

1. 记录编辑:

<Enter> - 下一行 或下移字段

Ctrl + F + <Enter> - 移动下一页(Forward)

Ctrl + B + <Enter> - 移动上一页(Back)

Ctrl + E + <Enter> - 移动到最后一页(End)

Field Number (Example : To move to field number 1) - 移动到 single value字段

Field Number.Multi value position (Example : 1.1) - 移动到 multi value字段

Field Number.Sub value position (Example : 1.1.1) - 移动到 sub value字段

2. 记录操作:

Ctrl + E + <Enter> - 退出记录(Return)

Ctrl + V + <Enter> - 提交记录(Validation)

Ctrl + VV + <Enter> - 提交并校验记录(Validation & Verify )

Ctrl + U + <Enter> - 退出不保存记录

Ctrl + K + <Enter> - 退出编辑,不保存记录

七、T24 Jbase jQL语句

例如:CUSTOMER表中张三的客户ID为123456

1. LIST - 列出记录,仅查看

LIST F.CUSTOMER WITH @ID EQ ‘123456’ --查找张三的客户ID

LIST F.CUSTOMER WITH @ID NE ‘123456’ --查找不等于张三的客户ID

LIST F.CUSTOMER WITH @ID LIKE ‘...2345...’ --模糊查找客户ID

2. SELECT - 选中记录,后续有操作

SELECT F.CUSTOMER WITH @ID EQ ‘123456’ --查找张三的客户ID

SELECT F.CUSTOMER WITH @ID NE ‘123456’ --查找不等于张三的客户ID

SELECT F.CUSTOMER WITH @ID LIKE ‘...2345...’ --模糊查找客户ID

LIST与SELECT是相似的,用途不同,按需选择。

3. COUNT - 统计记录

SELECT F.CUSTOMER WITH @ID LIKE ‘...2345...’ --模糊查找客户ID有多少条记录。

关键字LIKE,相当于Oracle中的%百分符合,替换为3个点号,如:...使用,在查找的字符串左右两边带上...是通配符,达到模糊查询目的。

八、T24 Jbase JED Editor编辑器

1. T24 JED用途

T24 JED是一个文本编辑器工具,常用修改记录,默认是命令模式,用于执行编辑命令,区分大小写。

2. T24 JED 模式切换

从命令模式进入插入模式:按 I 键(Insert)。
从插入模式返回命令模式:按 ESC 键。

3. T24 JED 命令

i {line number} = insert line

d {line number} = delete line

b = backward to previous page

f  = forward to next page

d = delete the whole record

r  = reload record

c = cancel modifications

s = save modifications

x = exit

4. T24 JED 使用

tJed F.CUSTOMER ‘123456’ --编辑张三这个客户在客户CUSTOMER表的123456记录.

九、T24 OFS消息

1. T24 OFS是什么

T24 OFS (Open Financial Service)中文名称:开放金融服务,是 T24 定义的标准化消息格式,用于系统间的数据交换(类似 API ),OFS请求模块采用典型的 “请求 - 响应” 模式,“请求 - 响应” 机制确保了交互的同步性和可追溯性(如:实时转账、余额查询场景),OFS也是T24的网关,只有通过T24统一的网关,外围系统需要遵循T24 OFS 规范才能交互,这样避免外围数据传输安全性,和减少T24内部程序开发,即可支持对外围系统的扩展性。

2. T24 OFS 请求

2.1. OFS查询类

例如场景:张三准备汇款CNY币种给李四的账号USD币种,查询外汇牌价。

ENQUIRY.SELECT,,INPUTER,ENQ.CCY,CURRENCY.CODE:EQ=CNY,

解释:

ENUIRY.SELECT - 固定结构

, - OFS分隔符

INPUTER - 用户信息

ENQ.CCY - 查询名称

CURRENCY.CODE - 查询的字段名

EQ - 查询条件

CNY - 查询数据

2.2. OFS交易类

场景:张三的账号1234567890在2025/02/28日转出CNY币种80000.01元给李四的账号USD币种账户9876543210,并且张三汇款时用了3句话通过附言栏位告诉李四。

案例:FUNDS.TRANSFER,RAD/I/PROCESS/1/0,INPUTER/******/CN0000001,,TRANSACTION.TYPE:1:1=AC,DEBIT.ACCT.NO:1:1=1234567890,DEBIT.CURRENCY:1:1=CNY,DEBIT.AMOUNT:1:1=80000.01,DEBIT.VALUE.DATE:1:1=20250228,CREDIT.ACCT.NO:1:1=9876543210,CREDIT.CURRENCY:1:1=USD,PAYMENT.DETAILS:1:1=昨天的失意与辉煌,都已成为行囊里的沉淀。,PAYMENT.DETAILS:2:1=今天是唯一握在掌心的真实,每一秒的专注都在为梦想铺路。,PAYMENT.DETAILS:3:1=明天的模样,藏在今天的每一个选择里。,

解释:

FUNDS.TRANSFER - 应用名称(Application)

, - 逗号,是OFS数据分隔符

/ - 斜杠,是OFS数据分隔符

RAD - 视图名称(Version)名称

I - 处理指令(I - 输入Input,S - 查询See,R - 冲销Reverse,D - 删除Delete,A - 授权Authorise)

PROCESS - 处理类型(PROCESS - 处理Process,VALIDATION - 校验Validation)

1 - 控制值(GTS.CONTROL定义的值,包括:空值,1,2,3,4)

        空值 (Errors Rejected / Approve Overrides)

        1 (Errors on HLD / Approve Overrides)

        2 (Errors Rejected / Overrides in HLD)

        3 (Errors in HLD / Overrides HLD)

        4 (Hold Only)

0 - 授权次数(NO.OF.AUTHORISERS授权次数的值)

3. T24 OFS 响应

3.1. OFS查询类

CCY::CCY/DESC::DESC/CURRENCY.MARKET::CURRENCY.MARKET/BUY.RATE::Buy Rate/SELL.RATE::Sell Rate/REVAL.RATE::Book Rate/L.FAR.POINT.BUY::Far Point Bid/L.FAR.POINT.SEL::Far Point Ask/L.BN.SPOT.BUY::FMD Spot Rate Bid/L.BN.SPOT.SELL::FMD Spot Rate Ask/L.MKT.SPOT.BUY::Mkt Spot Rate Bid/L.MKT.SPOT.SELL::Mkt Spot Rate Ask/L.MKT.TDY.BUY::Mkt Today Rate Bid/L.MKT.TDY.SELL::Mkt Today Rate Ask/BUY.RATE.VAL::BUY RATE/SELL.RATE.VAL::SELL RATE/L.ONSHORE.BOOK::Onshore Book,"CNY" "Renminbi" "1" "1.0000" "1.0000" "" "-8.9" "-8.4" "1" "1" "7.8498" "7.85" "7.853156" "7.853456" "" "" "",

3.2. OFS交易类

案例:

FT25001XPWDSNQ//1,PAYMENT.DETAILS:1:1=昨天的失意与辉煌,都已成为行囊里的沉淀。,PAYMENT.DETAILS:2:1=今天是唯一握在掌心的真实,每一秒的专注都在为梦想铺路。,PAYMENT.DETAILS:3:1=明天的模样,藏在今天的每一个选择里。,...

解释:

FT25001XPWDSNQ - 返回交易ID,例如FUNDS.TRANSFER表的交易ID

空值 - 返回消息ID,存储在OFS.REQUEST.DETAIL表

1 - 指示成功与失败的指示器(包括: 1,-1,-2,-3)

        1 Successful transaction.

        -1 Errors encountered during processing.

        -2 Override condition (s) encountered during processing.

        -3 T24 server is offline.

PAYMENT.DETAILS:1:1=XXX - 返回消息数据

        返回消息数据结构:       

如:PAYMENT.DETAILS:3:1="明天的模样,藏在今天的每一个选择里"。

PAYMENT.DETAILS - Field Name

3 - Multi Value Number

1 - Sub Value Number

"明天的模样,藏在今天的每一个选择里" - Field Value

4. T24 OFS 转义字符

T24 OFS字符串中6个转义字符不能直接作为数据,需要通过转义字符替换处理请求。

CharacterCharacter descriptionOFS Replacement characterReplacement character description
,comma?Question mark
'single quote@at
"double quote|pipeline
()round parenthesis{}curled brackets
/slash^caret

十、T24 COB日终批量

T24 核心COB批量作业程序拆分有 5 个 Batch stages,它们依次顺序执行5个阶段,从前到后依次顺序执行的名字分别是:‘A’, ‘S’, ‘R’, ‘D’, ‘O’。

在5个阶段里面,又分别定义了3位子序列号(000-999),该序列号内部将会顺序依次执行。

所有编排在Batch Stage的记录都定义在BATCH表。

依次顺序,例如:A000、A001、A002、S000、R000、D000、O000、O999

A000阶段

T24 COB初始化将从A000开始,DATES表的Co Batch Status全部由 O 模式转成 B 模式,停止分行机构在Browser界面处理交易。

O - Online

B - Batch

A001阶段

初始化COB将从A000开始,后执行A001 Job Name:EB.CYCLE.DATES作业时,T24将执行Date Change的核心程序,此Job将DATES表<company>所有记录拆分2个一模一样<company>-COB记录(如第一次运行将创建,如已经创建后不再创建),<company>记录将根据HOLIDAY表中设置W的指示,将当前<company>的工作日滚动切换为下一个工作日,更新TODAY字段,对<company>-COB的工作日不更新。

对于7*24小时在线联机的交易而言,将会采用<company>记录已经更新的TODAY字段进行计息进行处理。

对于NS (Non Stop)处理交易而言,也将会采用更新后<company>记录的TODAY字段进行计息进行处理,差异点就是带有NS的应用不会受到COB影响,可以不停机处理交易。

D000阶段

当COB依次执行到D000阶段时,在执行D000 Job Name:B.DATE.CHANGE作业时,所有DATES表<company>-COB记录的工作日全部滚动下一个工作日,至此所有DATES记录的TODAY字段全部一致。

O000阶段

当COB依次执行到O000阶段时,在执行O000 Job Name:RESET.CO.STATUS作业时,更新所有DATES表的Co Batch Status全部由 B 模式转成 O 模式,恢复分行机构在Browser界面处理交易。

O - Online

B - Batch

O999阶段

当COB依次执行到O999阶段时,在执行O999 Job Name:BATCH.DATE.RESET作业时,重置所有作业的Next Run Date,完成COB。

tSM - T24 Service Manager

每一台应用服务器都有一个tSM,一个tSM将监控当前服务器下所有tSA。

调试命令如:START.TSM -DEBUG

TSM与COB都分别是一个服务名,它们分别定义在TSA.SERVICE表。

tSA - T24 Service Agent

一台应用服务器可以允许有多条tSA进程。

调试命令如:tSA 1 -DEBUG

十一、T24 BCON包部署-保存/释放

tRun EX
FATAL ERROR FROM T24.INITIALISE INVALID TERMINAL MODEL & DEFAULT

tRun EBS.TERMINAL.SELECT 

DL.DEFINE

..\&SAVEDLISTS\& - BCON包数据定义目录

BUILD.CONTROL

../F.BCON.DATA/SAVE/ - BCON包数据保存目录

../F.BCON.DATA/RELEASE/ - BCON包数据释放目录

十二、T24 核心参数表

SPF

T24核心系统中的最核心的一张表,它存储了T24版本,产品,服务,机构,许可证,日期等等关键信息。

COMPANY

T24核心系统中的核心机构表。

CCGGGLLLLDescriptionsExample
CCCountry CodeCapital letters in the range A-Z.
Must be the ID of an existing record in the COUNTRY table.
GGGCompany Group Code 3 numeric characters in the range 001-999.
LLLLLocal Code4 numeric characters in the range 0001-9999

HOLIDAY

T24核心系统中的核心节假日表。它的ID记录是<company>分支行机构ID,每一个ID并跟随4位年份组合,在每年里面又拆分为12个月,并把每个月拆分为31天,并通过W,H,X定义是否工作日、节假日、无效日。

MONTHDescriptionsExample
WWorking day
Hnon-working day
Xnon-existent daye.g. February 31th

DATES

T24核心系统中的核心日期表。它的ID记录是<company>分支行机构ID,每一个ID记录里面有TODAY、LAST.WORDKING.DAY、NEXT.WORKING.DAY、CO.BATCH.STATUS及JULIAN.DATE等等信息。

PGM.FILE

T24核心系统中的程序文件表。Program FIle是定义程序文件的表,把表的类型划分为各式各样。

TYPEDescriptions
HHistory, Unauthorised + Live file
UUnauthorised + Live file
LLive only
TTable
WWorkfile
BBatch job
MMain Line program (no file)
AAccess to T24 Environment
SSubroutine
RReport Generator routine.

FILE.CONTROL

 T24核心系统中的文件控制表。定义在FIle Control都是一个T24的Application 应用名称,即:表。

CLASSIFICATIONDescriptions
INTInstallation
CUSCustomer
CSTCustomer Table
FINFinancial
FTDFinancial Table Descriptive
FTFFinancial Table Financial
CCYCurrency
NOSNostro

常见的表后缀:

SUFFIXESDescriptions
$NAUUnauthorised File
$HISHistory File
$DELDelete FIle

STANDARD.SELECTION

T24核心系统中的字典表。简称SS字典表,对应Oracle数据库的VOC表,在TAFJ架构下,即:TAFJ_VOC表定义了所有T24表。

SELECT * FROM FBNK_TARGET;

<row id="10">
  <c1>Normal</c1>
  <c2>Normal</c2>
  <c4>3</c4>
  <c5>37997_BUILDUSER1__OFS_BUILD.CONTROL_1001</c5>
  <c6>1706200953</c6>
  <c7>37997_BUILDUSER1_OFS_BUILD.CONTROL_1001</c7>
  <c8>HK0011999</c8>
  <c9>1</c9>
  <c501>TARGET,RAD</c501>
</row>

VERSION.CONTROL

T24核心系统中的应用控制表。

GTS.CONTROLDescriptions
<NULL>Errors Rejected / Approve Overrides
1Errors on HLD / Approve Overrides
2Errors Rejected / Overrides in HLD
3Errors in HLD / Overrides HLD
4Hold Only

VERSION

T24核心系统中的应用视图表。

DataDescription
IInput
AAuthorise
CCopy
RReverse
DDelete
HHistory Restore

ENQUIRY

T24核心系统中的查询表。

ConditionDescription
EQequals
NEnot equals to
GTgreater than
GEgreater than or equals
LTless than
LEless than or equals
RGrage
NRnot
LKlike
ULun like

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值