Ibba Intrf TSD Gmi V 0.2

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 40

TEMENOS APPLICATION MANAGEMENT SERVICES

TECHNICAL SPECIFICATION DOCUMENT

IBBA Implementation
GMI Interface

Information in this document is subject to change without notice.

No part of this document may be reproduced or transmitted in any form or by any means, for any purpose,
without the express written permission of TEMENOS HEADQUARTERS SA.

COPYRIGHT 2007 - 2008 TEMENOS HEADQUARTERS SA. All rights reserved.


Technical Specification

Amendment History

Version Date Author/ Changed By Change Description

0.1 25-04-2012 Poovizhi Raja Initial Document

0.2 02-05-2012 Poovizhi Raja Updated based on review


comment.

Sign Off History

Temenos
Version Date Client Authorisation
Authorisation

Version: 0.2 Date: 02-May-2012


Technical Specification

Table of Contents

1. Management Summary......................................................................................... 4
1.1 Background............................................................................................................. 4
1.2 Development Overview........................................................................................... 4
1.3 Reference Documents............................................................................................ 4
1.4 Glossary (Optional)................................................................................................. 4
1.5 Functional Overview................................................................................................5
1.6 Existing Functionality..............................................................................................5
1.6.1 Existing Workflow...................................................................................................... 5
1.7 New Functionality.................................................................................................. 12
1.8 Operational Overview............................................................................................ 13
1.8.1 Workflow Diagram................................................................................................. 13
2. Reusable Components.......................................................................................15
3. New / Amended Files.......................................................................................... 16
3.1 Local Templates.................................................................................................... 16
3.1.1 Template – IBB.H.GMI.APPLICATION.......................................................................16
3.1.1.1 Template Definition.................................................................................................. 16
3.2 Local Tables.................................................................................................................. 18
3.3 Local Reference Table.................................................................................................. 18
3.4 Version. Control............................................................................................................. 19
3.5 Enquiries....................................................................................................................... 19
3.6 PGM.FILE............................................................................................................. 19
3.6.1 IBB.B.FX.TXN.EMAIL............................................................................................. 19
3.6.2 IBB.B.ACC.STMT.EMAIL........................................................................................ 19
3.6.3 IBB.B.MTLY.BILL.EMAIL........................................................................................ 19
3.6.4 IBB.DE.GMI.EMAIL.INTERFACE...........................................................................20
4. Technical Overview............................................................................................. 20
4.1 Architecture........................................................................................................... 20
4.2 Communications (Optional)...................................................................................21
5. Programs............................................................................................................. 21
5.1.1 T24TaskExecuterGMIReport.cs.................................................................................21
5.1.2 IBB.B.FX.TXN.EMAIL................................................................................................. 23
5.1.3 FxExcelUpdationRpt.cs.............................................................................................. 25
5.1.4 IBB.B.ACC.STMT.EMAIL........................................................................................... 33
5.1.5 IBB.B.MTLY.BILL.EMAIL............................................................................................ 35
5.1.6 IBB.S.GMI.APPLN.CRT............................................................................................. 37
5.1.7 IBB.DE.GMI.EMAIL.INTERFACE...............................................................................39
5.1.8 Communication Channel............................................................................................ 40

Version: 0.2 Date: 02-May-2012


Technical Specification

6. Packaging / Installation......................................................................................40
7. Assumptions, Dependencies.............................................................................41
7.1 Assumptions.................................................................................................................. 41
7.1.1 Glossary............................................................................................................ 41
7.2 Dependencies............................................................................................................... 42
8. Exclusions........................................................................................................... 43
9. Test Cases............................................................................................................ 43

1. Management Summary
1.1 Background
This document describes about the As-Is process of sending emails and its
methodologies through bank’s current system and what is the To-Be process that is
proposed to be handled in T24.

1.2 Development Overview


N.A

1.3 Reference Documents

Reference Document Description/Path Author, Company

IRD - GMI - E-mail Ivan Rodolpho / IBBA

IRD - GMI - E-mail –


SignoffVersion.pdf

Functional_Specification_GMI Paulo Balsan


Interface
FSD - GMI -V1.1.doc

1.4 Glossary (Optional)


This section provides glossary & descriptions that are used in this document.

Glossary Description

Version: 0.2 Date: 02-May-2012


Technical Specification

1.5 Functional Overview


Currently bank process its emails through GMI. GMI (Global Message Interface) is an
infrastructure that provides a unique way to send messages in order to facilitate
communication between the IBBA and the internal/external environment. With it, it’s possible
to send e-mails and faxes. This interface development will only use the email dispatching
mechanism of GMI though fax dispatch mechanism will not be used in this development. GMI
is part of IBBA’s Framework.

1.6 Existing Functionality


Bank has developed its own software to configure and dispatch emails to the recipients. The
details about the existing software, email configuration and .Net methods are provided by the
bank which are described in the below section. It is important to stress that GMI framework
can only be used inside IBBA network.

1.6.1 Existing Workflow


The Computer/Server name, which will be used to send the e-mail (generally T24’s server),
must be inserted in bba.fwk.gmi.service.sender.exe.config file, inside tag <gmiClientes>.
In the example below the computer MC2098 is being configured to use GMI.

Version: 0.2 Date: 02-May-2012


Technical Specification

If this configuration is not correct, the call to GMI methods will fail and an error message will
be created in the caller’s computer EventLog.

Besides that, a system configuration must be inserted inside <gmiSistemas> tag.


Each system must have the following properties:
aplicacao – Mandatory, indicates system’s code. This is the same information that must be
used in the methods.
id – Mandatory, system ID. Must be a number and can’t be repeated.
usuario – User name which will authenticate at the Server.
senha – Encrypted password will authenticate at the Server.
nomeUsuarioFax – Name to be used as fax sender. (Not part of this interface development)
faxOrigem – Phone number to be used as fax sender. (Not part of this interface development)
emailOrigem – Sender’s e-mail address, in case it’s not informed on the method.
emailReply – E-mail address used if the receiver replies the message. Leave it blank if it’s not
used.
emailErros – E-mail address used to notify errors on message processing. Leave it blank if it’s
not used.
caminhoAnexo – Address where GMI will get the files to attach to the e-mail. During the
execution, the file path is the concatenation of this address, the system code and the file
name, informed at the call method.
gruposEnvioEmail – Users or Groups which have permission to send e-mails. Leave it blank if
it’s not used.
gruposEnvioFax – Users or Groups which have permission to send faxes. Leave it blank if it’s
not used. (Not part of this interface development)
caminhoTemplate – Address where GMI will get a template to be used to send fax. During the
execution, the file path is the concatenation of this address, the system code and the file
name, informed at the call method. (Not part of this interface development)
excluiArquivos – Flag to indicate if GMI must exclude from the server the files sent as
attachment after the message is sent.

Version: 0.2 Date: 02-May-2012


Technical Specification

How to Use

To use GMI it’s necessary to reference the following DLL’s


 C:\FWKBBA\v2.0\fwkgmi\bba.fwk.gmi.client.dll
 C:\FWKBBA\v2.0\fwkgmi\bba.fwk.gmi.global.dll
 C:\FWKBBA\v2.0\fwkgmi\bba.fwk.gmi.interfaces.dll

