How to run the example

This mx-mt translation will use the sample files to demonstrate the generation of SWIFT MT900 or MT910 message output from a CBPR+ camt.054.001.08 XML message.

The cbprJnodesConfigIBM.tar.gz file is available either in IBM_financialpaymentsplus_vn.n.n.n.zip or in UIProjectImports directory.

Extract from cbprJnodesConfigIBM.tar.gz file.
  • jnodes0.jar
The following jars needs to be copied from <TX_install_dir>/jars:
  • jackson-core-n.n.n.jar
  • jackson-annotations-n.n.n.jar
  • jackson-databind-n.n.n.jar

Or visit https://repo1.maven.org/maven2/com/fasterxml/jackson/core/ for download.

For the non Docker environments:
  • Copy jars to <TX_install_dir>/extjar.
For the Docker environments
  • Docker cp jnodes0.jar tx-server:/opt/ibm/wsdtx/libs/.
  • Restart the design server, i.e., docker restart tx-server.

This example generates MT900 or MT910 based on the <CdtDbtInd> which could be CRDT (will generate MT910) or DBIT (will generate MT900).

Also, may generate stopTranslation.json log file to report the translation failure due to the pre-conversion checks:

Either <CdtDbtInd> is not one of these (CRDT, DBIT) or <Sts><Cd> is not BOOK.
TotalNumberOfDigits <Ntry><Amt> less than or equal to 14.
Only one occurrence is allowed for <Ntfctn>, <Ntry>, <NtryDtls> and <TxDtls>.
Either one must exist <Ntfctn><Ntry><ValDt> or <Ntfctn><Ntry><NtryDtls><TxDtls><RltdDts><IntrBkSttlmDt>.
  1. Import the cbpr_translation.zip project into the Design Server.
  2. Open the cbpr_translation project in Design Server and view the flow cbpr_camt054_mt9n0. It utilizes the following nodes:
    1. Map Nodes:
      • MX deenvelope

        Runs map cbpr2724_deenvelope which sets the flow variable mxMsgId to 'camt.054.001.08' based on the input. Also, distribute the input data into two: Application header and document.

      • set BAH

        Runs map cbpr2002_bah_camt054_set which set up the flow variables for the Application Header.

      • serialize data

        Runs map cbpr2001_camt054_serialize which set flow variable mxMsgId to '900' or '910' based on input and the flow variable stopTranslation if required.

      • set mt9n0

        Runs map cbpr2003_camt54_mt9n0_jexit, invokes JEXIT call to java class located in jnodes0.jar and returns with flow variables.

      • trx_log

        Runs map cbpr1502_mtmx_setvarlog, process the flow variables by extracting log as key.

      • build mt900

        Runs map cbpr2513_camt054_mt900 which builds the output MT900 message fields based on the values set in flow variables.

      • build mt910

        Runs map cbpr2514_camt054_mt910 which builds the output MT910 message fields based on the values set in flow variables.

    2. Decision Nodes:
      • pre-conv chk

        This check the flow variable stopTranslation to decide if further translation is required.

    3. Log Nodes:
      • FAILURE

        It creates stopTranslation.json log file in case of failure during translation.

      • MT 900

        Archive the mt900.out message generated from translation.

      • MT 910

        Archive the mt910.out message generated from translation.

      • audit_log

        It creates the audit.log.json output file.

    4. Route Nodes:
      • route MT

        Checks the flow variable mtMsgId. If set to '900', go to MT900 Log node or if set to '910', go to MT910 Log node.

  3. In Design Server, create a package that contains the input files and one flow. The maps will automatically be included during deployment of the package onto the runtime server.