- Print
- PDF
NoFile Enquiry
The NoFile Enquiry integration can be used to return a list of documents that are securely stored in the Autoform DM Archive. This list can be limited by passing in a set of criteria to Autoform DM. For example, the Customer Number can be used to retrieve a list of archived documents for a specific customer.
(5).png)
This version of the NoFile Enquiry is designed for use with T24 versions prior to R20.
Overview
The NoFile integration files are held in autoform-nofileenquiry-4.*-bin.zip. The NoFile jar and log4j jar need to be placed in a folder on the T24 server, the path to which then needs to be added to the Classpath. Finally, two Formpipe routines need to be compiled.
In order to use the NoFile interface to retrieve a list of archived documents in the T24 browser, T24 Enquiries need to be created. These will then execute a configured search in Autoform DM, passing any criteria that are needed. Any T24 enquiries created to retrieve archived documents can then be used in the SCV to retrieve specific customer-related lists of documents to the Documents tab. Details on creating a sample enquiry can be found in the following section.
Provided Components
efs-nofileenquiry-4.*.jar - the java code which communicates with DM.
log4j-1.2.14.jar - for adding logging support.
E.PDM.SELECTION - jbase routine for running the search.
E.PDM.REC - jbase routine for translating the search results.
efs-compiled-routines-tafj.jar - the compiled version of the above pair of routines.
Configuration and Integration
Configure AUTOFORM DM Details in noFile Jar
Open efs-nofileenquiry-4.*.jar using 7-zip (or similar application).
Update NoFileEnquiry.properties with DM/URL credentials.
(5).png)
Save the changes back into the jar file.
Create EFS Folder for the New Jars
Create the folder EFS in _C:\Temenos\ModelBank\Infra\JBoss\modules\com\temenos\t24\main.
Place efs-compiled-routines-tafj.jar and efs-nofileenquiry-4.x.jar in the folder created in the previous step.
Add the Jars to the module.xml
Open C:\Temenos\ModelBank\Infra\JBoss\modules\com\temenos\t24\main\module.xml and add the following lines to the end of the <resources> section of the file:
a. `<resource-root path=“/EFS/efs-compiled-routines-tafj.jar” />`
b. `<resource-root path=“/EFS/efs-nofileenquiry-4.3.6-SNAPSHOT.jar” />`
Modify the dependencies section so it looks as follows:
<dependencies>
<module name="org.apache.log4j"/>
<module name="com.temenos.tafj"/>
</dependencies>
Remove any version of log4j from BrowserWeb.war located in C:\Temenos\ModelBank\Infra\JBoss\lite.
Warning
Avoid addingany other log4j jar files anywhere.
Password Encryption (Optional)
Using CLI to encrypt passwords:
The DM password for all integrations can be encrypted using the CLI for our crypto-utils library by following these steps:
Obtain the CLI jar from the interfaces release package. It should be named crypto-utils-1.0.0-cli.jar or similar.
Run the jar file as java -jar crypto-utils-1.0.0-cli.jar encrypt <PASSWORD> <ENCRYPTION_KEY>. For example, to use the key MyKey to encrypt the DM password DM_PASS you would run it as java -jar crypto-utils-1.0.0-cli.jar encrypt DM_PASS MyKey.
The output from the above command is the encrypted DM password. This should be surrounded with ENC() and placed in the relevant properties file (for instance, NoFileEnquiry.properties) for the interfaces release jar. For instance, dm.password=ENC(AX23DKJCL2LKJDLKJ436).
The encryption key (MyKey in this example) must be set as an environmental variable with the name EFS_T24_INTERFACES_KEY.
Changing the Encryption Profile
Both the CLI and the interfaces allow an alternative encryption profile to be selected if there is a perceived need to use something other than the default.
To do so, the name of the desired encryption profile should be passed to the CLI and the interface.
Note
If configured, these must match otherwise password decryption will fail.
For the CLI, the profile name can be selected by adding -c <profile> to the end of the command. For the Interfaces, it is passed as the EncryptionConfig parameter.
The possible profiles are as follows:
pbkdf2hmacsha1withaes128cbc - the default profile, used if nothing is explicitly set
pbkdf2hmacsha1withaes256cbc - provides higher bit strength AES
The second profile provides higher-strength AES, but this requires the environment to support it. A standard JDK will not support anything above 128bit without either the unlimited-strength JCE profile enabled or a third-party library such as BouncyCastle. As such, it should only be used if required and with the understanding that additional work must be done to ensure the environment supports it.
Combine and Catalogue Routines
Note
Optional - not needed if you have the compiled routines as mentioned in the previous section.
Two Formpipe routines need to be compiled to enable the NoFile interface functionality. These are included in the autoform-nofileenquiry-4.*-bin.zip file, and need to be placed in the relevant folder in T24 and compiled as follows:
E.PDM.REC
E.PDM.SELECTION
The process of compiling these routines depends on the T24 implementation (TAFC\TAFJ):
TAFC
Using jShell:
Copy the routines into T24/MB/bnk/bnk.run/EFS.BP.
Run the following commands in jShell:
BASIC -IT24.BP EFS.BP
CATALOG -IT24.BP EFS.BP
(5).png)
(5).png)
The switch –I followed by a folder name (T24.BP) is the folder where the routines used by the Formpipe routines are located. In this example, the routine I_F.ENQUIRY etc, are all located in the T24.BP folder.
TAFJ
A jar containing a set of pre-compiled routines is provided in efs-compiled-routines-tafj.jar within the release. This is known to work with versions up to R18 and can be used in place of compiling the routines on-site.
Alternatively, if needing to re-compile, the following applies:
Use Eclipse (supplied in /Infra/Eclipse).
Copy the routines into /T24/Programs/TAFJ/appserver/TAFJ.BP.
In Eclipse, expand MB→TAFJ.BP, and you should see your routines.
Right-click and select Compile Basic File for each, and ensure to see [ OK ] status in the console.
Right-click the compiled routine under classes/com/temenos/t24, select Export, choose jar file, and export to /ModelBank-R14-TAFJ/T24/Common/Jars/t24. In R15, this folder is named t24lib\t24lib-MB.
Usage
To use the NoFile interface to return a list of documents, a T24 Enquiry and an Autoform DM search need to be configured. The T24 Enquiry uses the NOFILE routines, which invoke CALLJ to query the Autoform DM search.
T24 Artifacts
The following artifacts need to be created in T24 to run the NoFile Enquiry:
PGM File
Standard Selection
Enquiry
PGM.FILE
This is created by running PGM.FILE E.PDM.SELECTION.
(4).png)
Field | Value |
---|---|
TYPE | S |
GB Screen Title | PDM.SELECTION |
Product | EB |
Sub Product | MAINTENANCE |
(5).png)
Verify the changes to the new PGM file after committing them.
(5).png)
STANDARD.SELECTION
This is created using STANDARD.SELECTION NOFILE.PDM.
(4).png)
Field | Value |
---|---|
Usr Field Name.1 | ID |
Usr Type.1 | D |
Usr Field No.1.1 | 0 |
Usr Display Fmt.1 | 10000L |
Usr Single Mult.1 | S |
Usr Field Name.2 | Customer.Number |
Usr Type.2 | S |
Usr Display Fmt.2 | 10L |
Usr Single Mult.2 | S |
Usr Field Name.3 | Account.Number |
Usr Type.3 | S |
Usr Display Fmt.3 | 10L |
Usr Single Mult.3 | S |
Usr Field Name.4 | SEARCH |
Usr Type.4 | R |
Usr Field No.4.1 | E.PDM.SELECTION |
Usr Display Fmt.4 | 25L |
Usr Single Mult.4 | S |
(3).png)
Again, these changes will need to be verified once committed.
ENQUIRY
This is created using ENQUIRY, AUTOFORM.DOCS. The comma version (if available) means you will not need to verify the changes.
(3).png)
Field | Value |
---|---|
Page Size | 4.99 |
File Name | NOFILE.PDM |
Fixed Selection.1 | SEARCH EQ “Customer Documents” |
Selection Flds.1 | Customer.Number |
normal;">GB Sel Label.1 | Customer Number |
Sel Fld Oper.1 | EQ |
Field Name.1 | ID |
Operation.1.1 | ID |
Length Mask.1 | 10000L |
Conversion.1.1 | @ E.PDM.REC |
TYPE.1 | L |
Field Name.2 | Customer Number |
Operation.2.1 | 1 |
Column.2 | 1 |
GBField Lbl.2 | Customer Number |
Field Name.3 | document.name |
Operation.3.1 | 2 |
Column.3 | 2 |
GB Field Lbl.3 | Document Name |
Field Name.4 | document.id |
Operation.4.1 | 3 |
Column.4 | 3 |
Field Name.5 | DOWNLOADID |
Operation.5.1 | CALC “DOCID=” : document.id : “ |
Enquiry Name.1 | DOC DOWNLOADID DEBUG |
Label Field.1 | document.id 4 |
GB Nxt Desc.1 | View |
(4).png)
AUTOFORM DM SEARCH
The T24 Enquiry executes an Autoform DM search in order to retrieve a list of documents matching the parameters entered. In this example, the Autoform DM search is called Customer Documents, as seen in the Fixed Selection of the T24 Enquiry:
(3).png)

