TSA Services in T24 Core Banking: Scheduling and Executing Tasks Efficiently
- Josef Mayrhofer

- 4 days ago
- 2 min read
Services in the T24 Core Banking System
In this blog, we will talk about some of the most commonly used operations or modules in T24: TSA Services.
What is a TSA Service?
It stands for Terminal Service Agent and allows us to schedule a task to be executed within the core banking system. This task can, in turn, be defined as a set of smaller steps or jobs. It is beneficial as a solution for executing heavy or repetitive tasks.
What can creating or defining a TSA Service in our core be used for?
In practice, almost any task you need to perform can be implemented as a TSA Service. It is mainly used in two scenarios:
To schedule the execution of tasks that need to run periodically, for example, daily, monthly, yearly, etc.
When we need to execute very heavy tasks or handle large volumes of data, we can run our service under a multi-threaded process.
Let’s look at a usage example:
Suppose you need to process salary payments for bank employees. For this, you have defined two main jobs:
Read a file containing employee salary data and debit the company’s payroll account to credit the bank’s account. For this, a routine called FT.PROCESS.BULK.PAYMENT.PRE is created.
Debit the bank’s account to credit each employee’s account. For this, another routine is created called FT.PROCESS.BULK.PAYMENT.

To continue with the solution, we need to use three applications in T24:
PGM.FILE: This is where our programs or routines, which will be used in the service, are configured. By specifying them in this catalog, T24 recognizes the existence of a new program to be used.
BATCH: Here we define which tasks or steps will be executed (in the Job field we specify the names of our PGM.FILE entries) and whether they will run in the foreground or background (Batch Environment).
TSA.SERVICE: This is where we start our service. It must have the same name as our BATCH. Additionally, we define the number of processing threads the service will use, the server it will run on, and how frequently the service should be executed.


The same salary payment process used as an example can be implemented as a multi-threaded service (multi-threaded routine programming and a PGM.FILE of type BATCH.JOB.CONTROL). This makes the process much faster, since each agent defined in the service is responsible for executing a complete task, and this is done in parallel with other agents.

If you need help creating, optimizing, or migrating your banking tasks to multi-threaded processes, do not hesitate to contact us. At Performetriks, we specialize in performance and banking task scheduling, and it will be a pleasure to assist you.
Happy Performance Engineering!




Comments