0% found this document useful (0 votes)
379 views180 pages

Inflow User Guide

This document provides an overview of the Inflow system and user guide. It describes how to design and configure Inflows using the Inflow Designer tool to create workflows with and without process workflows (PW). It also covers publishing Inflows to the T24 system, packaging and deploying Inflows, and executing Inflow requests at runtime through various application servers.

Uploaded by

thuc nguyen
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
379 views180 pages

Inflow User Guide

This document provides an overview of the Inflow system and user guide. It describes how to design and configure Inflows using the Inflow Designer tool to create workflows with and without process workflows (PW). It also covers publishing Inflows to the T24 system, packaging and deploying Inflows, and executing Inflow requests at runtime through various application servers.

Uploaded by

thuc nguyen
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 180

Inflow User Guide

Inflow User Guide

Table of Contents

................................................................................................................................................................ 1
Table of Contents .................................................................................................................................... 2
Document History .................................................................................................................................... 5
Inflow – An Introduction ........................................................................................................................ 6
Overview ................................................................................................................................................ 7
Assumptions .......................................................................................................................................... 9
System Requirements.............................................................................................................................. 9
Environment Configuration....................................................................................................................... 9
Pre-Configuration..................................................................................................................................... 9
Types of Inflow Request........................................................................................................................... 9
Inflow with PW.................................................................................................................................... 10
Define number of PW.ACTIVITY ..................................................................................................... 10
Define PWD (Process Workflow Definition) on how to execute the request ...................................... 11
Create Inflow definition using Inflow Designer ................................................................................. 12
Supported Inflow Scenarios for Inflow with PW ................................................................................ 12
Single request ................................................................................................................................. 12
Bulk request ................................................................................................................................... 12
Composite request with related application calls ............................................................................. 16
Composite request with related application calls - intertwined.......................................................... 16
Loop ............................................................................................................................................... 16
Conditional request (branching) ...................................................................................................... 17
Sequence Repair in Inflow .............................................................................................................. 18
Full Sequence Repair ..................................................................................................................... 18
Parital Sequence Repair ................................................................................................................. 20
Inflow without PW ............................................................................................................................... 21
Generic OFS ...................................................................................................................................... 21
Inflow Designer ...................................................................................................................................... 21
Creating Inflow Designer Project:........................................................................................................ 22
Designing Inflow with PW ................................................................................................................... 24
Publishing Inflows to T24 .................................................................................................................... 29
Designing Inflow without PW .............................................................................................................. 30
Publishing Inflows to T24 .................................................................................................................... 33
Generic OFS Request ........................................................................................................................ 34
Deleting Inflow Records in T24 using Inflow Designer ......................................................................... 35
Deleting Inflows using Utility................................................................................................................... 41
Packaging and Deployment of inflows .................................................................................................... 44

2 Satish Murali/Technology
Inflow User Guide

Producing a package of designs for new Inflow Designer Project ........................................................ 44


Deploying the package ....................................................................................................................... 49
Deploying all the designs ................................................................................................................ 50
Deploying specific designs .............................................................................................................. 58
Inflow Designer Introspection ................................................................................................................. 60
Inflow with AA scope .............................................................................................................................. 74
Inflow Supporting AA as a part of PW Process ................................................................................... 74
Inflow Supporting AA for Non PW ....................................................................................................... 77
Inflow Runtime ....................................................................................................................................... 79
Runtime Artefacts and its setup .......................................................................................................... 79
SQLScripts.zip ................................................................................................................................ 80
Inflow_EE.ear ................................................................................................................................. 80
Configuration Files ................................................................................................................................. 80
Configuration files under INFLOW_EE.ear\META-INF ........................................................................ 81
Configuration files in INFLOW_MDB.jar .............................................................................................. 81
Configuration files in Inflow_REST.war ............................................................................................... 82
Inflow-EJB.jar: .................................................................................................................................... 83
Deploying Inflow_EE.ear ........................................................................................................................ 86
JBoss ................................................................................................................................................. 86
WebSphere ........................................................................................................................................ 86
WebLogic: .......................................................................................................................................... 89
Executing Inflow Request ....................................................................................................................... 91
ESB Solution: ..................................................................................................................................... 91
Non-ESB Solution: ............................................................................................................................. 94
jBoss: ............................................................................................................................................. 94
WebSphere:.................................................................................................................................... 96
WebLogic: ...................................................................................................................................... 97
Inflow Response .................................................................................................................................... 99
Runtime: Inflow Supporting AA for Non PW ...................................................................................... 104
Appendix ............................................................................................................................................. 106
Schemas and T24 data records for inflow with PW ........................................................................... 106
Schemas and T24 data records for inflow without PW ...................................................................... 114
When function “I” is used .............................................................................................................. 114
Schemas and T24 data records for inflow without PW ...................................................................... 119
When any other function other than “I” is used .............................................................................. 119
Generic-OFS schema files ................................................................................................................... 124
Schemas for inflow with AA scope........................................................................................................ 127
Inflow with PW.................................................................................................................................. 127

3 Satish Murali/Technology
Inflow User Guide

Inflow without PW ............................................................................................................................. 137


Sample Inflow Requests ...................................................................................................................... 144
Inflow with PW.................................................................................................................................. 144
Inflow without PW ............................................................................................................................. 145
Generic-OFS .................................................................................................................................... 146
Update inflow requests sample: ........................................................................................................... 147
Multi-Value Field: ............................................................................................................................. 147
Delete the entire multi-value set: ................................................................................................... 148
Clearing values of one of the multivalue field position: ................................................................... 149
To update a single value in the multi-value set: ............................................................................. 150
Associated Multi-Value Set: .............................................................................................................. 150
To remove few values from one associated multi-value set: .......................................................... 150
To delete an entire associated multi-value set: .............................................................................. 151
To delete all the associated multi-value groups: ............................................................................ 152
Multi-Language Field: ....................................................................................................................... 153
To delete all the values: ................................................................................................................ 153
To clear only one value: ................................................................................................................ 154
To delete one value: ..................................................................................................................... 154
Multi-Value, Multi-Language Field:.................................................................................................... 155
To clear value from one field: ........................................................................................................ 155
To Delete a value from the first set: ............................................................................................... 156
To delete the entire first set: .......................................................................................................... 157
To Delete the entire multi-value, multi-language set: ..................................................................... 158
Sub Value Field ................................................................................................................................ 158
Multi-Tenant ....................................................................................................................................... 168
Multi-Tenant in Inflow ........................................................................................................................ 169
Inflow_EE configurations in JBoss ................................................................................................... 169
Sample Inflow Requests for Multi-Tenant ............................................................................................. 177
Inflow with PW.................................................................................................................................. 177
Inflow without PW ............................................................................................................................. 178
Generic-OFS .................................................................................................................................... 179
Reference ............................................................................................................................................ 180

4 Satish Murali/Technology
Inflow User Guide

Document History

Author Version Date

Satish Murali 1.0 2nd May 2019


Madhioli Duraisamy 1.1 3rd May 2019
Satish Murali 1.2 3rd May 2019
Madhioli Duraisamy 1.3 3rd June 2019
Satish Murali 1.4 12th June 2019
Madhioli Duraisamy 1.5 26th June 2019
Madhioli Duraisamy 1.6 23rd September 2019
Prashanth Angadikunnath 1.7 27th September 2019
Nikeshh V 1.8 17th December 2019

Comments: Added contents for Bulk Request, Conditional Branching and Sequence Repair in Inflow

5 Satish Murali/Technology
Inflow User Guide

Inflow – An Introduction
Inflow comes as a final brick completing the T24 Integration framework and allows inward messages sent
to T24, allowing high throughput for inward messages, implementation of business transactions, allow
enrichment of incoming data with elements already known to T24 or with elements belonging to the same
inward data set.
Inflow processing will allow a clear separation between the messages (data change requests) being
received and the actual processes that are triggered in T24 by this incoming data.
Inflow will also allow the execution of stateless workflows inside T24 managing a sequence of
interdependent calls in order to complete a set of business operations in a transactional manner.
Inward messages will be accepted (two-phase commit) in a staging area (queue or table).
The definition of the processing steps, sequence of operations, rules of enrichment will be flexible and
codeless, based only on configuration.
A designer will be provided in order to help build these definitions and manage the Inflow configuration.
Example
• Originator sends one composite message to T24 inflow queue using 2PC.
• Inflow workflow process will process a message by calling multiple operations and enrichments in
T24
• Originator sending a known business message to T24. ESB implementation is simpler.
• Due to only one round trip between ESB and T24, overall performance of interface will be higher.

Business
Route Transform Inflow Outflow
transaction

ESB Temenos T24

Figure 1: Inflow solution

Additional benefits may include:


• Possibility to build a library of common business flows in model bank cutting down L3
development
• Easier upgrades as any migration or change in the message handling will just be done at the time
of development and no extra effort is required from clients or client developers
For Multi-Tenant related configurations refer the section Multi-Tenant

6 Satish Murali/Technology
Inflow User Guide

Overview

Inflow Design Time:

Figure 2: Inflow Design time architecture

A new project as T24 Inflow Designer Project is been added under the Integration Studio plugin which is
used to fetch the schemas from t24 to construct the XML request for the Inflow runtime to process. Under
Inflow Designer section the detailed explanation on how to create an inflow design is been discussed.

Inflow Runtime:

Figure 3: Typical Message flow through Inflow runtime

The above diagram depicts the different components involved in the typical message flow of the
inflow request. The request can either be send from an ESB (currently IIB is supported) or directly

7 Satish Murali/Technology
Inflow User Guide

inserted to JMS queue (Non-ESB). Default queue to which inflow MDB listens is queue/inflow which
is a JMS queue configured in ejb-jar.xml. Refer configuration Files section to know more details about
the configurations.
Inflow_EE.ear has the following components:
 Inflow _EJB.jar – This module is responsible for actual transaction happening in T24
 Inflow _MDB.jar – This module is responsible for inserting messages into the Database in case of
Non-ESB solution.
 Inflow_REST.war – This module is responsible for inserting message into the Database and fetch
the required schema for runtime validation of the request message from the ESB (IIB).

Staging Table - IF_INFLOW_MESSAGE


Success Table - IF_INFLOW_MESSAGE_PROCESSED
Failure Table - IF_INFLOW_MESSAGE_FAILED
Duplicate Check Table – IF_INFLOW_DUPLICATE_CHECK

Typical message flow through inflow runtime (according to the Figure 3) follows the below step:
1. The request XML Message is either inserted into the inflow queue (Non-ESB solution) or it is
send to Inflow REST API from an ESB (IIB).
2. In case of Non-ESB solution steps 2a and 2b comes into place where InflowMDB listens to the
JMS queue and transforms the XML to OFS and inserts into the database table respectively. In
case of an ESB solution the process of transforming the XML message to OFS and inserting into
the Database table is done by the Inflow REST API.
3. Listener EJB and Failure Recovery EJB are two timer EJB’s that are responsible for polling the
Inflow Database table for the inflow id. The former EJB picks the list of record id’s (inflow id’s)
from the staging table. The later EJB comes into picture whenever there is a failure and is
responsible for moving the failed records from Failure table to staging table
4. The picked inflow id list from the Listener EJB is sent to Dispatcher EJB one by one based on the
Dispatcher count in parallel as in multithreading.
5. Dispatcher EJB fetches the data for the received inflow id from the listener.
6. After receiving the data for the inflow id it sends the input request to the T24 API by starting the
global Transaction (T1)
7. On receiving the request the corresponding T24 API starts another transaction (T2) and send
the request to OFS Bulk Manager (OBM).
8. OBM process the request and sends a response back to the T24 API where the API ends the
transaction (T2).
9. Same response from the OBM is sent back to the Dispatcher EJB from the T24 API which waits
for the transaction (T1) to end
10. Dispatcher updates the data to the corresponding DB table (Success/failure) based on the
response received from the T24 API and ends the Transaction (T1). If the response is success
the transaction is committed, record is moved from staging table to success table and if it’s a

8 Satish Murali/Technology
Inflow User Guide

failure the transaction is rolled back, a new transaction is begun to move the record to failure
table. Once the record is committed in the failure table this transaction ends.

Assumptions
This document describes the concepts that require the basic knowledge of Eclipse and application server.

System Requirements
 T24 – R19 with the below products for inflow to work:
1. PW for inflow designed using process definition

2. Inflow Product IR for inflow runtime and IE for inflow designer.


3. IF, if there is a requirement to trigger events for inflow.
 TAFJ - 201810 or later
Inflow is designed to work with TAFJ only. TAFC is not supported. This document is written based on
TAFJ only.

Environment Configuration
Start the database and the application server when using TAFJ. Also ensure axis2.war with landscape
service, flow service and inflow service is up and running.

Pre-Configuration
To work with inflow with a Process Definition need to be defined using PW module of T24 with the below
limitations:
1. Zero authoriser versions to be used

2. Enquiries are not supported in Inflow


3. As inflow needs only zero authoriser versions, the status that to be used should be complete and the
transition rule should be record authorised
4. It is advisable to provide the same user name in the activity and process definition.
5. Only recursion type of looping is supported
There is no validations implemented when defining process definition in PW, but if the process is not
defined based on the limitations, then the inflow would produce undesirable results.
The SQL scripts must be run to create the required tables in the Database. Refer the section Inflow
Runtime to know more about the scripts.

Types of Inflow Request


Currently inflow supports the following types as discussed below

 Inflow with PW

9 Satish Murali/Technology
Inflow User Guide

 Inflow without PW
 Generic OFS

The samples for all types of requests is been attached in the Inflow Designer section for reference.

Inflow with PW
In this type of request we need to define process workflow (PW) and then use that to accomplish the
processing of the request. Following configurations needed to be done in order to send an inflow request
of this type. Consider the example of create a new customer and an account for that customer
1. Define number of PW.ACTIVITY
2. Define PWD (Process Workflow Definition) on how to execute the request
3. Create Inflow definition using Inflow Designer

Note: For all PW related configurations kindly refer process workflow user guide. Only a sample is shown
in the below section with brief overview.

Define number of PW.ACTIVITY


According to the scenarios create various PW.ACTIVITY records. In our scenario mentioned above we
need two activities (one to create new customer and another to create an account for that customer).

Figure 4: PW.ACTIVITY for create customer

10 Satish Murali/Technology
Inflow User Guide

Figure 5: PW.ACTIVITY for create account

The target for the activity changes according to scenario. As we create a new customer we provide the
function “I F3”. Since inflow supports versions we create the customer with a comma version. In the
account activity we use the same function as customer and we provide a mapping that makes sure that
the account created is mapped to that new customer that has been created before.

Define PWD (Process Workflow Definition) on how to execute the request


Create one PW.PROCESS.DEFINITION containing the two activities that are created above.

11 Satish Murali/Technology
Inflow User Guide

Figure 6: Process workflow definition sample containing the two activities

Create Inflow definition using Inflow Designer


Using inflow designer design an inflow definition for the created process definition and publish it in the t24
area to use it to post the request. For more details on the design refer the section Inflow Designer.

Supported Inflow Scenarios for Inflow with PW

Single request
An inflow request container holds a single inflow request with a single T24 application or version
concerned. This basic request is ensuring that inflow will be covering the area currently dealt with via the
single requests via the outbound adapter.
The response expected is:
1. Technical acknowledgement as soon as the request is accepted in the inflow staging.
2. Business (T24) response via an integration event, which can be defined at the end of the inflow
process.
E.g. create new security.

Bulk request
An inflow request contains a set of identical single inflow requests each with a single (and same) T24
application or version concerned.
This mirrors the BatchOFS or BatchOFML area covered with via the outbound adapter

12 Satish Murali/Technology
Inflow User Guide

1. Technical acknowledgement as soon as the request is accepted in the inflow staging. This
response will signal the successful load of the inflow container into staging. As specified above,
the response will also set, in case of errors an error status per individual request. This status
may be:
a. Could have been successfully loaded. Note that these requests are actually committed if
and only if the container is successful. In case of errors the container is aborted and
rolled back.
b. Problem when loading
c. Not processed (the container load has been aborted before this individual request has
been reached)
2. Business (T24) response via an integration event, which can be defined at the end of the inflow
process for each of the inflow individual requests.
E.g. load prices, we have containers of e.g. 1000 prices. All are requests independent and concern a single and same
application.

Inflow receives multiple requests in a single inflow container, where each request is executed and
committed or rolled backed individually. Bulk Inflow is a type of inflow request in which all the requests in
a single inflow container are processed in one transaction rather than separate transactions.
Each bulk inflow request is indicated with a tag “bulkIndicator” with the value “yes” in the container section
of the bulk inflow request.
<container:bulkIndicator>yes</container:bulkIndicator>
Each bulk inflow request has a separate message id indicated in the containerCustomCommon with the
name “bulkMessageId”
<container:containerCustomCommon
name="bulkMessageId"><MessageId></container:containerCustomCommon>
In the case of Bulk Inflow, all the individual requests contained in a single inflow container is processed as
one request (i.e) one transaction.
Success/ Failure of the transaction depends on the Success/Failure of all the individual requests in that
particular transaction
The request gets processed/succeeded only if all the individual requests within the inflow container gets
processed/succeeded. If any of the request within the inflow container fails, the complete request gets
failed.

Note:
Setting the attribute BATCH.OFS in OFS.SOURCE in the case of Bulk Inflow is not allowed.
Bulk Inflow support is not provided for AA request.

Sample Bulk Inflow Request:

<?xml version="1.0" encoding="UTF-8"?>


<container:inflowContainer
xmlns:container="http://www.temenos.com/T24/inflow/AcctAgg/ContainerupdateAccountList"
xmlns:p="http://www.temenos.com/T24/inflow/AcctAgg/updateAccountList"
xmlns:p1="http://www.temenos.com/T24/inflow/Common/RequestCommon"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.temenos.com/T24/inflow/AcctAgg/ContainerupdateAccountList
AcctAgg-ContainerupdateAccountList.xsd ">
<container:containerId></container:containerId>

13 Satish Murali/Technology
Inflow User Guide

<container:containerTimestamp></container:containerTimestamp>
<container:containerDataSource></container:containerDataSource>
<container:bulkIndicator>yes</container:bulkIndicator>
<container:tenantId></container:tenantId>
<container:inflowRequest>
<p:updateAccountList>
<p:requestCommonDetails>
<p:requestCommon>
<p1:requestType>with pw</p1:requestType>
<p1:companyCode>GB0010001</p1:companyCode>
<p1:userName>SSOUSER1</p1:userName>
<p1:messageId>desTest1</p1:messageId>
<p1:timestamp></p1:timestamp>
<p1:transactionMode></p1:transactionMode>
<p1:replace></p1:replace>
<p1:replaceFieldIndicator></p1:replaceFieldIndicator>
<p1:customCommon name=""></p1:customCommon>
</p:requestCommon>
</p:requestCommonDetails>
<p:receiveaccountlist_ral id="200100" index="">
<p:customerId>123121</p:customerId>
<p:bankCode>12111</p:bankCode>
<p:subStatus>AWAITINGUSERACTION</p:subStatus>
</p:receiveaccountlist_ral>
</p:updateAccountList>
<p:updateAccountList>
<p:requestCommonDetails>
<p:requestCommon>
<p1:requestType>with pw</p1:requestType>
<p1:companyCode>GB0010001</p1:companyCode>
<p1:userName>SSOUSER1</p1:userName>
<p1:messageId>desTest2</p1:messageId>
<p1:timestamp></p1:timestamp>
<p1:transactionMode></p1:transactionMode>
<p1:replace></p1:replace>
<p1:replaceFieldIndicator></p1:replaceFieldIndicator>
<p1:customCommon name=""></p1:customCommon>
</p:requestCommon>

14 Satish Murali/Technology
Inflow User Guide

</p:requestCommonDetails>
<p:receiveaccountlist_ral id="200100" index="">
<p:customerId>123121</p:customerId>
<p:bankCode>12111</p:bankCode>
<p:subStatus>AWAITINGUSERACTION</p:subStatus>
</p:receiveaccountlist_ral>
</p:updateAccountList>
<p:updateAccountList>
<p:requestCommonDetails>
<p:requestCommon>
<p1:requestType>with pw</p1:requestType>
<p1:companyCode>GB0010001</p1:companyCode>
<p1:userName>SSOUSER1</p1:userName>
<p1:messageId>desTest3</p1:messageId>
<p1:timestamp></p1:timestamp>
<p1:transactionMode></p1:transactionMode>
<p1:replace></p1:replace>
<p1:replaceFieldIndicator></p1:replaceFieldIndicator>
<p1:customCommon name=""></p1:customCommon>
</p:requestCommon>
</p:requestCommonDetails>
<p:receiveaccountlist_ral id="200100" index="">
<p:customerId>123121</p:customerId>
<p:bankCode>12111</p:bankCode>
<p:subStatus>AWAITINGUSERACTION</p:subStatus>
</p:receiveaccountlist_ral>
</p:updateAccountList>
</container:inflowRequest>
<container:containerCustomCommon
name="bulkMessageId">desTest1</container:containerCustomCommon>
</container:inflowContainer>

Sample Output:

Figure 7: Output of bulk inflow request

15 Satish Murali/Technology
Inflow User Guide

Composite request with related application calls


An inflow is used to perform a set of T24 application or version calls. All calls are performed in a business
inflow transaction and (all updates are successful or roll back occurs). The T24 calls although in a
transaction are not intertwined, all could be executed as provided and none requires the result of another
call from the same inflow request.
E.g. update customer and update address (DE.ADDRESS). The two updates are coming from a single update of the
source system but address two separate tables in T24. We want to keep them in an inflow transaction (but we are
not obliged to as they can very well be performed one apart from the other)

Composite request with related application calls - intertwined


An inflow used to perform a set of interrelated T24 application or version calls. All calls are performed in a
business inflow transaction. The T24 calls are interdependent and some part of the result of one call will
be required to perform a subsequent call. We designate them as intertwined T24 calls. Some of the calls
cannot be performed without using the result of prior ones to enrich the T24 request.
E.g. creation and initial deposit for a new account of a new customer. The T24 calls need to be sequenced by the
inflow (defined at inflow design time) and we create the customer, the customer id will be used to create the account
and the new account id will be used for the funds transfer.

Loop
An inflow is used to perform a set or calls to one or several T24 applications or versions. The inflow is
guided by a condition e.g. do .. .while or for … do.
e.g. spread a funds transfer over all accounts of a given customer.

16 Satish Murali/Technology
Conditional request (branching)
An inflow is performed differently according to some criteria from the request arguments.
E.g. create a customer and, if it is a US resident, update FATCA.
Let us consider the following PWD :

Figure 8: Sample PWD with SWITCH construct

17 Madhioli Duraisamy/Technology
Inflow User Guide

The first activity is CREATE.CUSTOMER and the completion of that activity will outlet to check a
certain condition defined in “SWCOND” (Where we check the customer residence). Based on the
condition, the case activity “CREATE.FATCA” may or may not execute. If the condition for the CASE
activity does not suffice, then the default activity will execute.

For the above PWD, a subroutine is written and attached to the application EB.API.

Figure 9: Sample subroutine for implementing conditional branching

Sequence Repair in Inflow

The sequence repair is a functionality in inflow in which all the arriving inflow requests are staged and
then based on information already known in T24, the request can be executed immediately or delayed is
decided.

There are two types of Sequence Repair in Inflow. They are:


1. Full Sequence Repair
2. Partial Sequence Repair

Full Sequence Repair


In the case of full sequence repair, the incoming inflow requests must be executed in the same order of
sequencing. The requests which arrives out of order are stored (parked) and are executed only after the
correct request is arrived.

18 Madhioli Duraisamy/Technology
Inflow User Guide

Sample Full Sequence Inflow Request:

<?xml version="1.0" encoding="UTF-8"?>


<container:inflowContainer
xmlns:container="http://www.temenos.com/T24/inflow/AcctAgg/ContainerupdateAccountList"

