How to run the example

This mx-mt translation will use the sample files to demonstrate the generation of SWIFT MT196 or MT296 message output from a CBPR+ camt.029.001.09 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.

Note: Recommend using latest version.
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 MT196 or MT296 based on the <OrgnlMsgNmId>.

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

  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_camt029_mtn96. It utilizes the following nodes:
    1. Map Nodes:
      • MX deenvelope

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

      • set BAH

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

      • serialize data

        Runs map cbpr2525_camt029_serialize which set flow variable mxMsgId to '196' or '296' based on input and the flow variable stopTranslation if required.

      • set mtn96

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

      • trx_log

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

      • build mt196/mt296

        Runs map cbpr2523_camt029_mtn96 which builds the output MT196 or MT296 (base on mtMsgId) 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 not required.

    3. Log Nodes:
      • FAILURE

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

      • MT 196

        Archive the mt196.out message generated from translation.

      • MT 296

        Archive the mt296.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 '196, go to MT196 Log node or if set to '296, go to MT296 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.