0% found this document useful (0 votes)
117 views6 pages

Transaction Recycler

The document describes the TransactionRecycler class, which provides interfaces for modifying and processing transaction recycling in the T24 system. It includes methods for modifying capture data, sorting retry requests, processing settlements, evaluating settlements, and defining updates for T24 processing. Each method specifies parameters, expected behaviors, and error handling procedures related to transaction processing within the T24 environment.

Uploaded by

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

Transaction Recycler

The document describes the TransactionRecycler class, which provides interfaces for modifying and processing transaction recycling in the T24 system. It includes methods for modifying capture data, sorting retry requests, processing settlements, evaluating settlements, and defining updates for T24 processing. Each method specifies parameters, expected behaviors, and error handling procedures related to transaction processing within the T24 environment.

Uploaded by

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

package com.temenos.t24.api.hook.

accounting
/**
*The ContractHook component allows access to local routines which can be injected
in RC.TYPE file.
*/
public class TransactionRecycler {
/**
* This interface enables the implementer to modify RC.DETAIL record.
* This interface is invoked during the recycling process in the COB.
* This field is of YES/NO type, if it set as 'YES', then the system checks for
the local hook, otherwise it wont.
* <b>T24 Details:</b> The EB.API hook used by this interface is
HOOK.RC.TYP.CAPTURE.RTN. <br>
* Interface method for the LOC.CAPTURE.RTN field of RC.TYPE file. The hook name
must be in the form of [RC.CAPTURE.]{RC.TYPE.ID}[.LOC].<br>
* If an exception is thrown in the implementing class, the exception message
will be catalogged in the EXCEPTION.LOG.FILE in T24, since it is running in
COB.<br>
* @param incomingRecord TStructure : Record in STMT.ENTRY format, during COB
through EOD.ACCOUNTING or ST.ContractHook:HandOffFormat format, during online
process<br>
* @param aaArrangementId String : An account's arrangementId , eg
'AA16082SXNN3'<br>
* @param aaActivityEffectiveDate TDate : Activity Effective Date , eg
'20170523'<br>
* @param todayDate TDate : Today's T24 date e.g '20170420'<br>
* @param aaAccountDetails
com.temenos.t24.api.records.aaaccountdetails.AaAccountDetailsRecord : It is the
record of the AA.ACCOUNT.DETAILS<br>
* @param rcDetailRecord com.temenos.t24.api.records.rcdetail.RcDetailRecord :
It is the record of the RC.DETAIL<br>
* @param retError TString : Exceptions are thrown though this parameter<br>
*/
public void modifyRecyclingCaptureData(TStructure incomingRecord, String
aaArrangementId, TDate aaActivityEffectiveDate, TDate todayDate,
com.temenos.t24.api.records.aaaccountdetails.AaAccountDetailsRecord
aaAccountDetails, com.temenos.t24.api.records.rcdetail.RcDetailRecord
rcDetailRecord, TString retError){}

/**
* This interface enables the implementer to sort the transaction retry request
records.<br>
* The interface is invoked from the service lifecycle of RC.CYCLER at the
prioritising stage of transaction recycling.<br>
* <b>T24 Details:</b> The EB.API hook used by this interface is
RC.PRIORITY.LOC.PRTY.SORT.HOOK.<br>
* If an exception is thrown in the implementing class, the exception message
will be catalogged in the EXCEPTION.LOG.FILE table in T24 and the error passed to
the core for processing.<br>
* @param retryIds List<String> : Transaction retry request record keys which
are to be sorted and returned.<br>
* @param retryRecords List<com.temenos.t24.api.records.rcdetail.RcDetailRecord>
: Transaction retry request records which are to be sorted and returned.<br>
* @param status TString : return status. If empty, the sorted values are
taken.<br>
*/
public void sortRetryRequests(List<String> retryIds,
List<com.temenos.t24.api.records.rcdetail.RcDetailRecord> retryRecords, TString
status){}
/**
* This interface enables the implementer to process a settlement by providing
FUNDS.TRANSFER(s) or PAYMENT.ORDER(s) and updating the SETTLEMENT.STATUS,
alternatively settlement can be achieved by providing a SettlementHandoff within
the SettlementResponse to process the settlement against other accounts.<br>
* Only one form of settlement will be attempted, if SettlementHandoff
information is provided then transactionData will be ignored.<br>
* The interface is invoked from RC.CYCLER at the post-processing stage of
transaction recycling.<br>
* The implementer can provide FUNDS.TRANSFER(s) or PAYMENT.ORDER(s) to process
the settlement and set the settlement status or handoff the settlement to one or
more other accounts via the SettlementResponse.<br>
* The implementer can also modify the settlement by updating the
recycleDetailRecord, adding information or changing the settlement status.<br>
* If an error is encountered while processing the settlement or the handoff,
the SETTLEMENT.STATUS will not be updated and the Status will be updated to
indicate that an error has occurred.<br>
* <b>T24 Details:</b> The EB.API hook used by this interface is
RC.TYPE.LOC.POST.PROCESS.HOOK.<br>
* The method will be invoked when the LOC.POST.PROCESS field of RC.TYPE is set
to "YES".<br>
* The EB.API record for the method implementation must conform to the following
naming convention [RC.POST.]{RC.TYPE.ID}[.LOC].<br>
* If an exception is thrown in the implementing class an error will be raised
the SETTLEMENT.STATUS not be updated and the Status will be updated to indicate
that an error has occurred.<br>
* <br>
* @param recycleDetailId String : The RC.DETAIL record being processed<br>
* @param settlementContext
com.temenos.t24.api.complex.rc.contracthook.SettlementContext : Context information
related to settlement processing.<br>
* @param recycleDetailRecord
com.temenos.t24.api.records.rcdetail.RcDetailRecord : The RC.DETAIL record being
processed <b> Only updates to the following fields will be processed by the system
on return:</b><br> <ul> <li>SETTLE.STATUS, can be set to one of: <ul> <li>PENDING -
No settlement has happened.</li> <li>SETTLED - Fully settled.</li> <li>PARTIAL -
Partially settled.</li> <li>REJECTED - Transaction settled outside of recycle
framework.</li></ul> </li> <li> INT.NAME & INT.VALUE - name value pairs enabling
information to be shared with subsequent processing. </li> <li> LOCAL.REF - the
local reference fields of the RC.DETAIL table. To update local fields by name use
"TField field getLocalRefField('FIELD.NAME')" then "field.setValue('VALUE')" </li>
</ul><br>
* @param transactionControl
com.temenos.t24.api.complex.rc.contracthook.SettlementTransactionControl : Defines
criteria relating to the session in which the settlement is to be executed. <ul>
<li>SettlementTransactionControl.sourceId - The ID of the OFS.SOURCE used to
process the settlement, defaults to RC.PROCESS if not provided. </li>
<li>SettlementTransactionControl.errorAction - The action to carry out if an error
occurs while processing one of: <ul> <li>FATAL - to abort the transaction</li>
<li>HOLD - to place the records in HLD status. </li></ul> </ul><br>
* @param transactionData
List<com.temenos.t24.api.complex.rc.contracthook.SettlementTransactionData> : A
list of transaction data controlling how each element of the transaction is
processed. <ul> <li>SettlementTransactionData.versionId - The VERSION to be used to
process the settlement. Only versions of FUNDS.TRANSFER or PAYMENT.ORDER will be
processed all other applications will be ignored. </li>
<li>SettlementTransactionData.function - Either INPUT, AUTHORISE, REVERSE or
DELETE. Defaults to INPUT. Defaults to INPUT.</li>
<li>SettlementTransactionData.numberOfAuthoriser - Number of authorisers required
to authorise record. Defaults to the number specified on the VERSION. </li>
<li>SettlementTransactionData.transactionId - The id of the record to be processed.
Mandatory for AUTHORISE, REVERSE and DELETE. If not supplied for INPUT the system
will autogenerate an ID for supported applications. </li>
<li>SettlementTransactionData.responseId - An id by which this request can be
tracked and the response checked using DataAccess.getRequestResponse(responseId).
</li> <li>SettlementTransactionData.presentNoInputFieldsForUpdate - When true the
system will present all fields provided in the record regardless of whether the
field metadata allows input. This feature has been enabled to facilitate
applications that manipulate the field metadata at runtime and will result in a
validation error if a field is presented for input and input is not allowed at
runtime. </li> </ul><br>
* @param settlementRecords List<TStructure> : A list of records for the
correspondingindex in transactionData. A record is only required for the INPUT
function.<br>
* @return com.temenos.t24.api.complex.rc.contracthook.SettlementResponse : the
SettlementResponse containing the Status and SettlementHandoff if the settlement is
to be processed against other accounts. <ul> <li>If the Status.errorLevel is
populated the override message will be appended to the LAST.RESULT
field.</li><li>If a SettlementHandoff is specified and fails duing processing will
not be updated and the Status will be updated to indicate that an error has
occurred. </li></ul><br>
*/
public com.temenos.t24.api.complex.rc.contracthook.SettlementResponse
processSettlement(String recycleDetailId,
com.temenos.t24.api.complex.rc.contracthook.SettlementContext settlementContext,
com.temenos.t24.api.records.rcdetail.RcDetailRecord recycleDetailRecord,
com.temenos.t24.api.complex.rc.contracthook.SettlementTransactionControl
transactionControl,
List<com.temenos.t24.api.complex.rc.contracthook.SettlementTransactionData>
transactionData, List<TStructure> settlementRecords){}

/**
* This interface enables the implementer to evaluate a settlement for
processing by updating the settlement details, setting an error status or handing
off settlement for processing against other accounts.<br>
* The interface is invoked from RC.CYCLER at the pre-processing stage of
transaction recycling.<br>
* The implementer can set the settlement status or handoff the settlement to
multiple other accounts via the SettlementResponse.<br>
* The implementer can also modify the settlement by updating the
recycleDetailRecord, adding information or changing the settlement amount,
condition or priority.<br>
* <b>T24 Details:</b> The EB.API hook used by this interface is
RC.TYPE.LOC.PRE.PROCESS.HOOK. <br>
* The method will be invoked when the LOC.PRE.PROCESS field of RC.TYPE is set
to "YES".
* The EB.API record for the method implementation must conform to the following
naming convention [RC.PREP.]{RC.TYPE.ID}[.LOC].<br>
* If an exception is thrown in the implementing class an error will be raised
and the settlement rejected.<br>
* <br>
* @param recycleDetailId String : The RC.DETAIL record being processed<br>
* @param settlementContext
com.temenos.t24.api.complex.rc.contracthook.SettlementContext : Context information
related to settlement processing.<br>
* @param recycleDetailRecord
com.temenos.t24.api.records.rcdetail.RcDetailRecord : The RC.DETAIL record being
processed <b> Only updates to the following fields will be processed by the system
on return:</b><br> <ul> <li> SETTLE.OPTION - the settlement conditions provided by
RC.CONDITION can be overriden with one of
<ul><li>PARTIAL</li><li>END.PARTIAL</li><li>NONE</li></ul> </li> <li> RETRY.AMT -
the amount to be processed by the cycler. Modifications to this field will only be
applied if the COMBINE.WITH field is empty. </li> <li> RANK.INFO - the priority.
</li> <li> INT.NAME & INT.VALUE - name value pairs enabling information to be
shared with subsequent processing. </li> <li> LOCAL.REF - the local reference
fields of the RC.DETAIL table. To update local fields by name use "TField field
getLocalRefField('FIELD.NAME')" then "field.setValue('VALUE')" </li> </ul><br>
* @return com.temenos.t24.api.complex.rc.contracthook.SettlementResponse : the
SettlementResponse containing the Status and SettlementHandoff if the settlement is
to be processed against other accounts. <ul> <li>If the Status.errorLevel is
populated the settlement will be set to REJECTED status using the RC.DETAIL,
RC.STATUS field and the override message will be appended to the LAST.RESULT
field.</li><li>If a SettlementHandoff is specified and fails duing processing the
settlement will be set to REJECTED status using the RC.DETAIL, RC.STATUS field and
a message will be appended to the LAST.RESULT field.</li></ul><br>
*/
public com.temenos.t24.api.complex.rc.contracthook.SettlementResponse
evaluateSettlement(String recycleDetailId,
com.temenos.t24.api.complex.rc.contracthook.SettlementContext settlementContext,
com.temenos.t24.api.records.rcdetail.RcDetailRecord recycleDetailRecord){}

/**
* This interface enables the implementer to define updates to be presented for
T24 processing.<br>
* The interface is invoked from RC.CYCLER at the local processing stage of
transaction recycling.<br>
* The implementer can also modify the settlement by updating the
recycleDetailRecord to add or modify information.<br>
* If an error is encountered while processing the updates the error will be
updated to the EXCEPTION.LOG.FILE table in T24 and the error passed to the core for
processing.<br>
* <b>T24 Details:</b> The EB.API hook used by this interface is
RC.TYPE.LOC.PROCESSOR.HOOK.<br>
* The method will be invoked when the LOC.PROCESSOR field of RC.TYPE is set to
"YES".<br>
* The EB.API record for the method implementation must conform to the following
naming convention [RC.PROC.]{RC.TYPE.ID}[.LOC].<br>
* If an exception is thrown in the implementing class, the exception message
will be catalogged in the EXCEPTION.LOG.FILE table in T24 and the error passed to
the core for processing.<br>
* @param recycleDetailId String : The Id of the RC.DETAIL record being
processed<br>
* @param settlementContext
com.temenos.t24.api.complex.rc.contracthook.SettlementContext : Context related to
settlement processing<br>
* @param recycleDetailRecord
com.temenos.t24.api.records.rcdetail.RcDetailRecord : The RC.DETAIL record being
processed <b> Only updates to the following fields will be processed by the system
on return:</b><br> <ul> <li> INT.NAME & INT.VALUE - name value pairs enabling
information to be shared with subsequent processing. </li> <li> LOCAL.REF - the
local reference fields of the RC.DETAIL table. To update local fields by name use
"TField field getLocalRefField('FIELD.NAME')" then "field.setValue('VALUE')" </li>
</ul><br>
* @param transactionControl
com.temenos.t24.api.complex.rc.contracthook.SettlementTransactionControl : Defines
criteria relating to the session in which the updates are to be executed. <ul>
<li>SettlementTransactionControl.sourceId - The ID of the OFS.SOURCE used to
process the settlement, defaults to RC.PROCESS if not provided. </li>
<li>SettlementTransactionControl.errorAction - The action to carry out if an error
occurs while processing one of: <ul> <li>FATAL - to abort the transaction</li>
<li>HOLD - to place the records in HLD status. </li></ul> </ul><br>
* @param transactionData
List<com.temenos.t24.api.complex.rc.contracthook.SettlementTransactionData> : A
list of transaction data controlling how each element of the transaction is
processed. <ul> <li>SettlementTransactionData.versionId - The VERSION to be used to
process the settlement. </li> <li>SettlementTransactionData.function - Either
INPUT, AUTHORISE, REVERSE or DELETE. Defaults to INPUT.</li>
<li>SettlementTransactionData.numberOfAuthoriser - Number of authorisers required
to authorise record. Defaults to the number specified on the VERSION. </li>
<li>SettlementTransactionData.transactionId - The id of the record to be processed.
Mandatory for AUTHORISE, REVERSE and DELETE. If not supplied for INPUT the system
will autogenerate an ID for supported applications. </li>
<li>SettlementTransactionData.responseId - An id by which this request can be
tracked and the response checked using DataAccess.getRequestResponse(responseId).
</li> <li>SettlementTransactionData.presentNoInputFieldsForUpdate - When true the
system will present all fields provided in the record regardless of whether the
field metadata allows input. This feature has been enabled to facilitate
applications that manipulate the field metadata at runtime and will result in a
validation error if a field is presented for input and input is not allowed at
runtime. </li> </ul><br>
* @param records List<TStructure> : A list of records for the corresponding
index in transactionData. A record is only required for the INPUT function.<br>
*/
public void updateRecord(String recycleDetailId,
com.temenos.t24.api.complex.rc.contracthook.SettlementContext settlementContext,
com.temenos.t24.api.records.rcdetail.RcDetailRecord recycleDetailRecord,
com.temenos.t24.api.complex.rc.contracthook.SettlementTransactionControl
transactionControl,
List<com.temenos.t24.api.complex.rc.contracthook.SettlementTransactionData>
transactionData, List<TStructure> records){}

/**
* This interface enables the implementer to decide locally, if capture of a
transaction is allowed or not for recycling process.
* This interface is invoked during the recycling process in the COB.
* This field is of YES/NO type, if it set as 'YES', then the system checks for
the local hook, otherwise it wont.
* <b>T24 Details:</b> The EB.API hook used by this interface is
HOOK.RC.TYP.CAP.CHK.RTN. <br>
* Interface method for the LOC.CAP.CHK.RTN field in RC.TYPE file in T24. The
hook name must be in the form of [RC.CAPTURE.CHK.]{RC.TYPE.ID}[.LOC].<br>
* If an exception is thrown in the implementing class, the exception message
will be catalogged in the EXCEPTION.LOG.FILE in T24, since it is running in
COB.<br>
* @param entryRrecord com.temenos.t24.api.records.stmtentry.StmtEntryRecord :
Entry record in STMT.ENTRY format<br>
* @param handOffSettelmentData
com.temenos.t24.api.complex.rc.contracthook.HandOffFormat : HandOff record in
RC.ContractHook:HandOffFormat format<br>
* @param setCapture TBoolean : set to true if capture allowed, otherwise not
allowed<br>
*/
public void
setTransactionCapture(com.temenos.t24.api.records.stmtentry.StmtEntryRecord
entryRrecord, com.temenos.t24.api.complex.rc.contracthook.HandOffFormat
handOffSettelmentData, TBoolean setCapture){}

You might also like