The query parameters used are entered in the Selection Fields. In this example, we are only using the Customer Number. This needs to match the Autoform DM search. Query parameters can be String, Number, or Date. Date formats are:
DM 7.2.x uses hardcoded English Locale (MM/DD/YYYY)
DM 8.x uses the format specified in general setting 8001, default dd-MMM-yyyy hh:mm:ss
(1).png)

The result set is defined in the Field Names (in this case, 2 to 4). This matches the result set configured in the Autoform DM search:
(2).png)
Document System variables available for all results are as follows:
Variable | Document Value | Minimum DM version |
---|---|---|
document.id | Document Id | |
document.name | Document Name | |
document.type | Document Definition Name | |
document.updated | Last Changed | |
document.revision | Document Revision | |
document.owner | Owner Name | |
document.cuk | Customer Unique Key | |
document.file.extension | File Type | |
document.file.archived | File Archived Date | 7.2.27 |
(2).png)

Debugging
The routines should return error codes with messages for any known problems.
If the routine's behavior is unclear, you can debug it by adding the test DEBUG to the routine code at the point you want it to break. Then, recompile the routine using the —d (otherwise, all debug lines get stripped out by default).
Running the enquiry that calls the routine via T24 Classic (not browser) will now hit your breakpoint and allow you to step through line by line (s) and inspect variable values.
Warning
Remember to disable the debugging and recompile when you are finished, otherwise it will prevent the Browser from being able to execute the enquiry correctly.
Errors
Error
(2) Cannot start JVM
This is due to an issue with the routine CALLJ function not being able to locate the Java library in the environment. To resolve this, refer to the callj documentation specific to the Operating System you are on.
For example, on a Linux system, you will need to locate the libjvm.so file (potentially in /opt/java6/jre/lib/amd64/server) and reference it in the .profile:
export LD_LIBRARY_PATH=/opt/java6/jre/lib/amd64:/opt/java6/jre/lib/amd64/server