--- 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. ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image (16)(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. ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image (17)(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 ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image (18)(5).png) ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image (19)(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**. ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image (20)(4).png) | Field | Value | | --- | --- | | TYPE | S | | GB Screen Title | PDM.SELECTION | | Product | EB | | Sub Product | MAINTENANCE | ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image (21)(5).png) Verify the changes to the new PGM file after committing them. ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image (22)(5).png) - STANDARD.SELECTION This is created using **STANDARD.SELECTION NOFILE.PDM**. ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image (23)(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 | ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image (24)(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. ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image (25)(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 | ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image (26)(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**: ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image (27)(3).png) ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-U6ZMI18R.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** ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image (30)(1).png) ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-YVN5D9L1.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: ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image (32)(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 | ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image (33)(2).png) ![](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/image-0Q02VCBP.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`