.NET – Send E-mail: It’s described below the methods that must be used to send e-mail.
These examples are based on .Net 2.0 or superior:

Method EnviarEmail

Component bba.fwk.gmi.client.GMIClient
 Remetente – Sender e-mail address.
Parameters
 Destinatário – E-mail address that will receive the message. If it’s more
then one, use (“,”) to separate the names.
 Assunto – Message subject
 Corpo – E-mail message. It doesn’t send messages on HTML format.
Example

Public Sub EnviarEmail1NETv2()

Version: 0.2 Date: 02-May-2012


Technical Specification

Dim retorno As String


Try
Dim objClient As New bba.fwk.gmi.client.GMIClient
objClient.Sistema = "FWKGMI"
objClient.Processo = "MEU PROCESSO"
objClient.DetalheProcesso = "MEU DETALHE PROCESSO"
retorno = objClient.EnviarEmail("[email protected]", _
"[email protected]", _
"TESTE GMI", _
"meu texto")
Console.WriteLine("OK enviarEmail(1) - NET - client v2 - {0}.", retorno)
Catch ex As Exception
Console.WriteLine("ERRO enviarEmail(1) - NET - client v2 - {0}.", ex.ToString())
End Try
End Sub

Method EnviarEmail

Component bba.fwk.gmi.client.GMIClient
 emailRemetente – Sender e-mail address.
Parameters
 emailDestino – E-mail address that will receive the message. If it’s
more then one, use (“,”) to separate the names.
 emailCopia – E-mail address that will receive the message as a copy.
If it’s more then one, use (“,”) to separate the names.
 emailCopiaOculta – E-mail address that will receive the message as
BCC. If it’s more then one, use (“,”) to separate the names.
 assunto – Message subject
 corpoMensagem – E-mail message. It doesn’t send messages on
HTML format.
 anexos – Files names to be sent attached on the e-mail. If it’s more
then one use “,” or “;” to separete the names.
 html – Flag to indicate if the e-mail will be sent using HTML format
(true) or not (false).
 template – Reserved. Must be Blank.
 sistema – System code.
 processo – Name to identify the process. Can be used any name.
 detalheProcesso – Name to identify the process detail. Can be used
any name.
Example

Public Sub EnviarEmail2NETv2()


Dim retorno As String
Try
Dim objClient As New bba.fwk.gmi.client.GMIClient
retorno = objClient.EnviarEmail("[email protected]", _

Version: 0.2 Date: 02-May-2012


Technical Specification

"[email protected]", _
"[email protected]", _
"[email protected]", _
"TESTE GMI", _
"meu texto", _
"anexo01.pdf", _
False, _
"precontratoswaparrep.rtf", _
"FWKGMI", _
"MEU PROCESSO", _
"MEU DETALHE PROCESSO")
Console.WriteLine("OK enviarEmail(2) - NET - client v2 - {0}.", retorno)
Catch ex As Exception
Console.WriteLine("ERRO enviarEmail(2) - NET - client v2 - {0}.", ex.ToString())
End Try
End Sub

Method EnviarEmail

Component bba.fwk.gmi.client.GMIClient
 remetente – Sender e-mail.
Parameters
 destinatario – E-mail address that will receive the message. If it’s
more then one, use (“,”) to separate the names.
 assunto – Message subject
 corpo – E-mail message. It doesn’t send messages on HTML format.
 copias – E-mail address that will receive the message as a copy. If it’s
more then one, use (“,”) to separate the names..
 anexos – Files names to be sent attached on the e-mail. If it’s more
then one use “,” or “;” to separete the names.
Example

Public Sub EnviarEmail3NETv2()


Dim retorno As String
Try
Dim objClient As New bba.fwk.gmi.client.GMIClient
Dim copias As New StringCollection
copias.Add("[email protected]")
Dim anexos As New StringCollection
anexos.Add("anexo01.pdf")
anexos.Add("anexo02.txt")
objClient.Sistema = "FWKGMI"
objClient.Processo = "MEU PROCESSO"

Version: 0.2 Date: 02-May-2012


Technical Specification

objClient.DetalheProcesso = "MEU DETALHE PROCESSO"


retorno = objClient.EnviarEmail("[email protected]", _
"[email protected]", _
"TESTE GMI", _
"meu texto", _
copias, _
anexos)
Console.WriteLine("OK enviarEmail(3) - NET - client v2 - {0}.", retorno)
Catch ex As Exception
Console.WriteLine("ERRO enviarEmail(3) - NET - client v2 - {0}.", ex.ToString())
End Try
End Sub

Method EnviarEmail

Component bba.fwk.gmi.client.GMIClient
 remetente – Sender e-mail.
Parameters
 destinatario – E-mail address that will receive the message. If it’s
more then one, use (“,”) to separate the names.
 assunto – Message subject.
 corpo – E-mail message. It doesn’t send messages on HTML format.
 copias – E-mail address that will receive the message as copy. If it’s
more then one, use (“,”) to separate the names.
 copiasOcultas – E-mail address that will receive the message as
BCC. If it’s more then one, use (“,”) to separate the names.
 anexos – Files names to be sent attached on the e-mail. If it’s more
then one use “,” or “;” to separete the names.
 EmailErros – E-mail address that will receive the error message. If it’s
more then one, use (“,”) to separate the names.
 EmailRetorno – E-mail address that will receive the message if the
receiver replys. If it’s more then one, use (“,”) to separate the names.
 template – Reserved. Must be Blank
 html - Flag to indicate if the e-mail will be sent using HTML format
(true) or not (false).
Example

Public Sub EnviarEmail4NETv2()


Dim retorno As String
Try
Dim objClient As New bba.fwk.gmi.client.GMIClient
Dim copias As New StringCollection
copias.Add("[email protected]")
Dim anexos As New StringCollection
anexos.Add("anexo01.pdf")
anexos.Add("anexo02.txt")

Version: 0.2 Date: 02-May-2012


Technical Specification

Dim copiasOcultas As New StringCollection


copiasOcultas.Add("[email protected]")
objClient.Sistema = "FWKGMI"
objClient.Processo = "MEU PROCESSO"
objClient.DetalheProcesso = "MEU DETALHE PROCESSO"
retorno = objClient.EnviarEmail("[email protected]", _
"[email protected]", _
"TESTE GMI", _
"meu texto", _
copias, _
copiasOcultas, _
anexos, _
"[email protected]", _
"[email protected]", _
String.Empty, _
False)
Console.WriteLine("OK enviarEmail(4) - NET - client v2 - {0}.", retorno)
Catch ex As Exception
Console.WriteLine("ERRO enviarEmail(4) - NET - client v2 - {0}.", ex.ToString())
End Try
End Sub

Version: 0.2 Date: 02-May-2012


Technical Specification

1.7 New Functionality


