Record Lifecycle
Record Lifecycle
system
/**
*The system.RecordLifecycle class provides methods that allow the developer to
modify core behaviour of the system as a record passes through the stages of its
lifecycle
*/
public class RecordLifecycle {
/**
* This interface enables the implementer to define one or more records to be
input during the current transaction using the specified versions and ids.<br>
* If no version is specified then no action will be taken. <br>
* This interface is invoked when a record is authorised.<br>
* The EB.API hooks used by this interface are EB.TABLE.PROCEDURES.BEF.AUTH.HOOK
and VERSION.BEFORE.AUTH.RTN.HOOK.<br>
* The T24 fields specifying this hook are the BEF.AUTH.PROC field in
EB.TABLE.PROCEDURES and BEFORE.AUTH.RTN in VERSION and VERSION.CONTROL.<br>
* If an exception is thrown in the implementing class it will be treated as an
error.<br>
* <br>
* @param application String : The name of the application to which the record
belongs.<br>
* @param currentRecordId String : The id of the record being processed.<br>
* @param currentRecord TStructure : The record being processed - the
implementation must specify the record type.<br>
* @param unauthorisedRecord TStructure : The last unauthorised version of the
record being processed - the implementation must specify the record type.<br>
* @param liveRecord TStructure : The last live version of the record being
processed - the implementation must specify the record type.<br>
* @param versionNames List<String> : The Version names to be processed.<br>
* @param isZeroAuth TBoolean : Returns true if it is Zero auth otherwise
false.<br>
* @param currentRecordIds List<String> : The id's of the record to be
processed.<br>
* @param currentRecords List<TStructure> : The records to be processed.<br>
* @param transactionContext
com.temenos.t24.api.complex.eb.templatehook.TransactionContext : Transaction
related variables.<br>
* @deprecated Use updateRecord() instead<br>
*/
public void updateCoreRecord(String application, String currentRecordId,
TStructure currentRecord, TStructure unauthorisedRecord, TStructure liveRecord,
List<String> versionNames, TBoolean isZeroAuth, List<String> currentRecordIds,
List<TStructure> currentRecords,
com.temenos.t24.api.complex.eb.templatehook.TransactionContext transactionContext)
{}
/**
* This interface enables the implementer to customize the message displayed on
the screen during the transaction completion.<br>
* This interface is invoked when a transaction is completed.<br>
* The EB.API hooks used by this interface are EB.BROWSER.CUS.MSG.HOOK.<br>
* The T24 fields specifying this hook are the HOOK.ROUTINE field in
EB.BROWSER.CUSTOMISE.MSG.<br>
* If an exception is thrown in the implementing class the system will display
the system generated transaction complete message instead of custom message.<br>
* <br>
* @param application String : The name of the application to which the record
belongs.<br>
* @param currentRecordId String : The id of the record being processed.<br>
* @param currentRecord TStructure : The record being processed - the
implementaion must specify the record type.<br>
* @param timeStamp String : The current time stamp of the record being
committed<br>
* @param systemTransactionMessage String : Whole transaction commit message<br>
* @param transactionContext
com.temenos.t24.api.complex.eb.templatehook.TransactionContext : Transaction
related common variables.<br>
* @return String : the customised transaction message.<br>
*/
public String getTransactionMessage(String application, String currentRecordId,
TStructure currentRecord, String timeStamp, String systemTransactionMessage,
com.temenos.t24.api.complex.eb.templatehook.TransactionContext transactionContext)
{}
/**
* This interface enables the to post the request to update the records of any
table in asynchronous mode. <br>
* This interface writes the request into the file OFS.MESSAGE.QUEUE.
* To post this request into the T24, user has to run the OFS.MESSAGE.SERVICE
service.
* The versionId should not be a comma version in transaction data.
* The OFS.SOURCE id should be specied through the transactionData. If no
OFS.SOURCE mentioned or invalid OFS.SOURCE, then the requests stops from being
processed. <br>
* The EB.API hooks used by this interface are
EB.TABLE.PROCEDURES.AFTER.AUTH.HOOK, EB.TABLE.PROCEDURES.AFTER.UNAU.HOOK,
VERSION.AUTH.ROUTINE.HOOK and VERSION.AFTER.UNAU.RTN.HOOK.<br>
* The T24 fields specifying this hook are the AFTER.AUTH.PROC and
AFTER.UNAU.PROC fields in EB.TABLE.PROCEDURES, the AUTH.ROUTINE and AFTER.UNAU.RTN
fields in VERSION and the AUTH.RTN and AFTER.UNAU.PROC fields in
VERSION.CONTROL.<br>
* If an exception is thrown in the implementing class it will be treated as an
error.<br>
* @param application String : The name of the application to which the record
belongs.<br>
* @param currentRecordId String : The id of the record being processed.<br>
* @param currentRecord TStructure : The record being processed - the
implementation must specify the record type.<br>
* @param transactionData
List<com.temenos.t24.api.complex.eb.servicehook.TransactionData> : List of the
transaction data to post the request<br>
* @param currentRecords List<TStructure> : A list of records for the data at
the corresponding index in transactionData.<br>
* @param transactionContext
com.temenos.t24.api.complex.eb.templatehook.TransactionContext : Transaction
related variables.<br>
*/
public void postUpdateRequest(String application, String currentRecordId,
TStructure currentRecord,
List<com.temenos.t24.api.complex.eb.servicehook.TransactionData> transactionData,
List<TStructure> currentRecords,
com.temenos.t24.api.complex.eb.templatehook.TransactionContext transactionContext)
{}
/**
* This interface enables the implementer to return the record modified with
default values.<br>
* This interface is invoked when a record is submitted for validation or first
loaded for modification.<br>
* The EB.API hooks used by this interface is
EB.TABLE.PROCEDURES.CHECK.REC.HOOK, VERSION.CHECK.REC.RTN.HOOK and
VERSION.DEFAULT.ROUTINE.HOOK.<br>
* The T24 field specifying this hook is the CHECK.REC.PROC field in
EB.TABLE.PROCEDURES.
* Other T24 fields specifying this hook are the CHECK.REC.RTN and
DEFAULT.ROUTINE in VERSION and VERSION.CONTROL and the AUTO.FIELD.RTN in
VERSION.CONTROL.<br>
* If an exception is thrown in the implementing class it will be treated as an
error.<br>
* @param application String : The name of the application to which the record
belongs.<br>
* @param currentRecordId String : The id of the record being processed.<br>
* @param currentRecord TStructure : The record being processed - the
implementation must specify the record type.<br>
* @param unauthorisedRecord TStructure : The last unauthorised version of the
record being processed - the implementation must specify the record type.<br>
* @param liveRecord TStructure : The last live version of the record being
processed - the implementation must specify the record type.<br>
* @param transactionContext
com.temenos.t24.api.complex.eb.templatehook.TransactionContext : Transaction
related variables.<br>
*/
public void defaultFieldValues(String application, String currentRecordId,
TStructure currentRecord, TStructure unauthorisedRecord, TStructure liveRecord,
com.temenos.t24.api.complex.eb.templatehook.TransactionContext transactionContext)
{}
/**
* This interface enables the implementer to return a validationResponse whose
errors and enrichments will be processed at this stage.<br>
* An error is a validation failure of a field in the record, the record cannot
be committed until all errors are fixed.<br>
* An enrichment provides information about a field for instance the currency of
an account or the name of a customer.<br>
* The record can be modified but only local fields will be accepted, this means
all fields when processing a record for a local table.<br>
* This interface is invoked when the user validate a record.<br>
* The EB.API hook used by this interface is VERSION.INPUT.ROUTINE.HOOK and
EB.TABLE.PROCEDURES.CROSSVAL.HOOK.<br>
* The T24 field specifying this hook is the CROSSVAL.PROC field in
EB.TABLE.PROCEDURES and INPUT.ROUTINE in VERSION and VERSION.CONTROL.<br>
* If an exception is thrown in the implementing class will be treated as an
error.<br>
* <br>
* @param application String : The name of the application to which the record
belongs.<br>
* @param currentRecordId String : The id of the record being processed.<br>
* @param currentRecord TStructure : The record being processed - the
implementation must specify the record type.<br>
* @param unauthorisedRecord TStructure : The last unauthorised version of the
record being processed - the implementation must specify the record type.<br>
* @param liveRecord TStructure : The last live version of the record being
processed - the implementation must specify the record type.<br>
* @param transactionContext
com.temenos.t24.api.complex.eb.templatehook.TransactionContext : Transaction
related variables.<br>
* @return TValidationResponse : validationResponse - errors, overrides and
enrichments will be processed at this stage.<br>
*/
public TValidationResponse validateRecord(String application, String
currentRecordId, TStructure currentRecord, TStructure unauthorisedRecord,
TStructure liveRecord,
com.temenos.t24.api.complex.eb.templatehook.TransactionContext transactionContext)
{}
/**
* This interface enables the implementer to return the record modified with
default values.<br>
* This interface is invoked when a hot field is exited while the record is
being edited.<br>
* The EB.API hook used by this interface is VERSION.DEFAULT.ROUTINE.HOOK.<br>
* The T24 field specifying this hook is the DEFAULT.ROUTINE in VERSION and
VERSION.CONTROL.<br>
* If an exception is thrown in the implementing class it will be treated as an
error against the current field.<br>
* @param application String : The name of the application to which the record
belongs.<br>
* @param currentRecordId String : The id of the record being processed.<br>
* @param currentRecord TStructure : The record being processed - the
implementation must specify the record type.<br>
* @param currentInputValue
com.temenos.t24.api.complex.eb.templatehook.InputValue : The current hot field
input values such as the input value and its location within the record e.g. field
name.<br>
* @param unauthorisedRecord TStructure : The last unauthorised version of the
record being processed - the implementation must specify the record type.<br>
* @param liveRecord TStructure : The last live version of the record being
processed - the implementation must specify the record type.<br>
* @param transactionContext
com.temenos.t24.api.complex.eb.templatehook.TransactionContext : Transaction
related variables.<br>
*/
public void defaultFieldValuesOnHotField(String application, String
currentRecordId, TStructure currentRecord,
com.temenos.t24.api.complex.eb.templatehook.InputValue currentInputValue,
TStructure unauthorisedRecord, TStructure liveRecord,
com.temenos.t24.api.complex.eb.templatehook.TransactionContext transactionContext)
{}
/**
* This interface enables the implementer to define one or more records to be
input during the current transaction using the specified versions and ids.<br>
* If no version is specified then no action will be taken. <br>
* This interface is invoked when a record is authorised.<br>
* The EB.API hooks used by this interface are EB.TABLE.PROCEDURES.BEF.AUTH.HOOK
and VERSION.BEFORE.AUTH.RTN.HOOK.<br>
* The T24 fields specifying this hook are the BEF.AUTH.PROC field in
EB.TABLE.PROCEDURES and BEFORE.AUTH.RTN in VERSION and VERSION.CONTROL.<br>
* If an exception is thrown in the implementing class it will be treated as an
error.<br>
* <br>
* @param application String : The name of the application to which the record
belongs.<br>
* @param currentRecordId String : The id of the record being processed.<br>
* @param currentRecord TStructure : The record being processed - the
implementation must specify the record type.<br>
* @param unauthorisedRecord TStructure : The last unauthorised version of the
record being processed - the implementation must specify the record type.<br>
* @param liveRecord TStructure : The last live version of the record being
processed - the implementation must specify the record type.<br>
* @param transactionContext
com.temenos.t24.api.complex.eb.templatehook.TransactionContext : Transaction
related variables.<br>
* @param transactionData
List<com.temenos.t24.api.complex.eb.templatehook.TransactionData> : List of
transaction data each for a single update request including function, transactionId
and versionId.<br>
* @param currentRecords List<TStructure> : The list of records to be
processed.<br>
*/
public void updateRecord(String application, String currentRecordId, TStructure
currentRecord, TStructure unauthorisedRecord, TStructure liveRecord,
com.temenos.t24.api.complex.eb.templatehook.TransactionContext transactionContext,
List<com.temenos.t24.api.complex.eb.templatehook.TransactionData> transactionData,
List<TStructure> currentRecords){}
/**
* This interface enables the implementer to return a validationResponse whose
errors and enrichments will be processed at this stage.<br>
* An error is a validation failure of a field in the record and the record
cannot be committed until all errors are fixed.<br>
* An enrichment provides information about a field for instance the currency of
an account or the name of a customer.<br>
* Only Local reference fields can be modified in the record, changes to core
fields will be ignored.<br>
* This interface is invoked when the user validate a record.<br>
* The EB.API hook used by this interface is
VERSION.FIELD.VAIDATION.RTN.HOOK.<br>
* The T24 field specifying this hook is the VALIDATION.RTN field in VERSION and
VERSION.CONTROL.<br>
* If an exception is thrown in the implementing class will be treated as
errors.<br>
* <br>
* @param application String : The name of the application to which the record
belongs.<br>
* @param recordId String : The id of the record being processed.<br>
* @param fieldData String : This is the lattest value inputted in the field to
which this interface has been attached to.<br>
* @param record TStructure : The record being processed.<br>
* @return TValidationResponse : validationResponse - errors and enrichments
will be processed at this stage.<br>
* @deprecated Use defaultFieldValues() or validateRecord() instead.<br>
*/
public TValidationResponse validateField(String application, String recordId,
String fieldData, TStructure record){}
/**
* This interface enables the implementer to return a record id which has been
validated and potentially modified.<br>
* This interface is invoked after a record id is entered.<br>
* The EB.API hook used by this interface is VERSION.ID.RTN.HOOK and
EB.TABLE.PROCEDURES.CHECK.ID.HOOK.<br>
* The T24 field specifying this hook is the CHECK.ID.PROC field in
EB.TABLE.PROCEDURES and ID.RTN in VERSION and VERSION.CONTROL.<br>
* If an exception is thrown in the implementing class it will be treated as an
error and the id considered invalid.<br>
* <br>
* @param currentRecordId String : The current id of the record being
processed.<br>
* @param transactionContext
com.temenos.t24.api.complex.eb.templatehook.TransactionContext : Transaction
related variables.<br>
* @return String : The validated or modified record id.<br>
*/
public String checkId(String currentRecordId,
com.temenos.t24.api.complex.eb.templatehook.TransactionContext transactionContext)
{}
/**
* This interface enables the implementer to write custom logic that decides
whether to authorise a (valid) transaction automatically.<br>
* Return true to indicate that the transaction should be authorised
automatically.
* This interface is invoked during the transaction commit phase (during
UNAUTH.RECORD.WRITE) after it has passed validation.<br>
* This method will not be invoked if it is the first transaction in the queue
and the number of authorisers on the VERSION record specifying this interface is
zero.
* <br/><b>T24 Details:</b> The EB.API hook used by this interface is
EB.STP.CONDITION.FIELD.NAME.HOOK.
* The T24 field specifying this hook is the FIELD.NAME field in the
EB.STP.CONDITION table.<br>
* If an exception is thrown in the implementing class the result will be
treated as false and the transaction will continue as though this method had not
been called.<br>
* <br>
* @param application String : The name of the application to which the
currentRecord belongs.<br>
* @param currentRecordId String : The id of the record being processed. In
Transact terms this is ID.NEW.<br>
* @param currentRecord TStructure : The record being processed. In Transact
terms this is R.NEW.<br>
* @param unauthorisedRecord TStructure : The last unauthorised version of the
record being processed. In Transact terms this is R.NEW.LAST.<br>
* @param liveRecord TStructure : The last live version of the record being
processed. In Transact terms this is R.OLD.<br>
* @param transactionContext
com.temenos.t24.api.complex.eb.templatehook.TransactionContext : Transaction
related variables.<br>
* @param automaticAuthorisationContext
com.temenos.t24.api.complex.eb.templatehook.AutomaticAuthorisationContext :
Variables useful for this specific hook.<br>
* @return TBoolean : true if the transaction should be authorised automatically
or false if it should not.<br>
*/
public TBoolean enableAutomaticAuthorisation(String application, String
currentRecordId, TStructure currentRecord, TStructure unauthorisedRecord,
TStructure liveRecord,
com.temenos.t24.api.complex.eb.templatehook.TransactionContext transactionContext,
com.temenos.t24.api.complex.eb.templatehook.AutomaticAuthorisationContext
automaticAuthorisationContext){}
/**
* This interface enables the implementer to amend multiple lookup table records
by adding and removing their related ids.<br>
* This interface is invoked when an unauthorised record is comitted and when a
record is authorised.<br>
* <br/><b>T24 Details:</b> The EB.API hooks used by this interface are
VERSION.AFTER.UNAU.RTN.HOOK, EB.TABLE.PROCEDURES.AFTER.UNAU.HOOK,
EB.TABLE.PROCEDURES.BEF.AUTH.HOOK and VERSION.BEFORE.AUTH.RTN.HOOK.<br>
* The T24 fields specifying this hook are the AFTER.UNAU.PROC and BEF.AUTH.PROC
fields in EB.TABLE.PROCEDURES and the AFTER.UNAU.RTN and BEFORE.AUTH.RTN in VERSION
and VERSION.CONTROL.<br>
* In T24 terms the returned LookupRecordAmendments are passed to
EB.TransactionControl.ConcatFileUpdate to make a number of updates to CONCAT file
records.
* The CONCAT record will be deleted when the last remaining related id is
removed.<br>
* If an exception is thrown in the implementing class it will be treated as an
error and the lookup record update will not be committed.<br>
* <br>
* @param application String : The name of the application to which the record
belongs.<br>
* @param currentRecordId String : The id of the record being processed.<br>
* @param currentRecord TStructure : The record being processed - the
implementation must specify the record type.<br>
* @param liveRecord TStructure : The last live version of the record being
processed - the implementation must specify the record type.<br>
* @param transactionContext
com.temenos.t24.api.complex.eb.templatehook.TransactionContext : Transaction
related variables.<br>
* @return
List<com.temenos.t24.api.complex.eb.templatehook.LookupRecordAmendment> : a list of
LookupRecordAmendment each detailing the amendments to a single lookup record. An
amendment must contain a lookupTableName, lookupId and at least one related id to
add or remove or it will be ignored. <br>
*/
public List<com.temenos.t24.api.complex.eb.templatehook.LookupRecordAmendment>
getLookupRecordAmendments(String application, String currentRecordId, TStructure
currentRecord, TStructure liveRecord,
com.temenos.t24.api.complex.eb.templatehook.TransactionContext transactionContext)
{}
/**
* This interface enables the implementer to return a ServiceControl object.
<br>
* On return the object will be used to start, stop or send a message to a
service. <br>
* The Service must already be defined on the TSA.SERVICE table - with or
without the company prefix (mnemonic/service). <br>
* This interface is invoked when a record is authorised.<br>
* The EB.API hooks used by this interface are
EB.TABLE.PROCEDURES.AFTER.AUTH.HOOK and VERSION.AUTH.ROUTINE.HOOK.<br>
* The T24 fields specifying this hook are the AFTER.AUTH.PROC field in
EB.TABLE.PROCEDURES and AUTH.ROUTINE in VERSION and AUTH.RTN in
VERSION.CONTROL.<br>
* If an exception is thrown in the implementing class or there is an error with
the ServiceControl object, it will be treated as an error and the record
authorization will fail.<br>
* <br>
* @param application String : The name of the application to which the record
belongs.<br>
* @param currentRecordId String : The id of the record being processed.<br>
* @param currentRecord TStructure : The record being processed - the
implementation must specify the record type.<br>
* @param transactionContext
com.temenos.t24.api.complex.eb.templatehook.TransactionContext : Transaction
related variables.<br>
* @return com.temenos.t24.api.complex.eb.servicehook.ServiceControl : the
ServiceControl object containing the tsaServiceId, pgmFileId, action, priorityFlag
and activationMessage. <br>
*/
public com.temenos.t24.api.complex.eb.servicehook.ServiceControl
getServiceControlDetail(String application, String currentRecordId, TStructure
currentRecord, com.temenos.t24.api.complex.eb.templatehook.TransactionContext
transactionContext){}
/**
* This interface enables the implementer to return the formatted field
values.<br>
* This interface is invoked during the input function on
VERSION>D.SLIP.FUNCTION through PRODUCE.DEAL.SLIP<br>
* The EB.API hook used by this interface is DEAL.SLIP.FORMAT.HOOK.<br>
* The T24 field specifying this hook is the DEAL.SLIP.FORMAT>FORMAT.<br>
* If an exception is thrown in the implementing class it will be treated as an
error.<br>
* <br>
* @param data String : The data to be formatted.<br>
* @param currentRecord TStructure : The record being processed.<br>
* @param transactionContext
com.temenos.t24.api.complex.eb.templatehook.TransactionContext : Transaction
related variables.<br>
* @return String : the formatted input value of the field.<br>
*/
public String formatDealSlip(String data, TStructure currentRecord,
com.temenos.t24.api.complex.eb.templatehook.TransactionContext transactionContext)
{}
/**
* This interface enables the implementer to return true if there are any
updates required.<br>
* This interface is invoked when a record is authorised.<br>
* The EB.API hook used by this interface is EB.TABLE.PROCEDURES.BEF.AUTH.HOOK
and VERSION.BEFORE.AUTH.RTN.HOOK.<br>
* The T24 field specifying this hook is the BEF.AUTH.PROC field in
EB.TABLE.PROCEDURES and BEFORE.AUTH.ROUTINE in VERSION and VERSION.CONTROL.<br>
* If an exception is thrown in the implementing class it will be treated as an
error.<br>
* <br>
* @param application String : The name of the application to which the record
belongs.<br>
* @param currentRecordId String : The id of the record being processed.<br>
* @param currentRecord TStructure : The record being processed - the
implementation must specify the record type.<br>
* @param liveRecord TStructure : The last live version of the record being
processed - the implementation must specify the record type.<br>
* @param lookupTableName TString : The name of the lookup table.<br>
* @param key TString : The key to update update in the lookup table.<br>
* @param entryToDelete TString : The entry to remove - return an empty string
if nothing to remove.<br>
* @param entryToAdd TString : The entry to add - return an empty string if
nothing to add.<br>
* @param sortAsNumber TBoolean : If true then the entries will be sorted as a
number in ascending right justified order (AR) otherwise they will be sorted as a
word in ascending left justified (AL).<br>
* @param transactionContext
com.temenos.t24.api.complex.eb.templatehook.TransactionContext : Transaction
related variables.<br>
* @return TBoolean : true if update is required false otherwise .<br>
* @deprecated use system.RecordLifecycle.getLookupRecordAmendments instead<br>
*/
public TBoolean updateLookupTable(String application, String currentRecordId,
TStructure currentRecord, TStructure liveRecord, TString lookupTableName, TString
key, TString entryToDelete, TString entryToAdd, TBoolean sortAsNumber,
com.temenos.t24.api.complex.eb.templatehook.TransactionContext transactionContext)
{}
/**
* Allows the developer to change the incoming override which is then to approve
automatically.<br>
* This interface is invoked when an override is accepted.<br>
* The EB.API hook used by this interface is OVERRIDE.SUBROUTINE.HOOK. <br>
* The T24 field specifying this hook is the SUBROUTINE field in OVERRIDE
application. <br>
* If an exception is thrown in the implementing class it will be treated as an
error.<br>
* @param application String : The name of the application to which the record
belongs.<br>
* @param currentRecordId String : The id of the record being processed.<br>
* @param currentRecord TStructure : The record being processed - the
implementaion must specify the record type.<br>
* @param transactionContext
com.temenos.t24.api.complex.eb.templatehook.TransactionContext : Transaction
related variables.<br>
* @param errorText com.temenos.t24.api.complex.eb.templatehook.ErrorText : The
error message can set and send here.<br>
* @return TBoolean : <br>
*/
public TBoolean isOverrideAutoApprove(String application, String
currentRecordId, TStructure currentRecord,
com.temenos.t24.api.complex.eb.templatehook.TransactionContext transactionContext,
com.temenos.t24.api.complex.eb.templatehook.ErrorText errorText){}
/**
* Allows the developer to change the incoming overrideComparisonValue which is
then used during override processing to determine whether the current User has the
correct classification to approve the current Application Override.<br>
* This interface is invoked when an override is accepted.<br>
* The EB.API hook used by this interface is OVE.CLASS.DETAILS.DATA.DEF.HOOK.
<br>
* The T24 field specifying this hook is the DATA.DEF field in
OVERRIDE.CLASS.DETAILS. <br>
* If an exception is thrown in the implementing class it will be treated as an
error.<br>
* @param overrideMessage String : The override message being processed<br>
* @param messageDetails List<String> : The values to be inserted into the
current override message<br>
* @param overrideComparisonValue TString : The comparison value to be modified
if required<br>
* @param transactionContext
com.temenos.t24.api.complex.eb.templatehook.TransactionContext : Transaction
related variables.<br>
*/
public void setOverrideComparisonValue(String overrideMessage, List<String>
messageDetails, TString overrideComparisonValue,
com.temenos.t24.api.complex.eb.templatehook.TransactionContext transactionContext)
{}