NoFile Enquiry
    • 15 Apr 2024
    • 6 Minutes to read
    • Contributors
    • PDF

    NoFile Enquiry

    • PDF

    Article summary

    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.

    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

    1. Open efs-nofileenquiry-4.*.jar using 7-zip (or similar application).

    2. Update NoFileEnquiry.properties with DM/URL credentials.

    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:

      a.  `<resource-root path=“/EFS/efs-compiled-routines-tafj.jar” />`
      b.  `<resource-root path=“/EFS/efs-nofileenquiry-4.3.6-SNAPSHOT.jar” />`
    1. Modify the dependencies section so it looks as follows:

    <dependencies>
          <module name="org.apache.log4j"/>
          <module name="com.temenos.tafj"/>
      </dependencies>
    1. 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:

    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

    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:

    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

    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).

    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.

    Field

    Value

    TYPE

    S

    GB Screen Title

    PDM.SELECTION

    Product

    EB

    Sub Product

    MAINTENANCE

    Verify the changes to the new PGM file after committing them.

    • STANDARD.SELECTION

    This is created using STANDARD.SELECTION NOFILE.PDM.

    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

    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.

    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

    • 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:

    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

    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:

    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

    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