GMI (Global Message Interface) is an infrastructure that provides a unique way to send
messages in order to facilitate communication between the IBBA and the internal/external
environment. T24 must only use GMI to send e-mails to internal and external users and
clients in order to achieve this scenario
1. Create a Local template IBB.H.GMI.APPLICATION with details given in the section 3.1.1
which holds all basic inputs for GMI interface with @ID as Event codes.
2. Write a C# Program (T24TaskExecuterGMIReport.cs) with details given in the section
5.1.1.which is used to connect to T24 and executes the Info basic program which will create
FX Email. This routine will be created as an exe file and will be executed from Control-M
3. Write a Batch routine (IBB.B.FX.TXN.EMAIL) with details given in the section 5.1.2.which
will be triggered by Control-M and it is used to exported reports to a single excel file attached
to an email message and sent automatically using GMI.

4. Write a C# Program (FxExcelUpdationRpt.cs) with details given in the section 5.1.3.which


will open and read the (Arbitragens & Boleta) text files from its path and Updates the text file
values into the Excel.

5. Write a service Routine (IBB.B.ACC.STMT.EMAIL) with details given in the section 5.1.4
which can be triggered manually by user or automated in relation to user defined frequency.
This routine sent the account statement pdf as attachment to the customer automatically
using GMI

6. Write a service Routine (IBB.B.MTLY.BILL.EMAIL) with details given in the section 5.1.5
which will be triggered on last day of the every month and this routine sent the billing report
pdf as attachment to the customer automatically using GMI.

7. Write a generic routine (IBB.S.GMI.APPLN.CRT) with details given in the section 5.1.6
which is used to replace the “&” defined on parameter file with the corresponding values
pertained to mail content.
8. Write a routine (IBB.DE.GMI.EMAIL.INTERFACE) with details given in the section 5.1.7
which is used to route all T24 Delivery module generated mail through GMI interface.
All emails that need to be sent should contain the following attributes: Sender Email Address,
Receiver Email Address, Subject, Attachment and Body Message.

Version: 0.2 Date: 02-May-2012


Technical Specification

1.8 Operational Overview


1.8.1 Workflow Diagram

a) OVERALL FLOW DIAGRAM:

Start

Event 1: Event 2: Event 3: Event 4: Event 5: Event 6: Event 7:


Monthly
Fx Fx Book transfer When an For all Account Billing
Transaction Transactio transaction account has unexpected Statement Report
confirmation n report when USD is no sufficient errors in the
not involved balance to system or
process interfaces

Call Generic Routine IBB.S.GMI.APPLN.CRT

END

Version: 0.2 Date: 02-May-2012


Technical Specification

b) GENERIC ROUTINE FLOW DIAGRAM: (IBB.S.GMI.APPLN.CRT)

START

Retrieve the event code from Y.EVENT

Read IBB.H.GMI.APPLICATION with @ID as Event code and get the


SENDER, RECIEVER, SUBJECT MSG, SUBJECT VALUE, BODY MSG, BODY
VALUE and ATTACH PATH details

Replace the ‘&’ defined on parameter file with the corresponding


common values pertained to mail content

Pass the final array to the GMI interface using the method EnviarEmail
to send the mail

END

c) FX TRANSACTION EVENT FLOW DIAGRAM:

START

Service routine (IBB.B.FX.TXN.EMAIL) triggered by


Control-M

Get the FX details & create the excel with @id as “ARB”
+ yyyymmdd + “.xls”

Call Generic Routine IBB.S.GMI.APPLN.CRT with event


code, receiver (customer email address) and file name
to send email

END

Version: 0.2 Date: 02-May-2012


Technical Specification

d) BILLING REPORT & ACCOUNT STATEMENT FLOW CHART:

START

Call Account Statement service Call Monthly billing report service


routine(IBB.B.ACC.STMT.EMAIL) - 006 routine(IBB.B.MTLY.BILL.EMAIL) - 007

Get the generated pdf files from the specified folder in


IBB.H.GMI.APPLICATION

Call Generic Routine IBB.S.GMI.APPLN.CRT with


event code, receiver (customer email address) and file
name to send email

Repeat the process for all the pdf files

Clear the specific folder

END

2. Reusable Components
NA

Version: 0.2 Date: 02-May-2012


Technical Specification

3. New / Amended Files

3.1 Local Templates

3.1.1 Template – IBB.H.GMI.APPLICATION

3.1.1.1 Template Definition


PGM.FILE

Field Value

Template Name IBB.H.GMI.APPLICATION

Type (H,U,L,T,W) H

Screen Title IBB.H.GMI.APPLICATION

Product EB

Sub Product

FILE CONTROL

Field Value

Table Name IBB.H.GMI.APPLICATION

Classification INT

Suffixes

File Type

File Modulo

Classification

INSERT FILE
Prefix (I_F.): Insert File I_F. IBB.H.GMI.APPLICATION with prefix IBB.GM

3.1.1.2 Files/ID and field Definitions

Insert files

Version: 0.2 Date: 02-May-2012


Technical Specification

Insert File Name Purpose

I_COMMON Default for T24

I_EQUATE Default for T24

T24 Files Used

File Access – R,W,U,D Purpose


(Read, Write, Update, Delete)

None -

ID Specifications

ID Name EVENT CODE

ID.N 04

ID.T

ID.CONCATFILE

ID.CHECKFILE

Field Name Data Type Length Field Description

SENDER A 35 Gets the email address of the


sender

RECEVIER A 35 Gets the email address of the


receiver

CC.EMAIL.ID A 35 Gets the email address of the


carbon copy

XX.SUBJECT.MSG TEXT 35 Gets the subject text along with the


‘&’ symbol.

XX.BODY.MSG TEXT 35 Gets the body text along with the


‘&’ symbol

XX.SUBJECT.VALUE TEXT 35 Accepts common/special variables


which will be replaced with values
in the occurrence of & in the
SUBJECT.MSG fields. Refer
tabular column for list of variables

XX.BODY.VALUE TEXT 35 Accepts common/special variables


which will be replaced with values
in the occurrence of & in the
BODY.MSG fields. Refer tabular

Version: 0.2 Date: 02-May-2012


Technical Specification

column for list of variables

ATTACHMENT.PATH TEXT 35 Gets the specific path where the


attachment is placed

Note:
In field SUBJECT.MSG & BODY.MSG, symbol ‘&’ is specified in order to replace with same
with some run time values in the message.

Special Variables Description

!CUSTOMER Gets the customer number

!MASTER.ACCOUNT Gets the master account number

!COMPANY Gets the company code

!ERROR.CODE Gets the error code

!ERROR.DETAILS Gets the error details

!ERROR.NAME Gets the error name

!CURRENCY Gets the currency

!OPERATION.NO Gets the funds transfer id

!DATE Gets today’s date

L>CUSTOMER>FIELDNAME Read customer & get the field value

L>FUNDS.TRANSFER>FIELDNAME Read funds transfer & get the field value

L>COMPANY>COMPANY.NAME Read company code & get the field value

Note:
 All the above special variables will be treated as a common variable in T24 and will be
loaded with appropriate values from the routine where the email message is to be
generated.
 Link file and field names can be given in the below format
o L>FILE.NAME>FIELD.NAME

3.2 Local Tables


NA

3.3 Local Reference Table.


NA

Version: 0.2 Date: 02-May-2012