xmlns:p="http://www.temenos.com/T24/inflow/AcctAgg/updateAccountList"
xmlns:p1="http://www.temenos.com/T24/inflow/Common/RequestCommon"
xmlns:xsi="http://www.w3.org/30011/XMLSchema-instance"
xsi:schemaLocation="http://www.temenos.com/T24/inflow/AcctAgg/ContainerupdateAccountList
AcctAgg-ContainerupdateAccountList.xsd ">
<container:containerId></container:containerId>
<container:containerTimestamp></container:containerTimestamp>
<container:containerDataSource></container:containerDataSource>
<container:bulkIndicator></container:bulkIndicator>
<container:tenantId></container:tenantId>
<container:inflowRequest>
<p:updateAccountList>
<p:requestCommonDetails>
<p:requestCommon>
<p1:requestType>with pw</p1:requestType>
<p1:companyCode>GB0010001</p1:companyCode>
<p1:userName>SSOUSER1</p1:userName>
<p1:messageId>sequencerepair</p1:messageId>
<p1:timestamp></p1:timestamp>
<p1:transactionMode></p1:transactionMode>
<p1:replace></p1:replace>
<p1:replaceFieldIndicator></p1:replaceFieldIndicator>
<p1:sequenceStart>5</p1:sequenceStart>
<p1:sequencePace>5</p1:sequencePace>
<p1:currentSequence>5</p1:currentSequence>
<p1:sequenceCheckType>FULL</p1:sequenceCheckType>
<p1:customCommon name=""></p1:customCommon>
</p:requestCommon>
</p:requestCommonDetails>
<p:receiveaccountlist_ral id="" index="">
<p:customerId>1</p:customerId>
<p:bankCode>12111</p:bankCode>
<p:subStatus>AWAITINGUSERACTION</p:subStatus>

19 Madhioli Duraisamy/Technology
Inflow User Guide

</p:receiveaccountlist_ral>
</p:updateAccountList>
</container:inflowRequest>
<container:containerCustomCommon name=""></container:containerCustomCommon>
</container:inflowContainer>

Parital Sequence Repair


In the case of partial sequence repair, the incoming inflow requests need not be executed in the same
order of sequencing. The current sequence number of each request is checked against the sequence
number of the last executed pw inflow request. If the sequence number of current inflow request is higher
than that of the sequence number of the last executed pw inflow request then the request is executed. If
the sequence number of current inflow request is lower than that of the sequence number of the last
executed pw inflow request then the request is rejected. (i.e) The requests arriving for processing with a
lower sequence will be rejected.

Sample Partial Sequence Inflow Request:

<?xml version="1.0" encoding="UTF-8"?>


<container:inflowContainer
xmlns:container="http://www.temenos.com/T24/inflow/AcctAgg/ContainerupdateAccountList"
xmlns:p="http://www.temenos.com/T24/inflow/AcctAgg/updateAccountList"
xmlns:p1="http://www.temenos.com/T24/inflow/Common/RequestCommon"
xmlns:xsi="http://www.w3.org/30011/XMLSchema-instance"
xsi:schemaLocation="http://www.temenos.com/T24/inflow/AcctAgg/ContainerupdateAccountList
AcctAgg-ContainerupdateAccountList.xsd ">
<container:containerId></container:containerId>
<container:containerTimestamp></container:containerTimestamp>
<container:containerDataSource></container:containerDataSource>
<container:bulkIndicator></container:bulkIndicator>
<container:tenantId></container:tenantId>
<container:inflowRequest>
<p:updateAccountList>
<p:requestCommonDetails>
<p:requestCommon>
<p1:requestType>with pw</p1:requestType>
<p1:companyCode>GB0010001</p1:companyCode>
<p1:userName>SSOUSER1</p1:userName>
<p1:messageId>sequencerepair</p1:messageId>
<p1:timestamp></p1:timestamp>

20 Madhioli Duraisamy/Technology
Inflow User Guide

<p1:transactionMode></p1:transactionMode>
<p1:replace></p1:replace>
<p1:replaceFieldIndicator></p1:replaceFieldIndicator>
<p1:sequenceStart>5</p1:sequenceStart>
<p1:sequencePace>5</p1:sequencePace>
<p1:currentSequence>5</p1:currentSequence>
<p1:sequenceCheckType>PARTIAL</p1:sequenceCheckType>
<p1:customCommon name=""></p1:customCommon>
</p:requestCommon>
</p:requestCommonDetails>
<p:receiveaccountlist_ral id="" index="">
<p:customerId>1</p:customerId>
<p:bankCode>12111</p:bankCode>
<p:subStatus>AWAITINGUSERACTION</p:subStatus>
</p:receiveaccountlist_ral>
</p:updateAccountList>
</container:inflowRequest>
<container:containerCustomCommon name=""></container:containerCustomCommon>
</container:inflowContainer>

Inflow without PW
This type of request can be used to send request to only one application (say create customer) through
inflow. For this request type to work we don’t need to create Process Workflow Definitions as it is
independent of it. Refer inflow designer section to design so that request can be posted for this request
type

Generic OFS
This type of request can be used when we need to pass an OFS request through inflow. Inflow supports
all OFS requests other than enquiries. This is similar to single OFS only that the OFS is defined inside the
XML.

Inflow Designer
Inflow Designer used to publish inflows to T24. The inflow designer and the event designer are now
available as a single product, but with different product codes in T24 to enable the functionality of the
specific designer.
This plugin is available as a part of design studio and as a standalone plugin that can be installed in
Eclipse.
Note: For the schema files of various request types refer Appendix section.

21 Madhioli Duraisamy/Technology
Inflow User Guide

Creating Inflow Designer Project:


1. Switch to Integration Studio Perspective in Design Studio or in the eclipse
2. Select the option “Other” in the File->New menu
3. Select Inflow Designer Project in the pop-up window and click next

Figure 7: Selecting T24 Inflow Designer project from T24 Integration Studio

4. Specify the project name, axis2 URL and the login credentials in the next screen:

22 Madhioli Duraisamy/Technology
Inflow User Guide

Figure 8: Creating an Inflow Designer Project

Note: t24-IF_InflowService-tafj-jws.aar need to be packaged in axis2.war and deployed in the application


server. Refer to component service user guide for more information

5. Click finish to get the project created.


6. The inflow project contains by default 3 folders namely designs, schemas and logs to store the
designed inflows, the published schemas and the publish logs respectively:

23 Madhioli Duraisamy/Technology
Inflow User Guide

Figure 9: Inflow Designer Project with designs, log and schemas folder

Designing Inflow with PW


1. Right click designs folder and select new Inflow design wizard:

Figure 10: Creating a new T24 Inflow Design

2. Specify a name for the inflow and select finish to get the designer opened.

24 Madhioli Duraisamy/Technology
Inflow User Guide

Figure 11: Naming the new Inflow Design (Inflow with PW)

3. The inflow design page gets opened. Now select “Use PW” check box.
4. Selecting Use PW check box will enable the process name, activity and target version combo
boxes.

Figure 12: Inflow Design page for inflow with PW

25 Madhioli Duraisamy/Technology
Inflow User Guide

5. Select the required process name from the process name combo box.

Figure 13: Selecting the process name

6. Once a process name is selected the activities available in the particular process will be listed in
the activity combo box.
7. Select the required activity. Once an activity is selected the version available in the target field of
the activity will be displayed in the target version text box.
8. The fields from the underlying T24 Object will be listed in the Field List Box.

Figure 14: Selecting the required activity

9. Select the fields to be added to the inflow and click add to add it to inflow. This list would have
only the editable fields in T24 based on STANDARD.SELECTION definition.

26 Madhioli Duraisamy/Technology
Inflow User Guide

Figure 15: Field selection based on the selected application

10. Follow above steps for adding all the required activities.

Figure 16: Selecting the second required activity (optional)

27 Madhioli Duraisamy/Technology
Inflow User Guide

Figure 17: Field selection based on the selected application

When a field is selected from the fileds list the read only text box below “Field” table will show any
enrichment (or mapping) defined for the field. Please refer to PW user guide to understand the mapping
definition. For example the above screenshot show the mapping as “C,&&SOURCE.KEY&& ==> A,C,ID
==> A,C,GK ==> A,C,KL ==> A,C,JU ==> A,C,LO ==> NR,ACCOUNT,CUSTOMER”. This says that the
@ID of CUSTOMER to be mapped to CUSTOMER field of ACCOUNT.
The enrichment is provided with the pattern:
ExtractionConversionPlacement
Adding Mapping field to the “Field Enrichments” table, the warning will appear saying that the selected
fields is having mapping. PW allows the user to pass values in the request though the filed has a
mapping. In that case the value passed will take precendence over the mapping.

28 Madhioli Duraisamy/Technology
Inflow User Guide

Figure 18: Multiple Field selection based on the selected application

While adding fields, the user could observe few new data types:
1. t24Currency – This type is used for currency fields to restrict the input to 3 alphabetic characters.
This field accepts - and |-| to support T24 data removal identifier.
2. t24Date – This type of field is used for IN2D fields. This field accepts XML Date, - and |-| to
support a valid XML data and T24 data removal identifier
3. t24Decimal – This type of field is used for IN2 fields. This field accepts decimal values, - and |-| to
support a valid XML data and T24 data removal identifier
Each field added to the flow is marked mandatory to Y or N, to indicate whether the field requires
a value in T24 based on the STANDARD.SELECTION definition. The users can change this
value and this information is used when preparing T24 requests. Inflow requires value for all the
mandatory fields to be provided. Incase a field that is a mandatory field in T24 is marked as
optional in inflow, it is the responsibility of the inflow designer to make sure that the value of this
field if somehow passed to T24, if not the inflow request would fail.

Publishing Inflows to T24


1. Once the required fields are added save the inflow design. Now right click on the inflow design
and select Inflow Designer  Publish Inflow.

29 Madhioli Duraisamy/Technology
Inflow User Guide

Figure 19: Publishing the Inflow Design (Inflow with PW)

2. This publishes inflow to T24 and the log is written to Inflow folder:

Figure 20: Publish Log

If the user invokes the publish option at the project level, then all the inflows would be published to T24.

Designing Inflow without PW


This is a type of inflow that is not based on a process definition and very much similar to the Service XML
requests of Adapters.
1. To define this type of inflow, the first step is to create an inflow design.

30 Madhioli Duraisamy/Technology
Inflow User Guide

Figure 21: Naming the Inflow Design (Inflow without PW)

2. In the design page we can view the application, version and function combo boxes enabled
allowing user to create an inflow without PW.
3. Select the application or the version for which the request has to be sent to T24.
4. Function drop down box lists the functions like I,A,R,D and S. To input fields select the function
“I”.

Figure 22: Selecting the required version and function

5. Once the application or the version is selected the fields from the underlying T24 Object would be
listed in the Field List Box.
6. Select the fields to be added to the inflow and click add to add it to inflow. This list would have
only the editable fields in T24 based on STANDARD.SELECTION definition.

31 Madhioli Duraisamy/Technology
Inflow User Guide

Figure 23: Selecting the required fields

7. When functions other than “I” is selected the fields from the underlying T24 Object would not be
listed in the Field List Box thus enabling the user to input fields only when the function “I” is
selected.

Figure 24: Selecting function “A”

Figure 25: Selecting function “R”

32 Madhioli Duraisamy/Technology
Inflow User Guide

Figure 26: Selecting function “D”

Figure 27: Selecting function “S”

While adding fields, the user could observe few new data types:
1. t24Currency – This type is used for currency fields to restrict the input to 3 alphabetic characters.
This field accepts - and |-| to support T24 data removal identifier.
2. t24Date – This type of field is used for IN2D fields. This field accepts XML Date, - and |-| to
support a valid XML data and T24 data removal identifier
3. t24Decimal – This type of field is used for IN2 fields. This field accepts decimal values, - and |-| to
support a valid XML data and T24 data removal identifier
Each field added to the flow is marked mandatory to Y or N, to indicate whether the field requires
a value in T24 based on the STANDARD.SELECTION definition. The users can change this
value and this information is used when preparing T24 requests. Inflow requires value for all the
mandatory fields to be provided. Incase a field that is a mandatory field in T24 is marked as
optional in inflow, it is the responsibility of the inflow designer to make sure that the value of this
field if somehow passed to T24, if not the inflow request would fail.

Publishing Inflows to T24


1. Once the required fields are added, save the inflow design. Now right click on the inflow design
and select Inflow Designer  Publish Inflow.

33 Madhioli Duraisamy/Technology
Inflow User Guide

Figure 28: Publishing the Inflow Design (Inflow without PW)

2. This publishes inflow to T24 and the log is written to Inflow folder:

Figure 29: Publish Log

If the user invokes the publish option at the project level, then all the inflows would be published to T24.

Generic OFS Request


Inflow supports generic type of request where the incoming request does not requires any type of
transformation. The schema to represent this type of request would be created under schemas\ofs folder
when an inflow is published and it will hold the 3 schemas by default.
1. Generic-OFS.xsd – Representing the schema for the actual message
2. Common-RequestCommon.xsd
3. Generic-ContainerOFS.xsd

34 Madhioli Duraisamy/Technology
Inflow User Guide

Examples for the type of Inflow request mentioned in the document above:

Deleting Inflow Records in T24 using Inflow Designer


To delete the inflow records from IF.INFLOW.CATALOG table “Delete Inflow” option can be used.
Deletion can be done at both design and project level.

Deletion at Design level


1. Create an inflow record in IF.INFLOW.CATALOG table.

Figure 30: Published Inflow Design record

2. Now right click on the design and select Inflow Designer  Delete Inflow

35 Madhioli Duraisamy/Technology
Inflow User Guide

Figure 31: Selecting “Delete Inflow” option

3. On selecting “Delete Inflow” user is prompted with a Deletion Box with Yes or No options.

Figure 32: Deletion Box with “Yes” or “No” options

36 Madhioli Duraisamy/Technology
Inflow User Guide

4. Selecting option “Yes” would delete .design and schema created under designs and schemas
folders respectively. Delete log can be viewed under log folder.

Figure 33: Delete Log (When option “Yes” is selected)

5. Selecting option “No” would delete only the schema created under schemas folder.

Figure 34: Delete Log (when option “No” is selected)

37 Madhioli Duraisamy/Technology
Inflow User Guide

6. The record gets deleted from IF.INFLOW.CATALOG table.

Figure 35: Deleted Inflow Record

Deletion at Project level


1. Create more than one inflow record.

Figure 36: Published Inflow Design records

2. Right click on the project. Select Inflow Designer  Delete Inflow

38 Madhioli Duraisamy/Technology
Inflow User Guide

Figure 37: Selecting “Delete Inflow” option

3. Selecting this option would prompt the user with a Deletion box with Yes or No options.

Figure 38: Deletion Box with “Yes” or “No” options

39 Madhioli Duraisamy/Technology
Inflow User Guide

4. Selecting option “Yes” would delete .design and schema created under designs and schemas
folders respectively. Delete log can be viewed under log folder.

Figure 39: Delete Log (When option “Yes” is selected)

5. Selecting option “No” would delete only the schema created under schemas folder.

Figure 40: Delete Log(When option “No” is selected)

6. Inflow records gets deleted from IF.INFLOW.CATALOG table.

40 Madhioli Duraisamy/Technology
Inflow User Guide

Figure 41: Deleted Inflow records

Deleting Inflows using Utility


Inflow records can also be deleted by using the utility program.
This program should be executed from command line as:
To delete a design
IF. UninstallInflowPackage <OFS Record ID> –ui:design=<ProjectName-DesignName>
To delete a project
IF. UninstallInflowPackage <OFS Record ID> –ui:project=<ProjectName>

The option –ui:design is used to mention that a design needs to be deleted.


The option –ui:project is used to mention that all designs under the given project needs to be
deleted.
In this command, the <OFS Record ID>, <ProjectName-DesignName> and <ProjectName> are
the variables that is passed by the user.
The user is requested to confirm whether they want to delete the design or project. If the user
enters “Y” or “y” or “yes” or “YES”, then the design or project is deleted.

1. Create more than one inflow record.

41 Madhioli Duraisamy/Technology
Inflow User Guide

Figure 42: Published Inflow records

2. To delete a particular design under a project run the following command from the command line.

tRun IF.UninstallInflowPackage IFPA -ui:design= InflowProject-NewInflowDesign

Figure 43: Successful deletion of a particular design

3. The selected design gets deleted from IF.INFLOW.CATALOG table.

42 Madhioli Duraisamy/Technology
Inflow User Guide

Figure 44: Successful deletion of Inflow record

4. To delete all the designs under a project run the following command from the command line.
tRun IF.UninstallInflowPackage IFPA -ui:project=InflowProject

Figure 45: Successful deletion of all designs under a project

5. All the designs under the project gets deleted.

43 Madhioli Duraisamy/Technology
Figure 46: Successful deletion of all inflow records

Packaging and Deployment of inflows


The process of creating inflow records in T24 through inflow packager has two steps:

 Producing a package of designs


 Deploying the package
This section explains the two steps in detail.

Producing a package of designs for new Inflow Designer Project


1. Create a new T24 Inflow Project using Inflow Designer.
2. When an inflow designer project is created the below mentioned additional files are added which is
used for producing the package.
• assembly.xml
• pom.xml
• <Current DS Release Version>_IF_<ProjectName>_1

44 Madhioli Duraisamy/Technology
Inflow User Guide

Figure 47: New folders and files under Inflow Project

3. Here,
assembly.xml – A file added to new directory maven under the root of the project. This file contains
how the inflow project artefact .design is copied into the package.
pom.xml – A file added directly under the root of the project which contains the information about the
properties and configuration of the project and used by maven when building the project.
4. Create few inflow designs.

Figure 48: Creating Inflow designs

45 Madhioli Duraisamy /Technology


Inflow User Guide

5. The package can be created by using the below command:


mvn clean package –Dt24Version=<version no>
This starts the maven build.

Figure 49: Starting a mvn build

6. The package can also be generated by following the below steps:

 Right click the project.

 Select “Run As” option and select “Run Configuration”.

46 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 50: Selecting Run Configuration

 In the pop-up window, select Maven Build and create a new Maven Build Configuration for
this project. Ensure that the Goal is set to “clean package” and Parameter Name as
“t24Version” and Value can be any version (for eg:R19) as shown below. After the build
configuration is done, select Run in the pop-up window.

47 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 51: New Maven build configuration

 This starts the maven build.

48 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 52: Build success message

7. Once the maven build is successful, the build artefacts gets stored under target folder. Later
these build artefacts can be used for deploying the package.

Figure 53: Build artefacts under target folder

Deploying the package


To create the binaries and libraries of the design artefact the below command is used:
tRun T24PackageInstaller
The user can deploy the inflow records by using any one of the three commands below:

49 Madhioli Duraisamy /Technology


Inflow User Guide

1. tRun packageDataInstaller – to deploy all the designs available in the package.


2. tRun packageDataInstaller <package name> -IF:install=<design1> – to deploy a particular design.
(for eg: package name can be R19_IF_ProInflow_1)
3. tRun packageDataInstaller <package name> -IF:update=<design1> – to deploy a particular design.
(for eg: package name can be R19_IF_ProInflow_1)
In case if we want to deploy few designs then the design names can be provided as comma
separated values.
‘install’ checks if the inflow record is already available in T24. If exists the ‘install’ option deletes the
inflow record and creates a new one.
‘update’ checks if the inflow record is already available in T24. If exists, instead of deleting the
inflow record, it modifies the existing record. If not a new inflow record is created.
This is explained in detail with respect to inflow in the following sections. Also when deploying inflow, only
the designs in the same inflow project can be deployed together.

Deploying all the designs


1. Copy the jar file and place it in the runtime directory path.

Figure 54: Placing .jar file under runtime directory

2. Run the T24 package installer command: (tafj/bin)

Figure 55: Successful message after running T24 Package Installer command

3. Record created in T24.MODEL.PACKAGES with Data Released field set to “N”.

50 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 56: Record created in T24.MODEL.PACKAGES

4. Run the package data installer command to deploy all the designs.

Figure 57: Run Package Data Installer command

5. Successful completion will result in below message.

Figure 58: Deployment success message

6. Inflow records created in IF.INFLOW.CATALOG table.

51 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 59: Inflow records created in IF.INFLOW.CATALOG table

52 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 60: Inflow records created in IF.INFLOW.CATALOG table

53 Madhioli Duraisamy /Technology


Inflow User Guide

54 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 61: Inflow records created in IF.INFLOW.CATALOG table

55 Madhioli Duraisamy /Technology


Inflow User Guide

56 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 62: Inflow records created in IF.INFLOW.CATALOG table

Figure 63: Inflow records created in IF.INFLOW.CATALOG table

7. Successful deployment can also be verified using T24.MODEL.PACKAGES. Data Released field
changes to ‘Y’ after deployment.

Figure 64: T24.MODEL.PACKAGES record after deployment

57 Madhioli Duraisamy /Technology


Inflow User Guide

Deploying specific designs


1. Create few inflow designs and generate the package.

Figure 65: Creating designs under design folder

2. Run the T24 package installer command: (tafj/bin)

Figure 66: Successful message after running T24 Package Installer command

3. Record created in T24.MODEL.PACKAGES with Data Released field set to “N”.

Figure 67: Record created in T24.MODEL.PACKAGES

58 Madhioli Duraisamy /Technology


Inflow User Guide

4. Run the package data installer command for installing only specific designs.

Figure 68: Run Package Data Installer command

5. Successful completion will result in below message.

Figure 69: Deployment success message

6. Inflow records created in IF.INFLOW.CATALOG table.

Figure 70: Inflow records created in IF.INFLOW.CATALOG table

7. Successful deployment can also be verified using T24.MODEL.PACKAGES. Data Released field
changes to ‘Y’ after deployment.

59 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 71: T24.MODEL.PACKAGES record after deployment

Inflow Designer Introspection


Inflow Designer allows user to create inflow designs and publish them into T24. But, if the user wants to
perform some modification on the already existing designs, user has to recreate the Inflow Designer
project and its corresponding .design records and then perform modification on the inflow design, as per
the user requirement.
This brings a lot of discomfort for certain use cases, where local changes need to be incorporated in
existing T24 inflow designs.
Best solution to overcome this problem is to allow user to introspect T24 for existing projects, import
inflow designs from that project, perform modifications on those inflow designs and publish them back to
T24.
The below steps are followed to make Inflow Designer to introspect T24 to import inflow designs:
1. For importing the inflow designs from T24 click on File  Import.

60 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 72: Selecting Import option

2. Choose ‘Import Existing Inflow Designs From T24’ under Import Integration Project category in
the Import menu.

61 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 73: Choosing 'Import Existing Inflow Designs From T24' option

3. Clicking on Next opens a wizard page which has got connection properties and user credentials.

62 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 74: Connection details page

4. Give the connection URL of the environment from where we need to import the designs and the
user credentials of that particular environment. On giving these values the Next button is enabled.

63 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 75: Give the connection URL and user credentials

5. Clicking on Next opens another wizard page which has got two lists. Projects and its
corresponding inflow dsigns.

64 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 76: Project and deisgn list page

6. Select a required project and select the required designs from the list. The user can use Select
All button to select all the designs or individual designs can be selected by checking the check
box. The Deselect All button is used to deselect all the selected designs at once. Once the
required designs are selected the Finish button is enabled.

65 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 77: Choosing a project and its corresponding designs

7. Inflow Designer project is created with all the selected designs.

Figure 78: Creation of Inflow Designer project

66 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 79: Imported Application design

Figure 80: Imported Version design

67 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 81: Imported design with PW

8. Now do some modifications, add or remove the required fields in each design.

Figure 82: Removing a field in application design

68 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 83: Removing a field in Version design

Figure 84: Removing and adding fields in a design with PW

69 Madhioli Duraisamy /Technology


Inflow User Guide

9. Once the modifications are done, publish them back to T24.

Figure 85: Publishing the designs with changes to T24

10. Successful publish will regenerate the schemas and update the inflow design records. The
regenerated schemas can be viewed in the appendix section.

70 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 86: Publish log

11. When the user tries to import a project which is of the same name in the workspace a
confirmation box pops up whether to override the project in the workspace or not. Selecting ‘Ok’
will override the existing project in the workspace and selecting ‘Cancel’ just cancels the process.

71 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 87: Confirmation box with override message

12. The previous content of the project is overwritten.

Figure 88: Previous data of the project is overwritten

13. The user can also connect to a different environment by giving the appropriate connection URL
and user credentials.

72 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 89: Connecting to a different T24 environment

14. The below screenshot displays the project and its corresponding designs which are available in
that particular environment. Select the required project and design, do the required modifications
and publish them back to T24.

73 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 90: Projects and designs which are available in the particular environment is listed

Inflow with AA scope


Inflow supports incoming messages for non-AA applications and versions. Below steps provides detailed
explanation of supporting AA applications and versions for both inflow with and without PW process.

Inflow Supporting AA as a part of PW Process


