COB1 (1) .Close of Business - Introduction-R10.01
COB1 (1) .Close of Business - Introduction-R10.01
Let’s understand one of the processes done during COB with a simple example
Steve has taken a loan from a bank at a 10% rate of interest, payable back to the bank in a
year. This amount will be paid by him in 12 monthly installments. The bank would like to
keep a daily track of the interest amount they are due to receive from Steve at the end of the
month. So, they calculate the amount payable by him everyday. This is done to keep the
Profit and Loss/Balance sheet current. Now, this is just for one customer. Imagine the bank
has given 100,000 loans with different interest rates for different periods of time to
individuals like Steve. It’s an arduous task for the bank to do the whole process manually.
So, they automate it. However the amount payable to the bank need not be calculated
during normal working hours of the bank (because they will be busy doing other day to day
activities of the bank). So they do it at the end of the day. The process of calculating the
interest payable, but not yet fallen due for payment, is called Accrual. Therefore, accrual is
one of the processes that is done during T24’s COB (Close of Business)
A stands for Application stage. It involves all the individual application processes. Eg: Forex,
Funds Transfer, etc.
S stands for System Wide stage. It involves jobs that are common to T24. Eg: Interest
accrual, Interest capitalization
R stands for Reporting stage. It involves generation and printing of reports. Eg: Trial
Balance, Transaction journal etc.
D stands for Start Of Day stage. It involves all the start of day operations and date change.
Eg: Executing standing orders etc.
O stands for Online stage. It involves any non-critical reports and processes which can be
run after the system has returned to online mode. Eg: Jobs to clean up of temporary work
files, etc.
3. Processes that do not belong to a Batch Stage will be executed as services. Please
refer “SER1.Services In T24” for more information on services.
4. It is important to understand - Why the Bank Mnemonic is part of the BATCH record ID?
This is because all processes are company specific. If we want the same process to be
executed for each company defined in the COMPANY application then we have to have
processes defined for every company separately.
For Example:
A company with mnemonic BNK might want a process to run during COB whereas
another company with mnemonic EU1 might not want the same process to run during
COB. The only way to do this in T24, is to create a process in the BATCH application
with ID prefixed with the mnemonic BNK and not EU1.
BNK/<Batch Proces ID Name>
If you want this batch process to be executed for both BNK and EU1, then you need to
do the following. Create the folloiwng records in the BATCH application
BNK/<Batch Proces ID Name>
EU1/<Batch Proces ID Name>
2. Job Name Contains the name of the routine to be executed. All routines defined here
will have an entry in PGM.FILE with TYPE set to ‘B’
3. Frequency specifies the frequency at which the batch job has to be executed. It can
have values as follows.
D specifies that the job will be executed every working day.
D nn specifies that the job will be executed every nnth working day
W specifies that the job will be executed on a weekly basis, that is every Friday
M specifies that the job will be executed on the last working day of every month
M nn specifies that the job will be executed every nn day of the month or previous
working day of each month
Y specifies that the job will be executed last working day of the year
Y nn specifies that the job will be executed the last working day of the nn'th month
A specifies that the job will be executed on an adhoc basis. You should manually
specify a date on which the job has to be executed.
SW specifies that the job will be executed every start of WEEK
SM specifies that the job will be executed every start of Month
SY specifies that the job will be executed every start of Year
2. Job Status field Holds the status of the individual job (routine) . It can hold the following
values
0 specifies that the job is in Ready state
1 specifies that the job is in Running state
2 specifies that the job has Completed successfully
3 specifies that the job has stopped due to some Error
1.When a batch is loaded for execution, the process status of the batch record is changed
from 0 to 1, (Ready to Running)
2.The first available batch job’s status changes from 0 to 1 (Ready to Running)
3.The job is executed
4.After the job completes execution, the status of the job is changed from 1 to 2 (Running to
Completed Successfully) marking successful completion of the job.
5.Next the batch record is checked for any other available job
5.1 If there is another job available, it is processed in the same fashion as we saw
just now
5.2 If there is no job available in the batch, the process status of the batch record is
changed from 1 to 2 (Running to Completed Successfully)
2. The actual COB process is executed by tSAs, Multiple tSA’s can be started in the
application server
2.1 tSA stands for T24 Service Agent (Worker processes)
2.2 Execute the jobs (routines) defined in BATCH record(s)
3. The tSM and tSA are started on T24 Application Servers. First the manager should be
started followed by the agents
2.1 Each T24 application server will have one tSM running. The job of this tSM is to
monitor the tSAs running on that server only
2.2 Each of the T24 application servers can have any number of tSAs running to
run COB. However, the number of tSAs depend on the capacity of the server
(number of processors). The Default Thumb rule is No.Of.tSA =
No.of.Processors * 2
1.3 Both services namely TSM and COB are pre-configured in the TSA.SERVICE
application. You will see quite a few records in the TSA.SERVICE application other
than TSM and COB. They are online services (Covered as part of the session
‘Services in T24’)
Description field holds the text that describes the TSA.SERVICE record
Server Name field holds the IP address or the host name of the server where this service
TSM needs to be executed.
There can be only one tSM per T24 application server. When MS (Multi Server)
product is installed, this field can be multi valued to include the ip of all the servers
involved in running COB
Work Profile field holds the ID of the TSA.WORKLOAD.PROFILE application which in turn
contains the number of agents required to run this service. For the record TSM, the number
of agents should always be 1. This field forms a multivalue set along with Description and
Server Name fields
User field holds a valid T24 user name. It has no significance for this record TSM. Has
significance for the record COB.
Service Control : It is the field that controls the starting and stopping of this service. If set to
START, T24 will allow us to start TSM by issuing the command START.TSM. To stop the
TSM, set this field to STOP.
User field holds the valid T24 user ID. During COB, number of records could get
created/updated in T24. This user’s profile will be used to update the audit fields of such
records. Make sure that the USER specified here has super user privileges in T24.
Service Control : Setting this field to START denotes that COB can be started. TSM will
start the number of agents specified for this service only if this field is set to START. Once
COB is complete, this field will be automatically set to STOP. Before commencing the next
COB, this field needs to be set to START.
Assume a scenario where in you know that the server will be busy at 11PM as that is when
transactions from an interface will be coming in. You may choose to reduce the number of
agents running COB during that period so that the server be used for the interface as well.
Define this in the TSA.WORKLOAD.PROFILE application.
Once TSM is done with all its work, it waits for a while before starting the same cycle all over
again. This time for which the TSM waits is specified in a field REVIEW.TIME.
For eg: if the field REVIEW.TIME specified in TSA.SERVICE record TSM is 60 (the value is
always in sec); then every 60 sec the TSM will do the above mentioned steps.
So, lets assume the first check started at 12:10pm and took 10 sec to complete; the next
cycle of check(s) would take place at 12:11:10 pm
2. The tSM is designed to wait for a stipulated amount of time for each agent to report that
it is alive and working
3. The tSM will term the agent as dead, if it doesn’t get a reply within the stipulated time.
4. It will stop the tSA process at the operating system level (kill the process) and start a
substitute process
5. The time given for every agent to report to the tSM that it is alive and working is set in
the field TIME.OUT (Specify the value in the COB record)
Review Time Is used if the REVIEW.TIME field in the TSA.SERVICE record in not
specified. Default value is 60.
Death Watch Is used if the TIME.OUT field in the TSA.SERVICE record is not specified.
Default value is 300.
Highest Agent No input field. Updated by T24 with the number of agents running on all T24
application servers put together
1. Step 1 : Check EB.EOD.ERROR for details. This is like a file that contains all the errors
that took place during the previous COB. Any errors reported in this file, should be
corrected before starting COB. You will learn about this in detail later.
2. Step 2: Set the field SERVICE.CONTROL to “START” in the records TSM and COB in
the TSA.SERVICE application. Commit and authorise both the records. You just learnt
how to do this step in the previous slides
4. Type the command START.TSM at this prompt. This will start the TSM in phantom
mode. tSM not only starts agents for COB but also for various other online services in
T24. You will learn more about online services in the learning unit ‘Services in T24’.
2. Step 3: Login to jshell prompt i.e. the backend. Type START.TSM –DEBUG to start the
TSM in interactive/ debug mode. You will be prompted to manually launch agents.
3. Step 4: Login to another session. Start agents (tSAs) that the tSM wants you to start
from the jsh prompt using the command tSA followed by the agent number.
For eg: You can see the TSM has prompted you start three agents for running COB. You will
have to open another session, login to jsh and type the keyword tSA 2 to start the T24
service agent. You will have to repeat this for starting agents 2 and 3. As you can see, you
will be able to see what the tSA is executing in the foreground as opposed to the previous
case.
This is done during COB, as it marks the end of all financial transactions for that day and
makes the system ready for the next day.
When COB is run, ALL company specific cob jobs will reference DATES
record <Company.Code>-COB and not the default DATES record for a
company with @ID <Company.Code>
3. When COB reaches batch stage D000, a job called B.DATE.CHANGE is executed. This
job changes fields TODAY, LAST WORKING DAY and NEXT WORKING DAY for the
record <Company.Code>-COB in the DATES application
4. During the beginning of the online stage, the job BATCH.DATE.RESET is executed. The
NEXT RUN DATE is updated for all jobs executed today (excluding jobs with
FREQUENCY D and A). Also, all the PROCESS.STATUS and JOB.STATUS fields in
the BATCH records are reset to zero. This is all part of the COB framework.
2. The record will exist and will be overwritten during the next COB
3. COB doesn’t use the DATES record with @ID <Company.Code> for processing
4. The record <Company.Code> is created and is used by the T24 system for new
transactions coming into the system while COB is running (Possible only if NS module
is installed)
1.2 When NS is installed, the T24 system will be available for input when COB is in
progress
1.4 Therefore, all transactions when input during COB, will have the value day as
next working day.
Eg: If we input a FT when COB is running on 10 JAN 2010, the value date
for the transaction will be taken as 11 JAN 2010
tSA calls a routine called S.JOB.RUN, that inturn invokes a routine EB.SORT.BATCH only
ONCE. The work of EB.SORT.BATCH is to sort the COB jobs in ‘A’, ‘S’, ‘R’, ‘D’, ‘O’ order
and give it to the tSA’s.
SG4 Concentrate on explaining How the jobs are sorted. Make the trainees write it on a piece of paper first
and then check with the slide. The slide is animated, so the result of sorting is on a mouse click, wait for
the trainees to complete before showing the animation
Make sure that they understand that within a BATCH stage the jobs CANNOT be swapped or sorted, for
eg: JOB2 cannot be executed before JOB1
Sujoy Ghosh, 2008/05/08
You are now going to see how to Monitor COB
T24.SESSION.NO is updated with a unique number that identifies every session in T24. A
number between 1 -99999 is allocated when a session is started in a port to uniquely identify
that particular session in T24(both for online and COB).
Note: This random number is generated using a routine called
EB.ALLOCATE.SESSION.NUMBER and is stored in a common variable called
C$T24.SESSION.NO. This helps in improving the monitoring capabilities of T24.
A live file called T24.SESSION gets updated with record key being the T24.SESSION.NO
and contains information regarding the agent to which this session number was assigned. A
record in this application gets deleted, when the corresponding process terminates(session
expires).
Server Name is the name of the server where the agent is running. Note that details of tSAs
and tSMs across application servers will be updated here
s2 The AGENT.STATUS enquiry output has been split into three screen shots as it elapses the screen. Some
of the fields are explained in this slide and the remaining are explained in the next slide.
salamelu, 2010/02/23
Agent Status is the status of the agent. It can hold either of the three values.
RUNNING – Agent performing the job
STOPPED – Agent has stopped properly.
DEAD – Agent did not report within the time given and hence the tSM has marked the
agent as DEAD
Process Id is the Operating system level process ID for the agent process that is running
Current Service is the service the agent is performing at the moment. Note agent 1 is
performing the service TSM and the others are performing the service COB
Next Service is the service the agent is supposed to perform next. While COB is running, if
you wish to stop COB, set the field SERVICE.CONTROL to STOP for the record COB in the
TSA.SERVICE file. Then, check the NEXT.SERVICE value for the agents running COB, it
will be set to STOP denoting that the agents needs to stop once they complete the current
transaction
s3 This slide is hidden in the slide show, it is present only for the notes page information
salamelu, 2010/02/23
Job Progress is the status of the jobs
Opens, Reads, Writes, Inputs, Executes, Deletes, Clearfiles, Memory provides details
about the number of file opens, number of I/O’s, memory usage etc., by each agent. These
details available in the enquiry improves the monitoring capabilities of T24. It provides an
understanding on the processing done by the agent. Updated both for service and online
agents.
Como Name is the name of the log record ID that holds the log information of the agent.
These log records are stored in a directory called &COMO&. The contents of these records
cannot be viewed from browser. You will have to open these records at the jBASE prompt
s1 The 'Total' column in the COB.MONITOR display indicates the total number of records(pcocesses) in the
BATCH application that belongs to that particular COB stage, irrespective of whether jobs in that process
are intended to run as part of TODAY's COB or not. This is the reason why some times, in this display it
may appear as though S stage(say for example) has begun even though A stage has not been 100%
complete.
salamelu, 2010/02/21
1.318 OUT OF 4123 JOBS HAVE BEEN PROCESSED
2.Progress Bar displaying % completion
3.While executing the enquiry, you can set the Auto Refresh Option, this way the enquiry will
keep refreshing and showing you the % of jobs completed.
Each error has a Detail Key populated against it which is nothing but the ID to the
application EB.EOD.ERROR
The application EB.EOD.ERROR.DETAIL will contain the name of the Process, the name of
the job and the routine from which the error was generated
The ID to a record in this application is held in the EB.EOD.ERROR file. The main use of
this application is to track down the cause of the problem encountered during COB. This
helps the consultant in fixing the problem before starting COB the next time.
Stages In COB
Application Wide
System Wide
Reporting
Start of Day
Online
BATCH is the application where all the COB jobs are defined.
TSA.PARAMETER is the main parameter application and contains default values for death
watch, review time etc
Step 7: Login to the server where you are going to run COB by typing
TELNET <ip address of the server> at run prompt
ACCOUNT NAME: <O/S user name>
PASSWORD: <password set for the above user>
Step 9: Start the agent COB. Open another telnet session to the server (like step 7)
Step 10: Repeat step 9 for the other two agents (tSA 3 and tSA 4)
The TSM will take care of starting all the agents automatically
Using the tool COB.MONITOR (can run only from T24 classic mode of navigation)