Technical Specification

3.4 Version. Control


NA

3.5 Enquiries
NA

3.2 PGM.FILE
3.6.1 IBB.B.FX.TXN.EMAIL
This PGM file is for the Batch routine IBB.B.FX.TXN.EMAIL.

@ID IBB.B.FX.TXN.EMAIL

GB.SCREEN.TITLE IBB.B.FX.TXN.EMAIL

BATCH.JOB @IBB.B.FX.TXN.EMAIL

PRODUCT EB

3.6.2 IBB.B.ACC.STMT.EMAIL
This PGM file is for the Batch routine IBB.B.ACC.STMT.EMAIL.

@ID IBB.B.ACC.STMT.EMAIL

GB.SCREEN.TITLE IBB.B.ACC.STMT.EMAIL

BATCH.JOB @ IBB.B.ACC.STMT.EMAIL

PRODUCT EB

3.6.3 IBB.B.MTLY.BILL.EMAIL
This PGM file is for the Batch routine IBB.B.MTLY.BILL.EMAIL.

@ID IBB.B.MTLY.BILL.EMAIL

GB.SCREEN.TITLE IBB.B.MTLY.BILL.EMAIL

BATCH.JOB @ IBB.B.MTLY.BILL.EMAIL

PRODUCT EB

Version: 0.2 Date: 02-May-2012


Technical Specification

3.6.4 IBB.DE.GMI.EMAIL.INTERFACE
This PGM file is for the Batch routine IBB.DE.GMI.EMAIL.INTERFACE.

@ID IBB.DE.GMI.EMAIL.INTERFACE

GB.SCREEN.TITLE IBB.DE.GMI.EMAIL.INTERFACE

BATCH.JOB

PRODUCT EB

4. Technical Overview

4.1 Architecture
Sample setup of IBB.H.GMI.APPLICATION for FX Transaction Report e-mail

Model Bank IBB.H.GMI.APPLICATION SEE