1. Create an inflow designer project for inflow with PW.
2. Select any PWD that has an activity for which AA.ARRANGEMENT.ACTIVTY, version is present
in the target.
(Here AA.ARRANGEMENT.ACTIVITY,TEST is used. The version is created with product and
activity given. So the version names related to the product and activity will also be fetched and
the fields related to the versions will also be displayed in the Fields section.

74 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 91: Select a PWD and their corresponding activities

3. Select the required fields from each activity.

75 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 92: Select the required fields

4. Save and publish the design.

Figure 93: Publish log

5. Open and view the schemas folder. Additonal .xsd files are added as shown in the screenshot.
Master and child schemas are generated.
<ProjectName>-<DesignName> is the master .xsd file, which has the details of all activities and
reference to AA activities.
<DesignName>-<ActivityName_UniqueName> is the child .xsd files for AA activities, which has
references to the child versions.
<ActivityName_UniqueName>-<ApplicationName> is the master application, which has the field
details.

76 Madhioli Duraisamy /Technology


Inflow User Guide

<ActivityName_UniqueName>-<VersionName_PropertyName> is the child version, which has the


field details.

Figure 94: Successful generation of schemas

Inflow Supporting AA for Non PW


1. Create an inflow designer project for inflow without PW.
2. Select any AA.ARRANGEMENT.ACTIVTY, version.
(Here AA.ARRANGEMENT.ACTIVITY,TEST is used. The version is created with product and
activity given. So the version names related to the product and activity will also be fetched and
the fields related to the versions will also be displayed in the Fields section.

77 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 95: Select the required AA.ARRANGEMENT.ACTIVITY, version

3. Select the required fields.

Figure 96: Select the required fields

4. Save and publish the design.

78 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 97: Publish log

5. Open and view the schemas folder. Additonal .xsd files are added as shown in the screenshot.

Figure 98: Successful generation of schemas

Master and child schemas are generated.


<ProjectName>-<DesignName> is the master .xsd file.
<DesignName>-<ApplicationName> is the master application, which has the field details.
<DesignName>-<VersionName_PropertyName> is the child version, which has the field details.

Inflow Runtime
Runtime Artefacts and its setup
Inflow Runtime artefacts is distributed as a zip file with the naming convention Inflow-Runtime-<Release
Version>.zip (i.e. Inflow-Runtime-DEV.0.0-SNAPSHOT.zip)
The Zip file contains the following folders
1. scripts- This folder contains SQLScripts.zip
2. artefact- This folder contains the deployable artefact Inflow_EE.ear

79 Madhioli Duraisamy /Technology


Inflow User Guide

3. manual- This folder contains the user guide for the inflows

SQLScripts.zip
The SQLScripts.zip in turn contains database scripts that are required to create the database table for
inflow to work.
These database tables are to be created in the T24 database and not controlled by T24.
The SQL scripts are named with the pattern <Database_name>Script.sql (i.e. H2Script.sql) and must be
executed only once.
The below table are created by these scripts:
IF_INFLOW_MESSAGE – The inflow request that need to be processed will be saved to this table.
IF_INFLOW_MESSAGE_PROCESSED – This table hold the processed messages and can be purged
based on the requirement. This table makes sure the IF_INFLOW_MESSAGE table holds less data
IF_INFLOW_MESSAGE_FAILED – This table holds the failed messages. These messages can be
retried. It is advised to check this table and purge the messages that cannot be retried
IF_INFLOW_DUPLICATE_CHECK – This table is used in a retry scenario and ensures that the same
message is not posted to IF_INFLOW_MESSAGE for processing
When using H2 Database run this script- H2Script.sql
When using Oracle Database run this script- OracleScript.sql
When using Microsoft SQL Server Database run this script-SQLServerScript.sql
When using IBM DB2 Database run the following scripts:
1)DB2_IF_INFLOW_MESSAGE.sql
2)DB2_IF_INFLOW_MESSAGE_PROCESSED.sql
3)DB2_IF_INFLOW_DUPLICATE_CHECK.sql
4)DB2_IF_INFLOW_MESSAGE_FAILED
The script are named with the pattern <Release_number>_Database_nameScript.sql (eg.
R20.0.0.5_H2Script) and must be run according to the sequence number of the release.

Inflow_EE.ear
This is the archive that has the components that executes the inflow request. This archive has:
Inflow_REST.war – This is a rest based web service responsible to get the inflow metadata from T24 to
execute the request
Inflow _EJB.jar – This EJB sends the request to T24 for execution.
Inflow _MDB.jar – This MDB is used to send the request to INFLOW_EJB to execute inflow request when
using non-ESB solution.
This Inflow_EE.ear need to be deployed in application server. The currently supported application server
is jBoss EAP 7, WebLogic 12 C and WAS 9.
Configuration files in this jar is explained in the configuration files section

Configuration Files
Before deploying Inflow_EE.ear, make sure the connection factory, queue connection factory and the
queues are created in the application server and the required configurations are done in the below
configuration files.

80 Madhioli Duraisamy /Technology


Inflow User Guide

Configuration files under INFLOW_EE.ear\META-INF


The application.xml defines the contents of the INFLOW_EE.ear. This folder contains application server
specific files too. These configuration files should not be edited.

Configuration files in INFLOW_MDB.jar


The application server specific configuration file need to be edited to provide the jndi name or the binding
name for queue, queue connection factory, data source and the locking data source.
Default queue listened by InflowMDB is queue/inflow.
Configurable Sections in ejb-jar.xml:
The jndi names for the resources are provided in the application server configuration file
All the below env-entry are configurable:
runtimeProperties – This variable is use to set the comma separated Runtime Properties for TAFJ
Session. The mandatory property is the OFS.SOURCE and defined as:
<env-entry>
<description>Comma Separated Runtime Properties for TAFJ Session</description>
<env-entry-name>runtimeProperties</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>OFS_SOURCE=IFPAOFS</env-entry-value>
</env-entry>
superTransaction – This property is used to configure the transaction boundary. For Inflow this property
need to be set to be true:
<env-entry>
<description>Enable/Disable TAFJ Super Transaction, Disable
[false : For Container managed] / Enable [true : For Bean managed] transactions
</description>
<env-entry-name>superTransaction</env-entry-name>
<env-entry-type>java.lang.Boolean</env-entry-type>
<env-entry-value>true</env-entry-value>
</env-entry>
healthCheckMode – This is to set whether the MDB is running in health check mode and to run the inflow
request this should be set to false:
<env-entry>
<description>Health check mode</description>
<env-entry-name>healthCheckMode</env-entry-name>
<env-entry-type>java.lang.Boolean</env-entry-type>
<env-entry-value>false</env-entry-value>
</env-entry>
userId – This property is used to set the T24 user ID used to authenticate in application server and in
T24. This user should have the PREAUTHENTICATED attribute set and should have all the necessary
permission to run the required inflow in T24
<env-entry>

81 Madhioli Duraisamy /Technology


Inflow User Guide

<description>User ID</description>
<env-entry-name>userId</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>SSOUSER1</env-entry-value>
</env-entry>
transactionMode – This is used to set the transaction mode for inflow and this is container by default.
<env-entry>
<description>Provide the Transaction Mode [BEAN or CONTAINER]</description>
<env-entry-name>transactionMode</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>CONTAINER</env-entry-value>
</env-entry>

Configuration files in Inflow_REST.war


The rest based web service in inflow is used to read details about the inflow. All the configuration files in
Inflow_Rest is available in WEB-INF folder.
The application server specific configuration file need to be edited to provide the jndi name or the binding
name for queue, queue connection factory, data source and the locking data source.
springrest-servlet.xml:
This is the rest service configuration file that has the information to connect to T24.
The bean definition with the ID t24DataSource is used to provide the jndi Name of the data source that
connects to T24
<bean id="t24DataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>jdbc/t24DS</value>
</property>
<property name="resourceRef">
<value>true</value>
</property>
</bean>
The ban definition with the ID readFlow defines the properties to run requests.:
runtimeProperties – This variable is use to set the comma separated Runtime Properties for TAFJ
Session. The mandatory property is the OFS.SOURCE.
superTransaction – This property is used to configure the transaction boundary. For Inflow this property,
is set to false as the purpose of this rest based webservice is to read inflow related information in T24
healthCheckMode – This is to set whether the MDB is running in health check mode and to run the inflow
request this should be set to false:
userId – This property is used to set the T24 user ID used to authenticate in application server and in
T24. This user should have the PREAUTHENTICATED attribute set and should have all the necessary
permission to run the required request in T24
transactionMode – This is used to set the transaction mode for inflow and this is container by default.

82 Madhioli Duraisamy /Technology


Inflow User Guide

<bean id="readFlow" class="com.temenos.technology.inflow.queue.model.RuntimeProperty"


scope="singleton">
<property name="runtimeProperties">
<value>OFS_SOURCE=IFPAOFS</value>
</property>
<property name="superTransaction">
<value>false</value>
</property>
<property name="healthCheckMode">
<value>false</value>
</property>
<property name="transactionMode">
<value>CONTAINER</value>
</property>
<property name="userId">
<value>SSOUSER1</value>
</property>
</bean>

Inflow-EJB.jar:
This is the component of inflow that listens for the incoming requests, dispatches to T24 for execution,
retries the failed request; in short performs all the operations related to executing the inflow request.
The application server specific configuration file need to be edited to provide the jndi name or the binding
name for queue, queue connection factory, data source and the locking data source.
The application server configuration files has 3 bean definition namely DispatcherEjb,
InflowListenerEjbTimer and InflowFailureRecoveryEjbTimer.
ejb-jar.xml
The ejb bean definition with the name DispatcherEjb is to set the environment entries to execute the
inflow request.
The jndi names for the resources are provided in the application server configuration file
All the below env-entry are configurable:
runtimeProperties – This variable is use to set the comma separated Runtime Properties for TAFJ
Session. The mandatory property is the OFS.SOURCE and defined as:
<env-entry>
<description>Comma Separated Runtime Properties for TAFJ Session</description>
<env-entry-name>runtimeProperties</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>OFS_SOURCE=IFPAOFS</env-entry-value>
</env-entry>
superTransaction – This property is used to configure the transaction boundary. For Inflow this property
need to be set to be true:

83 Madhioli Duraisamy /Technology


Inflow User Guide

<env-entry>
<description>Enable/Disable TAFJ Super Transaction, Disable
[false : For Container managed] / Enable [true : For Bean managed] transactions
</description>
<env-entry-name>superTransaction</env-entry-name>
<env-entry-type>java.lang.Boolean</env-entry-type>
<env-entry-value>true</env-entry-value>
</env-entry>
healthCheckMode – This is to set whether the MDB is running in health check mode and to run the inflow
request this should be set to false:
<env-entry>
<description>Health check mode</description>
<env-entry-name>healthCheckMode</env-entry-name>
<env-entry-type>java.lang.Boolean</env-entry-type>
<env-entry-value>false</env-entry-value>
</env-entry>
userId – This property is used to set the T24 user ID used to authenticate in application server and in
T24. This user should have the PREAUTHENTICATED attribute set and should have all the necessary
permission to run the required inflow in T24
<env-entry>
<description>User ID</description>
<env-entry-name>userId</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>SSOUSER1</env-entry-value>
</env-entry>
transactionMode – This is used to set the transaction mode for inflow and this is container by default.
<env-entry>
<description>Provide the Transaction Mode [BEAN or CONTAINER]</description>
<env-entry-name>transactionMode</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>CONTAINER</env-entry-value>
</env-entry>
The bean with the name InflowListenerEjbTimer is to configure the listener which listens for the incoming
message.
This has the timer schedule to poll for incoming message. By default, Listener listens to the incoming
message once in 30 seconds:

84 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 99: Timer configuration for Listener EJB in ejb-jar.xml

Note: Refer to https://docs.oracle.com/javaee/6/tutorial/doc/bnboy.html


know about how the timer can be configured
The transaction type is set to bean by default.
There are a set of environment entries to define the polling properties:

Figure 100: Listener EJB Configurations in ejb-jar.xml

The bean with the name InflowFailureRecoveryEjbTimer is used to configure the options that are used to
retry the failed messages:
This has a timer configuration to poll for failed messages. By default, InflowFailureRecoveryEjbTimer
retries message once in 30 seconds:

85 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 48: Timer Configuration for failureRecoveryEJB in ejb-jar.xml

Note: Refer to https://docs.oracle.com/javaee/6/tutorial/doc/bnboy.html


know about how the timer can be configured
The transaction type is set to bean by default.
There are a set of environment entries to configure the wait time before retry and retry count:

Figure 49: FailureRecoveryEJB configurations in ejb-jar.xml

Note: The users are requested to configure the jndi-names and environment entries other that
superTransaction, transactionMode and healthCheckMode. Inflow Package has preconfigured
configuration files.

Deploying Inflow_EE.ear
JBoss
Copy the Inflow_EE.ear to the deployments folder

WebSphere
Installation of New Application in webSphere(JAR,WAR,EAR,SAR)

86 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 101: Application installation screen in Websphere admin console

Choose the file location and click next

Figure 102: Preparing for the application installation

Select Detailed Installation and click next

Figure 103: Installation options in Websphere console

Go to step 4 directly to add shared libraries to the application that we are about to install. Select one
checkbox and click on reference shared libraries to add the configured T24 libraries in WebSphere.
Similarly do the same for other module.

87 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 104: Mapping shared libraries

Figure 105: Adding shared libraries

In step 6 check for the activation specification JNDI binding values

Figure 106: JNDI bindings for message-driven beans is specified

Click on next till you reach Step 10 where resource references must be mapped to the each of the
modules available in the application that is been installed (in this case Inflow_EE contains a EJB, MDB,
WAR)

88 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 107: Mapping resource references to the installable resources

Then click on next option till you reach the summary and then the Inflow_EE would be installed in
WebSphere 9
Under the application tab select Websphere enterprise application to see the installed application. Select
the Inflow_EE and click on Start. Check the logs for deployment status.

Figure 108: Completion of Deployment

WebLogic:
Go to weblogic admin console and select the Deployment tab to install new application in Weblogic.

89 Madhioli Duraisamy /Technology


Inflow User Guide

Pre Requisite: All the queue configurations, jms connection factories, database configurations must be
done according to the configuration file of the application that has to be installed.

Figure 58: Start of application deployment in Weblogic

Click upload your file option to select the required file (in this case Inflow_EE.ear), in next window click on
Choose File under the Deployment Archive option.

Figure 59: Uploading the deployment

Figure 109: Selecting the deployment modules to be uploaded

Click on next to get this message and click Next again

90 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 110: Upload successful

Select Install as application option under the installation type and scope as global

Figure 111: Installing the uploaded application

Click on Next option till the last window to apply the default settings and click on finish to install the
application.
Under the summary of deployment check the state and health of the deployed application.

Executing Inflow Request


Inflow request can be executed using ESB or using JMS Queues. The ESB solution is supported in IIB
Adapter.

ESB Solution:
When performing metadata discovery, select outbound adapter to get the screen below :

91 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 112: First step in Metadata Discovery in IIB outbound

Select Inflow as the outbound type and configure Web Service connection parameters to use ESB
Solution for Inflow.
When the user selects next, the list of inflows available in T24 would be listed. From the list select the
inflow for which the request to be sent:

92 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 113: Discovered Inflow services

Rest of the steps in the metadata discovery is the same as for Service XML metadata discovery.
When configuring the message flow, make sure the inflow is selected as Request Type to configure the
T24 custom outbound adapter with the inflow type:

93 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 114: Message flow design editor for T24OutboundNode

Figure 115: HttpHost and HttpPort are mandatory for inflow

The rest of the steps remains same as how the T24 customer outbound adapter of IIB and hence follow
T24 customer outbound adapter of IIB user guide.

Non-ESB Solution:
The user has to post the message to the inflow queue (inflow) using any tool that can post message to
this queue or can write a simple java program as below. A sample java programs are given below. These
programs has few dependencies, where org.apache.commons.io.jar and javaee-api-7.0.jar are common
dependencies for all the supported application servers. Also the file path to the sample xml must be
changed

jBoss:
This sample for jBoss requires jboss-client.jar. This jar is available in jBoss\bin\client

94 Madhioli Duraisamy /Technology


Inflow User Guide

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.Date;
import java.util.Properties;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.Session;
import javax.jms.TextMessage;
import javax.naming.Context;
import javax.naming.InitialContext;
import org.apache.commons.io.FileUtils;
import java.util.logging.Logger;
import javax.jms.BytesMessage;
import javax.jms.Connection;

public class MessageProducerJBOSS {


private static final Logger LOGGER =
Logger.getLogger(MessageProducerJBOSS.class.getName());
public static void main(String [] args) throws Exception{
new MessageProducerJBOSS().putMessage();
}
public void putMessage() throws Exception{
Context namingContext = null;
final Properties prop = new Properties();
prop.put(Context.INITIAL_CONTEXT_FACTORY,
"org.jboss.naming.remote.client.InitialContextFactory");
prop.put(Context.PROVIDER_URL,"http-remoting://localhost:9089");
namingContext = new InitialContext(prop);

ConnectionFactory connectionFactory = (ConnectionFactory)


namingContext.lookup ("jms/RemoteConnectionFactory");
Destination queue = (Destination) namingContext.lookup ("inflow");
Connection connection = connectionFactory.createConnection();
Session session = connection.createSession();
BufferedReader br;
StringBuilder sb = new StringBuilder();
FileUtils utils=new FileUtils();
@SuppressWarnings("static-access")

95 Madhioli Duraisamy /Technology


Inflow User Guide

String newinput = utils.readFileToString(new


File("C:\\Inflow\\testing\\newInput\\inflowrequest\\IFW-ContainerCUSTONBMAP.xml"));
javax.jms.MessageProducer producer = session.createProducer(queue);
TextMessage txtMsg =
session.createTextMessage (newinput);

((javax.jms.MessageProducer) producer).send (txtMsg);


System.out.println("Hi");
connection.close();
}
}

WebSphere:
This program requires the below dependent jars:
1. com.ibm.ws.ejb.thinclient_9.0.jar
2. com.ibm.ws.orb_9.0.jar
3. com.ibm.ws.sib.client.thin.jms_9.0.jar

import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import javax.jms.Connection;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.jms.TextMessage;
import org.apache.commons.io.FileUtils;
import com.ibm.websphere.sib.api.jms.JmsConnectionFactory;
import com.ibm.websphere.sib.api.jms.JmsFactoryFactory;
import com.ibm.websphere.sib.api.jms.JmsQueue;
import com.ibm.websphere.sib.api.jms.JmsTopic;

public class JMSMessageInjector {


public static void main(String[] args) throws JMSException, IOException {

String destUrl = "queue://inflow";


String busName = "T24BUS";
String providerEndpoints = "localhost:7276";

96 Madhioli Duraisamy /Technology


Inflow User Guide

Destination dest;
JmsFactoryFactory jmsFact = JmsFactoryFactory.getInstance();
JmsQueue queue = jmsFact.createQueue(destUrl);
dest = queue;
JmsConnectionFactory connFact = jmsFact.createConnectionFactory();
connFact.setBusName(busName);
connFact.setProviderEndpoints(providerEndpoints);
Connection conn = connFact.createConnection();
Session session = null;
MessageProducer producer = null;
session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
producer = session.createProducer(dest);
System.out.println("Ready to send to " + dest + " on bus " + busName);
FileUtils utils=new FileUtils();
@SuppressWarnings("static-access")
String newinput = utils.readFileToString(new
File("C:\\Inflow\\testing\\newInput\\inflowrequest\\in - Copy.txt"));
TextMessage message = session.createTextMessage(newinput);
((javax.jms.MessageProducer) producer).send(message,
Message.DEFAULT_DELIVERY_MODE,
Message.DEFAULT_PRIORITY,
Message.DEFAULT_TIME_TO_LIVE);
}
}

WebLogic:
This sample for WebLogic requires wlclient.jar

import java.io.BufferedReader;
import java.io.File;
import java.util.Hashtable;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.Session;
import javax.jms.TextMessage;
import javax.naming.Context;
import javax.naming.InitialContext;
import org.apache.commons.io.FileUtils;

97 Madhioli Duraisamy /Technology


Inflow User Guide

public class WeblogicJMSInjector {

public final static String JNDI_FACTORY="weblogic.jndi.WLInitialContextFactory";


public final static String JMS_FACTORY="jms/ConnectionFactoryLocal";
public final static String QUEUE="jms/inflow";
public final static String url = "t3://localhost:7001";
public static void main (String [] args){
try{
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, JNDI_FACTORY);
env.put(Context.PROVIDER_URL, url);
Context namingContext = null;
namingContext = new InitialContext(env);

ConnectionFactory connectionFactory = (ConnectionFactory)


namingContext.lookup (JMS_FACTORY);
Destination queue = (Destination) namingContext.lookup (QUEUE);
Connection connection = connectionFactory.createConnection();
Session session = connection.createSession();
BufferedReader br;
StringBuilder sb = new StringBuilder();
FileUtils utils=new FileUtils();
@SuppressWarnings("static-access")
String newinput = utils.readFileToString(new
File("C:\\Inflow\\testing\\newInput\\inflowrequest\\in - Copy.txt"));
javax.jms.MessageProducer producer = session.createProducer(queue);
TextMessage txtMsg =
session.createTextMessage (newinput);

((javax.jms.MessageProducer) producer).send (txtMsg);


System.out.println("Hi");
connection.close();
}catch(Exception e){
e.printStackTrace();
}
}
}

98 Madhioli Duraisamy /Technology


Inflow User Guide

Inflow Response
Inflow is asynchronous and hence posting an inflow request would provide a success or failure response
to the processed inflow table. If a user need the details about the inflow, then the user can define an exit
point for inflow using event designer. On successful inflow process, an integration event would be
generated.
When defining an IF event, a new exit point type inflow is introduced and this type of exit point is for the
inflows defined based on process workflows. For the inflow based on direct application or version without
using PW process definition, the application or version exit point can be used. This option provides the list
of inflows available in T24:

Figure 116: Designing Inflow as Exit point in event page

After selecting the Inflow, the user can navigate to the Flow tab to define the flow:

99 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 117: Designing flow for the selected inflow exit point

The flow tab allows the user to select the PW Activity name. Once the Activity is selected, flow designer
gets the underlying application or version name and the fields from the application. This allows the user to
add any fields and also joins.
Note: For more details about defining flows, please refer to the Event Designer User guide. Currently
custom fields are not supported.
Once the flow is published, the relevant records in T24 gets created:

Figure 68: Published T24 record in IF.EXIT.POINTS

100 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 69: Published T24 record in IF.INTEGRATION.FLOW.CATALOG

Successful inflow request generates and event. Here is a sample:

101 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 118: Output XML message delivered to the queue on execution of successful inflow message.

Here is a sample event XML that gets generated when the event is generated:
<?xml version="1.0" encoding="UTF-8"?>
<tns:flow51 xmlns:tns="http://www.temenos.com/T24/event/MyProject1/flow51"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.temenos.com/T24/event/MyProject1/flow51 MyProject1-flow51.xsd"
xmlns:ns0="http://www.temenos.com/T24/event/Common/EventCommon">
<tns:eventCommonDetails>
<tns:eventCommon>
<ns0:application>test-flow1</ns0:application>
<ns0:companyId>GB0010001</ns0:companyId>
<ns0:operator>AUTHORISER</ns0:operator>
<ns0:today>2017-04-17</ns0:today>
<ns0:transactionStage>INFLOW.PROCESS</ns0:transactionStage>
<ns0:eventId>b70ed813-92f0-4fc6-8672-3601ca68bd0a</ns0:eventId>
<ns0:creationTime>2018-08-11T16:31:48.841Z</ns0:creationTime>
<ns0:customCommon name="InflowName">test-flow1</ns0:customCommon>
<ns0:customCommon name="ProcessDefinitionName">COMPLAINT.PROCESS</ns0:customCommon>
<ns0:customCommon name="InflowUniqueRef">INF123456</ns0:customCommon>
<ns0:customCommon name="PWProcessID">PW1234567</ns0:customCommon>
</tns:eventCommon>
</tns:eventCommonDetails>
<tns:createcrcontactlog_cccl_customerDetails>
<tns:customerId>100113</tns:customerId>
<tns:street>TEST</tns:street>
<tns:addressList>
<tns:address language="GB" index="1">address1</tns:address>
<tns:address language="FR" index="1">FR address1</tns:address>
<tns:address language="GB" index="2">address2</tns:address>
</tns:addressList>
<tns:otherOfficerList>
<tns:otherOfficer index="1">1</tns:otherOfficer>
<tns:otherOfficer index="2">2</tns:otherOfficer>
<tns:otherOfficer index="3">3</tns:otherOfficer>
</tns:otherOfficerList>
<tns:visTypeGroup index="1">

