---
title: "NoFile Enquiry - Formpipe's Temenos Integration Guide"
slug: "nofile-enquiry"
description: "The NoFile Enquiry integration can be used to return a list of documents that are securely stored in the Autoform DM Archive. "
tags: ["T24 integrations", "NoFile enquiry", "TAFJ", "TAFC", "Temenos", "Autoform DM"]
updated: 2026-03-03T14:21:40Z
published: 2026-03-03T14:21:40Z
canonical: "kb.lasernetgroup.com/nofile-enquiry"
---
> ## Documentation Index
> Fetch the complete documentation index at: https://kb.lasernetgroup.com/llms.txt
> Use this file to discover all available pages before exploring further.
# NoFile Enquiry
## 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 Lasernet Group 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 that 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 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
1. Open `efs-nofileenquiry-4.*.jar` using 7-zip (or similar application).
2. Update `NoFileEnquiry.properties` with DM/URL credentials.
(5).png)
1. Save the changes back into the jar file.
#### Create EFS Folder for the New Jars
1. Create the folder **EFS** in `_C:\Temenos\ModelBank\Infra\JBoss\modules\com\temenos\t24\main`.
2. 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
1. 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:
```plaintext
a. ``
b. ``
```
1. Modify the dependencies section so it looks as follows:
```javascript
```
1. Remove any version of **log4j** from `BrowserWeb.war` located in `C:\Temenos\ModelBank\Infra\JBoss\lite`.
> [!WARNING]
> 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:
1. Obtain the CLI jar from the interfaces release package. It should be named `crypto-utils-1.0.0-cli.jar` or similar.
2. 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`.
3. 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)`.
4. 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]
> 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]
> Note
>
> Optional - not needed if you have the compiled routines as mentioned in the previous section.
Two Lasernet Group routines must be compiled to enable **NoFile** interface functionality. These are included in the `autoform-nofileenquiry-4.*-bin.zip` file, and must 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**:
1. Copy the routines into `T24/MB/bnk/bnk.run/EFS.BP`.
2. 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 Lasernet Group 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`).
1. Copy the routines into `/T24/Programs/TAFJ/appserver/TAFJ.BP`.
2. In **Eclipse**, expand **MB→TAFJ.BP**, and you should see your routines.
3. Right-click and select **Compile Basic File** for each, and ensure to see **[ OK ]** status in the console.
4. 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]
> 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
> [!CAUTION]
> 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`