EVENT.CODE........ 002
------------------------------------------------------------------------------
1. DESCRIPTION.... Fx Transaction report
2. SENDER............ [email protected]
3. RECEVIER.......... [email protected]
4. 1 SUBJECT.MSG.. Attached is the report of FX Transactions
5. 1 BODY.MSG.......FX Transactions on &
7. 1 BODY.VALUE..... !DATE
8 ATTACHMENT.PATH... E:\poo\poovi_backup_17_10_11
10 CURR.NO........... 1
11. 1 INPUTTER....... 122_SEAT.USER
12. 1 DATE.TIME...... 03 MAY 12 06:18
13 AUTHORISER........ 8502_SEAT.AUTH
14 CO.CODE........... GB-001-0001 Model Bank
15 DEPT.CODE......... 1 Implementation
------------------------------------------------------------------------------
03 MAY 2012 06:18:40 USER (26 APR) SEAT.AUTH [8502,INPAGE 1
ACTION
AWAITING PAGE INSTRUCTIONS

Similarly we have to create records for other events.

Version: 0.2 Date: 02-May-2012


Technical Specification

4.2 Communications (Optional)


N/A

5. Programs

5.1.1 T24TaskExecuterGMIReport.cs
Description:
- This routine connects to T24 and executes the Info basic program which will
create FX Email.
- This routine will be created as an exe file and will be executed from Control-M
- Environment.ExitCode will contain the response code from T24 program
- To execute this program, jremote.dll file should be in the same path of exe file
- T24 Server IP and Port (JBase-Agent) has to be finalized and given in this C#
program
- JBase Agent provided should be running for the specified port number

Parameters:

Out Parameter : Environment.ExitCode

Insert files:
using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;
using com.jbase.jremote;

MAIN PART :

class T24TaskExecuterGMIReport
{
static void Main(string[] args)
{
try
{
System.Console.WriteLine("Calling T24 Subroutine from C#
Program:");
DefaultJConnectionFactory cxf;
JConnection cx;

String ResponseString;

cxf = new DefaultJConnectionFactory();


cxf.Host = "10.138.8.169";
cxf.Port = 6042;
System.Console.WriteLine("Before getConnection");
try
{

Version: 0.2 Date: 02-May-2012


Technical Specification

cx = cxf.getConnection();
}
catch (JRemoteException e)
{
Environment.ExitCode = -1;
throw e;
}
System.Console.WriteLine("After getConnection");
JSubroutineParameters param = new JSubroutineParameters();
param.add(new JDynArray("OK"));
System.Console.WriteLine("BEFORE CALLING!");
// returnparams will contain exit code
JSubroutineParameters returnParams = new JSubroutineParameters();
// call infobasic routine in T24
returnParams = cx.call("IBB.B.FX.TXN.EMAIL ", param);
// *The T24 routine IBB.B.FX.TXN.EMAIL which will be explain in the next
SECTION 5.1.2.
System.Console.WriteLine("AFTER CALLING!");
JDynArray ResponseMsg = (JDynArray)returnParams.get(0);
ResponseString = ResponseMsg.get(1);
if (ResponseString == "FALSE")
{
Environment.ExitCode = -1;
System.Console.WriteLine("Error returned from T24 Infobasic
program");
}
else
{
System.Console.WriteLine("Successfully executed T24 Infobasic
program");
}
cx.close();
}
catch (JRemoteException e)
{
Environment.ExitCode = -1;
throw new Exception(String.Format("An unexpected error occurred
during execution of T24 routine"), e);
}
}
}

Note:
Compile the C# program including the reference jremote.dll as below:
csc /out:T24TaskExecuterGMIReport.exe /reference:jremote.dll
T24TaskExecuterGMIReport.cs
This will create the exe file in the folder.

Version: 0.2 Date: 02-May-2012


Technical Specification

5.1.2 IBB.B.FX.TXN.EMAIL
Description: This is a TSA.SERVICE Routine which will be triggered by Control-M
during the event FX TRANSACTION REPORT and it will generate an excel
file with the FX details. This excel file will be sent as an attachment to the
predefined email Ids in the parameter table IBB.H.GMI.APPLICATION. Event
code defined for this FX transaction report is 002

Subroutine flow:

1. Include I_COMMON.
I_EQUATE
I_F. IBB.H.GMI.APPLICATION
I_F.FUNDS.TRANSFER
2. Open/Initialise Necessary files
a. IBB.H.GMI.APPLICATION – Event code is 002
b. FUNDS.TRANSFER
3. Select the funds transfer records with transaction. code = ‘AC01’, sort by
DEBIT.CURRENCY and CREDIT.CURRENCY
4. Loop all the selected FT records and generate the below two text files
5. In first text file named as Arbitragens update all below required funds transfer
details with delimiter ‘*’

Column Name FUNDS.TRANSFER Field name

Operation Date PROCESSING.DATE

Operation Number received from IICM BBA.PY.ID

Debit Account DEBIT.ACCOUNT

Debit Currency DEBIT.CURRENCY

Debit Value DEBIT.VALUE.DATE

Credit Account CREDIT.ACCOUNT

Credit Currency CREDIT.CURRENCY

Credit Value CREDIT.VALUE.DATE

Operation Status “APPROVED”

Fx Rate received from IICM TREASURY.RATE

Operation Spread, received from IICM CUSTOMER.SPREAD

Fx Rate used in the operation, received from CUSTOMER.RATE


IICM

Version: 0.2 Date: 02-May-2012


Technical Specification

Ex:
20Oct2011*44013*4464*USD*1308.11*4472*EUR*1002*0*1.29260000*1.00
000000*1.30550000
While processing all the transactions group the currency pair (Dr & Cr) and
sum the debit / credit amount for each pair of currency. These values will be
placed in the second text file named as Boleta with the following details
delimited by ‘*’

Column Name Column description

Operation Date PROCESSING.DATE

Debit Currency (of the operations) DEBIT.CURRENCY

Total value (sum) of the debit operations Total of all DEBIT.AMOUNT of the currency
pair

Credit Currency (of the operations) CREDIT.CURRENCY

Total value (sum) of the credit operations Total of all CREDIT.AMOUNT of the currency
pair

Average of the Fx Rate negotiated of the Average of the Fx Rate negotiated for this
operations operation. (Average of CUSTOMER.RATE)

Quantity of operations grouped in the Quantity of operations grouped in the


calculation calculation

EX:
20 Oct 2011*USD*2819.59*EUR*2110*1.292600*3
20 Oct 2011*USD*1000.00*GBP*1500*1.292600*3
6. Create a new excel using the C# program which will update both the text file
details in separate tabs with names Arbitragens & Boleta. Excel file name will
“ARB” + yyyymmdd + “.xls”.
7. This C# program will be called using CALLdotNET method from T24 which
will be explained in section 5.1.3.
8. Created excel file will be placed in the folder mentioned in the
IBB.H.GMI.APPLICATION
9. Set Y.ATTACHMENT with the path of the attachment along with the filename
10. Set Y.RECEVIER as null
11. Call the Generic Routine IBB.S.GMI.APPLN.CRT to send the Email.
Parameters passed to the routine will be “002”, Y.RECIEVER and
Y.ATTACHMENT.

5.1.3 FxExcelUpdationRpt.cs
Description:

This routine will open and read the (Arbitragens & Boleta) text files from its path and
Updates the text file values into the Excel.

Version: 0.2 Date: 02-May-2012


Technical Specification

Parameters:

Out Parameter : response

Insert files:
using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
using System.Reflection;
using Excel = Microsoft.Office.Interop.Excel;

MAIN PART :

namespace multipletabs
{
public abstract class ExcelFileWriter<T>
{
private Excel.Application _excelApplication = null;
private Excel.Workbooks _workBooks = null;
private Excel._Workbook _workBook = null;
private object _value = Missing.Value;
private object _value1 = Missing.Value;
private Excel.Sheets _excelSheets = null;
private Excel._Worksheet _excelSheet = null;
private Excel.Range _excelRange = null;
private Excel.Font _excelFont = null;
public abstract object[] Headers { get; }
public abstract object[] Headers1 { get; }
public abstract void FillRowData(List<T> list);
public abstract void FillRowData1(List<T> list1);
public abstract object[,] ExcelData { get; }
public abstract object[,] ExcelData1 { get; }
public abstract int ColumnCount { get; }
public abstract int ColumnCount1 { get; }
public abstract int RowCount { get; }
protected virtual bool BoldHeaders
{
get
{
return true;
}
}
public void WriteDateToExcel(String fileName, List<T> list, string
startColumn, string endColumn, int sheetno, List<T> list1, string startColumn1,
string endColumn1, int sheetno1)
{
this.ActivateExcel(sheetno);

Version: 0.2 Date: 02-May-2012


Technical Specification

this.FillRowData(list);
this.FillExcelWithData();
this.FillHeaderColumn(Headers, startColumn, endColumn);
this.ActivateExcel1(sheetno1);
this.FillRowData1(list1);
this.FillExcelWithData1();
this.FillHeaderColumn(Headers1, startColumn1, endColumn1);
this.SaveExcel(fileName);
}
protected virtual void ActivateExcel(int sheetno)
{
_excelApplication = new Excel.Application();
_workBooks = (Excel.Workbooks)_excelApplication.Workbooks;
_workBook = (Excel._Workbook)(_workBooks.Add(_value));
_excelSheets = (Excel.Sheets)_workBook.Worksheets;
_excelSheet = (Excel._Worksheet)(_excelSheets.get_Item(sheetno));
_excelSheet.Name = "Boleta";
}
protected virtual void ActivateExcel1(int sheetno1)
{
_excelSheet = (Excel._Worksheet)(_excelSheets.get_Item(sheetno1));
_excelSheet.Name = "Arbitragens";
}
protected void FillHeaderColumn(object[] headers, string startColumn, string
endColumn)
{
_excelRange = _excelSheet.get_Range(startColumn, endColumn);
_excelRange.set_Value(_value, headers);
if (BoldHeaders == true)
{
this.BoldRow(startColumn, endColumn);
}
_excelRange.EntireColumn.AutoFit();
}

private void FillExcelWithData()


{
_excelRange = _excelSheet.get_Range("A1", _value);
_excelRange = _excelRange.get_Resize(RowCount + 1, ColumnCount);
_excelRange.set_Value(Missing.Value, ExcelData);
_excelRange.EntireColumn.AutoFit();
}
private void FillExcelWithData1()
{
_excelRange = _excelSheet.get_Range("A1", _value1);
_excelRange = _excelRange.get_Resize(RowCount + 1, ColumnCount1);
_excelRange.set_Value(Missing.Value, ExcelData1);
_excelRange.EntireColumn.AutoFit();
}
protected virtual void SaveExcel(string fileName)
{
_workBook.SaveAs(fileName, _value, _value,

Version: 0.2 Date: 02-May-2012


Technical Specification

_value, _value, _value, Excel.XlSaveAsAccessMode.xlNoChange,


_value, _value, _value, _value, false);
_workBook.Close(false, _value, _value);
_excelApplication.Quit();
}
private void BoldRow(string row1, string row2)
{
_excelRange = _excelSheet.get_Range(row1, row2);
_excelFont = _excelRange.Font;
_excelFont.Bold = true;
}
}
public class ExcelWrite : ExcelFileWriter<String>
{
public object[,] myExcelData;
public object[,] myExcelData1;
private int myRowCnt;
private int myRowCnt1;
public override object[] Headers
{
get
{
object[] headerName = { "Op_Date", "Op_Debit_Curr",
"Op_Debit_Sum", "Op_Credit_Curr", "Op_Credit_Sum", "Avg_FXRate",
"Op_QtyGrouped" };
return headerName;
}
}
public override object[] Headers1
{
get
{
object[] headerName1 = { "Op_Date", "Op_no", "Debit_Acc",
"Debit_Curr", "Debit_Value", "Credit_Acc", "Credit_Curr", "Credit_Value",
"Op_Status", "FXRate", "Op_Spread", "Op_FXRate" };
return headerName1;
}
}
public override void FillRowData(List<String> list)
{
myRowCnt = list.Count;
myExcelData = new object[RowCount + 1, 7];
for (int row = 1; row <= myRowCnt; row++)
{
for (int col = 0; col < 7; col++)
{
String csv = list[row - 1];
String[] values = csv.Split(new char[] { '*' });
myExcelData[row, col] = values[col];
}
}
}

Version: 0.2 Date: 02-May-2012


Technical Specification

public override void FillRowData1(List<String> list1)


{
myRowCnt1 = list1.Count;
myExcelData1 = new object[RowCount + 1, 12];
for (int row = 1; row <= myRowCnt1; row++)
{
for (int col = 0; col < 12; col++)
{
String csv = list1[row - 1];
String[] values = csv.Split(new char[] { '*' });
myExcelData1[row, col] = values[col];
}
}
}

public override object[,] ExcelData


{
get
{
return myExcelData;
}
}
public override object[,] ExcelData1
{
get
{
return myExcelData1;
}
}
public override int ColumnCount
{
get
{
return 7;
}
}
public override int ColumnCount1
{
get
{
return 12;
}
}
public override int RowCount
{
get
{
return myRowCnt;
}
}

class Program

Version: 0.2 Date: 02-May-2012


Technical Specification

{
public static string updatxl(string args)

{
List<String> myList1 = new List<String>();
List<String> myList = new List<String>();

int counter = 0;
string line;
System.IO.StreamReader file = new
System.IO.StreamReader(@"D:\excelfolder\test.txt");
while ((line = file.ReadLine()) != null)
{
myList.Add(line);
counter++;
}

int counter1 = 0;
string line1;
System.IO.StreamReader file1 = new
System.IO.StreamReader(@"D:\excelfolder\test1.txt");
while ((line1 = file1.ReadLine()) != null)
{
myList1.Add(line1);
counter1++;
}

file.Close();
file1.Close();
ExcelFileWriter<String> myExcel = new ExcelWrite();
myExcel.WriteDateToExcel(@"D:\excelfolder\myExcel1.xlsx", myList,
"A1", "G1", 1, myList1, "A1", "L1", 2);
string response = "Database Updated";
return response;
}
}
}
}

5.1.4 IBB.B.ACC.STMT.EMAIL
Description: This is a TSA.SERVICE Routine which will be running in the background.
This can also be set to trigger manually by a user. This routine sends the
account statement pdf as an attachment to the customer automatically using
GMI. Account Statement pdf files will be created as part of GAP-03-Account
Statement

Subroutine flow:

Version: 0.2 Date: 02-May-2012


Technical Specification

1. Include I_COMMON.
I_EQUATE
I_F. IBB.H.GMI.APPLICATION
I_IBB.GMI.APPLN.COMMON
2. Open Necessary file
a. IBB.H.GMI.APPLICATION – Event code is 006
3. Read IBB.H.GMI.APPLICATION with @ID as Event code
4. Set the Y.PATH with the value from ATTACHMENT.PATH field.
5. Select the files that are available in the Y.PATH
6. For each file in the folder process the below steps
7. PDF file name will be MASTER ACCT.NO – DATE –
ACCT.STATEMENT.DETAIL.pdf
Eg: 111537-1-20110101-ACCT.STATEMENT.DETAIL.pdf
Get the CUSTOMER number from the Master account number
Customer number will be first part of the Master account number here it is
111537
8. Set Y.RECEIVER from CUSTOMER record EMAIL.1 field
9. Set Y.ATTACHMENT with the path of the attachment along with the filename
10. Set below common variables which will be used to form the Body of the email
by the generic routine
a. IBB$CUSTOMER = Customer number
b. IBB$MASTER.ACCOUNT = Master account number
c. IBB$COMPANY = ID.COMPANY value
11. Call the Generic Routine IBB.S.GMI.APPLN.CRT to send the Email.
Parameters passed to the routine will be “006”, Y.RECIEVER and
Y.ATTACHMENT.
12. REMOVE the processed pdf file from the folder
13. Repeat the process for all the pdf files.
Ex email Message format
Subject Message: Account Statement
Body Message: “Customer Prezado
Attached extract of <master acct no> of <customer name> at the
<bank name>
Sincerely,

Parameter screen shot:
Sample setup of IBB.H.GMI.APPLICATION for Account Statement e-mail event.

Model Bank IBB.H.GMI.APPLICATION SEE

Version: 0.2 Date: 02-May-2012


Technical Specification

EVENT.CODE........ 006
------------------------------------------------------------------------------
1 SENDER............ [email protected]
2 RECEVIER.......... [email protected]
4. 1 SUBJECT.MSG.... Account Statement
5. 1 BODY.MSG....... Attached extract of & of & at the &
7. 1 BODY.VALUE... !MASTER.ACCOUNT,!CUSTOMER,L>COMPANY>COMPANY.NAME
8 ATTACHMENT.PATH... E:\poo\poovi_backup_17_10_11
10 CURR.NO........... 1
11. 1 INPUTTER....... 122_SEAT.USER
12. 1 DATE.TIME...... 03 MAY 12 06:18
13 AUTHORISER........ 8502_SEAT.AUTH
14 CO.CODE........... GB-001-0001 Model Bank
15 DEPT.CODE......... 1 Implementation
------------------------------------------------------------------------------
04 MAY 2012 07:52:34 USER (02 MAY) SEAT.USER [1565,INPAGE 1
ACTION
AWAITING ID

5.1.5 IBB.B.MTLY.BILL.EMAIL
Description: This is a service routine attached to online stage of COB which will be
triggered on last day of the every month. This routine sends the monthly
billing report pdf as an attachment to the customer automatically using GMI.
Monthly billing report pdf files will be created as part of GAP-04-Charges

Subroutine flow:

1. Include I_COMMON.
I_EQUATE
I_F. IBB.H.GMI.APPLICATION
I_IBB.GMI.APPLN.COMMON
2. Open Necessary files
a. IBB.H.GMI.APPLICATION – Entry code is 007
3. Read IBB.H.GMI.APPLICATION with @ID as Event code
4. Set the Y.PATH with the value from ATTACHMENT.PATH field.
5. Select the files that are available in the Y.PATH

Version: 0.2 Date: 02-May-2012


Technical Specification

6. For each file in the folder process the below steps


7. PDF file name will be MASTER ACCT.NO – DATE –
MONTHLY.BILLING.REPORT.pdf
Eg: 111537-1-20110101-MONTHLY.BILLING.REPORT.pdf
Get the CUSTOMER number from the Master account number
Customer number will be first part of the Master account number here it is
111537
8. Set Y.RECEIVER from CUSTOMER record EMAIL.1 field
9. Set Y.ATTACHMENT with the path of the attachment along with the filename
10. Set below common variables which will be used to form the Body of the email
by the generic routine
a. IBB$CUSTOMER = Customer number
b. IBB$MASTER.ACCOUNT = Master account number
c. IBB$COMPANY = ID.COMPANY value
11. Call the Generic Routine IBB.S.GMI.APPLN.CRT to send the Email.
Parameters passed to the routine will be “007”, Y.RECIEVER and
Y.ATTACHMENT.
12. REMOVE the processed pdf file from the folder
13. Repeat the process for all the pdf files.
Ex email Message format
Subject Message: Monthly Billing Report
Body Message:
“Customer Prezado
Attached extract of <master acct no> of <customer name> at the
<bank name>
Sincerely,

Parameter screen shot:
Sample setup of IBB.H.GMI.APPLICATION for Monthly billing report e-mail event.

Model Bank IBB.H.GMI.APPLICATION SEE

EVENT.CODE........ 007
------------------------------------------------------------------------------
1 SENDER............ [email protected]
2 RECEVIER.......... [email protected]
4. 1 SUBJECT.MSG.... Monthly Billing Report
5. 1 BODY.MSG....... Attached extract of & of & at the &
7. 1 BODY.VALUE... !MASTER.ACCOUNT,!CUSTOMER,L>COMPANY>COMPANY.NAME

Version: 0.2 Date: 02-May-2012


Technical Specification

8 ATTACHMENT.PATH... E:\poo\poovi_backup_17_10_11
10 CURR.NO........... 1
11. 1 INPUTTER....... 122_SEAT.USER
12. 1 DATE.TIME...... 03 MAY 12 06:18
13 AUTHORISER........ 8502_SEAT.AUTH
14 CO.CODE........... GB-001-0001 Model Bank
15 DEPT.CODE......... 1 Implementation
------------------------------------------------------------------------------
04 MAY 2012 07:52:34 USER (02 MAY) SEAT.USER [1565,INPAGE 1
ACTION
AWAITING ID

5.1.6 IBB.S.GMI.APPLN.CRT
Description: This is a Generic Routine to send the Email for all the specified events
namely
1. Fx Transaction confirmation
2. Fx Transaction report
3. Book transfer transaction when USD is not involved
4. Account has no sufficient balance to process
5. For all unexpected errors in the system or interfaces
6. Account Statement
7. Monthly Billing Report
This routine will be called from all the above events to send email using GMI method.

Insert file:

Insert File Name Purpos Specifications


e

I_IBB.GMI.APPLN. Locally IBB$CUSTOMER,IBB$CCY,IBB$ERR.CODE,


COMMON created
IBB$COMPANY,
IBB$ERROR.DETS,IBB$ERROR.NAME,IBB$OPER
ATION.CODE,IBB$DATE,
IBB$FUNDS.TRANSFER.ID

Subroutine flow:

1. Include I_COMMON.
I_EQUATE

Version: 0.2 Date: 02-May-2012


Technical Specification

I_F. IBB.H.GMI.APPLICATION
I_F.FUNDS.TRANSFER
I_IBB.GMI.APPLN.COMMON
2. Open Necessary files
a. IBB.H.GMI.APPLICATION
b. FUNDS.TRANSFER
3. Incoming parameters from the calling routine are Y.EVENT, Y.RECEVIER
and Y.ATTACHMENT.
4. Read IBB.H.GMI.APPLICATION with @ID as Event code and get the
SENDER, RECIEVER, SUBJECT MSG, SUBJECT VALUE, BODY MSG, and
BODY VALUE values.
5. If incoming argument Y.RECEIVER contains any value then ignore the value
defined in the parameter table
6. In field SUBJECT.MSG & BODY.MSG, symbol ‘&’ is specified in order to
replace with same with some run time values in the message.
7. Check the values in the fields SUBJECT VALUE or BODY VALUE
a. If it is below listed common variables directly use the values which
are already loaded into common variables from the calling routine
and replace it.
i. IBB$ERROR.DETS,
ii. IBB$ERROR.NAME,
iii. IBB$COMPANY
iv. IBB$OPERATION.NO,
v. IBB$DATE,
vi. IBB$FUNDS.TRANSFER.ID
vii. IBB$CUSTOMER
viii. IBB$CCY
ix. IBB$ERR.CODE,
b. Starts with “L” then read (link) the corresponding table and get the
field value and replace it.
Ex: L>FUNDS.TRANSFER>DEBIT.AMOUNT
Check the below table on how to read the FILE.NAME

Link File Names Link ID values

FUNDS.TRANSFER IBB$FUNDS.TRANSFER.ID

CUSTOMER IBB$CUSTOMER

COMPANY IBB$COMPANY

8. After forming the Subject and Body of the message pass the sender,
receiver, subject, body, attachment details in the form of an array to a .net
program which will be created within T24 environment and called using
CALLdotNET method.

Version: 0.2 Date: 02-May-2012


Technical Specification

9. This .net program will extract the details from the arracy and call the GMI
method EnviarEmail (component - bba.fwk.gmi.client.GMIClient ) with the
below arguments
objClient.EnviarEmail(sender e-mail, receiver e-mail, message subject, e-mail
message, copy e-mail, attachment)
Argument copy e-mail will be blank while calling this method

Note: To trigger EnviarEmail method the following setup has to be done in place
 The Computer/Server name, which will be used to send the e-mail (generally T24’s
server), must be inserted in bba.fwk.gmi.service.sender.exe.config file, inside tag
<gmiClientes>.
 A system configuration must be inserted inside <gmiSistemas> tag
 GMI it’s necessary to reference the following DLL’s
o C:\FWKBBA\v2.0\fwkgmi\bba.fwk.gmi.client.dll
o C:\FWKBBA\v2.0\fwkgmi\bba.fwk.gmi.global.dll
o C:\FWKBBA\v2.0\fwkgmi\bba.fwk.gmi.interfaces.dll

5.1.7 IBB.DE.GMI.EMAIL.INTERFACE
Description: This is a routine attached to EMAILINTERFACE record in
DE.INTERFACE application in the field OUT.IF.ROUTINE. This routine
routes all T24 Delivery module generated e-mails through GMI interface.
Note: Existing t24 core routine should be replaced with this new routine in order to
route the emails through GMI interface
Incoming Parameters: misn, genericData, deliveryPackage
Outgoing Parameters: errorResponse

1. Include I_COMMON.
I_EQUATE
2. Get the values in the incoming parameter deliveryPackage which contains
the complete T24 formatted email information in a XML format.
3. Extract the Sender, Receiver, Subject and Body information from this xml
message.
4. Pass the above information in the form of an array to a .net program which
will be created within T24 environment and called using CALLdotNET
method.
5. This .net program will in turn call the GMI method EnviarEmail (component -
bba.fwk.gmi.client.GMIClient ) with the below arguments
objClient.EnviarEmail(sender e-mail, receiver e-mail, message subject, e-mail
message, copy e-mail, attachment)
Sample XML message in deliveryPackage variable

postEmail-<?xml version="1.0"
encoding="UTF-8"?><T24MailPackage
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

Version: 0.2 Date: 02-May-2012


Technical Specification

xsi:noNamespaceSchemaLocation="M:/R10MOD~1/MTR2AL~1/ALTOVA~1/T
24Email.xsd"><Email
id="D20110426065242885400.3"><Address><From>[email protected]</Fr
om><To>[email protected]</To></Address><Message
type="Hi"><Subject>Alert notification - Limit
exceeded</Subject><Body>Message from Model
Bank&lt;br/&gt;&lt;br/&gt;Dear MR. Customer Service
Agent&lt;br/&gt;&lt;br/&gt;We have the following Alert
notification for you : &lt;br/&gt;Limit
exceeded&lt;br/&gt;Account Number : *4229&lt;br/&gt;Limit
Amount : USD15,412.72DR&lt;br/&gt;Transaction Amount :
USD206.36DR&lt;br/&gt;Transaction Date : 01 APR
2011&lt;br/&gt;Account Balance :
USD-19,793.64&lt;br/&gt;&lt;br/&gt;Regards,</Body></Message></
Email></T24MailPackage>

5.1.8 Communication Channel


The communication channel used to communicate between T24 and other language
is CALLDOTNET.
The syntax of CALLDOTNET is
CALLdotNET className, method Name, Y.PATH SETTING ret ON ERROR GOTO Handler
Where className -> (Namespace. class) Name from .net program
Method Name -> the method name from .net program
Y.PATH ->the path where the file is stored
Ret ->the return value from CALLdotNET.

6. Packaging / Installation

N.A

Version: 0.2 Date: 02-May-2012


Technical Specification

7. Assumptions, Dependencies

7.1 Assumptions
1. The scope of this interface is to create the email message and pass it to GMI
framework which will send it as well as link T24’s default email dispatching
mechanism with GMI, so every email triggered by T24 uses GMI as the
dispatching mechanism. It is assumed that GMI interface will send the email
successfully.
2. For Account Statement and Charges GAP 03 & 04. We assume that the pdf
files will be in the below name format and it will be placed in a folder which
will be confirmed in Gap 03 & 04.
a. Account Statement: MASTER ACCT.NO – DATE –
ACCT.STATEMENT.DETAIL.pdf
b. Monthly Billing Report: MASTER ACCT.NO – DATE –
MONTHLY.BILLING.REPORT.pdf

7.1.1 Glossary
Keyword/Abbreviation Description
I.DD A number containing the integer part, and the decimal part with 2
decimal places, e.g.: 25.67
I.DDDD A number containing the integer part, and the decimal part with 4
decimal places, e.g.: 25.6744
Liquidation Date Date which the transaction is settled
Booktransfer Funds Transfer between 2 IBBA accounts with same currency.
Internal transfer. In IBBA’s T24, the transaction code of this will be
“AC11”.
FX Transaction Transaction between 2 different currencies. In IBBA’s T24, the
transaction code of this will be “AC01”.
Control-M Control-M is a system from Itau and is responsible for triggering all
periodic job runs from the bank for all applications hold by Itau and
IBBA.
Automatic Transactions Transactions automatically processed by T24 without user
intervention. These transactions will be handled by the Payment
Order interface.

Version: 0.2 Date: 02-May-2012


Technical Specification

7.2 Dependencies
a) This interface is dependent on IRD – Corporate Integration (Customer), as T24
should not have options to add/delete/modify any of the client information expect two
inputtable fields SECTOR and EMAIL in customer application . The field SECTOR will
store the type of client, and can be updated by a sector within the bank. The EMAIL
will have to be updated manually since the email is not available in the BDC.

b) This interface is dependent on GAP – Master Account, as for the development of this
interface it is required to get the Account number (Master account and/or sub-
account) and for GMI, to know the details on where to get the account numbers the
Master Account gap development should be completed.

c) As part of the developments of GMI interface, it will be provided an external file or


procedure that will trigger the process of the email event 2 (Fx transaction report). It
will only then, be provided external file name/path or procedure call details. Control-M
itself and any integration between Control-M and T24 beyond what is already defined
(external file) is out of the scope of this interface.

d) Details of this triggering mechanism of event 4 will be provided in Payment Order


Interface FSD. This email will be sent only for automatic FX transactions received
from IICM that are processed by Payment Order interface.

e) It will be provided by the bank a valid username as well as his encrypted password to
be used in the GMI framework configuration file.

f) All Account statements that are required by this interface must be available in a place
still to be defined in GAP 03 – Account Statement. This path should be marked in the
parameter table IBB.H.GMI.APPLICATION

g) It is important to stress that GMI framework can only be used inside IBBA network.

h) Customer email address will be available in CUSTOMER application.