102 Madhioli Duraisamy /Technology


Inflow User Guide

<tns:visType>1</tns:visType>
<tns:visInternalReviewList>
<tns:visInternalReview index="1">1</tns:visInternalReview>
</tns:visInternalReviewList>
</tns:visTypeGroup>
<tns:visTypeGroup index="2">
<tns:visType>2</tns:visType>
<tns:visInternalReviewList>
<tns:visInternalReview index="1">2</tns:visInternalReview>
</tns:visInternalReviewList>
</tns:visTypeGroup>
<tns:relationCodeGroup index="1">
<tns:relationCode>1</tns:relationCode>
<tns:relCustomer>100112</tns:relCustomer>
<tns:roleSubGroup index="1">
<tns:role>10</tns:role>
<tns:roleNotes>FWEFWE</tns:roleNotes>
</tns:roleSubGroup>
<tns:roleSubGroup index="2">
<tns:role>20</tns:role>
<tns:roleNotes>DFDSFSD</tns:roleNotes>
</tns:roleSubGroup>
</tns:relationCodeGroup>
<tns:relationCodeGroup index="2">
<tns:relationCode>2</tns:relationCode>
<tns:relCustomer>100115</tns:relCustomer>
<tns:roleSubGroup index="1">
<tns:role>20</tns:role>
<tns:roleNotes>CDDDCD</tns:roleNotes>
</tns:roleSubGroup>
</tns:relationCodeGroup>
</tns:createcrcontactlog_cccl_customerDetails>
<tns:createcrcontactlog_cccl_customerDetails>
<tns:customerId>100112</tns:customerId>
<tns:street>TEST1</tns:street>
<tns:addressList>
<tns:address language="GB" index="1">address1</tns:address>
<tns:address language="FR" index="1">FR address1</tns:address>
<tns:address language="GB" index="2">address2</tns:address>
</tns:addressList>
<tns:relationCodeGroup index="1">
<tns:relationCode>1</tns:relationCode>
<tns:relCustomer>100112</tns:relCustomer>
<tns:roleSubGroup index="1">
<tns:role>10</tns:role>
<tns:roleNotes>FWEFWE</tns:roleNotes>
</tns:roleSubGroup>
<tns:roleSubGroup index="2">
<tns:role>20</tns:role>
<tns:roleNotes>DFDSFSD</tns:roleNotes>
</tns:roleSubGroup>
</tns:relationCodeGroup>
<tns:relationCodeGroup index="2">
<tns:relationCode>2</tns:relationCode>
<tns:relCustomer>100115</tns:relCustomer>
<tns:roleSubGroup index="1">
<tns:role>20</tns:role>
<tns:roleNotes>CDDDCD</tns:roleNotes>
</tns:roleSubGroup>
</tns:relationCodeGroup>
</tns:createcrcontactlog_cccl_customerDetails>
<tns:amendcrcontactlog_accountafinputDetails>
<tns:accountID>11001</tns:accountID>
<tns:category>Td Waterhouse Uk</tns:category>
<tns:customer>100113</tns:customer>
<tns:otherOfficerList>
<tns:otherOfficer index="1">1</tns:otherOfficer>
<tns:otherOfficer index="2">2</tns:otherOfficer>
<tns:otherOfficer index="3">3</tns:otherOfficer>
</tns:otherOfficerList>
<tns:relationCodeGroup index="1">

103 Madhioli Duraisamy /Technology


Inflow User Guide

<tns:relationCode>1</tns:relationCode>
<tns:relCustomer>100112</tns:relCustomer>
<tns:roleSubGroup index="1">
<tns:role>10</tns:role>
<tns:roleNotes>TEST1</tns:roleNotes>
</tns:roleSubGroup>
<tns:roleSubGroup index="2">
<tns:role>20</tns:role>
<tns:roleNotes>RTWRERWE</tns:roleNotes>
</tns:roleSubGroup>
</tns:relationCodeGroup>
<tns:relationCodeGroup index="2">
<tns:relationCode>2</tns:relationCode>
<tns:relCustomer>100115</tns:relCustomer>
<tns:roleSubGroup index="1">
<tns:role>30</tns:role>
<tns:roleNotes>EWTEWREW</tns:roleNotes>
</tns:roleSubGroup>
</tns:relationCodeGroup>
</tns:amendcrcontactlog_accountafinputDetails>
</tns:flow51>

Runtime: Inflow Supporting AA for Non PW

Inflow xml is generated from the schemas which are obtained after successful publication of Inflow
project. One inflow message will contain a prent request and corresponding child requests.
For the above Deign time project the sample record generated is as shown below:

<container:inflowContainer
xmlns:container="http://www.temenos.com/T24/inflow/UpdateAccount/ContainerNewInflowDesign"
xmlns:p="http://www.temenos.com/T24/inflow/UpdateAccount/NewInflowDesign"
xmlns:p1="http://www.temenos.com/T24/inflow/Common/RequestCommon"
xmlns:p10="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarragentcommissionaa_rewards.poi
nts"
xmlns:p11="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarrbalancemaintenanceaa_balance.
maintenance"
xmlns:p12="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarrchangeproductaa_renewal"
xmlns:p13="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarrchargeaa_withdrawalfees"
xmlns:p14="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarrchargeoverrideaa_charge.overrid
e" xmlns:p15="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarrclosureaa_closure"
xmlns:p16="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarrcustomeraadeposit_customer"
xmlns:p17="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarrinterestaa_depositint"
xmlns:p18="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarrofficersaa_officers"
xmlns:p19="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarrpaymentrulesaa_pr.deposit"
xmlns:p2="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarrangementactivity"
xmlns:p20="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarrpaymentscheduleaatd_schedule"
xmlns:p21="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarrreportingaa_reporting"
xmlns:p22="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarrsettlementaabasicsad_settlement
" xmlns:p23="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarrtermamountaa_commitment"
xmlns:p24="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarrtaxaa_tax"
xmlns:p3="http://www.temenos.com/T24/inflow/Common/dataTypes"
xmlns:p4="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarrchargeaafixed_redemptionfee"
xmlns:p5="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarrchargeaaroutine_withdrawalfee"
xmlns:p6="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarraccountaa_account"
xmlns:p7="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarractivitymessagingaa_messaging"
xmlns:p8="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarractivityrestrictionaa_arrangement.r
ules"
xmlns:p9="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarragentcommissionaa_agent.commi

104 Madhioli Duraisamy /Technology


Inflow User Guide

ssion" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.temenos.com/T24/inflow/UpdateAccount/ContainerNewInflowDesign
UpdateAccount-ContainerNewInflowDesign.xsd ">
<container:containerId/>
<container:containerTimestamp/>
<container:containerDataSource/>
<container:bulkIndicator/>
<container:tenantId/>
<container:inflowRequest>
<p:NewInflowDesign>
<p:requestCommonDetails>
<p:requestCommon>
<p1:requestType>no pw</p1:requestType>
<p1:companyCode/>
<p1:userName>SSOUSER1</p1:userName>
<p1:messageId>AATEST1</p1:messageId>
<p1:timestamp/>
<p1:transactionMode/>
<p1:replace/>
<p1:replaceFieldIndicator/>
<p1:sequenceNumber/>
<p1:customCommon name=""/>
</p:requestCommon>
</p:requestCommonDetails>
<p:aaarrangementactivityupdateaccountDetails id="" index="">
<p:aaarrangementactivity>

<p2:aaArrangementActivityarrangement>AA19107QLBL1</p2:aaArrangementActivityarrangement
>
<p2:aaArrangementActivitycustomerGroupParent>
<p2:aaArrangementActivitycustomerGroup index="1">

<p2:aaArrangementActivitycustomer>100285</p2:aaArrangementActivitycustomer>
</p2:aaArrangementActivitycustomerGroup>
</p2:aaArrangementActivitycustomerGroupParent>

<p2:aaArrangementActivitycurrency>USD</p2:aaArrangementActivitycurrency>
</p:aaarrangementactivity>
<p:aaarrsettlementaabasicsad_settlement>
<p22:aaArrSettlementaaBasicsAdpayinSettlementGroupParent>

105 Madhioli Duraisamy /Technology


Inflow User Guide

<p22:aaArrSettlementaaBasicsAdpayinSettlementGroup
index="0">

<p22:aaArrSettlementaaBasicsAdddMandateRefSubGroupParent>

<p22:aaArrSettlementaaBasicsAdddMandateRefSubGroup index="0">

<p22:aaArrSettlementaaBasicsAdpayinAccount>87588</p22:aaArrSettlementaaBasicsAdpayinAcc
ount>

</p22:aaArrSettlementaaBasicsAdddMandateRefSubGroup>

</p22:aaArrSettlementaaBasicsAdddMandateRefSubGroupParent>
</p22:aaArrSettlementaaBasicsAdpayinSettlementGroup>
</p22:aaArrSettlementaaBasicsAdpayinSettlementGroupParent>
<p22:aaArrSettlementaaBasicsAdpayoutSettlementGroupParent>
<p22:aaArrSettlementaaBasicsAdpayoutSettlementGroup
index="1">

<p22:aaArrSettlementaaBasicsAdpayoutAccountSubGroupParent>

<p22:aaArrSettlementaaBasicsAdpayoutAccountSubGroup index="1">

<p22:aaArrSettlementaaBasicsAdpayoutAccount>87588</p22:aaArrSettlementaaBasicsAdpayout
Account>

</p22:aaArrSettlementaaBasicsAdpayoutAccountSubGroup>

</p22:aaArrSettlementaaBasicsAdpayoutAccountSubGroupParent>
</p22:aaArrSettlementaaBasicsAdpayoutSettlementGroup>
</p22:aaArrSettlementaaBasicsAdpayoutSettlementGroupParent>
</p:aaarrsettlementaabasicsad_settlement>
</p:aaarrangementactivityupdateaccountDetails>
</p:NewInflowDesign>
</container:inflowRequest>
<container:containerCustomCommon name=""/>
</container:inflowContainer>

Appendix
Schemas and T24 data records for inflow with PW
The schemas folder holds the request schema for the published inflow. By default there would be 3
schemas:

106 Madhioli Duraisamy /Technology


Inflow User Guide

1. One in the name of the <project Name>-<inflow design>. This schema holds the definition of all
the fields that need to be passed to T24

<?xml version="1.0" encoding="utf-8"?>


<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:ns0="http://www.temenos.com/T24/inflow/Common/RequestCommon"
xmlns="http://www.temenos.com/T24/inflow/InflowProject/OnboardCustomer"
elementFormDefault="qualified"
targetNamespace="http://www.temenos.com/T24/inflow/InflowProject/OnboardCustomer">
<xsd:import namespace="http://www.temenos.com/T24/inflow/Common/RequestCommon"
schemaLocation="Common-RequestCommon.xsd" />
<xsd:element name="OnboardCustomer">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="requestCommonDetails" minOccurs="1" maxOccurs="1" />
<xsd:element ref="createcrcontactlog_cccl" minOccurs="0"
maxOccurs="unbounded" />
<xsd:element ref="amendcrcontactlog" minOccurs="0"
maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:simpleType name="name1Type">
<xsd:restriction base="xsd:string">
<xsd:maxLength value=" 35" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="shortNameType">
<xsd:restriction base="xsd:string">
<xsd:maxLength value=" 35" />
</xsd:restriction>
</xsd:simpleType>
<xsd:element name="requestCommonDetails">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="requestCommon" type="ns0:RequestCommon"
minOccurs="0" nillable="true" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="createcrcontactlog_cccl">

107 Madhioli Duraisamy /Technology


Inflow User Guide

<xsd:complexType>
<xsd:sequence>
<xsd:element name="mnemonic" minOccurs="0" nillable="true">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="10" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="name1List" minOccurs="0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="name1" minOccurs="0"
maxOccurs="unbounded" nillable="true">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="name1Type">
<xsd:attribute type="xsd:string"
use="optional" name="language" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="shortNameList" minOccurs="0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="shortName" minOccurs="0"
maxOccurs="unbounded" nillable="true">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="shortNameType">
<xsd:attribute type="xsd:string"
use="optional" name="language" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>

108 Madhioli Duraisamy /Technology


Inflow User Guide

</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="sector" type="ns0:t24Decimal" minOccurs="0"
nillable="true" />
<xsd:element name="language" type="ns0:t24Decimal" minOccurs="0"
nillable="true" />
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string" use="optional" />
<xsd:attribute name="index" type="xsd:string" use="optional" />
</xsd:complexType>
</xsd:element>
<xsd:element name="amendcrcontactlog">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="category" minOccurs="0" nillable="true">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="6" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="currency" type="ns0:t24Currency" minOccurs="0"
nillable="true" />
<xsd:element name="customer" minOccurs="0" nillable="true">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="10" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string" use="optional" />
<xsd:attribute name="index" type="xsd:string" use="optional" />
</xsd:complexType>
</xsd:element>
</xsd:schema>
2. Request Common schema holds the common schema definition fields

109 Madhioli Duraisamy /Technology


Inflow User Guide

<?xml version="1.0" encoding="utf-8"?>


<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.temenos.com/T24/inflow/Common/RequestCommon"
elementFormDefault="qualified"
targetNamespace="http://www.temenos.com/T24/inflow/Common/RequestCommon">
<xsd:complexType name="RequestCommon">
<xsd:sequence>
<xsd:element name="requestType" type="xsd:string" minOccurs="0" maxOccurs="1"
/>
<xsd:element name="companyCode" type="xsd:string" minOccurs="0" maxOccurs="1"
/>
<xsd:element name="userName" type="xsd:string" minOccurs="0" maxOccurs="1" />
<xsd:element name="messageId" type="xsd:string" minOccurs="0" maxOccurs="1"
/>
<xsd:element name="timestamp" type="xsd:string" minOccurs="0" maxOccurs="1"
/>
<xsd:element name="transactionMode" type="xsd:string" minOccurs="0"
maxOccurs="1" />
<xsd:element name="customCommon" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="name" type="xsd:string" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="t24CurrencyType">
<xsd:restriction base="xsd:string">
<xsd:pattern value="[A-Z]{3}" />
<xsd:maxLength value="3" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="t24DataRemovalPattern">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="-" />
<xsd:enumeration value="|-|" />
</xsd:restriction>
</xsd:simpleType>

110 Madhioli Duraisamy /Technology


Inflow User Guide

<xsd:simpleType name="t24Decimal">
<xsd:union memberTypes="t24DataRemovalPattern xsd:decimal" />
</xsd:simpleType>
<xsd:simpleType name="t24Date">
<xsd:union memberTypes="t24DataRemovalPattern xsd:date" />
</xsd:simpleType>
<xsd:simpleType name="t24Currency">
<xsd:union memberTypes="t24DataRemovalPattern t24CurrencyType" />
</xsd:simpleType>
</xsd:schema>
3. Container schema holds the schema to represent multiple inflow of same type.

<?xml version="1.0" encoding="utf-8"?>


<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
targetNamespace="http://www.temenos.com/T24/inflow/InflowProject/ContainerOnboardCust
omer" xmlns:ns1="http://www.temenos.com/T24/inflow/InflowProject/OnboardCustomer"
xmlns:container="http://www.temenos.com/T24/inflow/InflowProject/ContainerOnboardCust
omer">
<xsd:import
namespace="http://www.temenos.com/T24/inflow/InflowProject/OnboardCustomer"
schemaLocation="InflowProject-OnboardCustomer.xsd" />
<xsd:element name="inflowContainer">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="containerId" type="xsd:string" minOccurs="0"
maxOccurs="1" />
<xsd:element name="containerTimestamp" type="xsd:string" minOccurs="0"
maxOccurs="1" />
<xsd:element name="containerDataSource" type="xsd:string" minOccurs="0"
maxOccurs="1" />
<xsd:element name="inflowRequest" type="container:inflowRequestType"
minOccurs="1" maxOccurs="1" />
<xsd:element name="containerCustomCommon" minOccurs="0"
maxOccurs="unbounded">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="name" type="xsd:string" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>

111 Madhioli Duraisamy /Technology


Inflow User Guide

</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="inflowRequestType">
<xsd:sequence>
<xsd:element ref="ns1:OnboardCustomer" minOccurs="1" maxOccurs="unbounded"
/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>

T24 Data Record:

112 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 119: Inflow record in IF.INFLOW.CATALOG table

113 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 120 : Inflow record in IF.INFLOW.CATALOG table (continuation)

Schemas and T24 data records for inflow without PW


When function “I” is used
The schemas folder holds the request schema for the published inflow. By default there would be 3
schemas:
1. One in the name of the <project Name>-<inflow design>. This schema holds the definition of all
the fields that need to be passed to T24

<?xml version="1.0" encoding="utf-8"?>


<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:ns0="http://www.temenos.com/T24/inflow/Common/RequestCommon"
xmlns="http://www.temenos.com/T24/inflow/InflowProject/CreateCustomer"
elementFormDefault="qualified"
targetNamespace="http://www.temenos.com/T24/inflow/InflowProject/CreateCustomer">
<xsd:import namespace="http://www.temenos.com/T24/inflow/Common/RequestCommon"
schemaLocation="Common-RequestCommon.xsd" />
<xsd:element name="CreateCustomer">
<xsd:complexType>

114 Madhioli Duraisamy /Technology


Inflow User Guide

<xsd:sequence>
<xsd:element ref="requestCommonDetails" minOccurs="1" maxOccurs="1" />
<xsd:element ref="accountcaopenlcy" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="requestCommonDetails">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="requestCommon" type="ns0:RequestCommon" minOccurs="0"
nillable="true" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="accountcaopenlcy">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="category" minOccurs="0" nillable="true">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="6" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="currency" type="ns0:t24Currency" minOccurs="0"
nillable="true" />
<xsd:element name="customer" minOccurs="0" nillable="true">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="10" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string" use="optional" />
<xsd:attribute name="index" type="xsd:string" use="optional" />
</xsd:complexType>
</xsd:element>

115 Madhioli Duraisamy /Technology


Inflow User Guide

</xsd:schema>

2. Request Common schema holds the common schema definition fields

<?xml version="1.0" encoding="utf-8"?>


<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.temenos.com/T24/inflow/Common/RequestCommon"
elementFormDefault="qualified"
targetNamespace="http://www.temenos.com/T24/inflow/Common/RequestCommon">
<xsd:complexType name="RequestCommon">
<xsd:sequence>
<xsd:element name="requestType" type="xsd:string" minOccurs="0" maxOccurs="1" />
<xsd:element name="companyCode" type="xsd:string" minOccurs="0" maxOccurs="1" />
<xsd:element name="userName" type="xsd:string" minOccurs="0" maxOccurs="1" />
<xsd:element name="messageId" type="xsd:string" minOccurs="0" maxOccurs="1" />
<xsd:element name="timestamp" type="xsd:string" minOccurs="0" maxOccurs="1" />
<xsd:element name="transactionMode" type="xsd:string" minOccurs="0" maxOccurs="1"
/>
<xsd:element name="customCommon" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="name" type="xsd:string" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="t24CurrencyType">
<xsd:restriction base="xsd:string">
<xsd:pattern value="[A-Z]{3}" />
<xsd:maxLength value="3" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="t24DataRemovalPattern">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="-" />
<xsd:enumeration value="|-|" />

116 Madhioli Duraisamy /Technology


Inflow User Guide

</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="t24Decimal">
<xsd:union memberTypes="t24DataRemovalPattern xsd:decimal" />
</xsd:simpleType>
<xsd:simpleType name="t24Date">
<xsd:union memberTypes="t24DataRemovalPattern xsd:date" />
</xsd:simpleType>
<xsd:simpleType name="t24Currency">
<xsd:union memberTypes="t24DataRemovalPattern t24CurrencyType" />
</xsd:simpleType>
</xsd:schema>

3. Container schema holds the schema to represent multiple inflow of same type.

<?xml version="1.0" encoding="utf-8"?>


<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
targetNamespace="http://www.temenos.com/T24/inflow/InflowProject/ContainerCreateCustomer"
xmlns:ns1="http://www.temenos.com/T24/inflow/InflowProject/CreateCustomer"
xmlns:container="http://www.temenos.com/T24/inflow/InflowProject/ContainerCreateCustomer">
<xsd:import namespace="http://www.temenos.com/T24/inflow/InflowProject/CreateCustomer"
schemaLocation="InflowProject-CreateCustomer.xsd" />
<xsd:element name="inflowContainer">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="containerId" type="xsd:string" minOccurs="0" maxOccurs="1"
/>
<xsd:element name="containerTimestamp" type="xsd:string" minOccurs="0"
maxOccurs="1" />
<xsd:element name="containerDataSource" type="xsd:string" minOccurs="0"
maxOccurs="1" />
<xsd:element name="inflowRequest" type="container:inflowRequestType"
minOccurs="1" maxOccurs="1" />
<xsd:element name="containerCustomCommon" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="name" type="xsd:string" />
</xsd:extension>
</xsd:simpleContent>

117 Madhioli Duraisamy /Technology


Inflow User Guide

</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="inflowRequestType">
<xsd:sequence>
<xsd:element ref="ns1:CreateCustomer" minOccurs="1" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:schema>

T24 Data Record:

Figure 73: Inflow record in IF.INFLOW.CATALOG table (when function “I” is used)

118 Madhioli Duraisamy /Technology


Inflow User Guide

Schemas and T24 data records for inflow without PW


When any other function other than “I” is used
The schemas folder holds the request schema for the published inflow. By default there would be 3
schemas:
1. One in the name of the <project Name>-<inflow design>. This schema holds only the id and
index attribute that need to be passed to T24

<?xml version="1.0" encoding="utf-8"?>


<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:ns0="http://www.temenos.com/T24/inflow/Common/RequestCommon"
xmlns="http://www.temenos.com/T24/inflow/InflowProject/CreateCustomer"
elementFormDefault="qualified"
targetNamespace="http://www.temenos.com/T24/inflow/InflowProject/CreateCustomer">
<xsd:import namespace="http://www.temenos.com/T24/inflow/Common/RequestCommon"
schemaLocation="Common-RequestCommon.xsd" />
<xsd:element name="CreateCustomer">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="requestCommonDetails" minOccurs="1" maxOccurs="1" />
<xsd:element ref="accountcaopenlcy" minOccurs="0" maxOccurs="unbounded"
/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="requestCommonDetails">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="requestCommon" type="ns0:RequestCommon"
minOccurs="0" nillable="true" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="accountcaopenlcy">
<xsd:complexType>
<xsd:sequence />
<xsd:attribute name="id" type="xsd:string" use="optional" />
<xsd:attribute name="index" type="xsd:string" use="optional" />
</xsd:complexType>
</xsd:element>
</xsd:schema>

119 Madhioli Duraisamy /Technology


Inflow User Guide

2. Request Common schema holds the common schema definition fields

<?xml version="1.0" encoding="utf-8"?>


<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.temenos.com/T24/inflow/Common/RequestCommon"
elementFormDefault="qualified"
targetNamespace="http://www.temenos.com/T24/inflow/Common/RequestCommon">
<xsd:complexType name="RequestCommon">
<xsd:sequence>
<xsd:element name="requestType" type="xsd:string" minOccurs="0"
maxOccurs="1" />
<xsd:element name="companyCode" type="xsd:string" minOccurs="0"
maxOccurs="1" />
<xsd:element name="userName" type="xsd:string" minOccurs="0" maxOccurs="1"
/>
<xsd:element name="messageId" type="xsd:string" minOccurs="0" maxOccurs="1"
/>
<xsd:element name="timestamp" type="xsd:string" minOccurs="0" maxOccurs="1"
/>
<xsd:element name="transactionMode" type="xsd:string" minOccurs="0"
maxOccurs="1" />
<xsd:element name="customCommon" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="name" type="xsd:string" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="t24CurrencyType">
<xsd:restriction base="xsd:string">
<xsd:pattern value="[A-Z]{3}" />
<xsd:maxLength value="3" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="t24DataRemovalPattern">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="-" />

120 Madhioli Duraisamy /Technology


Inflow User Guide

<xsd:enumeration value="|-|" />


</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="t24Decimal">
<xsd:union memberTypes="t24DataRemovalPattern xsd:decimal" />
</xsd:simpleType>
<xsd:simpleType name="t24Date">
<xsd:union memberTypes="t24DataRemovalPattern xsd:date" />
</xsd:simpleType>
<xsd:simpleType name="t24Currency">
<xsd:union memberTypes="t24DataRemovalPattern t24CurrencyType" />
</xsd:simpleType>
</xsd:schema>

3. Container schema holds the schema to represent multiple inflow of same type.

