2

We have a Masking Data project at Temenos T24 Banking system with Oracle Database.

We didn't yet start to read the data until now. We were informed that Temenos T24 store data as XML columns in Database. Is this information correct?

PrecisionLex
  • 801
  • 11
  • 26

3 Answers3

3

T24 stores data as XML with 2 columns for each table

  1. RECID - Primary key
  2. XMLRECORD - data
slfan
  • 8,950
  • 115
  • 65
  • 78
Natty
  • 185
  • 1
  • 1
  • 9
3

T24 can store data in many databases (Oracle, DB2, MS SQL Server, H2) using either Direct Connect drivers for TAFC or JDBC if the runtime is TAFJ. You can see the data structure by using the Oracle "DESCRIBE" statement.

SQL> DESCRIBE F_SPF;
 Name                 Null?      Type
 -------------------- ---------- ----------------------------
 RECID                NOT NULL   VARCHAR2(255)
 XMLRECORD                       SYS.XMLTYPE

SQL>

Tables can be stored as XML or BLOB/CLOB in the same database of T24. This is governed on the T24 level by the TAFJ_VOC file:

SQL> SELECT RECID, ORCLFILENAME, ISBLOB FROM TAFJ_VOC WHERE ORCLFILENAME LIKE '%EB_DPT%';

RECID                 ORCLFILENAME          ISBLOB
--------------------- --------------------- -------
F.EB.DPT.COUNTRY      F_EB_DPT_COUNTRY      X
F.EB.DPT.COUNTRY$NAU  F_EB_DPT_COUNTR000    C
F.EB.DPT.COUNTRY$HIS  F_EB_DPT_COUNTR001    C

SQL>

From the above screenshot you can see that the T24 table name is stored in the RECID column, Oracle table name is stored in ORCLFILENAME column, and the XMLRECORD column type of the table is indicated in ISBLOB column: X means XMLTYPE, C means CLOB.

This can be changed by changing the table and updating TAFJ_VOC.

Above screenshots are valid for TAFJ R18 version.

PrecisionLex
  • 801
  • 11
  • 26
0

T24, the flagship Temenos software, stores data in many ways depending on the implementation.

There are basically 2 broad categories of data stores in T24:

  1. Using Temenos's own multivalued, file based database - JBase. This is the old-ish way of doing it and is not used so much any more. Only by smaller players like MFIs.
  2. Using an RDBMS. The supported DBs are DB2, Oracle and MS SQL. I've also seen an implementation in H2 database but as far as I can tell that's only for demo purposes, not production.

How data is stored:

For JBase, the file is stored in binary files and the most efficient way to query it by writing JBase routines using Temenos Application Framework for C (TAFC). Optionally you can use jdbc (if you can get it to work) and query the database using the normal SQL scripts.

For RDBMS, the data is stored in 2 columns as noted above: RECID and XMLRECORD. Some bigger tables can be made to use CLOB instead of XMLRECORD.

Thankfully, Temenos creates default views of their tables that extract fields from the long XMLRECORD field. I would read the data by using these fields if I were you. You can also write your own queries by using the xml functions supported by the database you are querying. For Oracle I rely on extractvalue().

@Māris Rubenis has provided a good sample above. As he mentioned, you get the mapping by querying the VOC table.

masterl
  • 141
  • 1
  • 2
  • 10