i) All monthly billing reports that are required by this interface must be available in a
place still to be defined in GAP 04 – Charges. This path should be marked in the
parameter table IBB.H.GMI.APPLICATION.

Version: 0.2 Date: 02-May-2012


Technical Specification

8. Exclusions
a) Fax dispatching methods of GMI framework are not part of these interface
developments.
b) Generating and updating the account statement will be handled by GAP 03 –
Account Statement and is out of the scope to this interface.
c) Generating and updating the billing report will be handled by GAP 04 - Charges
and is out of the scope to this interface

9. Test Cases
1. FX transactions confirmation
a. Test if the confirmation email can be sent to a single receiver;
b. Test if the system can handle an error in the email service (confirmation email
cannot be sent);
c. Test if the content and format for each field in the email body are according to
the specification;
d. Test if the formatting and content of the email body are as expected
according to the specification.

2. FX transaction report
a. Test if the report email can be sent to a single receiver;
b. Test if the report file (Excel format) is correctly attached to the report email;
c. Test if the system can handle an error in the email service (report email
cannot be sent);
d. Test if the contents and format for each column in the attached report are
according to the specification;
e. Test if the formatting and content of the email body are as expected
according to the specification.

3. Book Transfer transaction when USD is not involved


a. Test if the request email can be sent to a single receiver;
b. Test if the system can handle an error in the email service (request email
cannot be sent);
c. Test if the content and format for each field in the email body are according to
the specification;
d. Test if the formatting and content of the email body are as expected
according to the specification.
4. When account has no sufficient balance to process the transaction, an email is sent
to the Middle Office
a. Test if the notification email can be sent to a single receiver;
b. Test if the system can handle an error in the email service (notification email
cannot be sent);
c. Test if the content and format for each field in the email body are according to
the specification;
d. Test if the formatting and content of the email body are as expected
according to the specification.

5. All unexpected errors in the system or interfaces, an email is sent to the IT


responsible
a. Test if the notification email can be sent to a single receiver;

Version: 0.2 Date: 02-May-2012


Technical Specification

b. Test if the system can handle an error in the email service (notification email
cannot be sent);
c. Test if the content and format for each field in the email body are according to
the specification;
d. Test if the formatting and content of the email body are as expected
according to the specification.

6. Account Statement
a. Test if the account statement report email can be sent to a single receiver
(customer);
b. Test if the statement report file (TIF format) is correctly attached to the
account statement report email;
c. Test if the system can handle an error in the email service (account
statement report email cannot be sent);
d. Test if the contents and format in the attached report are according to the
specification;
e. Test if the formatting and content of the email body are as expected
according to the specification.

7. Monthly Billing Report


a. Test if the monthly billing report email can be sent to a single receiver
(customer);
b. Test if the billing report file (TIF format) is correctly attached to the monthly
billing report email;
c. Test if the system can handle an error in the email service (monthly billing
report email cannot be sent);
d. Test if the contents and format in the attached report are according to the
specification;
e. Test if the formatting and content of the email body are as expected
according to the specification.

Version: 0.2 Date: 02-May-2012

You might also like