<?xml version="1.0" encoding="utf-8"?>


<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
targetNamespace="http://www.temenos.com/T24/inflow/InflowProject/ContainerCreateCusto
mer" xmlns:ns1="http://www.temenos.com/T24/inflow/InflowProject/CreateCustomer"
xmlns:container="http://www.temenos.com/T24/inflow/InflowProject/ContainerCreateCusto
mer">
<xsd:import
namespace="http://www.temenos.com/T24/inflow/InflowProject/CreateCustomer"
schemaLocation="InflowProject-CreateCustomer.xsd" />
<xsd:element name="inflowContainer">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="containerId" type="xsd:string" minOccurs="0"
maxOccurs="1" />
<xsd:element name="containerTimestamp" type="xsd:string" minOccurs="0"
maxOccurs="1" />
<xsd:element name="containerDataSource" type="xsd:string" minOccurs="0"
maxOccurs="1" />
<xsd:element name="inflowRequest" type="container:inflowRequestType"
minOccurs="1" maxOccurs="1" />
<xsd:element name="containerCustomCommon" minOccurs="0"
maxOccurs="unbounded">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">

121 Madhioli Duraisamy /Technology


Inflow User Guide

<xsd:attribute name="name" type="xsd:string" />


</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="inflowRequestType">
<xsd:sequence>
<xsd:element ref="ns1:CreateCustomer" minOccurs="1" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:schema>

122 Madhioli Duraisamy /Technology


Inflow User Guide

T24 Data Record:

Figure 74: Inflow record in IF.INFLOW.CATALOG table (when functions other than “I” is used)

123 Madhioli Duraisamy /Technology


Inflow User Guide

Generic-OFS schema files


1. Generic-OFS.xsd

<?xml version="1.0" encoding="utf-8"?>


<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:ns0="http://www.temenos.com/T24/inflow/Common/RequestCommon"
xmlns="http://www.temenos.com/T24/inflow/Generic/OFS" elementFormDefault="qualified"
targetNamespace="http://www.temenos.com/T24/inflow/Generic/OFS">
<xsd:import namespace="http://www.temenos.com/T24/inflow/Common/RequestCommon"
schemaLocation="Common-RequestCommon.xsd" />
<xsd:element name="OFS">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="requestCommonDetails" minOccurs="1" maxOccurs="1" />
<xsd:element ref="ofsRequestsDetails" minOccurs="0" maxOccurs="1" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="requestCommonDetails">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="requestCommon" type="ns0:RequestCommon" minOccurs="0"
nillable="true" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="ofsRequestsDetails">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="ofsRequests" type="xsd:string" minOccurs="0"
nillable="true" />
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string" use="optional" />
<xsd:attribute name="index" type="xsd:string" use="optional" />
</xsd:complexType>
</xsd:element>
</xsd:schema>
2. Common-RequestCommon.xsd:

<?xml version="1.0" encoding="utf-8"?>

124 Madhioli Duraisamy /Technology


Inflow User Guide

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.temenos.com/T24/inflow/Common/RequestCommon"
elementFormDefault="qualified"
targetNamespace="http://www.temenos.com/T24/inflow/Common/RequestCommon">
<xsd:complexType name="RequestCommon">
<xsd:sequence>
<xsd:element name="requestType" type="xsd:string" minOccurs="0" maxOccurs="1" />
<xsd:element name="companyCode" type="xsd:string" minOccurs="0" maxOccurs="1" />
<xsd:element name="userName" type="xsd:string" minOccurs="0" maxOccurs="1" />
<xsd:element name="messageId" type="xsd:string" minOccurs="0" maxOccurs="1" />
<xsd:element name="timestamp" type="xsd:string" minOccurs="0" maxOccurs="1" />
<xsd:element name="transactionMode" type="xsd:string" minOccurs="0" maxOccurs="1"
/>
<xsd:element name="customCommon" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="name" type="xsd:string" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="t24CurrencyType">
<xsd:restriction base="xsd:string">
<xsd:pattern value="[A-Z]{3}" />
<xsd:maxLength value="3" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="t24DataRemovalPattern">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="-" />
<xsd:enumeration value="|-|" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="t24Decimal">
<xsd:union memberTypes="t24DataRemovalPattern xsd:decimal" />

125 Madhioli Duraisamy /Technology


Inflow User Guide

</xsd:simpleType>
<xsd:simpleType name="t24Date">
<xsd:union memberTypes="t24DataRemovalPattern xsd:date" />
</xsd:simpleType>
<xsd:simpleType name="t24Currency">
<xsd:union memberTypes="t24DataRemovalPattern t24CurrencyType" />
</xsd:simpleType>
</xsd:schema>

3. Generic-ContainerOFS.xsd

<?xml version="1.0" encoding="utf-8"?>


<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
targetNamespace="http://www.temenos.com/T24/inflow/Generic/ContainerOFS"
xmlns:ns1="http://www.temenos.com/T24/inflow/Generic/OFS"
xmlns:container="http://www.temenos.com/T24/inflow/Generic/ContainerOFS">
<xsd:import namespace="http://www.temenos.com/T24/inflow/Generic/OFS"
schemaLocation="Generic-OFS.xsd" />
<xsd:element name="inflowContainer">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="containerId" type="xsd:string" minOccurs="0" maxOccurs="1"
/>
<xsd:element name="containerTimestamp" type="xsd:string" minOccurs="0"
maxOccurs="1" />
<xsd:element name="containerDataSource" type="xsd:string" minOccurs="0"
maxOccurs="1" />
<xsd:element name="inflowRequest" type="container:inflowRequestType"
minOccurs="1" maxOccurs="1" />
<xsd:element name="containerCustomCommon" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="name" type="xsd:string" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>

126 Madhioli Duraisamy /Technology


Inflow User Guide

</xsd:element>
<xsd:complexType name="inflowRequestType">
<xsd:sequence>
<xsd:element ref="ns1:OFS" minOccurs="1" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:schema>

Schemas for inflow with AA scope


Inflow with PW
AATest-NewInflowDesign.xsd

<?xml version="1.0" encoding="utf-8"?>


<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.temenos.com/T24/inflow/AATest/NewInflowDesign"
elementFormDefault="qualified"
targetNamespace="http://www.temenos.com/T24/inflow/AATest/NewInflowDesign"
xmlns:ns0="http://www.temenos.com/T24/inflow/Common/RequestCommon"
xmlns:ns1="http://www.temenos.com/T24/inflow/AATest/createarrangement_ca">
<xsd:import namespace="http://www.temenos.com/T24/inflow/Common/RequestCommon"
schemaLocation="Common-RequestCommon.xsd" />
<xsd:import
namespace="http://www.temenos.com/T24/inflow/AATest/createarrangement_ca"
schemaLocation="AATest-createarrangement_ca.xsd" />
<xsd:element name="NewInflowDesign">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="requestCommonDetails" minOccurs="1" maxOccurs="1"
/>
<xsd:element ref="createcrcontactlog_cccl" minOccurs="0"
maxOccurs="unbounded" />
<xsd:element ref="createarrangement_caDetails" minOccurs="0"
maxOccurs="unbounded" />
<xsd:element ref="amendcrcontactlog" minOccurs="0"
maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:simpleType name="name1Type">
<xsd:restriction base="xsd:string">
<xsd:maxLength value=" 35" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="shortNameType">
<xsd:restriction base="xsd:string">
<xsd:maxLength value=" 35" />
</xsd:restriction>
</xsd:simpleType>
<xsd:element name="requestCommonDetails">

127 Madhioli Duraisamy /Technology


Inflow User Guide

<xsd:complexType>
<xsd:sequence>
<xsd:element name="requestCommon" type="ns0:RequestCommon"
minOccurs="0" nillable="true" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="createcrcontactlog_cccl">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="mnemonic" minOccurs="0" nillable="true">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="10" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="name1List" minOccurs="0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="name1" minOccurs="0"
maxOccurs="unbounded" nillable="true">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="name1Type">
<xsd:attribute type="xsd:string"
use="optional" name="language" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="sector" type="ns0:t24Decimal" minOccurs="0"
nillable="true" />
<xsd:element name="shortNameList" minOccurs="0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="shortName" minOccurs="0"
maxOccurs="unbounded" nillable="true">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="shortNameType">
<xsd:attribute type="xsd:string"
use="optional" name="language" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="language" type="ns0:t24Decimal" minOccurs="0"
nillable="true" />
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string" use="optional" />

128 Madhioli Duraisamy /Technology


Inflow User Guide

<xsd:attribute name="index" type="xsd:string" use="optional" />


</xsd:complexType>
</xsd:element>
<xsd:element name="createarrangement_caDetails">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="createarrangement_ca"
type="ns1:createarrangement_ca" minOccurs="0" nillable="true" />
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string" use="optional" />
<xsd:attribute name="index" type="xsd:string" use="optional" />
</xsd:complexType>
</xsd:element>
<xsd:element name="amendcrcontactlog">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="category" minOccurs="0" nillable="true">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="6" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="currency" type="ns0:t24Currency" minOccurs="0"
nillable="true" />
<xsd:element name="customer" minOccurs="0" nillable="true">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="10" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string" use="optional" />
<xsd:attribute name="index" type="xsd:string" use="optional" />
</xsd:complexType>
</xsd:element>
</xsd:schema>

AATest-createarrangement_ca.xsd
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.temenos.com/T24/inflow/AATest/createarrangement_ca"
elementFormDefault="qualified"
targetNamespace="http://www.temenos.com/T24/inflow/AATest/createarrangement_ca"
xmlns:ns1="http://www.temenos.com/T24/inflow/AATest/createarrangement_ca/aaarrangem
entactivity"
xmlns:ns2="http://www.temenos.com/T24/inflow/AATest/createarrangement_ca/aaarrchargeaa_d
ormancyfees"
xmlns:ns3="http://www.temenos.com/T24/inflow/AATest/createarrangement_ca/aaarrcharg
eaa_withdrawalfees"
xmlns:ns4="http://www.temenos.com/T24/inflow/AATest/createarrangement_ca/aaarrdormancyaa
_dormancy">

129 Madhioli Duraisamy /Technology


Inflow User Guide

<xsd:import
namespace="http://www.temenos.com/T24/inflow/AATest/createarrangement_ca/aaarrangementac
tivity"
schemaLocation="createarrangement_ca-aaarrangementactivity.xsd" />
<xsd:import
namespace="http://www.temenos.com/T24/inflow/AATest/createarrangement_ca/aaarrchargeaa_d
ormancyfees"
schemaLocation="createarrangement_ca-aaarrchargeaa_dormancyfees.xsd" />
<xsd:import
namespace="http://www.temenos.com/T24/inflow/AATest/createarrangement_ca/aaarrchargeaa_w
ithdrawalfees"
schemaLocation="createarrangement_ca-aaarrchargeaa_withdrawalfees.xsd" />
<xsd:import
namespace="http://www.temenos.com/T24/inflow/AATest/createarrangement_ca/aaarrdormancyaa
_dormancy"
schemaLocation="createarrangement_ca-aaarrdormancyaa_dormancy.xsd" />
<xsd:complexType name="createarrangement_ca">
<xsd:sequence>
<xsd:element name="aaarrangementactivity"
type="ns1:aaarrangementactivity" minOccurs="0" nillable="true" />
<xsd:element name="aaarrchargeaa_dormancyfees"
type="ns2:aaarrchargeaa_dormancyfees" minOccurs="0"
nillable="true" />
<xsd:element name="aaarrchargeaa_withdrawalfees"
type="ns3:aaarrchargeaa_withdrawalfees" minOccurs="0"
nillable="true" />
<xsd:element name="aaarrdormancyaa_dormancy"
type="ns4:aaarrdormancyaa_dormancy" minOccurs="0" nillable="true" />
</xsd:sequence>
</xsd:complexType>
</xsd:schema>

createarrangement_ca-aaarrangementactivity.xsd
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.temenos.com/T24/inflow/AATest/createarrangement_ca/aaarrangementactivi
ty"
elementFormDefault="qualified"
targetNamespace="http://www.temenos.com/T24/inflow/AATest/createarrangement_ca/aaarrange
mentactivity"
xmlns:ns0="http://www.temenos.com/T24/inflow/Common/dataTypes">
<xsd:import namespace="http://www.temenos.com/T24/inflow/Common/dataTypes"
schemaLocation="Common-dataTypes.xsd" />
<xsd:complexType name="aaarrangementactivity">
<xsd:sequence>
<xsd:element name="aaArrangementActivityactivity" minOccurs="0"
nillable="true">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="80" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="aaArrangementActivityadjustment" minOccurs="0"
nillable="true">

130 Madhioli Duraisamy /Technology


Inflow User Guide

<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="55" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>

createarrangement_ca-aaarrchargeaa_dormancyfees.xsd
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.temenos.com/T24/inflow/AATest/createarrangement_ca/aaarrchargeaa_
dormancyfees" elementFormDefault="qualified"
targetNamespace="http://www.temenos.com/T24/inflow/AATest/createarrangement_ca/aaar
rchargeaa_dormancyfees" xmlns:ns0="http://www.temenos.com/T24/inflow/Common/dataTypes">
<xsd:import namespace="http://www.temenos.com/T24/inflow/Common/dataTypes"
schemaLocation="Common-dataTypes.xsd" />
<xsd:complexType name="aaarrchargeaa_dormancyfees">
<xsd:sequence>
<xsd:element name="aaArrChargeaatierMinChargeGroupParent" minOccurs="0"
maxOccurs="1">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="aaArrChargeaatierMinChargeGroup"
minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element
name="aaArrChargeaatierMinCharge" minOccurs="0" nillable="true">
<xsd:simpleType>
<xsd:restriction
base="xsd:string">
<xsd:maxLength value="19"
/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element
name="aaArrChargeaatierMaxCharge" minOccurs="0" nillable="true">
<xsd:simpleType>
<xsd:restriction
base="xsd:string">
<xsd:maxLength value="19"
/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
<xsd:attribute type="xsd:integer"
use="optional" name="index" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>

131 Madhioli Duraisamy /Technology


Inflow User Guide

</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>

createarrangement_ca-aaarrchargeaa_withdrawalfees.xsd
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.temenos.com/T24/inflow/AATest/createarrangement_ca/aaarrchargeaa_
withdrawalfees" elementFormDefault="qualified"
targetNamespace="http://www.temenos.com/T24/inflow/AATest/createarrangement_ca/aaar
rchargeaa_withdrawalfees"
xmlns:ns0="http://www.temenos.com/T24/inflow/Common/dataTypes">
<xsd:import namespace="http://www.temenos.com/T24/inflow/Common/dataTypes"
schemaLocation="Common-dataTypes.xsd" />
<xsd:complexType name="aaarrchargeaa_withdrawalfees">
<xsd:sequence>
<xsd:element name="aaArrChargeaatierMinChargeGroupParent" minOccurs="0"
maxOccurs="1">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="aaArrChargeaatierMinChargeGroup"
minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element
name="aaArrChargeaatierMinCharge" minOccurs="0" nillable="true">
<xsd:simpleType>
<xsd:restriction
base="xsd:string">
<xsd:maxLength value="19"
/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element
name="aaArrChargeaatierMaxCharge" minOccurs="0" nillable="true">
<xsd:simpleType>
<xsd:restriction
base="xsd:string">
<xsd:maxLength value="19"
/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
<xsd:attribute type="xsd:integer"
use="optional" name="index" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>

132 Madhioli Duraisamy /Technology


Inflow User Guide

</xsd:complexType>
</xsd:schema>

createarrangement_ca-aaarrdormancyaa_dormancy.xsd
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.temenos.com/T24/inflow/AATest/createarrangement_ca/aaarrdormancya
a_dormancy" elementFormDefault="qualified"
targetNamespace="http://www.temenos.com/T24/inflow/AATest/createarrangement_ca/aaar
rdormancyaa_dormancy" xmlns:ns0="http://www.temenos.com/T24/inflow/Common/dataTypes">
<xsd:import namespace="http://www.temenos.com/T24/inflow/Common/dataTypes"
schemaLocation="Common-dataTypes.xsd" />
<xsd:complexType name="aaarrdormancyaa_dormancy">
<xsd:sequence>
<xsd:element name="aaArrDormancyaastatusGroupParent" minOccurs="0"
maxOccurs="1">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="aaArrDormancyaastatusGroup"
minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="aaArrDormancyaastatus"
minOccurs="0" nillable="true">
<xsd:simpleType>
<xsd:restriction
base="xsd:string">
<xsd:maxLength value="10"
/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="aaArrDormancyaaperiod"
minOccurs="0" nillable="true">
<xsd:simpleType>
<xsd:restriction
base="xsd:string">
<xsd:maxLength value="4" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
<xsd:attribute type="xsd:integer"
use="optional" name="index" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>

133 Madhioli Duraisamy /Technology


Inflow User Guide

Common-dataTypes.xsd
<xsd:schema targetNamespace="http://www.temenos.com/T24/inflow/Common/dataTypes"
elementFormDefault="qualified"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.temenos.com/T24/inflow/Common/dataTypes">
<xsd:simpleType name="t24CurrencyType">
<xsd:restriction base="xsd:string">
<xsd:pattern value="[A-Z]{3}" />
<xsd:maxLength value="3" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="t24DataRemovalPattern">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="-" />
<xsd:enumeration value="|-|" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="t24Decimal">
<xsd:union memberTypes="t24DataRemovalPattern xsd:decimal" />
</xsd:simpleType>
<xsd:simpleType name="t24Date">
<xsd:union memberTypes="t24DataRemovalPattern xsd:date" />
</xsd:simpleType>
<xsd:simpleType name="t24Currency">
<xsd:union memberTypes="t24DataRemovalPattern t24CurrencyType" />
</xsd:simpleType>
</xsd:schema>

Common-RequestCommon.xsd
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.temenos.com/T24/inflow/Common/RequestCommon"
elementFormDefault="qualified"
targetNamespace="http://www.temenos.com/T24/inflow/Common/RequestCommon">
<xsd:complexType name="RequestCommon">
<xsd:sequence>
<xsd:element name="requestType" type="xsd:string" minOccurs="0"
maxOccurs="1" />
<xsd:element name="companyCode" type="xsd:string" minOccurs="0"
maxOccurs="1" />
<xsd:element name="userName" type="xsd:string" minOccurs="0"
maxOccurs="1" />
<xsd:element name="messageId" type="xsd:string" minOccurs="0"
maxOccurs="1" />
<xsd:element name="timestamp" type="xsd:string" minOccurs="0"
maxOccurs="1" />
<xsd:element name="transactionMode" type="xsd:string" minOccurs="0"
maxOccurs="1" />
<xsd:element name="replace" type="xsd:string" minOccurs="0" maxOccurs="1"
/>
<xsd:element name="replaceFieldIndicator" type="xsd:string" minOccurs="0"
maxOccurs="1" />
<xsd:element name="sequenceNumber" type="xsd:string" minOccurs="0"
maxOccurs="1" />

134 Madhioli Duraisamy /Technology


Inflow User Guide

<xsd:element name="sequenceCheckType" type="xsd:string" minOccurs="0"


maxOccurs="1" />
<xsd:element name="customCommon" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="name" type="xsd:string" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="t24CurrencyType">
<xsd:restriction base="xsd:string">
<xsd:pattern value="[A-Z]{3}" />
<xsd:maxLength value="3" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="t24DataRemovalPattern">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="-" />
<xsd:enumeration value="|-|" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="t24Decimal">
<xsd:union memberTypes="t24DataRemovalPattern xsd:decimal" />
</xsd:simpleType>
<xsd:simpleType name="t24Date">
<xsd:union memberTypes="t24DataRemovalPattern xsd:date" />
</xsd:simpleType>
<xsd:simpleType name="t24Currency">
<xsd:union memberTypes="t24DataRemovalPattern t24CurrencyType" />
</xsd:simpleType>
</xsd:schema>

AATest-ContainerNewInflowDesign.xsd
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
targetNamespace="http://www.temenos.com/T24/inflow/AATest/ContainerNewInflowDesign"
xmlns:ns1="http://www.temenos.com/T24/inflow/AATest/NewInflowDesign"
xmlns:container="http://www.temenos.com/T24/inflow/AATest/ContainerNewInflowDesign"
>
<xsd:import namespace="http://www.temenos.com/T24/inflow/AATest/NewInflowDesign"
schemaLocation="AATest-NewInflowDesign.xsd" />
<xsd:element name="inflowContainer">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="containerId" type="xsd:string" minOccurs="0"
maxOccurs="1" />
<xsd:element name="containerTimestamp" type="xsd:string"
minOccurs="0" maxOccurs="1" />
<xsd:element name="containerDataSource" type="xsd:string"
minOccurs="0" maxOccurs="1" />

135 Madhioli Duraisamy /Technology


Inflow User Guide

<xsd:element name="bulkIndicator" type="xsd:string" minOccurs="0"


maxOccurs="1" />
<xsd:element name="tenantId" type="xsd:string" minOccurs="0"
maxOccurs="1" />
<xsd:element name="inflowRequest" type="container:inflowRequestType"
minOccurs="1" maxOccurs="1" />
<xsd:element name="containerCustomCommon" minOccurs="0"
maxOccurs="unbounded">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="name" type="xsd:string" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="inflowRequestType">
<xsd:sequence>
<xsd:element ref="ns1:NewInflowDesign" minOccurs="1"
maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:schema>

136 Madhioli Duraisamy /Technology


Inflow User Guide

Inflow without PW
AATest-NewInflowDesign1.xsd
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.temenos.com/T24/inflow/AATest/NewInflowDesign1"
elementFormDefault="qualified"
targetNamespace="http://www.temenos.com/T24/inflow/AATest/NewInflowDesign1"
xmlns:ns0="http://www.temenos.com/T24/inflow/Common/RequestCommon"
xmlns:ns1="http://www.temenos.com/T24/inflow/NewInflowDesign1/aaarrangementactivity"
xmlns:ns2="http://www.temenos.com/T24/inflow/NewInflowDesign1/aaarrchargeaa_dormancyfees"
xmlns:ns3="http://www.temenos.com/T24/inflow/NewInflowDesign1/aaarrchargeaa_withdrawalfees"
xmlns:ns4="http://www.temenos.com/T24/inflow/NewInflowDesign1/aaarrdormancyaa_dormancy"
xmlns:ns5="http://www.temenos.com/T24/inflow/NewInflowDesign1/aaarrtaxaa_tax">
<xsd:import namespace="http://www.temenos.com/T24/inflow/Common/RequestCommon"
schemaLocation="Common-RequestCommon.xsd" />
<xsd:import namespace="http://www.temenos.com/T24/inflow/NewInflowDesign1/aaarrangementactivity"
schemaLocation="NewInflowDesign1-aaarrangementactivity.xsd" />
<xsd:import
namespace="http://www.temenos.com/T24/inflow/NewInflowDesign1/aaarrchargeaa_dormancyfees"
schemaLocation="NewInflowDesign1-aaarrchargeaa_dormancyfees.xsd" />
<xsd:import
namespace="http://www.temenos.com/T24/inflow/NewInflowDesign1/aaarrchargeaa_withdrawalfees"
schemaLocation="NewInflowDesign1-aaarrchargeaa_withdrawalfees.xsd" />
<xsd:import
namespace="http://www.temenos.com/T24/inflow/NewInflowDesign1/aaarrdormancyaa_dormancy"
schemaLocation="NewInflowDesign1-aaarrdormancyaa_dormancy.xsd" />
<xsd:import namespace="http://www.temenos.com/T24/inflow/NewInflowDesign1/aaarrtaxaa_tax"
schemaLocation="NewInflowDesign1-aaarrtaxaa_tax.xsd" />
<xsd:element name="NewInflowDesign1">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="requestCommonDetails" minOccurs="1" maxOccurs="1" />
<xsd:element ref="aaarrangementactivitytestDetails" minOccurs="1"
maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="requestCommonDetails">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="requestCommon" type="ns0:RequestCommon" minOccurs="0"
nillable="true" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="aaarrangementactivitytestDetails">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="aaarrangementactivity" type="ns1:aaarrangementactivity"
minOccurs="0" nillable="true" />
<xsd:element name="aaarrchargeaa_dormancyfees"
type="ns2:aaarrchargeaa_dormancyfees" minOccurs="0"
nillable="true" />

137 Madhioli Duraisamy /Technology


Inflow User Guide

