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

Enquiry

The EnquiryHook component in the T24 API allows customization of enquiry routines with various hooks for record selection and processing. It provides interfaces for setting filter criteria, returning attribute classes, and managing multi-values in enquiry results. The component is designed to enhance the functionality of enquiries by allowing implementers to manipulate data and selection criteria programmatically.

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)
19 views6 pages

Enquiry

The EnquiryHook component in the T24 API allows customization of enquiry routines with various hooks for record selection and processing. It provides interfaces for setting filter criteria, returning attribute classes, and managing multi-values in enquiry results. The component is designed to enhance the functionality of enquiries by allowing implementers to manipulate data and selection criteria programmatically.

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.

system
/**
*The EnquiryHook component allows access to routines for customising ENQUIRY.<br>
* There are hooks for BUILD.ROUTINE, CONVERSION and for NOFILE enquiries.
*/
public class Enquiry {
/**
* This interface enables the implementer to set the selection criteria used by
the enquiry engine to select records.<br>
* This interface is invoked after the user has entered their choices in the
selection screen, so the implementor has the opportunity to override user choices.
* This interface provides access to the parameter usually named 'ENQ.DATA' in
the enquiry build routine.
* Note that the FIXED.SELECTION defined for the enquiry is executed before this
interface, the filter criteria returned by this routine will
* operate on the subset of records returned by the FIXED.SELECTION. This is
standard T24 enquiry build routine behaviour.<br>
* <br/><b>T24 Details:</b>The EB.API hook used by this interface is
ENQUIRY.BUILD.ROUTINE.HOOK.
* The T24 field specifying this hook is the BUILD.ROUTINE field in ENQUIRY.<br>
* If an exception is thrown in the implementing class, the exception message
will be displayed on screen and no enquiry results will be displayed.
* <br>
* @param filterCriteria
List<com.temenos.t24.api.complex.eb.enquiryhook.FilterCriteria> : The list of
FilterCriteria as entered by the user. (In T24 terms, this is ENQ.DATA<2 ...
4>)<br>
* @param enquiryContext
com.temenos.t24.api.complex.eb.enquiryhook.EnquiryContext : Context variables for
the enquiry interaction.<br>
* @return List<com.temenos.t24.api.complex.eb.enquiryhook.FilterCriteria> : A
new list of filter criteria to be applied during record selection.<br>
*/
public List<com.temenos.t24.api.complex.eb.enquiryhook.FilterCriteria>
setFilterCriteria(List<com.temenos.t24.api.complex.eb.enquiryhook.FilterCriteria>
filterCriteria, com.temenos.t24.api.complex.eb.enquiryhook.EnquiryContext
enquiryContext){}

/**
* This interface enables the implementer to return the attribute class while
processing enquiry.<br>
* This interface is invoked during enquiry processing.<br>
* <br/><b>T24 Details:</b> The EB.API hook used by this interface is
EB.ATTRIBUTES.ROUTINE.HOOK.<br>
* The T24 field specifying this hook is the ROUTINE field in ENQUIRY table.<br>
* If an exception is thrown in the implementing class this will be logged in
the EXCEPTION.LOG.FILE and process will continue.
* <br>
* @param value String : The initial value of the attribute class. In T24 terms
this is a valid id from EB.ATTRIBUTES table.<br>
* @param enquiryContext
com.temenos.t24.api.complex.eb.enquiryhook.EnquiryContext : Context variables for
the enquiry interaction.<br>
* @return String : The new attribute class value to be displayed to the enquiry
processing engine, to be displayed to the user or used in further calculations.<br>
*/
public String getAttributeClass(String value,
com.temenos.t24.api.complex.eb.enquiryhook.EnquiryContext enquiryContext){}
/**
* This interface enables the implementer to set the multi values of an element
displayed in the enquiry results programatically to a list of values.<br>
* This interface is invoked during calculation of each field's value, in the
order it is specified in the list of CONVERSION fields in the enquiry definition.
* The current value of the field will be passed in, and can be used as input
for any kind of conversion that is not supported by the inbuilt conversion types.
* This interface is similar to setValues() but should be used to return a multi
values.
* The value returned by this interface is written to O.DATA. Items in the list
are converted to separate multivalues.<br>
* Note: this interface will be called once for each item in the returned list.
If generating the list is expensive then consider caching it and reusing it.<br>
* <br/><b>T24 Details:</b> The EB.API hook used by this interface is
ENQUIRY.CONVERSION.HOOK.
* The T24 field specifying this hook is the CONVERSION field in ENQUIRY.<br>
* If an exception is thrown in the implementing class, the exception message
will be displayed on screen and no enquiry results will be displayed.
* <br>
* @param value String : The initial value of the field. The new value should be
returned. (In T24 terms, this is O.DATA)<br>
* @param currentId String : The ID of the current record being processed. (In
T24 terms, this is the 'ID' common variable)<br>
* @param currentRecord TStructure : The full record currently being processed
by the enquiry. (In T24 terms, this is R.RECORD)<br>
* @param filterCriteria
List<com.temenos.t24.api.complex.eb.enquiryhook.FilterCriteria> : The list of
selection criteria entered by the user. (In T24 terms, this is fields<2 ... 4> from
ENQ.SELECTION)<br>
* @param enquiryContext
com.temenos.t24.api.complex.eb.enquiryhook.EnquiryContext : Context variables for
the enquiry interaction.<br>
* @return List<String> : The new value to be displayed to the enquiry
processing engine, to be displayed to the user or used in further calculations.<br>
*/
public List<String> setMultiValue(String value, String currentId, TStructure
currentRecord, List<com.temenos.t24.api.complex.eb.enquiryhook.FilterCriteria>
filterCriteria, com.temenos.t24.api.complex.eb.enquiryhook.EnquiryContext
enquiryContext){}

/**
* This interface enables the implementer to set the selection criteria using
the values of the current record from an input screen.<br>
* This interface is invoked when the user activates a dropdown list to get the
available values for the field to which the dropdown enquiry is attached.
* <br/><b>T24 Details:</b> The EB.API hook used by this interface is
ENQUIRY.BUILD.ROUTINE.HOOK.<br/>
* The T24 field specifying this hook is the BUILD.ROUTINE field in
ENQUIRY.<br/>
* A dropdown enquiry is associated with a field through the VERSION->DROP.DOWN
field and allows the selection criteria to be defined based on the current value of
fields in the screen.<br/>
* This interface provides access to the parameter usually named 'ENQ.DATA' in
the enquiry build routine.
* Note that the FIXED.SELECTION defined for the enquiry is executed before this
interface, the filter criteria returned by this routine will
* operate on the subset of records returned by the FIXED.SELECTION. This is
standard T24 enquiry build routine behaviour.<br/>
* If an exception is thrown in the implementing class, the exception message
will be displayed on screen and no enquiry results will be displayed.
* <br>
* @param filterCriteria
List<com.temenos.t24.api.complex.eb.enquiryhook.FilterCriteria> : The list of
FilterCriteria as entered by the user. (In T24 terms, this is ENQ.DATA<2 ...
4>)<br>
* @param currentRecord TStructure : The current record to which the dropdown
enquiry is attached. (In T24 terms, this is R.NEW)<br>
* @param enquiryContext
com.temenos.t24.api.complex.eb.enquiryhook.EnquiryContext : Context variables for
the enquiry interaction.<br>
* @return List<com.temenos.t24.api.complex.eb.enquiryhook.FilterCriteria> : A
new list of filter criteria to be applied during record selection.<br>
*/
public List<com.temenos.t24.api.complex.eb.enquiryhook.FilterCriteria>
setDropdownFilterCriteria(List<com.temenos.t24.api.complex.eb.enquiryhook.FilterCri
teria> filterCriteria, TStructure currentRecord,
com.temenos.t24.api.complex.eb.enquiryhook.EnquiryContext enquiryContext){}

/**
* This interface enables the implementer to set the value of an element
displayed in the enquiry results programatically to a list of values.<br>
* This interface is invoked during calculation of each field's value, in the
order it is specified in the list of CONVERSION fields in the enquiry definition.
* The current value of the field will be passed in, and can be used as input
for any kind of conversion that is not supported by the inbuilt conversion types.
* This interface is similar to setValue() but should be used to return a list
of values instead of a single value.
* The value returned by this interface is written to O.DATA. Items in the list
are converted to separate multivalues.<br>
* Note: this interface will be called once for each item in the returned list.
If generating the list is expensive then consider caching it and reusing it.<br>
* <br/><b>T24 Details:</b> The EB.API hook used by this interface is
ENQUIRY.CONVERSION.HOOK.
* The T24 field specifying this hook is the CONVERSION field in ENQUIRY.<br>
* If an exception is thrown in the implementing class, the exception message
will be displayed on screen and no enquiry results will be displayed.
* <br>
* @param value String : The initial value of the field. The new value should be
returned. (In T24 terms, this is O.DATA)<br>
* @param currentId String : The ID of the current record being processed. (In
T24 terms, this is the 'ID' common variable)<br>
* @param currentRecord TStructure : The full record currently being processed
by the enquiry. (In T24 terms, this is R.RECORD)<br>
* @param filterCriteria
List<com.temenos.t24.api.complex.eb.enquiryhook.FilterCriteria> : The list of
selection criteria entered by the user. (In T24 terms, this is fields<2 ... 4> from
ENQ.SELECTION)<br>
* @param enquiryContext
com.temenos.t24.api.complex.eb.enquiryhook.EnquiryContext : Context variables for
the enquiry interaction.<br>
* @return List<String> : The new value to be displayed to the enquiry
processing engine, to be displayed to the user or used in further calculations.<br>
*/
public List<String> setValues(String value, String currentId, TStructure
currentRecord, List<com.temenos.t24.api.complex.eb.enquiryhook.FilterCriteria>
filterCriteria, com.temenos.t24.api.complex.eb.enquiryhook.EnquiryContext
enquiryContext){}
/**
* This interface enables the implementer to set the entire contents of a record
prior to it being processed by the enquiry engine.<br>
* This interface is invoked during enquiry processing when the field it is
attached to is calculated.<br>
* <br/><b>T24 Details:</b> The EB.API hook used by this interface is
ENQUIRY.CONVERSION.HOOK.
* The T24 field specifying this hook is the CONVERSION field in ENQUIRY.<br>
* This interface is mainly intended to support NOFILE enquiry in T24. One
strategy for building NOFILE enquiries uses a CONVERSION routine to
* modify the virtual 'record' being processed at runtime. This interface
supports that strategy.
* The output of this routine is written to the 'record' currently being used by
the enquiry.
* The structure of the record is defined in the STANDARD.SELECTION definition
for the NOFILE, by the 'D' type fields.
* The NOFILE application should be introspected to generate .domain objects for
it, this will then create 'Record' objects for the nofile application.<br>
* The setRecord() and setValue() interfaces are both triggered from the
CONVERSION field but differ in purpose and effect.
* The currentRecord parameter of this method is used to overwrite R.RECORD for
the current record being processed.<br>
* If an exception is thrown in the implementing class, then the exception
message will be displayed on screen and no enquiry results will be displayed.<br>
* @param value String : The initial value of the field to which the interface
is attached. (In T24 terms, this is O.DATA)<br>
* @param currentId String : The ID of the current record being processed. (In
T24 terms, this is the 'ID' common variable)<br>
* @param currentRecord TStructure : The full record currently being processed
by the enquiry. (In T24 terms, this is R.RECORD)<br>
* @param filterCriteria
List<com.temenos.t24.api.complex.eb.enquiryhook.FilterCriteria> : The list of
selection criteria entered by the user. (In T24 terms, this is fields<2 ... 4> from
ENQ.SELECTION)<br>
* @param enquiryContext
com.temenos.t24.api.complex.eb.enquiryhook.EnquiryContext : Context variables for
the enquiry interaction.<br>
*/
public void setRecord(String value, String currentId, TStructure currentRecord,
List<com.temenos.t24.api.complex.eb.enquiryhook.FilterCriteria> filterCriteria,
com.temenos.t24.api.complex.eb.enquiryhook.EnquiryContext enquiryContext){}

/**
* This interface enables the implementer to define the list of record Ids that
the enquiry will process.<br>
* This interface is invoked during the record selection stage of running an
enquiry, and replaces the usual record selection based on a select statement on a
T24 application.
* <br/><b>T24 Details:</b> The EB.API hook used by this interface is
SS.SYS.FIELD.NO.HOOK.
* The T24 field specifying this hook is the SYS.FIELD.NO in STANDARD.SELECTION
(the SYS.TYPE must be 'R' in the associated multivalue group)<br>
* This interface is mainly intended to support NOFILE enquiry in T24. It
supports the 'R' type routine specified in STANDARD.SELECTION for the nofile table.
* The implementer is expected to generate a list of recordIds for use in the
enquiry processing.<br>
* Note: Some nofile enquiries exploit a trick of returning all required
information inside the recordId, delimited with some value, for example '*', and
then
* extract the values from the recordId using the F(IELD) conversion in the
enquiry.<br>
* If an exception is thrown in the implementing class, then the exception
message will be displayed on screen and no enquiry results will be displayed.
* <br>
* @param filterCriteria
List<com.temenos.t24.api.complex.eb.enquiryhook.FilterCriteria> : The list of
selection criteria entered by the user. In T24 terms, this comes from the common
variables D.FIELDS, D.RANGE.AND.VALUE and D.LOGICAL.OPERANDS.<br>
* @param enquiryContext
com.temenos.t24.api.complex.eb.enquiryhook.EnquiryContext : Context variables for
the enquiry interaction.<br>
* @return List<String> : The list of recordIds.<br>
*/
public List<String>
setIds(List<com.temenos.t24.api.complex.eb.enquiryhook.FilterCriteria>
filterCriteria, com.temenos.t24.api.complex.eb.enquiryhook.EnquiryContext
enquiryContext){}

/**
* This interface enables the implementer to set the value of an element
displayed in the enquiry results programatically.<br>
* This interface is invoked during calculation of each field's value, in the
order it is specified in the list of CONVERSION fields in the enquiry definition.
* The current value of the field will be passed in, and can be used as input
for any kind of conversion that is not supported by the inbuilt conversion types.
* The value returned by this interface is written to O.DATA.<br>
* <br/><b>T24 Details:</b> The EB.API hook used by this interface is
ENQUIRY.CONVERSION.HOOK.
* The T24 field specifying this hook is the CONVERSION field in ENQUIRY.<br>
* If an exception is thrown in the implementing class, the exception message
will be displayed on screen and no enquiry results will be displayed.
* <br>
* @param value String : The initial value of the field. The new value should be
returned. (In T24 terms, this is O.DATA)<br>
* @param currentId String : The ID of the current record being processed. (In
T24 terms, this is the 'ID' common variable)<br>
* @param currentRecord TStructure : The full record currently being processed
by the enquiry. (In T24 terms, this is R.RECORD)<br>
* @param filterCriteria
List<com.temenos.t24.api.complex.eb.enquiryhook.FilterCriteria> : The list of
selection criteria entered by the user. (In T24 terms, this is fields<2 ... 4> from
ENQ.SELECTION)<br>
* @param enquiryContext
com.temenos.t24.api.complex.eb.enquiryhook.EnquiryContext : Context variables for
the enquiry interaction.<br>
* @return String : The new value to be displayed to the enquiry processing
engine, to be displayed to the user or used in further calculations.<br>
*/
public String setValue(String value, String currentId, TStructure
currentRecord, List<com.temenos.t24.api.complex.eb.enquiryhook.FilterCriteria>
filterCriteria, com.temenos.t24.api.complex.eb.enquiryhook.EnquiryContext
enquiryContext){}

/**
* This interface enables the implementer to set the sub values of an element
displayed in the enquiry results programatically to a list of values.<br>
* This interface is invoked during calculation of each field's value, in the
order it is specified in the list of CONVERSION fields in the enquiry definition.
* The current value of the field will be passed in, and can be used as input
for any kind of conversion that is not supported by the inbuilt conversion types.
* This interface is similar to setValue() but should be used to return a
subvalues.
* The value returned by this interface is written to O.DATA. Items in the list
are converted to separate sub values.<br>
* Note: this interface will be called once for each item in the returned list.
If generating the list is expensive then consider caching it and reusing it.<br>
* <br/><b>T24 Details:</b> The EB.API hook used by this interface is
ENQUIRY.CONVERSION.HOOK.
* The T24 field specifying this hook is the CONVERSION field in ENQUIRY.<br>
* If an exception is thrown in the implementing class, the exception message
will be displayed on screen and no enquiry results will be displayed.
* <br>
* @param value String : The initial value of the field. The new value should be
returned. (In T24 terms, this is O.DATA)<br>
* @param currentId String : The ID of the current record being processed. (In
T24 terms, this is the 'ID' common variable)<br>
* @param currentRecord TStructure : The full record currently being processed
by the enquiry. (In T24 terms, this is R.RECORD)<br>
* @param filterCriteria
List<com.temenos.t24.api.complex.eb.enquiryhook.FilterCriteria> : The list of
selection criteria entered by the user. (In T24 terms, this is fields<2 ... 4> from
ENQ.SELECTION)<br>
* @param enquiryContext
com.temenos.t24.api.complex.eb.enquiryhook.EnquiryContext : Context variables for
the enquiry interaction.<br>
* @return List<String> : The new value to be displayed to the enquiry
processing engine, to be displayed to the user or used in further calculations.<br>
*/
public List<String> setSubValue(String value, String currentId, TStructure
currentRecord, List<com.temenos.t24.api.complex.eb.enquiryhook.FilterCriteria>
filterCriteria, com.temenos.t24.api.complex.eb.enquiryhook.EnquiryContext
enquiryContext){}

You might also like