<xsd:element name="aaarrchargeaa_withdrawalfees"
type="ns3:aaarrchargeaa_withdrawalfees" minOccurs="0"
nillable="true" />
<xsd:element name="aaarrdormancyaa_dormancy" type="ns4:aaarrdormancyaa_dormancy"
minOccurs="0" nillable="true" />
<xsd:element name="aaarrtaxaa_tax" type="ns5:aaarrtaxaa_tax" minOccurs="0"
nillable="true" />
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string" use="optional" />
<xsd:attribute name="index" type="xsd:string" use="optional" />
</xsd:complexType>
</xsd:element>
</xsd:schema>

NewInflowDesign1-aaarrangementactivity.xsd
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.temenos.com/T24/inflow/NewInflowDesign1/aaarrangementactivity"
elementFormDefault="qualified"
targetNamespace="http://www.temenos.com/T24/inflow/NewInflowDesign1/aaarrangementactivity"
xmlns:ns0="http://www.temenos.com/T24/inflow/Common/dataTypes">
<xsd:import namespace="http://www.temenos.com/T24/inflow/Common/dataTypes"
schemaLocation="Common-dataTypes.xsd" />
<xsd:complexType name="aaarrangementactivity">
<xsd:sequence>
<xsd:element name="aaArrangementActivityactivity" minOccurs="0" nillable="true">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="80" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="aaArrangementActivityadjustment" minOccurs="0" nillable="true">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="55" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>

NewInflowDesign1-aaarrchargeaa_dormancyfees.xsd
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.temenos.com/T24/inflow/NewInflowDesign1/aaarrchargeaa_dormancyfees"
elementFormDefault="qualified"
targetNamespace="http://www.temenos.com/T24/inflow/NewInflowDesign1/aaarrchargeaa_dormancyfees"
xmlns:ns0="http://www.temenos.com/T24/inflow/Common/dataTypes">
<xsd:import namespace="http://www.temenos.com/T24/inflow/Common/dataTypes"
schemaLocation="Common-dataTypes.xsd" />
<xsd:complexType name="aaarrchargeaa_dormancyfees">

138 Madhioli Duraisamy /Technology


Inflow User Guide

<xsd:sequence>
<xsd:element name="aaArrChargeaatierMinChargeGroupParent" minOccurs="0"
maxOccurs="1">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="aaArrChargeaatierMinChargeGroup" minOccurs="0"
maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="aaArrChargeaatierMinCharge"
minOccurs="0" nillable="true">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="19" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="aaArrChargeaatierMaxCharge"
minOccurs="0" nillable="true">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="19" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
<xsd:attribute type="xsd:integer" use="optional"
name="index" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>

NewInflowDesign1-aaarrchargeaa_withdrawalfees.xsd
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.temenos.com/T24/inflow/NewInflowDesign1/aaarrchargeaa_withdrawalfees"
elementFormDefault="qualified"
targetNamespace="http://www.temenos.com/T24/inflow/NewInflowDesign1/aaarrchargeaa_withdrawalfees"
xmlns:ns0="http://www.temenos.com/T24/inflow/Common/dataTypes">
<xsd:import namespace="http://www.temenos.com/T24/inflow/Common/dataTypes"
schemaLocation="Common-dataTypes.xsd" />
<xsd:complexType name="aaarrchargeaa_withdrawalfees">
<xsd:sequence>
<xsd:element name="aaArrChargeaatierMinChargeGroupParent" minOccurs="0"
maxOccurs="1">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="aaArrChargeaatierMinChargeGroup" minOccurs="0"
maxOccurs="unbounded">
<xsd:complexType>

139 Madhioli Duraisamy /Technology


Inflow User Guide

<xsd:sequence>
<xsd:element name="aaArrChargeaatierMinCharge"
minOccurs="0" nillable="true">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="19" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="aaArrChargeaatierMaxCharge"
minOccurs="0" nillable="true">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="19" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
<xsd:attribute type="xsd:integer" use="optional"
name="index" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>

NewInflowDesign1-aaarrdormancyaa_dormancy.xsd
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.temenos.com/T24/inflow/NewInflowDesign1/aaarrdormancyaa_dormancy"
elementFormDefault="qualified"
targetNamespace="http://www.temenos.com/T24/inflow/NewInflowDesign1/aaarrdormancyaa_dormancy"
xmlns:ns0="http://www.temenos.com/T24/inflow/Common/dataTypes">
<xsd:import namespace="http://www.temenos.com/T24/inflow/Common/dataTypes"
schemaLocation="Common-dataTypes.xsd" />
<xsd:complexType name="aaarrdormancyaa_dormancy">
<xsd:sequence>
<xsd:element name="aaArrDormancyaastatusGroupParent" minOccurs="0" maxOccurs="1">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="aaArrDormancyaastatusGroup" minOccurs="0"
maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="aaArrDormancyaastatus"
minOccurs="0" nillable="true">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="10" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>

140 Madhioli Duraisamy /Technology


Inflow User Guide

<xsd:element name="aaArrDormancyaaperiod"
minOccurs="0" nillable="true">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="4" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
<xsd:attribute type="xsd:integer" use="optional"
name="index" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>

NewInflowDesign1-aaarrtaxaa_tax.xsd
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.temenos.com/T24/inflow/NewInflowDesign1/aaarrtaxaa_tax"
elementFormDefault="qualified"
targetNamespace="http://www.temenos.com/T24/inflow/NewInflowDesign1/aaarrtaxaa_tax"
xmlns:ns0="http://www.temenos.com/T24/inflow/Common/dataTypes">
<xsd:import namespace="http://www.temenos.com/T24/inflow/Common/dataTypes"
schemaLocation="Common-dataTypes.xsd" />
<xsd:simpleType name="aaArrTaxaataxConditionType">
<xsd:restriction base="xsd:string">
<xsd:maxLength value="16" />
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="aaarrtaxaa_tax">
<xsd:sequence>
<xsd:element name="aaArrTaxaataxCodeGroupParent" minOccurs="0" maxOccurs="1">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="aaArrTaxaataxCodeGroup" minOccurs="0"
maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="aaArrTaxaataxCodeList"
minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="aaArrTaxaataxCode"
minOccurs="0" maxOccurs="unbounded" nillable="true">
<xsd:simpleType>
<xsd:restriction base="">
<xsd:maxLength value=""
/>
</xsd:restriction>
</xsd:simpleType>

141 Madhioli Duraisamy /Technology


Inflow User Guide

</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="aaArrTaxaataxConditionList"
minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element
name="aaArrTaxaataxCondition" minOccurs="0" maxOccurs="unbounded" nillable="true">
<xsd:simpleType>
<xsd:restriction
base="aaArrTaxaataxConditionType">
<xsd:maxLength
value="16" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute type="xsd:integer" use="optional"
name="index" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>

Common-RequestCommon.xsd
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.temenos.com/T24/inflow/Common/RequestCommon"
elementFormDefault="qualified"
targetNamespace="http://www.temenos.com/T24/inflow/Common/RequestCommon">
<xsd:complexType name="RequestCommon">
<xsd:sequence>
<xsd:element name="requestType" type="xsd:string" minOccurs="0" maxOccurs="1" />
<xsd:element name="companyCode" type="xsd:string" minOccurs="0" maxOccurs="1" />
<xsd:element name="userName" type="xsd:string" minOccurs="0" maxOccurs="1" />
<xsd:element name="messageId" type="xsd:string" minOccurs="0" maxOccurs="1" />
<xsd:element name="timestamp" type="xsd:string" minOccurs="0" maxOccurs="1" />
<xsd:element name="transactionMode" type="xsd:string" minOccurs="0" maxOccurs="1" />
<xsd:element name="replace" type="xsd:string" minOccurs="0" maxOccurs="1" />
<xsd:element name="replaceFieldIndicator" type="xsd:string" minOccurs="0"
maxOccurs="1" />
<xsd:element name="sequenceNumber" type="xsd:string" minOccurs="0" maxOccurs="1" />
<xsd:element name="sequenceCheckType" type="xsd:string" minOccurs="0" maxOccurs="1"
/>
<xsd:element name="customCommon" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>

142 Madhioli Duraisamy /Technology


Inflow User Guide

<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="name" type="xsd:string" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="t24CurrencyType">
<xsd:restriction base="xsd:string">
<xsd:pattern value="[A-Z]{3}" />
<xsd:maxLength value="3" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="t24DataRemovalPattern">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="-" />
<xsd:enumeration value="|-|" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="t24Decimal">
<xsd:union memberTypes="t24DataRemovalPattern xsd:decimal" />
</xsd:simpleType>
<xsd:simpleType name="t24Date">
<xsd:union memberTypes="t24DataRemovalPattern xsd:date" />
</xsd:simpleType>
<xsd:simpleType name="t24Currency">
<xsd:union memberTypes="t24DataRemovalPattern t24CurrencyType" />
</xsd:simpleType>
</xsd:schema>

Common-dataTypes.xsd
<xsd:schema targetNamespace="http://www.temenos.com/T24/inflow/Common/dataTypes"
elementFormDefault="qualified"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.temenos.com/T24/inflow/Common/dataTypes">
<xsd:simpleType name="t24CurrencyType">
<xsd:restriction base="xsd:string">
<xsd:pattern value="[A-Z]{3}" />
<xsd:maxLength value="3" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="t24DataRemovalPattern">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="-" />
<xsd:enumeration value="|-|" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="t24Decimal">
<xsd:union memberTypes="t24DataRemovalPattern xsd:decimal" />
</xsd:simpleType>
<xsd:simpleType name="t24Date">
<xsd:union memberTypes="t24DataRemovalPattern xsd:date" />
</xsd:simpleType>

143 Madhioli Duraisamy /Technology


Inflow User Guide

<xsd:simpleType name="t24Currency">
<xsd:union memberTypes="t24DataRemovalPattern t24CurrencyType" />
</xsd:simpleType>
</xsd:schema>

Sample Inflow Requests


According to the section Types of Inflow Request there are three types of requests in inflow which are
shown below.

Inflow with PW
Below attached is a sample Request.xml
<?xml version="1.0" encoding="UTF-8"?>
<container:inflowContainer
xmlns:container="http://www.temenos.com/T24/inflow/testInflow/ContainerwithPwFinal"
xmlns:p="http://www.temenos.com/T24/inflow/testInflow/withPwFinal"
xmlns:p1="http://www.temenos.com/T24/inflow/Common/RequestCommon"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.temenos.com/T24/inflow/testInflow/ContainerwithPwFinal
testInflow-ContainerwithPwFinal.xsd ">
<container:containerId></container:containerId>
<container:containerTimestamp></container:containerTimestamp>
<container:containerDataSource></container:containerDataSource>
<container:inflowRequest>
<p:withPwFinal>
<p:requestCommonDetails>
<p:requestCommon>
<p1:requestType>With Pw</p1:requestType>
<p1:companyCode>GB0010001</p1:companyCode>

144 Madhioli Duraisamy /Technology


Inflow User Guide

<p1:userName>SSOUSER1</p1:userName>
<p1:messageId>9191</p1:messageId>
<p1:timestamp></p1:timestamp>
<p1:transactionMode></p1:transactionMode>
<p1:customCommon name=""></p1:customCommon>
</p:requestCommon>
</p:requestCommonDetails>
<p:createcrcontactlog_cccl id="" index="">
<p:mnemonic>KALAI</p:mnemonic>
<p:name1List>
<p:name1 language="">ROCKSON</p:name1>
</p:name1List>
<p:shortNameList>
<p:shortName language="">KALAIROC</p:shortName>
</p:shortNameList>
<p:sector>1001</p:sector>
<p:language>1</p:language>
</p:createcrcontactlog_cccl>
<p:amendcrcontactlog id="" index="">
<p:customer>100100</p:customer>
<p:currency>USD</p:currency>
<p:category>1001</p:category>
</p:amendcrcontactlog>
</p:withPwFinal>
</container:inflowRequest>
<container:containerCustomCommon name=""></container:containerCustomCommon>
</container:inflowContainer>

Inflow without PW
Below attached is a sample Request.xml
<?xml version="1.0" encoding="UTF-8"?>
<container:inflowContainer
xmlns:container="http://www.temenos.com/T24/inflow/testFinal/ContainerInflowNoPwFinal
" xmlns:p="http://www.temenos.com/T24/inflow/testFinal/InflowNoPwFinal"
xmlns:p1="http://www.temenos.com/T24/inflow/Common/RequestCommon"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.temenos.com/T24/inflow/testFinal/ContainerInflowNoPwFi
nal testFinal-ContainerInflowNoPwFinal.xsd ">
<container:containerId></container:containerId>
<container:containerTimestamp></container:containerTimestamp>

145 Madhioli Duraisamy /Technology


Inflow User Guide

<container:containerDataSource></container:containerDataSource>
<container:inflowRequest>
<p:InflowNoPwFinal>
<p:requestCommonDetails>
<p:requestCommon>
<p1:requestType>No pw</p1:requestType>
<p1:companyCode>GB0010001</p1:companyCode>
<p1:userName>SSOUSER1</p1:userName>
<p1:messageId>45433</p1:messageId>
<p1:timestamp></p1:timestamp>
<p1:transactionMode></p1:transactionMode>
<p1:customCommon name=""></p1:customCommon>
</p:requestCommon>
</p:requestCommonDetails>
<p:accountafinput id="" index="">
<p:customer>100100</p:customer>
<p:category>1001</p:category>
<p:currency>USD</p:currency>
</p:accountafinput>
</p:InflowNoPwFinal>
</container:inflowRequest>
<container:containerCustomCommon name=""></container:containerCustomCommon>
</container:inflowContainer>

Generic-OFS
Below attached is a sample Request.xml
<?xml version="1.0" encoding="utf-8"?>
<inflowContainer
xmlns="http://www.temenos.com/T24/inflow/Generic/ContainerOFS"
xmlns:ns0="http://www.temenos.com/T24/inflow/Common/RequestCommon">
<containerId>12</containerId>
<containerTimestamp>12</containerTimestamp>
<containerDataSource>testGenericOFS</containerDataSource>
<inflowRequest>
<OFS xmlns="http://www.temenos.com/T24/inflow/Generic/OFS">
<requestCommonDetails>
<requestCommon>

146 Madhioli Duraisamy /Technology


Inflow User Guide

<ns0:companyCode>GB0010001</ns0:companyCode>
<ns0:userName>SSOUSER1</ns0:userName>
<ns0:messageId>00201</ns0:messageId>
<ns0:requestType>generic-ofs</ns0:requestType>
<ns0:timestamp/>
<ns0:transactionMode/>
<ns0:customCommon name="TEST"/>
</requestCommon>
</requestCommonDetails>
<ofsRequestsDetails>
<ofsRequests>ACCOUNT,/I/PROCESS//,SSOUSER1//GB0010001///,,CUSTOMER:1:1=100113,C
URRENCY:1:1=USD,CATEGORY:1:1=1001</ofsRequests>
</ofsRequestsDetails>
</OFS>
</inflowRequest>
<containerCustomCommon/>
</inflowContainer>

Update inflow requests sample:


In inflow to delete a field value ‘-’ (Non-AA application) or |-| (AA application) is used and to clear field
value xsi:nil="true" is used. Below are the various inflow request samples to update the existing record
either by removing a value or clearing a value in a field. Inflow mandates the index attribute to be filled to
denote the position in T24, without which the entire multi-value or associated multi-value and sub-value to
be sent to T24 for successful processing of the record.
Note: The purpose of this document is to provide samples on how to construct input when an update
request to be sent to T24 for removing field value or multi-valued field from a T24 record. The tag name
does not denote a direct any T24 field Name, but it is selected in such a way there is a field with similar
name is available in T24 for easy understanding with the field types. There could be sample that cannot
be applied for all fields in T24, where the underlying application has its own restrictions like no position in
a multi-value field can be left blank, whereas there is a sample that shows how to pass such input. Please
check the T24 restriction for selecting the right request format.

Multi-Value Field:
Delete first value in a multi-value field

<container:inflowContainer xmlns:container="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInflowDesign"
xmlns:p="http://www.temenos.com/T24/inflow/InFlowEnhTest2/NewInflowDesign"
xmlns:p1="http://www.temenos.com/T24/inflow/Common/RequestCommon"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInflowDesign
../../../InFlowEnhTest2/schemas/NewInflowDesign/InFlowEnhTest2-ContainerNewInflowDesign.xsd ">
<container:inflowRequest>
<p:NewInflowDesign>

147 Madhioli Duraisamy /Technology


Inflow User Guide

<p:requestCommonDetails>
<p:requestCommon>
<p1:requestType>with pw</p1:requestType>
<p1:companyCode>GB0010001</p1:companyCode>
<p1:userName>SSOUSER1</p1:userName>
<p1:messageId>ZMULREM00</p1:messageId>
</p:requestCommon>
</p:requestCommonDetails>
<p:customercreation_cc id="140100" index="">
<p:postingRestrictList>
<p:postingRestrict index="1">-</p:postingRestrict>
<p:postingRestrict index="2">2</p:postingRestrict>
<p:postingRestrict index="3">3</p:postingRestrict>
<p:postingRestrict index="4">4</p:postingRestrict>
<p:postingRestrict index="5">5</p:postingRestrict>
<p:postingRestrict index="6">6</p:postingRestrict>
</p:postingRestrictList>
</p:customercreation_cc>
</p:NewInflowDesign>
</container:inflowRequest>
</container:inflowContainer>

Delete the entire multi-value set:


In T24, when deleting the entire multi-value set, the first field value alone would be cleared. Hence the
field is passed as nillable field and the rest of the position value is set as “-“
<container:inflowContainer
xmlns:container="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInflowDesign"
xmlns:p="http://www.temenos.com/T24/inflow/InFlowEnhTest2/NewInflowDesign"
xmlns:p1="http://www.temenos.com/T24/inflow/Common/RequestCommon"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInflowDesign
../../../InFlowEnhTest2/schemas/NewInflowDesign/InFlowEnhTest2-ContainerNewInflowDesign.xsd ">
<container:inflowRequest>
<p:NewInflowDesign>
<p:requestCommonDetails>
<p:requestCommon>
<p1:requestType>with pw</p1:requestType>
<p1:companyCode>GB0010001</p1:companyCode>
<p1:userName>SSOUSER1</p1:userName>

148 Madhioli Duraisamy /Technology


Inflow User Guide

<p1:messageId>ZMULREM00</p1:messageId>
</p:requestCommon>
</p:requestCommonDetails>
<p:customercreation_cc id="140100" index="">
<p:postingRestrictList>
<p:postingRestrict index="1" xsi:nil=”true/>
<p:postingRestrict index="2">-</p:postingRestrict>
<p:postingRestrict index="3">-</p:postingRestrict>
<p:postingRestrict index="4">-</p:postingRestrict>
<p:postingRestrict index="5">-</p:postingRestrict>
<p:postingRestrict index="6">-</p:postingRestrict>
</p:postingRestrictList>
</p:customercreation_cc>
</p:NewInflowDesign>
</container:inflowRequest>
</container:inflowContainer>

Clearing values of one of the multivalue field position:


<container:inflowContainer
xmlns:container="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInflowDesign"
xmlns:p="http://www.temenos.com/T24/inflow/InFlowEnhTest2/NewInflowDesign"
xmlns:p1="http://www.temenos.com/T24/inflow/Common/RequestCommon"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInflowDesign
../../../InFlowEnhTest2/schemas/NewInflowDesign/InFlowEnhTest2-ContainerNewInflowDesign.xsd ">
<container:inflowRequest>
<p:NewInflowDesign>
<p:requestCommonDetails>
<p:requestCommon>
<p1:requestType>with pw</p1:requestType>
<p1:companyCode>GB0010001</p1:companyCode>
<p1:userName>SSOUSER1</p1:userName>
<p1:messageId>ZMULREM00</p1:messageId>
</p:requestCommon>
</p:requestCommonDetails>
<p:customercreation_cc id="140100" index="">
<p:postingRestrictList>
<p:postingRestrict index="2" xsi:nil=”true”/>
</p:postingRestrictList>
</p:customercreation_cc>
</p:NewInflowDesign>
</container:inflowRequest>
</container:inflowContainer>

149 Madhioli Duraisamy /Technology


Inflow User Guide

To update a single value in the multi-value set:


<container:inflowContainer
xmlns:container="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInflowDesign"
xmlns:p="http://www.temenos.com/T24/inflow/InFlowEnhTest2/NewInflowDesign"
xmlns:p1="http://www.temenos.com/T24/inflow/Common/RequestCommon"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInflowDesign
../../../InFlowEnhTest2/schemas/NewInflowDesign/InFlowEnhTest2-ContainerNewInflowDesign.xsd ">
<container:inflowRequest>
<p:NewInflowDesign>
<p:requestCommonDetails>
<p:requestCommon>
<p1:requestType>with pw</p1:requestType>
<p1:companyCode>GB0010001</p1:companyCode>
<p1:userName>SSOUSER1</p1:userName>
<p1:messageId>ZMULREM02</p1:messageId>
</p:requestCommon>
</p:requestCommonDetails>
<p:customercreation_cc id="140102" index="">
<p:postingRestrictList>
<p:postingRestrict index="2">8</p:postingRestrict>
</p:postingRestrictList>>
</p:customercreation_cc>
</p:NewInflowDesign>
</container:inflowRequest>
</container:inflowContainer>

Associated Multi-Value Set:


To remove few values from one associated multi-value set:
<container:inflowContainer
xmlns:container="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInflowDesign"
xmlns:p="http://www.temenos.com/T24/inflow/InFlowEnhTest2/NewInflowDesign"
xmlns:p1="http://www.temenos.com/T24/inflow/Common/RequestCommon"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInflowDesign
../../../InFlowEnhTest2/schemas/NewInflowDesign/InFlowEnhTest2-ContainerNewInflowDesign.xsd ">
<container:containerId></container:containerId>
<container:containerTimestamp></container:containerTimestamp>
<container:containerDataSource></container:containerDataSource>
<container:inflowRequest>
<p:NewInflowDesign>
<p:requestCommonDetails>
<p:requestCommon>
<p1:requestType>with pw</p1:requestType>
<p1:companyCode>GB0010001</p1:companyCode>

150 Madhioli Duraisamy /Technology


Inflow User Guide

<p1:userName>SSOUSER1</p1:userName>
<p1:messageId>ZMULREM07</p1:messageId>
</p:requestCommon>
</p:requestCommonDetails>
<p:customercreation_cc id="140100" index="">
<p:phone1GroupParent>
<p:phone1Group index="1">
<p:phone1 xsi:nil="true"/>
<p:email1 xsi:nil="true"/>
</p:phone1Group>
</p:phone1GroupParent>
</p:customercreation_cc>
</p:NewInflowDesign>
</container:inflowRequest>
</container:inflowContainer>

To delete an entire associated multi-value set:


<container:inflowContainer xmlns:container="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInflowDesign"
xmlns:p="http://www.temenos.com/T24/inflow/InFlowEnhTest2/NewInflowDesign"
xmlns:p1="http://www.temenos.com/T24/inflow/Common/RequestCommon"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInflowDesign
../../../InFlowEnhTest2/schemas/NewInflowDesign/InFlowEnhTest2-ContainerNewInflowDesign.xsd ">
<container:containerId></container:containerId>
<container:containerTimestamp></container:containerTimestamp>
<container:containerDataSource></container:containerDataSource>
<container:inflowRequest>
<p:NewInflowDesign>
<p:requestCommonDetails>
<p:requestCommon>
<p1:requestType>with pw</p1:requestType>
<p1:companyCode>GB0010001</p1:companyCode>
<p1:userName>SSOUSER1</p1:userName>
<p1:messageId>ZMULREM08</p1:messageId>
</p:requestCommon>
</p:requestCommonDetails>
<p:customercreation_cc id="140101" index="">
<p:phone1GroupParent>
<p:phone1Group index="1">
<p:phone1>1111</p:phone1>
<p:sms1>111-SMS</p:sms1>

151 Madhioli Duraisamy /Technology


Inflow User Guide

<p:email1>[email protected]</p:email1>
<p:addrLocation>PRIMARY</p:addrLocation>
</p:phone1Group>
<p:phone1Group index="2">
<p:phone1>-</p:phone1>
</p:phone1Group>
<p:phone1Group index="3">
<p:phone1>3333</p:phone1>
<p:sms1>333-SMS</p:sms1>
<p:email1>[email protected]</p:email1>
<p:addrLocation>SECONDARY</p:addrLocation>
</p:phone1Group>
</p:phone1GroupParent>
</p:customercreation_cc>
</p:NewInflowDesign>
</container:inflowRequest>
</container:inflowContainer>

To delete all the associated multi-value groups:

<container:inflowContainer
xmlns:container="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInflowDesign"
xmlns:p="http://www.temenos.com/T24/inflow/InFlowEnhTest2/NewInflowDesign"
xmlns:p1="http://www.temenos.com/T24/inflow/Common/RequestCommon" xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance" xsi:schemaLocation="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInflowDesign
../../../InFlowEnhTest2/schemas/NewInflowDesign/InFlowEnhTest2-ContainerNewInflowDesign.xsd ">
<container:inflowRequest>
<p:NewInflowDesign>
<p:requestCommonDetails>
<p:requestCommon>
<p1:requestType>with pw</p1:requestType>
<p1:companyCode>GB0010001</p1:companyCode>
<p1:userName>SSOUSER1</p1:userName>
<p1:messageId>ZMULREM12</p1:messageId>
</p:requestCommon>
</p:requestCommonDetails>
<p:customercreation_cc id="140103" index="">
<p:phone1GroupParent>
<p:phone1Group index="1">
<p:phone1 xsi:nil="true"/>
<p:sms1 xsi:nil="true"/>
<p:email1 xsi:nil="true"/>
<p:addrLocation xsi:nil="true"/>

152 Madhioli Duraisamy /Technology


Inflow User Guide

</p:phone1Group>
<p:phone1Group index="2">
<p:phone1>-</p:phone1>
</p:phone1Group>
<p:phone1Group index="3">
<p:phone1>-</p:phone1>
</p:phone1Group>
</p:phone1GroupParent>
</p:customercreation_cc>
</p:NewInflowDesign>
</container:inflowRequest>
</container:inflowContainer>

Multi-Language Field:
To delete all the values:
<container:inflowContainer
xmlns:container="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInflowDesign"
xmlns:p="http://www.temenos.com/T24/inflow/InFlowEnhTest2/NewInflowDesign"
xmlns:p1="http://www.temenos.com/T24/inflow/Common/RequestCommon"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInflowDesign
../../../InFlowEnhTest2/schemas/NewInflowDesign/InFlowEnhTest2-ContainerNewInflowDesign.xsd ">
<container:inflowRequest>
<p:NewInflowDesign>
<p:requestCommonDetails>
<p:requestCommon>
<p1:requestType>with pw</p1:requestType>
<p1:companyCode>GB0010001</p1:companyCode>
<p1:userName>SSOUSER1</p1:userName>
<p1:messageId>ZMULREM23</p1:messageId>
</p:requestCommon>
</p:requestCommonDetails>
<p:customercreation_cc id="140101" index="">
<p:shortNameList>
<p:shortName language="GB" xsi:nil="true" />
<p:shortName language="FR">-</p:shortName>
<p:shortName language="DE">-</p:shortName>
<p:shortName language="ES">-</p:shortName>
</p:shortNameList>
</p:customercreation_cc>
</p:NewInflowDesign>

153 Madhioli Duraisamy /Technology


Inflow User Guide

</container:inflowRequest>
</container:inflowContainer>

To clear only one value:


<container:inflowContainer
xmlns:container="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInflowDesign"
xmlns:p="http://www.temenos.com/T24/inflow/InFlowEnhTest2/NewInflowDesign"
xmlns:p1="http://www.temenos.com/T24/inflow/Common/RequestCommon"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInflowDesign
../../../InFlowEnhTest2/schemas/NewInflowDesign/InFlowEnhTest2-ContainerNewInflowDesign.xsd ">
<container:inflowRequest>
<p:NewInflowDesign>
<p:requestCommonDetails>
<p:requestCommon>
<p1:requestType>with pw</p1:requestType>
<p1:companyCode>GB0010001</p1:companyCode>
<p1:userName>SSOUSER1</p1:userName>
<p1:messageId>ZMULREM23</p1:messageId>
</p:requestCommon>
</p:requestCommonDetails>
<p:customercreation_cc id="140101" index="">
<p:shortNameList>
<p:shortName language="FR" xsi:nil="true"/>
</p:shortNameList>
</p:customercreation_cc>
</p:NewInflowDesign>
</container:inflowRequest>
</container:inflowContainer>

To delete one value:


<container:inflowContainer
xmlns:container="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInflowDesign"
xmlns:p="http://www.temenos.com/T24/inflow/InFlowEnhTest2/NewInflowDesign"
xmlns:p1="http://www.temenos.com/T24/inflow/Common/RequestCommon"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInflowDesign
../../../InFlowEnhTest2/schemas/NewInflowDesign/InFlowEnhTest2-ContainerNewInflowDesign.xsd ">
<container:inflowRequest>
<p:NewInflowDesign>
<p:requestCommonDetails>
<p:requestCommon>

154 Madhioli Duraisamy /Technology


Inflow User Guide

<p1:requestType>with pw</p1:requestType>
<p1:companyCode>GB0010001</p1:companyCode>
<p1:userName>SSOUSER1</p1:userName>
<p1:messageId>ZMULREM23</p1:messageId>
</p:requestCommon>
</p:requestCommonDetails>
<p:customercreation_cc id="140101" index="">
<p:shortNameList>
<p:shortName language="GB">GB Name</p:shortName>
<p:shortName language="FR">-</p:shortName>
<p:shortName language="DE">DE Name</p:shortName>
<p:shortName language="ES">ES Name</p:shortName>
</p:shortNameList>
</p:customercreation_cc>
</p:NewInflowDesign>
</container:inflowRequest>
</container:inflowContainer>

Multi-Value, Multi-Language Field:


To clear value from one field:
<container:inflowContainer
xmlns:container="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInflowDesign"
xmlns:p="http://www.temenos.com/T24/inflow/InFlowEnhTest2/NewInflowDesign"
xmlns:p1="http://www.temenos.com/T24/inflow/Common/RequestCommon"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInflowDesign
../../../InFlowEnhTest2/schemas/NewInflowDesign/InFlowEnhTest2-ContainerNewInflowDesign.xsd ">
<container:inflowRequest>
<p:NewInflowDesign>
<p:requestCommonDetails>
<p:requestCommon>
<p1:requestType>with pw</p1:requestType>
<p1:companyCode>GB0010001</p1:companyCode>
<p1:userName>SSOUSER1</p1:userName>
<p1:messageId>ZMULREM22</p1:messageId>
</p:requestCommon>
</p:requestCommonDetails>
<p:customercreation_cc id="140100" index="">
<p:addressGroup>
<p:addressList>
<p:address index="2" language="FR" xsi:nil="true" />
</p:addressList>

155 Madhioli Duraisamy /Technology


Inflow User Guide

</p:addressGroup>
</p:customercreation_cc>
</p:NewInflowDesign>
</container:inflowRequest>
</container:inflowContainer>

To Delete a value from the first set:


<container:inflowContainer xmlns:container="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInflowDesign"
xmlns:p="http://www.temenos.com/T24/inflow/InFlowEnhTest2/NewInflowDesign"
xmlns:p1="http://www.temenos.com/T24/inflow/Common/RequestCommon"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInflowDesign
../../../InFlowEnhTest2/schemas/NewInflowDesign/InFlowEnhTest2-ContainerNewInflowDesign.xsd ">
<container:inflowRequest>
<p:NewInflowDesign>
<p:requestCommonDetails>
<p:requestCommon>
<p1:requestType>with pw</p1:requestType>
<p1:companyCode>GB0010001</p1:companyCode>
<p1:userName>SSOUSER1</p1:userName>
<p1:messageId>ZMULREM23</p1:messageId>
</p:requestCommon>
</p:requestCommonDetails>
<p:customercreation_cc id="140101" index="">
<p:addressGroup>
<p:addressList>
<p:address index="1" language="GB">ADDRESS-GB1</p:address>
<p:address index="1" language="FR">-</p:address>
<p:address index="1" language="DE">ADDRESS-DE1</p:address>
<p:address index="1" language="ES">ADDRESS-ES1</p:address>
</p:addressList>
<p:addressList>
<p:address index="2" language="GB">ADDRESS-GB2</p:address>
<p:address index="2" language="FR">ADDRESS-FR2</p:address>
<p:address index="2" language="DE">ADDRESS-DE2</p:address>
<p:address index="2" language="ES">ADDRESS-ES2</p:address>
</p:addressList>
</p:addressGroup>
</p:customercreation_cc>
</p:NewInflowDesign>
</container:inflowRequest>

156 Madhioli Duraisamy /Technology


Inflow User Guide

</container:inflowContainer>

To delete the entire first set:


<container:inflowContainer
xmlns:container="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInflowDesign"
xmlns:p="http://www.temenos.com/T24/inflow/InFlowEnhTest2/NewInflowDesign"
xmlns:p1="http://www.temenos.com/T24/inflow/Common/RequestCommon"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInflowDesign
../../../InFlowEnhTest2/schemas/NewInflowDesign/InFlowEnhTest2-ContainerNewInflowDesign.xsd ">
<container:inflowRequest>
<p:NewInflowDesign>
<p:requestCommonDetails>
<p:requestCommon>
<p1:requestType>with pw</p1:requestType>
<p1:companyCode>GB0010001</p1:companyCode>
<p1:userName>SSOUSER1</p1:userName>
<p1:messageId>ZMULREM23</p1:messageId>
</p:requestCommon>
</p:requestCommonDetails>
<p:customercreation_cc id="140101" index="">
<p:addressGroup>
<p:addressList>
<p:address index="1" language="GB">-</p:address>
<p:address index="1" language="FR">-</p:address>
<p:address index="1" language="DE">-</p:address>
<p:address index="1" language="ES">-</p:address>
`
</p:addressList>
<p:addressList>
<p:address index="2" language="GB">ADDRESS-GB2</p:address>
<p:address index="2" language="FR">ADDRESS-FR2</p:address>
<p:address index="2" language="DE">ADDRESS-DE2</p:address>
<p:address index="2" language="ES">ADDRESS-ES2</p:address>
</p:addressList>
</p:addressGroup>
</p:customercreation_cc>
</p:NewInflowDesign>
</container:inflowRequest>
</container:inflowContainer>

157 Madhioli Duraisamy /Technology


Inflow User Guide

To Delete the entire multi-value, multi-language set:


<container:inflowContainer
xmlns:container="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInflowDesign"
xmlns:p="http://www.temenos.com/T24/inflow/InFlowEnhTest2/NewInflowDesign"
xmlns:p1="http://www.temenos.com/T24/inflow/Common/RequestCommon"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInflowDesign
../../../InFlowEnhTest2/schemas/NewInflowDesign/InFlowEnhTest2-ContainerNewInflowDesign.xsd ">
<container:inflowRequest>
<p:NewInflowDesign>
<p:requestCommonDetails>
<p:requestCommon>
<p1:requestType>with pw</p1:requestType>
<p1:companyCode>GB0010001</p1:companyCode>
<p1:userName>SSOUSER1</p1:userName>
<p1:messageId>ZMULREM23</p1:messageId>
</p:requestCommon>
</p:requestCommonDetails>
<p:customercreation_cc id="140101" index="">
<p:addressGroup>
<p:addressList>
<p:address index="1" language="GB" xsi:nil="true" />
<p:address index="1" language="FR">-</p:address>
<p:address index="1" language="DE">-</p:address>
<p:address index="1" language="ES">-</p:address>
</p:addressList>
<p:addressList>
<p:address index="2" language="GB">-</p:address>
<p:address index="2" language="FR">-</p:address>
<p:address index="2" language="DE">-</p:address>
<p:address index="2" language="ES">-</p:address>

</p:addressList>
</p:addressGroup>
</p:customercreation_cc>
</p:NewInflowDesign>
</container:inflowRequest>
</container:inflowContainer>

Sub Value Field


To remove few values from a list field under associated multi value set:

<container:inflowContainer xmlns:container="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInflowDesign"
xmlns:p="http://www.temenos.com/T24/inflow/InFlowEnhTest2/NewInflowDesign"

158 Madhioli Duraisamy /Technology


Inflow User Guide

xmlns:p1="http://www.temenos.com/T24/inflow/Common/RequestCommon" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInflowDesign
../../../InFlowEnhTest2/schemas/NewInflowDesign/InFlowEnhTest2-ContainerNewInflowDesign.xsd ">
<container:inflowRequest>
<p:NewInflowDesign>
<p:requestCommonDetails>
<p:requestCommon>
<p1:requestType>with pw</p1:requestType>
<p1:companyCode>GB0010001</p1:companyCode>
<p1:userName>SSOUSER1</p1:userName>
<p1:messageId>ZMULREM14</p1:messageId>

</p:requestCommon>
</p:requestCommonDetails>
<p:customercreation_cc id="140100" index="">
<p:employmentStatusGroupParent>
<p:employmentStatusGroup index="1">
<p:employmentStatus>EMPLOYED</p:employmentStatus>
<p:occupation>Occupation1</p:occupation>
<p:jobTitle>CONSULTANT</p:jobTitle>
<p:employersName>EMPNAME1</p:employersName>
<p:employersAddList>
<p:employersAdd>-</p:employersAdd>
<p:employersAdd>EMPADDRESS12</p:employersAdd>
<p:employersAdd>-</p:employersAdd>
<p:employersAdd>EMPADDRESS14</p:employersAdd>
</p:employersAddList>
<p:employersBuss>EMPBUSS1</p:employersBuss>
<p:employmentStart>17 APR 2018</p:employmentStart>
<p:customerCurrency>AED</p:customerCurrency>
<p:salary>10000</p:salary>
<p:annualBonus>1000</p:annualBonus>
<p:salaryDateFreq>20190417DAILY</p:salaryDateFreq>
</p:employmentStatusGroup>
<p:employmentStatusGroup index="2">
<p:employmentStatus>EMPLOYED</p:employmentStatus>
<p:occupation>Occupation2</p:occupation>
<p:jobTitle>CONSULTANT</p:jobTitle>
<p:employersName>EMPNAME2</p:employersName>
<p:employersAddList>
<p:employersAdd>EMPADDRESS21</p:employersAdd>
<p:employersAdd>EMPADDRESS22</p:employersAdd>
<p:employersAdd>EMPADDRESS23</p:employersAdd>
<p:employersAdd>EMPADDRESS24</p:employersAdd>

159 Madhioli Duraisamy /Technology


Inflow User Guide

</p:employersAddList>
<p:employersBuss>EMPBUSS2</p:employersBuss>
<p:employmentStart>17 APR 2018</p:employmentStart>
<p:customerCurrency>AED</p:customerCurrency>
<p:salary>20000</p:salary>
<p:annualBonus>2000</p:annualBonus>
<p:salaryDateFreq>20190417DAILY</p:salaryDateFreq>
</p:employmentStatusGroup>
<p:employmentStatusGroup index="3">
<p:employmentStatus>EMPLOYED</p:employmentStatus>
<p:occupation>Occupation3</p:occupation>
<p:jobTitle>CONSULTANT</p:jobTitle>
<p:employersName>EMPNAME3</p:employersName>
<p:employersAddList>
<p:employersAdd>EMPADDRESS31</p:employersAdd>
<p:employersAdd>EMPADDRESS32</p:employersAdd>
<p:employersAdd>EMPADDRESS33</p:employersAdd>
<p:employersAdd>EMPADDRESS34</p:employersAdd>
</p:employersAddList>
<p:employersBuss>EMPBUSS3</p:employersBuss>
<p:employmentStart>17 APR 2018</p:employmentStart>
<p:customerCurrency>AED</p:customerCurrency>
<p:salary>30000</p:salary>
<p:annualBonus>3000</p:annualBonus>
<p:salaryDateFreq>20190417DAILY</p:salaryDateFreq>
</p:employmentStatusGroup>
</p:employmentStatusGroupParent>
</p:customercreation_cc>
</p:NewInflowDesign>
</container:inflowRequest>
</container:inflowContainer>

To remove all values from a list field under associated multi value set:

<container:inflowContainer xmlns:container="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInflowDesign"
xmlns:p="http://www.temenos.com/T24/inflow/InFlowEnhTest2/NewInflowDesign"
xmlns:p1="http://www.temenos.com/T24/inflow/Common/RequestCommon" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInflowDesign
../../../InFlowEnhTest2/schemas/NewInflowDesign/InFlowEnhTest2-ContainerNewInflowDesign.xsd ">
<container:inflowRequest>
<p:NewInflowDesign>
<p:requestCommonDetails>
<p:requestCommon>
<p1:requestType>with pw</p1:requestType>

160 Madhioli Duraisamy /Technology


Inflow User Guide

<p1:companyCode>GB0010001</p1:companyCode>
<p1:userName>SSOUSER1</p1:userName>
<p1:messageId>ZMULREM14</p1:messageId>
</p:requestCommon>
</p:requestCommonDetails>
<p:customercreation_cc id="140100" index="">
<p:employmentStatusGroupParent>
<p:employmentStatusGroup index="1">
<p:employmentStatus>EMPLOYED</p:employmentStatus>
<p:occupation>Occupation1</p:occupation>
<p:jobTitle>CONSULTANT</p:jobTitle>
<p:employersName>EMPNAME1</p:employersName>
<p:employersAddList>
<p:employersAdd>EMPADDRESS11</p:employersAdd>
<p:employersAdd>EMPADDRESS12</p:employersAdd>
<p:employersAdd>EMPADDRESS13</p:employersAdd>
<p:employersAdd>EMPADDRESS14</p:employersAdd>
</p:employersAddList>
<p:employersBuss>EMPBUSS1</p:employersBuss>
<p:employmentStart>17 APR 2018</p:employmentStart>
<p:customerCurrency>AED</p:customerCurrency>
<p:salary>10000</p:salary>
<p:annualBonus>1000</p:annualBonus>
<p:salaryDateFreq>20190417DAILY</p:salaryDateFreq>
</p:employmentStatusGroup>
<p:employmentStatusGroup index="2">
<p:employmentStatus>EMPLOYED</p:employmentStatus>
<p:occupation>Occupation2</p:occupation>
<p:jobTitle>CONSULTANT</p:jobTitle>
<p:employersName>EMPNAME2</p:employersName>
<p:employersAddList>
<p:employersAdd xsi:nil="true"/>
<p:employersAdd>-</p:employersAdd>
<p:employersAdd>-</p:employersAdd>
<p:employersAdd>-</p:employersAdd>
</p:employersAddList>
<p:employersBuss>EMPBUSS2</p:employersBuss>
<p:employmentStart>17 APR 2018</p:employmentStart>
<p:customerCurrency>AED</p:customerCurrency>
<p:salary>20000</p:salary>
<p:annualBonus>2000</p:annualBonus>
<p:salaryDateFreq>20190417DAILY</p:salaryDateFreq>
</p:employmentStatusGroup>

161 Madhioli Duraisamy /Technology


Inflow User Guide

<p:employmentStatusGroup index="3">
<p:employmentStatus>EMPLOYED</p:employmentStatus>
<p:occupation>Occupation3</p:occupation>
<p:jobTitle>CONSULTANT</p:jobTitle>
<p:employersName>EMPNAME3</p:employersName>
<p:employersAddList>
<p:employersAdd>EMPADDRESS31</p:employersAdd>
<p:employersAdd>EMPADDRESS32</p:employersAdd>
<p:employersAdd>EMPADDRESS33</p:employersAdd>
<p:employersAdd>EMPADDRESS34</p:employersAdd>
</p:employersAddList>
<p:employersBuss>EMPBUSS3</p:employersBuss>
<p:employmentStart>17 APR 2018</p:employmentStart>
<p:customerCurrency>AED</p:customerCurrency>
<p:salary>30000</p:salary>
<p:annualBonus>3000</p:annualBonus>
<p:salaryDateFreq>20190417DAILY</p:salaryDateFreq>
</p:employmentStatusGroup>
</p:employmentStatusGroupParent>
</p:customercreation_cc>
</p:NewInflowDesign>
</container:inflowRequest>
</container:inflowContainer>

Clearing a value in a subgroup[ field:

<container:inflowContainer
xmlns:container="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInflowDesign"
xmlns:p="http://www.temenos.com/T24/inflow/InFlowEnhTest2/NewInflowDesign"
xmlns:p1="http://www.temenos.com/T24/inflow/Common/RequestCommon"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInflowDesign
../../../InFlowEnhTest2/schemas/NewInflowDesign/InFlowEnhTest2-ContainerNewInflowDesign.xsd ">
<container:inflowRequest>
<p:NewInflowDesign>
<p:requestCommonDetails>
<p:requestCommon>
<p1:requestType>with pw</p1:requestType>
<p1:companyCode>GB0010001</p1:companyCode>
<p1:userName>SSOUSER1</p1:userName>
<p1:messageId>ZMULREM21</p1:messageId>
</p:requestCommon>
</p:requestCommonDetails>
<p:customercreation_cc id="140103" index="">

162 Madhioli Duraisamy /Technology


Inflow User Guide

<p:relationCodeGroupParent>
<p:relationCodeGroup index="1">
<p:relDelivOptSubGroupParent>
<p:relDelivOptSubGroup index="2">
<p:role xsi:nil="true" />
</p:relDelivOptSubGroup>
</p:relDelivOptSubGroupParent>
</p:relationCodeGroup>
</p:relationCodeGroupParent>
</p:customercreation_cc>
</p:NewInflowDesign>
</container:inflowRequest>
</container:inflowContainer>

To delete one subgroup:

<container:inflowContainer
xmlns:container="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInflow
Design" xmlns:p="http://www.temenos.com/T24/inflow/InFlowEnhTest2/NewInflowDesign"
xmlns:p1="http://www.temenos.com/T24/inflow/Common/RequestCommon"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInf
lowDesign ../../../InFlowEnhTest2/schemas/NewInflowDesign/InFlowEnhTest2-
ContainerNewInflowDesign.xsd ">
<container:inflowRequest>
<p:NewInflowDesign>
<p:requestCommonDetails>
<p:requestCommon>
<p1:requestType>with pw</p1:requestType>
<p1:companyCode>GB0010001</p1:companyCode>
<p1:userName>SSOUSER1</p1:userName>
<p1:messageId>ZMULREM19</p1:messageId>
</p:requestCommon>
</p:requestCommonDetails>
<p:customercreation_cc id="140101" index="">
<p:relationCodeGroupParent>
<p:relationCodeGroup index="1">
<p:relationCode>1</p:relationCode>
<p:relCustomer>190185</p:relCustomer>
<p:relDelivOptSubGroupParent>
<p:relDelivOptSubGroup index="1">

163 Madhioli Duraisamy /Technology


Inflow User Guide

<p:relDelivOpt>-</p:relDelivOpt>
</p:relDelivOptSubGroup>
<p:relDelivOptSubGroup index="2">
<p:relDelivOpt>A.2</p:relDelivOpt>
<p:role>20</p:role>
<p:roleMoreInfo>Print2</p:roleMoreInfo>
<p:roleNotes>Notes2</p:roleNotes>
</p:relDelivOptSubGroup>
<p:relDelivOptSubGroup index="3">
<p:relDelivOpt>A.3</p:relDelivOpt>
<p:role>30</p:role>
<p:roleMoreInfo>Print3</p:roleMoreInfo>
<p:roleNotes>Notes3</p:roleNotes>
</p:relDelivOptSubGroup>
</p:relDelivOptSubGroupParent>
</p:relationCodeGroup>
</p:relationCodeGroupParent>
</p:customercreation_cc>
</p:NewInflowDesign>
</container:inflowRequest>
</container:inflowContainer>

Delete all the subgroup fields from one associated multi value set:

<container:inflowContainer
xmlns:container="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInflow
Design" xmlns:p="http://www.temenos.com/T24/inflow/InFlowEnhTest2/NewInflowDesign"
xmlns:p1="http://www.temenos.com/T24/inflow/Common/RequestCommon"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.temenos.com/T24/inflow/InFlowEnhTest2/ContainerNewInf
lowDesign ../../../InFlowEnhTest2/schemas/NewInflowDesign/InFlowEnhTest2-
ContainerNewInflowDesign.xsd ">
<container:inflowRequest>
<p:NewInflowDesign>
<p:requestCommonDetails>
<p:requestCommon>
<p1:requestType>with pw</p1:requestType>
<p1:companyCode>GB0010001</p1:companyCode>
<p1:userName>SSOUSER1</p1:userName>

164 Madhioli Duraisamy /Technology


Inflow User Guide

<p1:messageId>ZMULREM20</p1:messageId>
</p:requestCommon>
</p:requestCommonDetails>
<p:customercreation_cc id="140102" index="">
<p:relationCodeGroupParent>
<p:relationCodeGroup index="1">
<p:relDelivOptSubGroupParent>
<p:relDelivOptSubGroup index="1">
<p:relDelivOpt xsi:nil="true"/>
<p:role xsi:nil="true"/>
<p:roleMoreInfo xsi:nil="true"/>
<p:roleNotes xsi:nil="true"/>
</p:relDelivOptSubGroup>
<p:relDelivOptSubGroup index="2">
<p:relDelivOpt>-</p:relDelivOpt>
</p:relDelivOptSubGroup>
<p:relDelivOptSubGroup index="3">
<p:relDelivOpt>-</p:relDelivOpt>
</p:relDelivOptSubGroup>
</p:relDelivOptSubGroupParent>
</p:relationCodeGroup>
</p:relationCodeGroupParent>
</p:customercreation_cc>

</p:NewInflowDesign>
</container:inflowRequest>
</container:inflowContainer>

Sample AA inflow XML to delete few values from a record:

<container:inflowContainer
xmlns:container="http://www.temenos.com/T24/inflow/UpdateAccount/ContainerNewInflowDe
sign" xmlns:p="http://www.temenos.com/T24/inflow/UpdateAccount/NewInflowDesign"
xmlns:p1="http://www.temenos.com/T24/inflow/Common/RequestCommon"
xmlns:p10="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarragentcommissionaa_r
ewards.points"
xmlns:p11="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarrbalancemaintenancea
a_balance.maintenance"
xmlns:p12="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarrchangeproductaa_ren

165 Madhioli Duraisamy /Technology


Inflow User Guide

ewal"
xmlns:p13="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarrchargeaa_withdrawal
fees"
xmlns:p14="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarrchargeoverrideaa_ch
arge.override"
xmlns:p15="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarrclosureaa_closure"
xmlns:p16="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarrcustomeraadeposit_c
ustomer"
xmlns:p17="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarrinterestaa_depositi
nt"
xmlns:p18="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarrofficersaa_officers
"
xmlns:p19="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarrpaymentrulesaa_pr.d
eposit"
xmlns:p2="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarrangementactivity"
xmlns:p20="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarrpaymentscheduleaatd
_schedule"
xmlns:p21="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarrreportingaa_reporti
ng"
xmlns:p22="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarrsettlementaabasicsa
d_settlement"
xmlns:p23="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarrtermamountaa_commit
ment" xmlns:p24="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarrtaxaa_tax"
xmlns:p3="http://www.temenos.com/T24/inflow/Common/dataTypes"
xmlns:p4="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarrchargeaafixed_redemp
tionfee"
xmlns:p5="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarrchargeaaroutine_with
drawalfee"
xmlns:p6="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarraccountaa_account"
xmlns:p7="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarractivitymessagingaa_
messaging"
xmlns:p8="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarractivityrestrictiona
a_arrangement.rules"
xmlns:p9="http://www.temenos.com/T24/inflow/NewInflowDesign/aaarragentcommissionaa_ag
ent.commission" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.temenos.com/T24/inflow/UpdateAccount/ContainerNewInflo
wDesign UpdateAccount-ContainerNewInflowDesign.xsd ">
<container:containerId/>
<container:containerTimestamp/>
<container:containerDataSource/>
<container:bulkIndicator/>
<container:tenantId/>
<container:inflowRequest>
<p:NewInflowDesign>
<p:requestCommonDetails>
<p:requestCommon>
<p1:requestType>no pw</p1:requestType>
<p1:companyCode/>
<p1:userName>SSOUSER1</p1:userName>
<p1:messageId>AA0051</p1:messageId>
<p1:timestamp/>
<p1:transactionMode/>
<p1:replace/>
<p1:replaceFieldIndicator/>
<p1:sequenceNumber/>
<p1:customCommon name=""/>
</p:requestCommon>

166 Madhioli Duraisamy /Technology


Inflow User Guide

</p:requestCommonDetails>
<p:aaarrangementactivityupdateaccountDetails id="" index="">
<p:aaarrangementactivity>

<p2:aaArrangementActivityarrangement>AA19107QLBL1</p2:aaArrangementActivityarra
ngement>
<p2:aaArrangementActivitycustomerGroupParent>
<p2:aaArrangementActivitycustomerGroup index="1">

<p2:aaArrangementActivitycustomer>100285</p2:aaArrangementActivitycustomer>
</p2:aaArrangementActivitycustomerGroup>
</p2:aaArrangementActivitycustomerGroupParent>

<p2:aaArrangementActivitycurrency>USD</p2:aaArrangementActivitycurrency>
</p:aaarrangementactivity>
<p:aaarrsettlementaabasicsad_settlement>
<p22:aaArrSettlementaaBasicsAdpayinSettlementGroupParent>
<p22:aaArrSettlementaaBasicsAdpayinSettlementGroup
index="0">

<p22:aaArrSettlementaaBasicsAdddMandateRefSubGroupParent>

<p22:aaArrSettlementaaBasicsAdddMandateRefSubGroup index="0">

<p22:aaArrSettlementaaBasicsAdpayinAccount>87588</p22:aaArrSettlementaaBasicsAd
payinAccount>

</p22:aaArrSettlementaaBasicsAdddMandateRefSubGroup>

</p22:aaArrSettlementaaBasicsAdddMandateRefSubGroupParent>
</p22:aaArrSettlementaaBasicsAdpayinSettlementGroup>
</p22:aaArrSettlementaaBasicsAdpayinSettlementGroupParent>
<p22:aaArrSettlementaaBasicsAdpayoutSettlementGroupParent>
<p22:aaArrSettlementaaBasicsAdpayoutSettlementGroup
index="1">

<p22:aaArrSettlementaaBasicsAdpayoutAccountSubGroupParent>

<p22:aaArrSettlementaaBasicsAdpayoutAccountSubGroup index="1">

<p22:aaArrSettlementaaBasicsAdpayoutAccount>87588</p22:aaArrSettlementaaBasicsA
dpayoutAccount>

</p22:aaArrSettlementaaBasicsAdpayoutAccountSubGroup>

<p22:aaArrSettlementaaBasicsAdpayoutAccountSubGroup index="2">

<p22:aaArrSettlementaaBasicsAdpayoutAccount>87618</p22:aaArrSettlementaaBasicsA
dpayoutAccount>

</p22:aaArrSettlementaaBasicsAdpayoutAccountSubGroup>

<p22:aaArrSettlementaaBasicsAdpayoutAccountSubGroup index="3">

<p22:aaArrSettlementaaBasicsAdpayoutAccount>|-
|</p22:aaArrSettlementaaBasicsAdpayoutAccount>

167 Madhioli Duraisamy /Technology


Inflow User Guide

</p22:aaArrSettlementaaBasicsAdpayoutAccountSubGroup>

<p22:aaArrSettlementaaBasicsAdpayoutAccountSubGroup index="4">

<p22:aaArrSettlementaaBasicsAdpayoutAccount>|-
|</p22:aaArrSettlementaaBasicsAdpayoutAccount>

</p22:aaArrSettlementaaBasicsAdpayoutAccountSubGroup>

<p22:aaArrSettlementaaBasicsAdpayoutAccountSubGroup index="5">

<p22:aaArrSettlementaaBasicsAdpayoutAccount>|-
|</p22:aaArrSettlementaaBasicsAdpayoutAccount>

</p22:aaArrSettlementaaBasicsAdpayoutAccountSubGroup>

<p22:aaArrSettlementaaBasicsAdpayoutAccountSubGroup index="6">

<p22:aaArrSettlementaaBasicsAdpayoutAccount>87734</p22:aaArrSettlementaaBasicsA
dpayoutAccount>

</p22:aaArrSettlementaaBasicsAdpayoutAccountSubGroup>

</p22:aaArrSettlementaaBasicsAdpayoutAccountSubGroupParent>
</p22:aaArrSettlementaaBasicsAdpayoutSettlementGroup>
</p22:aaArrSettlementaaBasicsAdpayoutSettlementGroupParent>
</p:aaarrsettlementaabasicsad_settlement>
</p:aaarrangementactivityupdateaccountDetails>
</p:NewInflowDesign>
</container:inflowRequest>
<container:containerCustomCommon name=""/>
</container:inflowContainer>

Multi-Tenant

T24 TRANSACT – TAFJ multitenant architecture allows running multiple tenants within same application
deployment. All participants share same application server resources and T24 / TAFJ code base but use
separated databases and configurations. JMS resources are shared and do not differ from a regular
deployment. A common “master” database is used for T24 TRANSACT – TAFJ configuration. This
database is not used for business purpose.

The multitenant mode must be enabled through specific configuration. For these configurations, refer
TAFJ-Multitenant user guide.

168 Madhioli Duraisamy /Technology


Inflow User Guide

Figure 121: Multi-Tenant Overview

Multi-Tenant in Inflow
In inflow, Multi-tenancy is supported via a Non-ESB solution (through the JMS queue). Certain
configurations are to be done so that the request is routed to the specific tenant. To get an overview of
inflow refer inflow user guide.
Since the concept of Multi tenancy is at the repository (Database) level where each tenant has its own
Database layer, application server specific configurations remains the same as mentioned in Inflow user
guide.
Following section provides the necessary configuration that needs to be done in order to test Multi
tenancy in inflow. With respect to Multi tenancy in Inflow configurations are to be done only at the
deployable artefact (i.e. Inflow_EE.ear)

Inflow_EE configurations in JBoss


The Data Source and tenant ids are mapped directly from the TAFJ_CONFIGURATIONS table. We need
to configure ejb-jar.xml and jboss-ejb3.xml. Number of InflowListenerEJB session bean must be equal to
number of tenants configured.
I.e. if there are 3 tenants we need to configure 3 InflowListenerEJB session bean and
InflowFailureRecoveryEJB session bean where the Data Source of master session bean will point to the
data source configured (which is highlighted in the sample shown below)

169 Madhioli Duraisamy /Technology


Inflow User Guide

A sample configuration in ejb-jar.xml has been mentioned below for two tenants and 1 master Database.

<session>
<ejb-name>InflowListenerEjbTimer1</ejb-name>
<ejb-class>com.temenos.technology.Inflow.listener.ejb.InflowListener</ejb-class>
<session-type>Singleton</session-type>
<timer>
<schedule>
<second>0/5</second>
<minute>*</minute>
<hour>*</hour>
</schedule>
<timeout-method>
<method-name>pollForInflowMessage</method-name>
<method-params>
<method-param>javax.ejb.Timer</method-param>
</method-params>
</timeout-method>
<persistent>false</persistent>
</timer>
<transaction-type>Bean</transaction-type>
<env-entry>
<description>Min no of messages to be processed at a time</description>
<env-entry-name>MinInflowPollSize</env-entry-name>
<env-entry-type>java.lang.Integer</env-entry-type>
<env-entry-value>10</env-entry-value>
</env-entry>
<env-entry>
<description>Max no of messages to be processed at a time</description>
<env-entry-name>MaxInflowPollSize</env-entry-name>
<env-entry-type>java.lang.Integer</env-entry-type>
<env-entry-value>15</env-entry-value>
</env-entry>
<env-entry>
<description>Wait time before processing the same record</description>
<env-entry-name>WaitTime</env-entry-name>
<env-entry-type>java.lang.Integer</env-entry-type>
<env-entry-value>30</env-entry-value>
</env-entry>
<resource-ref>
<description>Used to get connections from T24 jdbc pool</description>
<res-ref-name>jdbc/t24DataSource</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
170 Madhioli Duraisamy /Technology
</resource-ref>
</session>
Inflow User Guide

<session>
<ejb-name>InflowListenerEjbTimer2</ejb-name>
<ejb-class>com.temenos.technology.Inflow.listener.ejb.InflowListener</ejb-class>
<session-type>Singleton</session-type>
<timer>
<schedule>
<second>0/5</second>
<minute>*</minute>
<hour>*</hour>
</schedule>
<timeout-method>
<method-name>pollForInflowMessage</method-name>
<method-params>
<method-param>javax.ejb.Timer</method-param>
</method-params>
</timeout-method>
<persistent>false</persistent>
</timer>
<transaction-type>Bean</transaction-type>
<env-entry>
<description>Min no of messages to be processed at a time</description>
<env-entry-name>MinInflowPollSize</env-entry-name>
<env-entry-type>java.lang.Integer</env-entry-type>
<env-entry-value>10</env-entry-value>
</env-entry>
<env-entry>
<description>Max no of messages to be processed at a time</description>
<env-entry-name>MaxInflowPollSize</env-entry-name>
<env-entry-type>java.lang.Integer</env-entry-type>
<env-entry-value>15</env-entry-value>
</env-entry>
<env-entry>
<description>Wait time before processing the same record</description>
<env-entry-name>WaitTime</env-entry-name>
<env-entry-type>java.lang.Integer</env-entry-type>
<env-entry-value>30</env-entry-value>
</env-entry>
<env-entry>
<description>Tenant Id</description>
<env-entry-name>tenantId</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>t1</env-entry-value>
</env-entry>
171 Madhioli Duraisamy /Technology
</session>
Inflow User Guide

<session>
<ejb-name>InflowListenerEjbTimer3</ejb-name>
<ejb-class>com.temenos.technology.Inflow.listener.ejb.InflowListener</ejb-class>
<session-type>Singleton</session-type>
<timer>
<schedule>
<second>0/5</second>
<minute>*</minute>
<hour>*</hour>
</schedule>
<timeout-method>
<method-name>pollForInflowMessage</method-name>
<method-params>
<method-param>javax.ejb.Timer</method-param>
</method-params>
</timeout-method>
<persistent>false</persistent>
</timer>
<transaction-type>Bean</transaction-type>
<env-entry>
<description>Min no of messages to be processed at a time</description>
<env-entry-name>MinInflowPollSize</env-entry-name>
<env-entry-type>java.lang.Integer</env-entry-type>
<env-entry-value>10</env-entry-value>
</env-entry>
<env-entry>
<description>Tenant Id</description>
<env-entry-name>tenantId</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>t2</env-entry-value>
</env-entry>
</session>

172 Madhioli Duraisamy /Technology


Inflow User Guide

<session>
<ejb-name>InflowFailureRecoveryEjbTimer1</ejb-name>
<ejb-class>com.temenos.technology.Inflow.failure.recovery.ejb.InflowFailureRecoveryTimer </ejb-
class>
<session-type>Singleton</session-type>
<timer>
<schedule>
<second>0/5</second>
<minute>*</minute>
<hour>*</hour>
</schedule>
<timeout-method>
<method-name>pollForFailedRetriableMessage</method-name>
<method-params>
<method-param>javax.ejb.Timer</method-param>
</method-params>
</timeout-method>
<persistent>false</persistent>
</timer>
<transaction-type>Bean</transaction-type>
<env-entry>
<description>Wait time before processing the same record</description>
<env-entry-name>RetryWaitTime</env-entry-name>
<env-entry-type>java.lang.Integer</env-entry-type>
<env-entry-value>30</env-entry-value>
</env-entry>
<env-entry>
<description>Maximum number of times a failed message is eligible for
processing</description>
<env-entry-name>RetryCount</env-entry-name>
<env-entry-type>java.lang.Integer</env-entry-type>
<env-entry-value>3</env-entry-value>
</env-entry>
<resource-ref>
<description>Used to get connections from T24 jdbc pool</description>
<res-ref-name>jdbc/t24DataSource</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</session>

173 Madhioli Duraisamy /Technology


Inflow User Guide

<session>
<ejb-name>InflowFailureRecoveryEjbTimer2</ejb-name>
<ejb-class>com.temenos.technology.Inflow.failure.recovery.ejb.InflowFailureRecoveryTimer </ejb-
class>
<session-type>Singleton</session-type>
<timer>
<schedule>
<second>0/5</second>
<minute>*</minute>
<hour>*</hour>
</schedule>
<timeout-method>
<method-name>pollForFailedRetriableMessage</method-name>
<method-params>
<method-param>javax.ejb.Timer</method-param>
</method-params>
</timeout-method>
<persistent>false</persistent>
</timer>
<transaction-type>Bean</transaction-type>
<env-entry>
<description>Wait time before processing the same record</description>
<env-entry-name>RetryWaitTime</env-entry-name>
<env-entry-type>java.lang.Integer</env-entry-type>
<env-entry-value>30</env-entry-value>
</env-entry>
<env-entry>
<description>Maximum number of times a failed message is eligible for
processing</description>
<env-entry-name>RetryCount</env-entry-name>
<env-entry-type>java.lang.Integer</env-entry-type>
<env-entry-value>3</env-entry-value>
</env-entry>
<env-entry>
<description>Tenant Id</description>
<env-entry-name>tenantId</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>t1</env-entry-value>
</env-entry>
</session>

174 Madhioli Duraisamy /Technology


Inflow User Guide

<session>
<ejb-name>InflowFailureRecoveryEjbTimer3</ejb-name>
<ejb-class>com.temenos.technology.Inflow.failure.recovery.ejb.InflowFailureRecoveryTimer </ejb-
class>
<session-type>Singleton</session-type>
<timer>
<schedule>
<second>0/5</second>
<minute>*</minute>
<hour>*</hour>
</schedule>
<timeout-method>
<method-name>pollForFailedRetriableMessage</method-name>
<method-params>
<method-param>javax.ejb.Timer</method-param>
</method-params>
</timeout-method>
<persistent>false</persistent>
</timer>
<transaction-type>Bean</transaction-type>
<env-entry>
<description>Wait time before processing the same record</description>
<env-entry-name>RetryWaitTime</env-entry-name>
<env-entry-type>java.lang.Integer</env-entry-type>
<env-entry-value>30</env-entry-value>
</env-entry>
<env-entry>
<description>Maximum number of times a failed message is eligible for
processing</description>
<env-entry-name>RetryCount</env-entry-name>
<env-entry-type>java.lang.Integer</env-entry-type>
<env-entry-value>3</env-entry-value>
</env-entry>
<env-entry>
<description>Tenant Id</description>
<env-entry-name>tenantId</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>t2</env-entry-value>
</env-entry>
</session>

175 Madhioli Duraisamy /Technology


Inflow User Guide

The Sample configuration in jboss-ejb3.xml is available below:

<session>
<ejb-name>InflowListenerEjbTimer1</ejb-name>
<resource-ref>
<res-ref-name>jdbc/t24DataSource</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<jndi-name>java:/jdbc/t24DS</jndi-name>
</resource-ref>
</session>

<session>
<ejb-name>InflowFailureRecoveryEjbTimer1</ejb-name>
<resource-ref>
<res-ref-name>jdbc/t24DataSource</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<jndi-name>java:/jdbc/t24DS</jndi-name>
</resource-ref>
</session>

For JBoss In the above mentioned configurations we have two tenants (say t1 and t2) and a master
database whose Data Source mapping is been done in ejb-jar.xml and jboss-ejb3.xml .

176 Madhioli Duraisamy /Technology


Inflow User Guide

Sample Inflow Requests for Multi-Tenant


According to the section Types of Inflow Request there are three types of requests in inflow which are
shown below. A new tag in request Common section is introduced which is highlighted in the sample
requests

Inflow with PW
Below attached is a sample Request.xml
<?xml version="1.0" encoding="UTF-8"?>
<container:inflowContainer
xmlns:container="http://www.temenos.com/T24/inflow/testInflow/ContainerwithPwFinal"
xmlns:p="http://www.temenos.com/T24/inflow/testInflow/withPwFinal"
xmlns:p1="http://www.temenos.com/T24/inflow/Common/RequestCommon"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.temenos.com/T24/inflow/testInflow/ContainerwithPwFinal
testInflow-ContainerwithPwFinal.xsd ">
<container:containerId></container:containerId>
<container:containerTimestamp></container:containerTimestamp>
<container:containerDataSource></container:containerDataSource>
<container:inflowRequest>
<p:withPwFinal>
<p:requestCommonDetails>
<p:requestCommon>
<p1:requestType>With Pw</p1:requestType>
<p1:companyCode>GB0010001</p1:companyCode>
<p1:userName>SSOUSER1</p1:userName>
<p1:messageId>9191</p1:messageId>
<p1:tenantId>t1</p1:tenantId>
<p1:timestamp></p1:timestamp>
<p1:transactionMode></p1:transactionMode>
<p1:customCommon name=""></p1:customCommon>
</p:requestCommon>
</p:requestCommonDetails>
<p:createcrcontactlog_cccl id="" index="">
<p:mnemonic>KALAI</p:mnemonic>
<p:name1List>
<p:name1 language="">ROCKSON</p:name1>
</p:name1List>
<p:shortNameList>
<p:shortName language="">KALAIROC</p:shortName>
</p:shortNameList>
<p:sector>1001</p:sector>

177 Madhioli Duraisamy /Technology


Inflow User Guide

<p:language>1</p:language>
</p:createcrcontactlog_cccl>
<p:amendcrcontactlog id="" index="">
<p:customer>100100</p:customer>
<p:currency>USD</p:currency>
<p:category>1001</p:category>
</p:amendcrcontactlog>
</p:withPwFinal>
</container:inflowRequest>
<container:containerCustomCommon name=""></container:containerCustomCommon>
</container:inflowContainer>

Inflow without PW
Below attached is a sample Request.xml
<?xml version="1.0" encoding="UTF-8"?>
<container:inflowContainer
xmlns:container="http://www.temenos.com/T24/inflow/testFinal/ContainerInflowNoPwFinal
" xmlns:p="http://www.temenos.com/T24/inflow/testFinal/InflowNoPwFinal"
xmlns:p1="http://www.temenos.com/T24/inflow/Common/RequestCommon"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.temenos.com/T24/inflow/testFinal/ContainerInflowNoPwFi
nal testFinal-ContainerInflowNoPwFinal.xsd ">
<container:containerId></container:containerId>
<container:containerTimestamp></container:containerTimestamp>
<container:containerDataSource></container:containerDataSource>
<container:inflowRequest>
<p:InflowNoPwFinal>
<p:requestCommonDetails>
<p:requestCommon>
<p1:requestType>No pw</p1:requestType>
<p1:companyCode>GB0010001</p1:companyCode>
<p1:userName>SSOUSER1</p1:userName>
<p1:messageId>45433</p1:messageId>
<p1:tenantId>t1</p1:tenantId>
<p1:timestamp></p1:timestamp>
<p1:transactionMode></p1:transactionMode>
<p1:customCommon name=""></p1:customCommon>
</p:requestCommon>
</p:requestCommonDetails>
<p:accountafinput id="" index="">

178 Madhioli Duraisamy /Technology


Inflow User Guide

<p:customer>100100</p:customer>
<p:category>1001</p:category>
<p:currency>USD</p:currency>
</p:accountafinput>
</p:InflowNoPwFinal>
</container:inflowRequest>
<container:containerCustomCommon name=""></container:containerCustomCommon>
</container:inflowContainer>

Generic-OFS
Below attached is a sample Request.xml
<?xml version="1.0" encoding="utf-8"?>
<inflowContainer
xmlns="http://www.temenos.com/T24/inflow/Generic/ContainerOFS"
xmlns:ns0="http://www.temenos.com/T24/inflow/Common/RequestCommon">
<containerId>12</containerId>
<containerTimestamp>12</containerTimestamp>
<containerDataSource>testGenericOFS</containerDataSource>
<inflowRequest>
<OFS xmlns="http://www.temenos.com/T24/inflow/Generic/OFS">
<requestCommonDetails>
<requestCommon>
<ns0:companyCode>GB0010001</ns0:companyCode>
<ns0:userName>SSOUSER1</ns0:userName>
<ns0:messageId>00201</ns0:messageId>
<ns0:requestType>generic-ofs</ns0:requestType>
<ns0:tenantId>t1</ns0:tenantId>
<ns0:timestamp/>
<ns0:transactionMode/>
<ns0:customCommon name="TEST"/>
</requestCommon>
</requestCommonDetails>
<ofsRequestsDetails>
<ofsRequests>ACCOUNT,/I/PROCESS//,SSOUSER1//GB0010001///,,CUSTOMER:1:1=100113,C
URRENCY:1:1=USD,CATEGORY:1:1=1001</ofsRequests>
</ofsRequestsDetails>
</OFS>
</inflowRequest>

179 Madhioli Duraisamy /Technology


Inflow User Guide

<containerCustomCommon/>
</inflowContainer>

Reference
 T24 Custom Outbound Adapter for IIB to know how to configure and use IIB outbound adapter
 Event Designer user guide for detailed steps to define and publish events to T24.
 Process workflow user guide for detailed steps to design process definition, activities, mapping
fields, state transitions etc.
 TAFJ Multitenant user guide for setting up multi tenancy in TAFJ

180 Madhioli Duraisamy /Technology

You might also like