TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User ...

90
TIBCO ActiveMatrix BusinessWorks™ Plug-in for SWIFT User’s Guide Software Release 5.13 November 2014 Two-Second Advantage ®

Transcript of TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User ...

Two-Second

TIBCO ActiveMatrix BusinessWorks™ Plug-in for SWIFT

User’s GuideSoftware Release 5.13November 2014

Advantage®

Important Information

SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR BUNDLED TIBCO SOFTWARE IS SOLELY TO ENABLE THE FUNCTIONALITY (OR PROVIDE LIMITED ADD-ON FUNCTIONALITY) OF THE LICENSED TIBCO SOFTWARE. THE EMBEDDED OR BUNDLED SOFTWARE IS NOT LICENSED TO BE USED OR ACCESSED BY ANY OTHER TIBCO SOFTWARE OR FOR ANY OTHER PURPOSE.USE OF TIBCO SOFTWARE AND THIS DOCUMENT IS SUBJECT TO THE TERMS AND CONDITIONS OF A LICENSE AGREEMENT FOUND IN EITHER A SEPARATELY EXECUTED SOFTWARE LICENSE AGREEMENT, OR, IF THERE IS NO SUCH SEPARATE AGREEMENT, THE CLICKWRAP END USER LICENSE AGREEMENT WHICH IS DISPLAYED DURING DOWNLOAD OR INSTALLATION OF THE SOFTWARE (AND WHICH IS DUPLICATED IN THE LICENSE FILE) OR IF THERE IS NO SUCH SOFTWARE LICENSE AGREEMENT OR CLICKWRAP END USER LICENSE AGREEMENT, THE LICENSE(S) LOCATED IN THE “LICENSE” FILE(S) OF THE SOFTWARE. USE OF THIS DOCUMENT IS SUBJECT TO THOSE TERMS AND CONDITIONS, AND YOUR USE HEREOF SHALL CONSTITUTE ACCEPTANCE OF AND AN AGREEMENT TO BE BOUND BY THE SAME.This document contains confidential information that is subject to U.S. and international copyright laws and treaties. No part of this document may be reproduced in any form without the written authorization of TIBCO Software Inc.TIBCO, Two-Second Advantage, TIBCO ActiveMatrix BusinessWorks, TIBCO Administrator, TIBCO Designer, TIBCO Hawk, TIBCO Rendezvous, and TIBCO Runtime Agent are either registered trademarks or trademarks of TIBCO Software Inc. in the United States and/or other countries. Enterprise Java Beans (EJB), Java Platform Enterprise Edition (Java EE), Java 2 Platform Enterprise Edition (J2EE), and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle Corporation in the U.S. and other countries.All other product and company names and marks mentioned in this document are the property of their respective owners and are mentioned for identification purposes only.THIS SOFTWARE MAY BE AVAILABLE ON MULTIPLE OPERATING SYSTEMS. HOWEVER, NOT ALL OPERATING SYSTEM PLATFORMS FOR A SPECIFIC SOFTWARE VERSION ARE RELEASED AT THE SAME TIME. SEE THE README FILE FOR THE AVAILABILITY OF THIS SOFTWARE VERSION ON A SPECIFIC OPERATING SYSTEM PLATFORM.THIS DOCUMENT IS PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.THIS DOCUMENT COULD INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS. CHANGES ARE PERIODICALLY ADDED TO THE INFORMATION HEREIN; THESE CHANGES WILL BE INCORPORATED IN NEW EDITIONS OF THIS DOCUMENT. TIBCO SOFTWARE INC. MAY MAKE IMPROVEMENTS AND/OR CHANGES IN THE PRODUCT(S) AND/OR THE PROGRAM(S) DESCRIBED IN THIS DOCUMENT AT ANY TIME.THE CONTENTS OF THIS DOCUMENT MAY BE MODIFIED AND/OR QUALIFIED, DIRECTLY OR INDIRECTLY, BY OTHER DOCUMENTATION WHICH ACCOMPANIES THIS SOFTWARE, INCLUDING BUT NOT LIMITED TO ANY RELEASE NOTES AND "READ ME" FILES.Copyright © 2001-2014 TIBCO Software Inc. ALL RIGHTS RESERVED.TIBCO Software Inc. Confidential Information

| iii

Contents

Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .vii

Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix

Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi

Related Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiiTIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiiOther TIBCO Product Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii

Typographical Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xiii

Connecting with TIBCO Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvHow to Join TIBCOmmunity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvHow to Access TIBCO Documentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvHow to Contact TIBCO Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv

Chapter 1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

Terminology and Acronyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

SWIFT Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4SWIFT Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4Communicating with the SWIFT Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Plug-in Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Chapter 2 Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11

Creating a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Creating a Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Adding Activities to a Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Testing a Process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Deploying a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Chapter 3 SWIFT MT Palette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17

Load SWIFT MT Schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18Configuration Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

Generate SWIFT BICPlusIBAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19IBAN Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Generating the IBAN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

iv | Contents

Validate SWIFT BICPlusIBAN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Scenarios of the BICPlusIBAN Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24BICPlusIBAN Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Parse SWIFT MT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29Configuration Tab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29Input Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33Output Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33Error Output Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

Render SWIFT MT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34Configuration Tab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34Input Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35Output Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35Error Output Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Route SWIFT MT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36Configuration Tab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36Input Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37Output Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37Error Output Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Limitations and Recommendations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

Chapter 4 SWIFT MX Palette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

Parse SWIFT MX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40Configuration Tab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40Basic Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41Advanced Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42Input Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42Output Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43Error Output Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Render SWIFT MX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44Configuration Tab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44Basic Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45Advanced Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46Input Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46Output Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Error Output Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

Chapter 5 Advanced Configuration Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

Parsing and Validating SWIFT Files Using SwiftCheck. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Validating SWIFT Files Using SwiftMXCheck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Loading SWIFT Message Types into a Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

Using Global Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55Changing Global Variable Values at Runtime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

Contents | v

Predefined Global Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

Chapter 6 Processing Acknowledgment Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59

Overview of Acknowledgment Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

Processing Acknowledgment Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Reconciling Acknowledgment Messages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

Chapter 7 Miscellaneous. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63

Migrating to the Current SWIFT Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

Using Dynamic BIC or BEI Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65Activate Dynamic BIC or BEI Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65Trigger Dynamic BIC or BEI Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Using Validation Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67Filter Groups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67Path Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

Appendix A Error Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71

Error Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

vi | Contents

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

Figures | vii

Figures

Figure 1 SWIFT Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Figure 2 Input of the Generate SWIFT BICPlusIBAN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Figure 3 Output of the Generate SWIFT BICPlusIBAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Figure 4 Configuration of the Validate SWIFT BICPlusIBAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Figure 5 Input of the Validate SWIFT BICPlusIBAN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Figure 6 Output of the Validate SWIFT BICPlusIBAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

viii | Figures

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

Tables | ix

Tables

Table 1 General Typographical Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii

Table 2 Terminology and Acronyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

Table 3 Load SWIFT MT Schema Configuration Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

Table 4 IBAN Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Table 5 Parse SWIFT MT Configuration Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Table 6 Validation Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

Table 7 Parse SWIFT MT Input Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

Table 8 Parse SWIFT MT Output Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

Table 9 Parse SWIFT MT Error Output Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

Table 10 Render SWIFT MT Configuration Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

Table 11 Render SWIFT MT Input Tab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Table 12 Render SWIFT MT Output Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Table 13 Render SWIFT MT Error Output Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Table 14 Route SWIFT MT Configuration Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Table 15 Route SWIFT MT Input Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Table 16 Route SWIFT MT Output Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Table 17 Route SWIFT MT Error Output Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Table 18 Parse SWIFT MX Configuration Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Table 19 Parse SWIFT MX Basic Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

Table 20 Parse SWIFT MX Advanced Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

Table 21 Parse SWIFT MX Input Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

Table 22 Parse SWIFT MX Output Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Table 23 Parse SWIFT MX Error Output Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Table 24 Render SWIFT MX Configuration Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

Table 25 Render SWIFT MX Basic Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Table 26 Render SWIFT MX Advanced Tab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Table 27 Render SWIFT MX Input Tab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Table 28 Render SWIFT MX Output Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

x | Tables

Table 29 Render SWIFT MX Error Output Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

Table 30 Predefined Global Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

Table 31 List of Trigger Types and Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

Table 32 Path Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

Table 33 Using Validation Filters: Valid Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

Table 34 Using Validation Filters: Invalid Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

| xi

Preface

This manual describes the supported features of TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT and the advantages of using the plug-in.

Topics

• Related Documentation, page xii

• Typographical Conventions, page xiii

• Connecting with TIBCO Resources, page xv

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

xii | Related Documentation

Related Documentation

This section lists documentation resources.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT DocumentationThe following documents form the TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT documentation set:

• TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT Installation Read this manual for instructions on site preparation and installation.

• TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide Read this manual for instructions on using the plug-in.

• TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT Examples Guide Read this manual to work through the examples provided with the plug-in.

• TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT Release Notes Read this release notes for a list of new and changed features. This document also contains lists of closed issues and known issues for this release.

Other TIBCO Product DocumentationYou may find it useful to read the documentation for the following TIBCO products:

• TIBCO Administrator™

• TIBCO ActiveMatrix BusinessWorks™

• TIBCO Designer™

• TIBCO Enterprise Message Service™

• TIBCO Hawk®

• TIBCO Rendezvous™

• TIBCO Runtime Agent™

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

Preface | xiii

Typographical Conventions

The following typographical conventions are used in this manual.

Table 1 General Typographical Conventions

Convention Use

TIBCO_HOME

ENV_NAME

TIB_ADSWIFT_HOME

CONFIG_HOME

TIBCO products are installed into an installation environment. A product installed into an installation environment does not access components in other installation environments. Incompatible products and multiple instances of the same product must be installed into different installation environments.

An installation environment consists of the following properties:

• Name Identifies the installation environment. This name is referenced in documentation as ENV_NAME. In Microsoft Windows, the name is appended to the name of Windows services created by the installer and is a component of the path to the product shortcut in the Windows Start > All Programs menu.

• Path The directory into which the product is installed. This directory is referenced in documentation as TIBCO_HOME.

The product is installed into a directory within a TIBCO_HOME.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT installs the product in the directory which is referenced in documentation as TIB_ADSWIFT_HOME. The default value of TIBCO_ADSWIFT_HOME depends on the operating system. For example, in Windows systems, the default value is C:\tibco\bw\plugins\adswift.

A TIBCO configuration directory stores configuration data generated by TIBCO products. Configuration data can include sample scripts, session data, configured binaries, logs, and so on. This directory is referenced in documentation as CONFIG_HOME. The default location of the directory is USER_HOME\ENV_NAME\tibco\cfgmgmt\product_name. For example, in Windows, the default location is C:\ProgramData\TIBCO_HOME\tibco \cfgmgmt\product_name.

code font Code font identifies commands, code examples, filenames, pathnames, and output displayed in a command window. For example:

Use MyCommand to start the foo process.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

xiv | Typographical Conventions

bold code font Bold code font is used in the following ways:

In procedures, to indicate what a user types. For example: Type admin.

In large code samples, to indicate the parts of the sample that are of particular interest.

In command syntax, to indicate the default parameter for a command. For example, if no parameter is specified, MyCommand is enabled: MyCommand [enable | disable]

italic font Italic font is used in the following ways:

To indicate a document title. For example: See TIBCO BusinessWorks Concepts.

To introduce new terms For example: A portal page may contain several portlets. Portlets are mini-applications that run in a portal.

To indicate a variable in a command or code syntax that you must replace. For example: MyCommand pathname

Key combinations Key name separated by a plus sign indicate keys pressed simultaneously. For example: Ctrl+C.

Key names separated by a comma and space indicate keys pressed one after the other. For example: Esc, Ctrl+Q.

The note icon indicates information that is of special interest or importance, for example, an additional action required only in certain circumstances.

The tip icon indicates an idea that could be useful, for example, a way to apply the information provided in the current section to achieve a specific result.

The warning icon indicates the potential for a damaging situation, for example, data loss or corruption if certain steps are taken or not taken.

Table 1 General Typographical Conventions (Cont’d)

Convention Use

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

Preface | xv

Connecting with TIBCO Resources

How to Join TIBCOmmunityTIBCOmmunity is an online destination for TIBCO customers, partners, and resident experts. It is a place to share and access the collective experience of the TIBCO community. TIBCOmmunity offers forums, blogs, and access to a variety of resources. To register, go to http://www.tibcommunity.com.

How to Access TIBCO DocumentationYou can access TIBCO documentation here:

https://docs.tibco.com

How to Contact TIBCO SupportFor comments or problems with this manual or the software it addresses, contact TIBCO Support as follows:

• For an overview of TIBCO Support, and information about getting started with TIBCO Support, visit this site:

http://www.tibco.com/services/support

• If you already have a valid maintenance or support contract, visit this site:

https://support.tibco.com

Entry to this site requires a username and password. If you do not have a username, you can request one.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

xvi | Connecting with TIBCO Resources

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

| 1

Chapter 1 Introduction

This chapter provides an overview of SWIFT and TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT.

Topics

• Terminology and Acronyms, page 2

• SWIFT Overview, page 4

• Plug-in Overview, page 9

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

2 | Chapter 1 Introduction

Terminology and Acronyms

The following terminology and acronyms are used in this manual:

Table 2 Terminology and Acronyms

Acronym Meaning

API Application Programming Interface

ACK Positive Acknowledgement

ADK Alliance Development Kit provided by SWIFT to create interface programs to SWIFT Alliance.

BEI Business Entity Identifier

BIC Bank Identifier Code

Delivery Report

The SWIFT network can, either on its own or in response to a request from the user, report the delivery status of a user message. Typically, this message specifies whether the message was successfully delivered, could not be delivered, was acknowledged or not acknowledged (ACK or NACK) by the receiver or sender. Such a message is called a Delivery Report.

MT Financial Message Type in SWIFT

IBAN International Bank Account Number

JMS Java Messaging Service

JNI Java Native Interface

LTA Logical Terminal Address

MT Message Type in SWIFT

MX Message Type in SWIFT

NAK Negative Acknowledgement

SWIFT Society for Worldwide Interbank Financial Telecommunication. This organization maintains a global store and forward network for secure financial messaging. In addition, it defines standard formats for interbank messages.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

Terminology and Acronyms | 3

SAA SWIFT Alliance Access. It is an application that runs on a server and connects the global SWIFT network with an adapter through either a phone line, or a leased line. It performs the actual message or report exchange with the SWIFT network.

SAE SWIFT Alliance Entry

Transmission Report

The transmission report is a message that states whether the user message was accepted or not (ACK or NACK) by the network. Since the SWIFT network is a store and forward network, every user message is stored by the network before being forwarded to the receiver. At the time of storing, the network also validates the message.

UAK Positive User Acknowledgement

UNK Negative User Acknowledgement

Table 2 Terminology and Acronyms (Cont’d)

Acronym Meaning

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

4 | Chapter 1 Introduction

SWIFT Overview

SWIFT (Society for Worldwide Interbank Financial Telecommunication) is an organization that provides an automated fast and safe means of sending and receiving financial messages between financial institutions worldwide.

SWIFT users include financial institutions such as banks, brokers, dealers, or investment managers. Typical users of SWIFT deal in payments, securities, foreign exchange, money markets, treasury, and trade. All SWIFT users are identified on the SWIFT network by a unique address called a Bank Identifier Code (BIC). To exchange messages over the SWIFT network, every user must have at least one unique BIC.

SWIFT processes information (that is, data, texts, or commands) in the form of messages. SWIFT offers the following two applications which provide all messaging functions and facilities available to users:

• General Purpose Application (GPA) Controls how users communicate within SWIFT.

• Financial Application (MT) Controls the user-to-user messaging facilities within SWIFT.

SWIFT Messages

Type of Messages

All SWIFT messages start with the literal "MT" followed by a 3-digit number. The first digit represents the message category, the second digit represents a group of related parts in a transaction life cycle, and the third digit represents the message type.

SWIFT messages mainly include the following types:

• System Messages Messages sent by a user to the SWIFT system (delivery notifications, retrievals) or vice versa (retrieved messages, non-delivery warnings). System messages are represented by MT0nn, and used for system-level information, such as delivery notifications and non-delivery warnings.

• User-to-User Messages These messages enable financial transactions and are sent from one user to another. These messages are represented by MT1nn through MT9nn.

• Service Messages These messages are also known as control messages, and are related either to system commands (for example, LOGIN, SELECT, or QUIT)

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

SWIFT Overview | 5

or to message acknowledgements. For example, when you send a message to the SWIFT network, SWIFT accepts the message and sends you an ACK if the syntax of the message is correct. If not, it returns a NAK.

Standard of Messages

SWIFT uses a set of MT standards and message format validation rules to validate all messages sent across the SWIFT network. All sending messages from the financial institutions must comply with the standards so that the receiving institutions can correctly understand and process them.

Structure of Messages

All SWIFT MT messages are ASCII text messages and, in general, have the following structure:

• Basic header block This block is represented by {1:} and includes details, such as the application ID, service ID, address of the logical terminal, session number, sequence number, and so on.

The application ID in this block helps you identify whether a message is a GPA message (system message) or a MT message (user-to-user message). For example, ’M’ indicates that the message is a MT message and ’A’ indicates that the message is a GPA message.

• Application header block This block is represented by {2:}. Application headers contain two types: input and output. The structure of the block varies depending on the type of the application header. This header block typically includes details, such as the message type, message priority, delivery monitoring, and so on.

• User header block This block is represented by {3:} and includes details, such as the banking priority code and so on. This is an optional block.

• Text block This block is represented by {4:} and contains the actual MTnnn message. This block includes details, such as the ordering customer, beneficiary customer, amount, currency code, date, and so on. This block consists of field tags of the format :nna: where nn is a number and a is an optional letter which may be present on selected tags. The symbol CrLf is a control character and represents Carriage Return/Line Feed. The symbol CrLf is a mandatory delimiter in this block.

• Trailer block A message always ends in a trailer block and this block is represented by {5:}. It is used for control purposes and includes details, such as message authentication code and checksum calculated for all message types.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

6 | Chapter 1 Introduction

The following is a graphical representation of a typical SWIFT message:

Basic Message Flow

When you send a message to the SWIFT network, SWIFT validates the syntax of the message. If the message is correct, SWIFT accepts the message and sends you an ACK and attempts to deliver the message to the receiver. If the message does not comply with the standards, it is rejected and SWIFT returns a NAK. The NAK contains an error code which allows the sender to identify the type of error and its location. The sender can then correct the message before re-sending it to SWIFT.

SWIFT delivers the message as soon as the receiver is logging in to the SWIFT network. The interface at the receiver's end automatically confirms the receipt and acceptance of the message by sending a UAK. When a UAK is received by SWIFT, the message is considered to be delivered. If the message received is corrupted, the interface of the receiver will send a UNK to SWIFT, and SWIFT will attempt to re-deliver the message.

Communicating with the SWIFT NetworkTo be able to communicate with the SWIFT network, a user must have SAA, SAE, or any other interface approved by SWIFT. Messages can be produced on a variety of user applications but they can only be sent to SWIFT through SAA or SAE. Similarly, messages can be processed on a variety of user applications, but can only be received through SAA or SAE.

{1:--------}

:nn:-----------------<CrLf>:nna:----------------<CrLf>:nna:----------------<CrLf>:nna:----------------<CrLf>:nna:----------------<CrLf>:nn:-----------------<CrLf>:nna:----------------<CrLf>:nna:----------------<CrLf>:nna:----------------<CrLf>:nna:----------------<CrLf>:nn:-----------------<CrLf>:nna:----------------<CrLf>-}{5: {MAC:--------}{CHK:--------}}

B a s ic H e a d e r A p p lic a tio n H e a d e r U s e r H e a d e r

T ra ile r B lo c k

T e x t B lo c k

{2:--------}{3:--------}{4:<CrLf>

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

SWIFT Overview | 7

You can communicate with SAA using one of the following interfaces:

• CASmf

• FTP

• MQSA

The next diagram shows how the above interfaces are used to integrate SAA with the user application.

Figure 1 SWIFT Interfaces

• CASmf

CASmf is a software used for communicating between SWIFT Alliance Access and other user applications. CASmf uses a MAPID, a name given to each instance of the messaging application, to establish the communication between the user application and SAA. The MAPID is defined in the user’s host as well as in the SWIFT interface.

CASmf also provides APIs to developers of the user application. APIs allow the user host environment and the SWIFT interface to communicate, establishing a “real-time” session. Once a “real-time” session is established, financial messages can be exchanged. APIs can open, close or abort a session, and send or receive data. The CASmf software uses TCP/IP as the communication protocol.

Institution Y

SW

IFT

Alli

ance

Acc

ess

SWIFTNetwork

Institution X

Institution Z

En

d us

er a

pplic

atio

n

Inside Institution X

MQ SeriesMQSA

CASmf

FTP

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

8 | Chapter 1 Introduction

• MQSA

MQSA is a software used to interact between SWIFT Alliance Access and MQSeries. The MQSA interface is based on the SWIFT ADK. It uses ADK functions to communicate with SWIFT Alliance, and MQSeries functions to access message queuing services.

• FTP

An FTP server can be used for communication between SWIFT interfaces and user applications. The user application transfers SWIFT messages to a specified directory on the server. SAA picks up the SWIFT messages from this directory and sends them to the SWIFT network.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

Plug-in Overview | 9

Plug-in Overview

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT enables you to parse, validate, and render MT and MX messages using TIBCO ActiveMatrix BusinessWorks. It also enables you to route MT messages to different activities based on the message type.

Some advantages of the plug-in are:

• Parses or renders MT messages without having to interact with a live SWIFT network. The plug-in would be useful for customers, such as Custodian brokers and dealers using the SWIFT MT format internally.

• Parses, renders or validates MX messages without having to interact with a live SWIFT networks.

• Gives you more control as to how you dispose and transfer messages to the SWIFT network.

The plug-in includes the following activities:

• Load SWIFT MT Schema—The activity enables you to select a SWIFT specification from a list and then load or unload the message type schemas for the selected SWIFT specification.

• Generate SWIFT BICPlusIBAN—The activity allows you to generate the IBAN.

• Validate SWIFTBICPlusIBAN—The activity allows you to validate the IBAN.

• Parse SWIFT MT—The activity allows you to parse an incoming MT message to XML format.

• Render SWIFT MT—The activity allows you to render an incoming MT message from the XML format to an MT message format.

• Route SWIFT MT—The activity allows you to route MT messages to different activities based on the message type.

• Parse SWIFT MX—The activity allows you to parse an incoming MX message to XML format.

• Render SWIFT MX—The activity allows you to render an incoming message to an MX message.

Before you parse or render the MT message, you must load the corresponding message type schema using the load SWIFT Schema.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

10 | Chapter 1 Introduction

If you want to parse SWIFT MX messages, you can download MX schema files from the SAA server and design your own project in TIBCO Designer by using the Parse XML activity. See The following paths are not valid: on page 70 for details about how to design a project to parse MX messages in TIBCO Designer.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

| 11

Chapter 2 Getting Started

This chapter describes the basic steps that are required to configure and run TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT in TIBCO Designer.

Topics

• Creating a Project, page 12

• Creating a Process, page 13

• Adding Activities to a Process, page 14

• Testing a Process, page 15

• Deploying a Project, page 16

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

12 | Chapter 2 Getting Started

Creating a Project

TIBCO Designer GUI is used to configure the plug-in. When starting TIBCO Designer, you must create or select a project. A project contains configuration files that define options used during runtime.

To create a project:

1. Start TIBCO Designer.

To open the TIBCO Designer window:

— In Microsoft Windows

Select Start > All Programs > TIBCO > TIBCO Designer version_number > TIBCO Designer.

Or

From a command window, run TIBCO_HOME\designer\version_number\bin\designer.exe.

— In UNIX

From a command window, change to the TIBCO_HOME/designer/version_number/bin directory and run ./designer.

2. Click New empty project in the TIBCO Designer panel.

3. Click in the Multi-File Project panel in the Save Project window. Navigate to the location where you intend to save the project and specify a name for the project. Click OK to continue. The TIBCO Designer GUI is displayed with the newly created project.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

Creating a Process | 13

Creating a Process

To deal with certain workflows, you need to create a process that TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT activities can be added to.

To create a process:

1. Select the root directory in the project panel.

2. Expand the Process palette in the palette panel and drag the Process Definition icon into the design panel. Configure the process. For more information, see TIBCO Designer User’s Guide.

3. Click Apply to save the configuration.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

14 | Chapter 2 Getting Started

Adding Activities to a Process

To add an activity to the process:

1. Click the process that was previously created in Creating a Process on page 13. The Start and End activities appear in the design panel.

2. Expand the SWIFT MT palette in the palette panel and drag one or more activities to the design panel. You can also add activities from other palettes to the process, for example, Rendezvous activities.

3. Create transitions between activities in the design panel.

4. Configure each activity in the process. For configuration information, see SWIFT MT Palette on page 17.

If the SWIFT MT palette is not shown in the palette panel, click Palettes > Activities > SWIFT MT from the menu to make it visible.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

Testing a Process | 15

Testing a Process

After creating and configuring a process, you can test it in TIBCO Designer. This allows you to check if the process works properly before you deploy it. See TIBCO ActiveMatrix BusinessWorks Process Design Guide for detailed information on how to use the test mode.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

16 | Chapter 2 Getting Started

Deploying a Project

To deploy a project that you have configured, you need to generate an Enterprise Archive file (EAR file) that contains the configuration for the process definition you want to deploy. To deploy associated applications, you can upload the archive to TIBCO Administrator. See TIBCO ActiveMatrix BusinessWorks Administration for more information.

The following is the basic procedure:

1. Save the project in the TIBCO Designer window.

2. Click Tools > Create Project EAR from the menu to create an Enterprise Archive.

3. Select the Process Archive resource in the Enterprise Archive you created in step 2. In the Processes tab, click Browse to specify the process definitions to include.

4. Click Apply to save the configuration.

5. Click Build Archive in the Enterprise Archive panel. An Enterprise Archive EAR file is generated by TIBCO Designer, which you can then deploy from TIBCO Administrator.

6. Start TIBCO Administrator and create an application related to the project.

7. Deploy the application and start the process.

You can define multiple Enterprise Archive resources for a single Designer project. For each archive, you can choose the processes you want to include.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

| 17

Chapter 3 SWIFT MT Palette

This chapter describes the MT features of TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT.

Topics

• Load SWIFT MT Schema, page 18

• Generate SWIFT BICPlusIBAN, page 19

• Validate SWIFT BICPlusIBAN, page 24

• Parse SWIFT MT, page 29

• Render SWIFT MT, page 34

• Route SWIFT MT, page 36

• Limitations and Recommendations, page 38

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

18 | Chapter 3 SWIFT MT Palette

Load SWIFT MT Schema

You can use the Load SWIFT MT Schema to select a SWIFT specification from a list and then load or unload the message type schemas for the selected SWIFT specification. The schemas loaded using the Load SWFIT MT Schema are used by the Parse SWIFT MT and Route SWIFT MT activities.

Configuration TabThe Configuration tab has the following fields:

The load schema is not a TIBCO ActiveMatrix BusinessWorks activity and therefore, is disabled when you are configuring a process in TIBCO ActiveMatrix BusinessWorks. It is enabled only when you are adding a resource to a project. For example, when you are at the root (/) level.

Table 3 Load SWIFT MT Schema Configuration Tab

Field Description

Specification Allows you to select a specification from a list of supported SWIFT specifications.

Note: Changing from one specification to another unloads all existing SWIFT-related schemas. Therefore, TIBCO recommends that you do not change from one SWIFT specification to another. However, if you need to change the SWIFT specification using the Load SWIFT MT Schema, delete the existing SWIFT activity instances and configure them again.

Message Types Contains a list of all the message types supported by the selected SWIFT specification. Select the check box next to the message type to load the schema in TIBCO Designer. Clear the check box to unload a schema.

To load or unload multiple message type schemas in one operation:

1. Select a message, then hold the Shift key, scroll and select other message types.

2. Click Load Selected to load all highlighted message types. Similarly, click Unload Selected to unload highlighted message types.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

Generate SWIFT BICPlusIBAN | 19

Generate SWIFT BICPlusIBAN

You can use the Generate SWIFT BICPlusIBAN to generate an IBAN. The inputs to the activity are country code and BBAN, and the output is an IBAN.

IBAN ComponentsThe IBAN components are country code, check digits, and BBAN (Basic Bank Account Number), as shown in the following table.

The following list specifies each component of an IBAN:

• The country code: 2 characters, for example, GR stands for Greece.

• The check digits: 2 characters, system generated.

• The BBAN consists of the IBAN national ID and account number. The IBAN national ID itself includes a bank identifier and a branch identifier. Based on the international standards, the length of the bank identifier and the branch identifier are different for different countries.

— Bank identifier: a standardized and unique code that is used to identify a specific bank. For example, the length of the bank identifier for Greece is 3 characters, which are 060 in Table 4.

— Branch identifier: part of the branch prediction system that gives an address to indicate if there is a branch at that address, and possibly what

• IBAN (International Bank Account Number) is an international standard for identifying bank accounts across national borders with minimal risk of propagating transcription errors. IBAN imposes a flexible but regular format sufficient for account identification, and contains validation information to avoid errors of transcription.

• The Generate SWIFTN BICPlusIBAN is a TIBCO ActiveMatrix BusinessWorks activity and is enabled only after you select a process.

Table 4 IBAN Components

Country Code Check Digits BBAN

IBAN National ID Account Number

GR 45 0601095 0000000000627399

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

20 | Chapter 3 SWIFT MT Palette

type of branch (conditional, call, return, indirect, and so on.) it is. For example, the length of the branch identifier for Greece is 4 characters, which are 1095 in Table 4.

— Account number: the rest of the numbers in Table 4 are the account number.

Generating the IBANIf you are required to generate an IBAN for Germany, you must complete the following tasks:

• Task A File Download, page 20

• Task B Configuring the Generate BICPlusIBAN, page 21

• Task C Generating the IBAN, page 22

Task A File Download

Download the Bank Directory Plus and IBAN Plus directories and extract them to the same folder.

Bank Directory Plus and IBAN Plus directories are available as download packages. You can download them from the following locations:

Before processing the Generate SWIFT BICPlusIBAN activity, you need to set the heap size to 1024 M in case a memory outbound error occurs.

To do so:

1. Browse to the TIBCO_HOME\designer\Version\bin directory.

2. Open the designer.tra file and update the heap size to 1024 M:tibco.env.HEAP_SIZE 1024M

After extracting the Bank Directory Plus and IBAN Plus directories, make sure that the following data files are inside:

— IBANPLUS_V*_FULL_2014**** file (IBAN information), required.

— IBANSTRUCTURE_FULL_2014**** file (IBAN structure information), required.

— EXCLUSIONLIST_V*_FULL_2014**** file (National IDs are not allowed in IBANs), required.

— COUNTRY_CODE_2014**** file (Country code information), required.

— BANKDIRECTORYPLUS_V*_FULL_2014**** file (Bank information), required.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

Generate SWIFT BICPlusIBAN | 21

• www.swift.com/SWIFTRef, over the Internet.

• The SWIFTNet Portal, over SWIFTNet (using Browse, and Alliance WebStation or Starter Set): for more information about SWIFTNet Portal, see the SWIFTNet Portal User Guide, available on www.swift.com > Support > Documentation.

• SWIFT now supports automated download of Bank Directory Plus and IBAN Plus directories from www.swift.com. They are also distributed over FileAct.

Task B Configuring the Generate BICPlusIBAN

Before generating the IBAN, go through the following steps to configure the Generate SWIFTBICPlusIBAN activity:

1. Start TIBCO Designer, and click New empty project. The Save Project window opens.

2. Click Browse in the Save Project window. Create a directory to store the project: C:\tibco\projects\IBANGeneration. Then click OK, the project files are saved in the IBANGeneration directory.

3. Drag the Process icon from the Palettes panel to the Design panel, and then double-click the Process icon in the Design panel.

4. Drag the Generate SWIFT BICPlusIBAN icon from the Palettes panel to the Design panel.

5. In the Configuration tab, browse to the directory where the Bank Directory Plus and IBAN Plus data files are saved.

When you specify the directory where the Bank Directory Plus and IBAN Plus data files are saved in the BANK Directory and IBAN Plus field, take note of the following items:

— The BANK Directory and IBAN Plus field is a mandatory field.

— The directory must have the written permission.

— Within one project, the directory specified in the BANK Directory and IBAN Plus field in generate BICPlusIBAN must be consistent with the one in validate BICPlusIBAN.

— When you are working with two different projects and setting the same value in the BANK Directory and IBAN Plus field, you must finish processing the first project, and then process the second project.

— You can also use the Global Variable to set the directory.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

22 | Chapter 3 SWIFT MT Palette

6. Click the Input tab, expand the Generate SWIFTBICPlusIBAN Input item in the Activity Input panel, and then enter the appropriate values in the CountryCode and the BBAN fields. See Figure 2.

7. Click Apply. Click Project > Save from the menu.

Figure 2 Input of the Generate SWIFT BICPlusIBAN

Task C Generating the IBAN

1. In the Design panel, add the transition connection for the Generate SWIFTBICPlusIBAN activity, click the Tester panel, and then click Start Testing Viewed Process .

2. When the Process Selection window opens, the process check box is selected by default. Click Load Selected. When the process is executed, the black arrows pointing to each activity turn green.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

Generate SWIFT BICPlusIBAN | 23

3. Click Stop Testing to return to design mode. Then click the Generate SWIFT BICPlusIBAN icon, click the Output tab, and the generated IBAN is displayed in the IBAN field. See Figure 3.

Figure 3 Output of the Generate SWIFT BICPlusIBAN

During the IBAN generation process, two steps operate at the backstage:

• Validate BBAN.

• Generate Check Digit. The check digit enables the sending bank (or its customer) to perform a sanity check of the routing destination and account number from a single string of data at the time of data entry. It is guaranteed to detect any instances where a single character has been omitted, duplicated, mistyped, or where two characters have been transposed. Thus routing and account number errors are virtually eliminated.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

24 | Chapter 3 SWIFT MT Palette

Validate SWIFT BICPlusIBAN

You can use the Validate SWIFT BICPlusIBAN activity to validate the IBAN. The inputs of the activity are IBAN, BIC, and Branch Code. The output is the whole record of the information about financial institutions and their IBAN-related data.

Scenarios of the BICPlusIBAN ValidationThe following list specifies different scenarios:

• Worldwide related

— Translate IBAN into BIC

This validation method is used to create messages for any country that has a registered ISO IBAN structure, and enables users to automatically derive the beneficiary’s BIC from the IBAN. This can be useful in situations where the IBAN is present but the BIC of the beneficiary is missing or incorrect.

— Search the bank participation in the Real Time Gross Settlement (RTGS) systems

This validation method is used to validate whether the bank participates in the RTGS systems or not. If yes, then BICPlusIBAN will validate the transactions are settled as soon as they are processed on a one to one basis without bunching with any other transaction.

— Search for the bank details

This validation method is used to validate the bank details (name, address, and so on).

• SEPA (Single Euro Payments Area) related

— Derive the BIC from the IBAN

This validation method is used to derive the BIC from the IBAN. This can be useful when the IBAN is present but the BIC is missing in a SPEPA payment instruction. The method takes no arguments, and returns an array list of BIC code and BRANCH code.

— Validate IBANs and BICs

Validate IBANs - this validation method is used to validate that the Bank ID contained in an IBAN is a valid Bank ID. This can be useful when the ordering customer has constructed the IBAN. However, this validation

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

Validate SWIFT BICPlusIBAN | 25

does not guarantee that the IBAN itself is valid. This method takes no arguments, and returns a Boolean result.

Validate BICs - this validation method is used to validate that a BIC is valid. This can be useful when the ordering customer attempts to derive the BIC itself from a financial institution’s name and address. This method takes no arguments, and returns a Boolean result.

— Validate IBAN-BIC combinations in payments

This validation method is used to validate that the BIC and the IBAN belong to the same institution. The method takes no arguments, and returns a Boolean result.

BICPlusIBAN ValidationTo process the BICPlusIBAN validation, complete the following tasks:

• Task A Configuring the Validate SWIFT BICPlusIBAN Activity, page 25

• Task B BICPlusIBAN Validation, page 27

Task A Configuring the Validate SWIFT BICPlusIBAN Activity

Before conducting the BICPlusIBAN Validation, go through the following steps to configure the Validate SWIFT BICPlusIBAN activity:

1. Start TIBCO Designer, and click New empty project. The Save Project window opens.

2. Click Browse in the Save Project window. Create a directory to store the project: C:\tibco\projects\ValidateBICPlusIBAN. Next, click OK, the project files are saved in the validateBICPlusIBAN directory.

3. Drag the Process icon from the Palettes panel to the Design panel, then double-click the Process icon in the Design panel.

4. Drag the Validate SWIFT BICPlusIBAN icon from the Palettes panel to the Design panel. In the Configuration tab, browse to the directory where the Bank Directory Plus and IBAN Plus data files are saved. See Figure 4.

Before processing BICPlusIBAN validation activity, you need to set the heap size to 1024 M in case a memory outbound error occurs.

To do so:

1. Browse to the TIBCO_HOME\designer\Version\bin directory.

2. Open the designer.tra file and update the heap size to 1024 M:

tibco.env.HEAP_SIZE 1024M

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

26 | Chapter 3 SWIFT MT Palette

Note: See the note in Task B Configuring the Generate BICPlusIBAN in the Generate BICPlusIBAN section.

Figure 4 Configuration of the Validate SWIFT BICPlusIBAN

5. Click the Input tab, expand the ValidateSWIFTBICPlusIBANInput item in the Activity Input panel, then enter the values in the IBAN field (for example, ’DE70750903004510002321’). See Figure 5.

6. Click Apply. Click Project > Save from the menu.

The IBAN field is a mandatory field, and the BIC and BranchCode fields are optional.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

Validate SWIFT BICPlusIBAN | 27

Figure 5 Input of the Validate SWIFT BICPlusIBAN

Task B BICPlusIBAN Validation

1. In the Design panel, add the transition connection for the Validate SWIFT BICPlusIBAN, then click the Tester panel, and click Start Testing Viewed Process .

2. When the Process Selection window opens, the process check box is selected by default. Click Load Selected. When the process is executed, black arrows pointing to each activity turn green.

3. Click Stop Testing to return to the Design mode. Click Validate SWIFT BICPlusIBAN and click the Output tab, the whole record of information about the financial institutions and their IBAN-related data is displayed. See Figure 6.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

28 | Chapter 3 SWIFT MT Palette

Figure 6 Output of the Validate SWIFT BICPlusIBAN

During the BICPlusIBAN validation, the following items are validated:

• Country code

• Check digits

• IBAN length

• IBAN format

• IBAN National ID

• BIC

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

Parse SWIFT MT | 29

Parse SWIFT MT

The Parse SWIFT MT activity parses an incoming MT message to the XML format. The input to the activity is an MT tmessage in the MT message format and the output is an MT message in the XML format.

Configuration TabThe Configuration tab has the following fields.

• The Parse SWIFT MT is a TIBCO ActiveMatrix BusinessWorks activity and is only enabled after you select a process.

• Before configuring the activity, load the appropriate message type schema using Load SWIFT MT Schema.

Table 5 Parse SWIFT MT Configuration Tab

GUI Element Description

Name Name of the activity.

Description A short description of the activity.

Click to add a description in the Description window.

SWIFT Message Schema

Select the SWIFT message type schema for which you want to configure the activity.

Select All Validations Allows you to select different types of validation.

Validation types supported

For more information on the different types of validations that can be performed, refer to Validation Type on page 30.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

30 | Chapter 3 SWIFT MT Palette

Validation Type

The following table shows the different types of validations that can be performed.

Table 6 Validation Type (Sheet 1 of 3)

Field Description

Validate Message Structure

Performs structural validation of SWIFT messages. See Guidelines for Validating the Message Structure on page 32.

Validate Field Format Performs format validation of SWIFT messages. This format specification includes character set membership, mandatory subfield presence, fixed- and maximum length subfield enforcement, and multi line subfield line count enforcement. All SWIFT text and header fields must follow their format specifications exactly.

Note: Certain field format errors are considered parse errors and will appear even when this validation feature is disabled.

Validate Data Types Performs the data type validation of SWIFT messages. SWIFT header and text subfields, such as message types, currency codes, amounts, dates, and times are all validated for correct format. And the syntactic BIC and LTA validation are part of this feature. Validation against the BIC database requires use of the Validate BIC/BEI field.

Validate Qualifier Code Words

Performs code word validation of SWIFT messages. SWIFT code words are various qualifier-dependent values used in various text subfields. The SWIFT network is currently in a transition for code word validation and not all customers may want to validate code words.

Validate BIC/BEI Performs validation of SWIFT message BIC/BEI codes against a BIC directory. SWIFT BIC and BEI codes are entity identifiers that appear in various subfields of the text block. Validating them is expensive because data must be searched for in a very large (65MB) database that is time and memory consuming to load.

At the initialization time, an FI.dat BIC directory is provided to the validator, and then full BIC/BEI validation is performed against the provided directory. If no BIC directory is provided, then the plug-in uses the default BIC file.

Though this feature is not enabled, syntactic BIC/BEI validation is still performed, only if Validate Data Types is enabled.

Note: Use the latest BIC file provided by SWIFT for up-to-date BIC or BEI validation.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

Parse SWIFT MT | 31

Validate Field-Level Semantics

Performs the field-level semantic validation of SWIFT text blocks. Field-level rules are SWIFT network validation rules that relate data in the subfields of a single field. Examples include "field 22H must have one of subfield Narrative, or Amount, but not both".

Note: this validation is not performed for SWIFT-to-USER system messages even if this feature is enabled. Because these messages are always from SWIFT, and they are assumed to be valid.

Validate Message-Level Semantics

Performs the message-level semantic validation of SWIFT text blocks. Message-level rules are SWIFT network validation rules that relate data in different parts of a message. Examples include "if field 22H in sequence A has value X, then field 98A in sequence B must be

present". These rules are complex and slow the validation process. Furthermore, customers frequently enforce these rules downstream of the validator in their own business logic, so it is not always necessary to enable this sort of validation.

Note: This validation is not performed for SWIFT-to-USER system messages even if this feature is enabled. Because these messages are always from SWIFT, and they are assumed to be valid.

Validate Structured Narrative

Performs the structured narrative validation of SWIFT message headers. Various SWIFT narrative tags (for example, 71B, 72, party fields) require structure when they are used in various messages. The structure typically consists of keywords, continuation characters, or both, sometimes in a particular order.

Validate Advanced Header

Performs the advanced validation of SWIFT message headers. Such validation includes enforcing the order of tags in the user header section; enforcing the order of tags in the trailer section; and enforcing relationships between delivery options, message types, and obsolescence periods in the application header.

BIC Code File (FI.dat) Click Browse and navigate to the location of the BIC or BICPlus file. Select the file and click Open to load it.

Note: The BIC or BICPlus file is extremely large and, if specified, causes the plug-in startup time to increase. If this file is not specified, BIC/BEI codes are checked for structural validity only.

Table 6 Validation Type (Sheet 2 of 3)

Field Description

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

32 | Chapter 3 SWIFT MT Palette

Guidelines for Validating the Message Structure

Structural validation contains the following:

• The fields of all required basic and application headers appear with the correct length.

• The basic header and service identifiers are valid.

• Application input and output indicators are valid.

• Application input delivery monitoring and obsolescence are not allowed to be displayed in the message unless the priority is displayed.

• Application input obsolescence is not allowed to be displayed in the message unless the delivery monitoring is displayed.

• The user header is displayed if required.

• Message types requiring a user header field validation tag 119 have such a tag.

• No duplicate user header or trailer tags are found.

• No invalid user header, trailer, or system acknowledgement tags are found.

• The length of all user header, trailer, and system acknowledgement tag values are correct.

• Message types requiring user header field validation tags to select correct message metadata (types 102, 103, and 574) have validation tags with valid values.

• All mandatory text block sequences and fields are displayed in the message.

ISO3166 Country Code File (CT.dat)

Click Browse and navigate to the location of the country code data file. Select the file and click Open to load it.

Note: ISO3166 country codes are used if the file is specified here. Otherwise, an internal database of country codes is used.

ISO4217 Currency Code File (CU.dat)

Click Browse and navigate to the location of the currency code data file. Select the file and click Open to load it.

Note: ISO4217 currency codes are used if the file is specified here. Otherwise, an internal database of currency codes is used.

Validation Filter File (ValidationFilter.xml)

Click Browse and navigate to the location of the ValidationFilter.xml file. See Using Validation Filters on page 67 for more information.

Table 6 Validation Type (Sheet 3 of 3)

Field Description

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

Parse SWIFT MT | 33

• The text block contains no invalid fields.

Input TabThe Input tab for the activity is shown in the following table.

Output TabThe Output tab for the activity is shown in the following table.

Error Output TabThe Error Output tab lists the possible exceptions that can be thrown by this activity.

Table 7 Parse SWIFT MT Input Tab

Input Item Data Type Description

MTMessage String MTmessage in the string format.

Table 8 Parse SWIFT MT Output Tab

Output Item Data Type Description

SWIFTMessage XML XML representation of the input MTmessage.

The XML schema structure corresponding to the selected message type is displayed in the Output tab only after you click Apply and save the project. After you run the process, the XML structure is populated with the contents of the input MT message.

Table 9 Parse SWIFT MT Error Output Tab

Exception Thrown When

ValidationException The MT message has validation errors when the validation does not follow the selected SWIFT specification.

SwiftException The activity breaks if it cannot locate the metadata directory or fails to initialize the metadata.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

34 | Chapter 3 SWIFT MT Palette

Render SWIFT MT

The Render SWIFT MT activity renders an incoming MT message from XML format to MT message format. The input to the activity is an XML format MT message and the output is an MT message in MT message format.

Configuration TabThe Configuration tab has the following fields.

• The Render SWIFT MT is a TIBCO ActiveMatrix BusinessWorks activity and is enabled only after you select a process.

• Before configuring the activity, load the appropriate message type schema using the Load SWIFT MT Schema.

Table 10 Render SWIFT MT Configuration Tab

GUI Element Description

Name Name of the activity.

Description A short description of the activity.

Click to add a description in the Description window.

SWIFT Specification Displays the SWIFT specification for which the activity is configured.

SWIFT Message Schema

Select the SWIFT message schema for which you want to configure the activity.

Select All Validations Allows you to select different types of validations.

Validation types supported

For more information on the different types of validation that can be performed, refer to Validation Type on page 30.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

Render SWIFT MT | 35

Input TabThe Input tab for the activity is shown in the following table.

Output TabThe Output tab for the activity is shown in the following table.

Error Output TabThe Error Output tab lists the possible exceptions that can be thrown by this activity.

Table 11 Render SWIFT MT Input Tab

Input Item Data Type Description

SWIFTMessage XML XML representation of the input MTmessage.

The XML schema structure corresponding to the selected message type is displayed in the Input tab only after you click Apply and save the project.

Table 12 Render SWIFT MT Output Tab

Output Item Data Type Description

MTMessage String MTmessage in String format.

Table 13 Render SWIFT MT Error Output Tab

Exception Thrown When

ValidationException The MTmessage has validation errors when the validation is against the selected SWIFT specification.

SwiftException The activity breaks if it cannot locate the metadata directory or fails to initialize the metadata.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

36 | Chapter 3 SWIFT MT Palette

Route SWIFT MT

The Route SWIFT MT routes messages to different activities based on the message type. The input to the activity can be a single MT message or multiple $-delimited MT messages received from any upstream activity in a TIBCO ActiveMatrix BusinessWorks process. The output of the activity is available in an array of message types and MT messages. Any downstream activities in

the process can be configured based on the message type output of the activity.

Configuration TabThe Configuration tab has the following fields.

The Route SWIFT MT activity is a TIBCO ActiveMatrix BusinessWorks activity and is enabled only after you select a process.

Table 14 Route SWIFT MT Configuration Tab

GUI Element Description

Name Name of the activity.

Description A short description of the activity.

Click to add a description in the Description window.

SWIFT Specification Displays the SWIFT specification for which the activity is configured.

Select All Validations Allows you to select all the types of validations listed in the Configuration tab.

Validation Types Supported

See Validation Type on page 30 for details about the different types of validations that can be performed.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

Route SWIFT MT | 37

Input TabThe Input tab for the activity is shown in the following table.

Output TabThe Output tab for the activity is shown in the following table.

Error Output TabThe Error Output tab lists the possible exceptions that can be thrown by this activity.

Table 15 Route SWIFT MT Input Tab

Input Item Data Type Description

MTMessage String Single or multiple $-delimited MTmessages in the MTmessage format.

Table 16 Route SWIFT MT Output Tab

Output Item Data Type Description

MessageType String Message type of the input MTmessage.

MTMessage String This message is the same as the input MTmessage.

Table 17 Route SWIFT MT Error Output Tab

Exception Thrown When

ValidationException The MTmessage has validation errors when the validation is against the selected SWIFT specification.

SwiftException The activity breaks if it cannot locate the MTmetadata directory or fails to initialize the metadata.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

38 | Chapter 3 SWIFT MT Palette

Limitations and Recommendations

This section specifies the limitations you might encounter when using the plug-in and provides useful recommendations:

• Changing from one SWIFT specification to another unloads all existing SWIFT-related schemas. Hence, TIBCO recommends that you do not change from one SWIFT specification to another. However, if you need to change the SWIFT specification using the Load SWIFT Schema, delete the existing SWIFT activity instances and configure them again.

• For message types containing more than one Qualifier Groups, the order of the output MT message appearing in the Qualifier Groups can be different from that of the input MT message. This is not an error. The Qualifier Groups can appear in any order according to the SWIFT specification.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

| 39

Chapter 4 SWIFT MX Palette

This chapter describes the MX features of TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT.

Topics

• Parse SWIFT MX, page 40

• Render SWIFT MX, page 44

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

40 | Chapter 4 SWIFT MX Palette

Parse SWIFT MX

The Parse SWIFT MX activity takes a SWIFT MX message string as input, validates it and generates an XML message in TIBCO ActiveMatrix BusinessWorks. The output of this activity can be used by other activities.

Configuration TabThe Configuration tab has the following fields.

• The Parse SWIFT MX is a TIBCO ActiveMatrix BusinessWorks activity and is only enabled after you select a process.

• Before configuring the activity, download XSD files from the SWIFT website and put the files in the TIB_ADSWIFT_HOME\bin\xsd\year directory.

Table 18 Parse SWIFT MX Configuration Tab

GUI Element Description

Name Name of the activity.

Description A short description of the activity.

Click to add a description in the Description window.

Schema Provides a list of schemas used to configure the activity.

Transport Schema Available only when you select All Schema from the Schema list. You can select an XSD file by clicking Browse.

Element Available only when you select All Schema from the Schema list. It provides a list of message types after a transport schema XSD file is selected.

AppHeader Schema Available only when you select All Schema from the Schema list. You can select an XSD file by clicking Browse.

SWIFT Specification Displays the SWIFT specification for which the activity is automatically configured when you select an MX schema XSD file.

MX Schema You can select an XSD file by clicking Browse.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

Parse SWIFT MX | 41

Basic TabThe Basic tab has the following fields.

Table 19 Parse SWIFT MX Basic Tab

GUI Element Description

ValidateAll Performs validations for all the selections listed below when you select this check box.

Validate Transport Schema

Performs message transport validation in SWIFT messages against the SWIFT transport schema when you select this check box.

Validate AppHeader Schema

Performs message header validation in SWIFT messages against the SWIFT appheader schema when you select this check box.

Validate MX Schema

Performs syntax validation in SWIFT messages against the SWIFT MX schema when you select this check box.

Validate MX Rules Performs validation for extended rules and business logic in SWIFT messages against the MX rules when you select this check box.

Validate BIC/BEI Performs validation of SWIFT message BIC/BEI codes against a BIC/BEI directory. SWIFT BIC and BEI codes are entity identifiers that appear in various subfields of the text block. Validating them is expensive because data must be searched for in a very large (65MB) database that is time-and memory-consuming to load.

At the initialization time, an FI . dat BIC directory is provided to be the validator, and then full BIC/BEI validation is performed against the provided directory. If no BIC directory is provided, the plug-in uses the default BIC file.

Note: Use the latest BIC file provided by SWIFT for up-to-date BIC or BEI validation.

Validate IBAN/BBAN

Performs IBAN/BBAN validation in SWIFT messages against an IBAN/BBAN directory when you select this check box.

BANK Directory and IBAN Plus

Available only when Validate IBAN/BBAB check box is selected. Click Browse and navigate to the location of BANK directory and IBAN plus file. Select the file and click Open to load it.

BIC Code File (Fl.dat)

Click Browse and navigate to the location of BIC or BICPlus file. Select the file and click Open to load it.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

42 | Chapter 4 SWIFT MX Palette

Advanced TabThe Advanced tab for the activity is shown in the following table.

Input TabThe Input tab for the activity is shown in the following table.

ISO3166 Country Code File (CT.dat)

Click Browse and navigate to the location of the country code data file. Select the file and click Open to load it.

Note: ISO3166 country code is used if the file is specified here. Otherwise, an internal database of country codes is used.

ISO4217 Currency Code File (CU.dat)

Click Browse and navigate to the location of the currency code data file. Select the file and click Open to load it.

Note: ISO4217 currency code is used if the file is specified here. Otherwise, an internal database of country codes is used.

Validation Filter File (Validation Filter.xml)

Click Browse and navigate to the location of the validation Filter.xml file.

See Using Validation Filters on page 67 for more information.

Table 19 Parse SWIFT MX Basic Tab

GUI Element Description

Table 20 Parse SWIFT MX Advanced Tab

Item Description

Copy Body To Schema

Only available when you select AppHeader Schema and MX Schema or All Schema in the Schema list in the Configuration tab.

When you select AppHeader Schema and MX Schema, you must type a node, such as RequestPayload in the Copy Body To Schema field, which is displayed in the Output tab. When you select All Schema, you can select a node from the listed nodes in this panel.

Note: The node you type or select in the Copy Body To Schema field must be the same as the node in the input message.

Table 21 Parse SWIFT MX Input Tab

Input Item Data Type Description

MXMessage String An MX message in the string format.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

Parse SWIFT MX | 43

Output TabThe Output tab for the activity is shown in the following table.

Error Output TabThe Error Output tab lists the possible exceptions that can be thrown by this activity.

Table 22 Parse SWIFT MX Output Tab

Output Item Data Type Description

SWIFTMessage XML The structure of the output item SWIFT Message is based on the element in the Configuration tab.

Table 23 Parse SWIFT MX Error Output Tab

Exception Thrown When

ValidationException An MX message has validation errors when the validation does not follow the selected SWIFT specification.

SwiftException The activity breaks down if it cannot locate the metadata directory or fails to initialize the metadata.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

44 | Chapter 4 SWIFT MX Palette

Render SWIFT MX

The Render SWIFT MX activity generates specific MX messages by the MX schema provided. In TIBCO ActiveMatrix BusinessWorks, you can easily drag to map the input values.

Configuration TabThe Configuration tab has the following fields.

• The Render SWIFT MX is a TIBCO ActiveMatrix BusinessWorks activity and is enabled only after you select a process.

• Before configuring the activity, download XSD files from the SWIFT website and put the files in the TIB_ADSWIFT_HOME\bin\xsd\year directory.

Table 24 Render SWIFT MX Configuration Tab

GUI Element Description

Name Name of the activity .

Description A short description of the activity.

Click to add a description in the Description window.

Schema Provides a list of schemas used to configure the activity.

Transport Schema Available only when you select All Schema from the Schema list. You can select XSD file by clicking Browse.

Element Available only when you select All Schema from the Schema list. It provides a list of message types after a transport schema XSD file is selected.

AppHeader Schema Available only when you select All Schema from the Schema list. You can select an XSD file by clicking Browse.

SWIFT Specification Displays the SWIFT specification for which the activity is automatically configured when you select an MX schema XSD file.

MX Schema You can select an XSD file by clicking Browse.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

Render SWIFT MX | 45

Basic TabThe Basic tab has the following fields.

Table 25 Render SWIFT MX Basic Tab

GUI Element Description

ValidateAll Performs validations for all the selections listed below when you select this check box.

Validate Transport Schema

Performs message transport validation in SWIFT messages against the SWIFT transport schema when you select this check box.

Validate AppHeader Schema

Performs message header validation in SWIFT messages against the SWIFT appheader schema when you select this check box.

Validate MX Schema Performs syntax validation in SWIFT messages against the SWIFT MX schema when you select this check box.

Validate MX Rules Performs validation for extended rules and business logic in SWIFT messages against the MX rules when you select this check box.

Validate BIC/BEI Performs validation of a SWIFT message BIC/BEI codes against a BIC/BEI directory. SWIFT BIC and BEI codes are entity identifiers that appear in various subfields of the text block. Validating them is expensive because data must be searched for in a very large (65MB) database that is time and memory consuming to load.

At the initialization time, an FI . dat BIC directory is provided to be the validator, and then full BIC/BEI validation is performed against the provided directory. If no BIC directory is provided, then the plug-in uses the default BIC file.

Note: Use the latest BIC file provided by SWIFT for up-to-date BIC or BEI validation.

Validate IBAN/BBAN

Performs IBAN/BBAN validation in SWIFT messages against an IBAN/BBAN directory.

BANK Directory and IBAN Plus

Available only when Validate IBAN/BBAB check box is selected. Click Browse and navigate to the location of BANK directory and IBAN plus file. Select the file and click Open to load it.

BIC Code File (Fl.dat) Click Browse and navigate to the location of BIC or BICPlus file. Select the file and click Open to load it.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

46 | Chapter 4 SWIFT MX Palette

Advanced TabThe Advanced tab for the activity is shown in the following table.

Input TabThe Input tab for the activity is shown in the following table.

ISO3166 Country Code File (CT.dat)

Click Browse and navigate to the location of the country code data file. Select the file and click Open to load it.

Note: ISO3166 country code is used if the file is specified here. Otherwise, an internal database of country codes is used.

ISO4217 Currency Code File(CU.dat)

Click Browse and navigate to the location of the currency code data file. Select the file and click Open to load it.

Note: ISO4217 currency code is used if the file is specified here. Otherwise, an internal database of country codes is used.

Validation Filter File (Validation Filter.xml)

Click Browse and navigate to the location of the validation Filter . xml file.

See Using Validation Filters on page 67 for more information.

Table 25 Render SWIFT MX Basic Tab

GUI Element Description

Table 26 Render SWIFT MX Advanced Tab

Item Description

Copy Body To Schema

Only available when you select AppHeader Schema and MX Schema or All Schema in the Schema list in the Configuration tab.

When you select AppHeader Schema and MX Schema, you must type a node , such as RequestPayload in the Copy Body To Schema field, which is displayed in the Input tab. When you select All Schema, you can select a node from the listed nodes in this panel.

Note: The node you type or select in the Copy Body To Schema field must be the same as the node in the input message.

Table 27 Render SWIFT MX Input Tab

Input Item Data Type Description

SWIFTMessage XML XML representation of the input MXmessage.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

Render SWIFT MX | 47

Output TabThe Output tab for the activity is shown in the following table .

Error Output TabThe Error Output tab lists the possible exceptions that can be thrown by this activity.

Table 28 Render SWIFT MX Output Tab

Output Data Type Description

MXMessage String The structure of the output item SWIFT Message is based on the element in the Configuration tab.

Table 29 Render SWIFT MX Error Output Tab

Exception Thrown When

ValidationException The MX message has validation errors when the validation is against the selected SWIFT specification.

SwiftException The activity breaks down if it cannot locate the metadata directory or fails to initialize the metadata.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

48 | Chapter 4 SWIFT MX Palette

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

| 49

Chapter 5 Advanced Configuration Options

This chapter explains advanced topics, such as parsing and validating SWIFT files using SwiftCheck, loading SWIFT message types into a repository, and using global variables.

Topics

• Parsing and Validating SWIFT Files Using SwiftCheck, page 50

• Validating SWIFT Files Using SwiftMXCheck, page 52

• Loading SWIFT Message Types into a Repository, page 54

• Using Global Variables, page 55

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

50 | Chapter 5 Advanced Configuration Options

Parsing and Validating SWIFT Files Using SwiftCheck

You can use the SwiftCheck utility to parse and validate one or more SWIFT files. The utility can be used for low-level testing of SWIFT message files. You can configure the SwiftCheck.tra file, and then run the utility. The utility is in the TIB_ADSWIFT_HOME\bin directory.

SwiftCheck Options

Metadata options:

-data or --dataDir file metadata directory-set or --dataSet file metadata set-fi or --fiFile file bankdata file (BIC codes)-ff or --filterFile file validation warning filter file.

See Using Validation Filters on page 67.-cu or --cuFile file currency code file-ct or --ctFile file country code file

Validation options: -v or --valAll validate using all rules-vc or --valFormat turn on format validation-vt or --valType turn on data type validation-vw or --valWord turn on code word validation-vb or --valBic turn on BIC code validation-vf or --valField turn on field level semantics validation-vm or --valMsg turn on message level semantics validation-vn or --valNarr turn on narrative validation-va or --valAdvanced turn on advanced header validation-vs or --valStructural turn on structural validation.

To use the SwiftCheck utility:

1. Change the directory to the plug-in bin directory.

cd TIB_ADSWIFT_HOME\bin

2. Copy the SwiftCheck.tra file, rename it as mySwiftCheck.tra, and open the copied file in the text editor.

3. Change the application.args property to include the metadata and validation options to use. For example:

application.args -data TIB_ADSWIFT_HOME/bin/data -set 2014 -v TIB_ADSWIFT_HOME/examples/SampleMT.txt

4. Save the properties file and exit the text editor.

5. Start the utility on the command line:

SwiftCheck --run --propFile mySwiftCheck.tra

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

Parsing and Validating SWIFT Files Using SwiftCheck | 51

If you have not installed TIBCO Enterprise Message Service before installing the plug-in, and the installed TIBCO Runtime Agent version is 5.9.x, you need to install TIBCO Enterprise Message Service in the existing TIBCO_HOME, and add the EMS class path in the mySwiftCheck.tra file.

To do so, complete the following steps:

1. Open the copied TRA file: mySwiftCheck.tra.

2. Add the following class path in the tibco.class.path.extended area.

EMS_HOME/version_num/lib

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

52 | Chapter 5 Advanced Configuration Options

Validating SWIFT Files Using SwiftMXCheck

You can use the SwiftMXCheck utility to validate one or more SWIFT files. The utility can be used for low-level testing of SWIFT message files. You can configure the SwiftMXCheck.tra file, and then run the utility. The utility is in the TIB_ADSWIFT_HOME\bin directory.

SwiftMXCheck Options

Metadata options:

-mxdata or --mxdataDir file metamxdata directory

-set or --mxdataSet file mxmetadata set

-schema or --useSchema Schema

-txsd or --txsdFile file Transport XSD File

-axsd or --axsdFile file AppHdr XSD File

-mxsd or --mxsdFile file or dir MX XSD File or Dir

-ib or --ibDir dir IBAN/BBAN Dir

-fi or --fiFile file bankdata file (BIC codes)

-cu or --cuFile file currency code file

-ct or --ctFile file country code file

-ff or --filterFile file validation warning filter file

Validation options:-v or --valAll validate using all rules

-vt or --valTransportSchema turn on Transport schema validation

-va or --valAppHdrSchema turn on AppHdr schema validation

-vm or --valMXSchma turn on MX schema validation

-vr or --valMXrules turn on MX rules validation

-vb or --valBic turn on BIC code validation

-vi or --valIBAN turn on IBAN/BBAN code validation

To use the SwiftMXCheck utility:

1. Change the directory to the plug-in bin directory.

cd TIB_ADSWIFT_HOME\bin

2. Copy the SwiftMXCheck.tra file, rename it as mySwiftMXCheck.tra, and open the copied file in the text editor.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

Validating SWIFT Files Using SwiftMXCheck | 53

3. Change the application.args property to include the metadata and validation options. For example:

application.args -mxdata TIB_ADSWIFT_HOME/bin/mxdata -set 2014 -v TIB_ADSWIFT_HOME/examples/SampleMX.xml

4. Save the properties file and exit the text editor.

5. Type the following command on a command line to start the utility:

SwiftMXCheck --run --propFile mySwiftMXCheck.tra

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

54 | Chapter 5 Advanced Configuration Options

Loading SWIFT Message Types into a Repository

You can use the adswiftSchemaLoader utility to load SWIFT message types into a repository.

You can run the utility on the command line by providing the arguments to use in the adswiftSchemaLoader.tra file, and then run the utility.

The utility is located in TIB_ADSWIFT_HOME\bin directory.

To set arguments in the adswiftSchemaLoader.tra file and run the adswiftSchemaLoader utility:

1. Change directory to the plug-in bin directory.

cd TIB_ADSWIFT_HOME\bin

2. Copy the adswiftSchemaLoader.tra file and rename it as mySchemaLoader.tra.

3. Using a text editor to open the copied file.

4. Change the application.args property with the repository location, the plug-in home directory, SWIFT specification, load or unload (-l, -u) and message types. For example:

application.args -system:propFile TIB_ADSWIFT_HOME/bin/mySchemaLoader.tra -r TIB_ADSWIFT_HOME/examples/tester.dat -h TIB_ADSWIFT_HOME -s 2014 -l -m 517

5. Save the properties file and exit the text editor.

6. Start the utility on the command line:

adswiftSchemaLoader --run --propFile mySchemaLoader.tra

If you have not installed TIBCO Enterprise Message Service before installing the plug-in, and the installed TIBCO Runtime Agent version is 5.9.x, you need to install TIBCO Enterprise Message Service in the existing TIBCO_HOME, and add the EMS class path in the mySchemaLoader.tra file.

To do so, complete the following steps:

1. Open the copied TRA file: mySchemaLoader.tra.

2. Add the following class path in the tibco.class.path.extended area.

EMS_HOME/version_num/lib

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

Using Global Variables | 55

Using Global Variables

The variable substitution mechanism can override the global variables predefined in the project in a restricted manner. Predefined variables can be viewed and set in TIBCO Designer. Variables are specified as %%VARNAME%% and cannot contain any white space.

Variable substitution allows you to accomplish the following.

• Substitute string variables specified in the project at the startup time.

• Locally define the value for a variable for a specific project. The local value takes precedence over any global value.

• Specify the value for a variable in a properties file. This overrides the project repository and values set in code, but not variables set on the command line.

• Enforce the predefined variables listed in Predefined Global Variables on page 57.

Specifying Variables Using TIBCO Designer

Global variables provide an easy way to set defaults for use throughout your project. There are several ways in which they can be used:

• Define a variable using TIBCO Designer, and then override the value for individual applications at deployment time using TIBCO Administrator. You can also override values for predefined variables, unless the GUI does not allow you to make them settable later.

• Predefine a variable using TIBCO Designer, and then override the value for individual services (for example, Publication service or TIBCO ActiveMatrix BusinessWorks process) at deployment time using TIBCO Administrator. The values you specify are then used at runtime. You can also override values for predefined variables, unless the GUI does not allow you to make them settable later.

For example, you can assign the value 7474 to the predefined global variable RvDaemon, then use the variable in different sessions in your plug-in. If you want to change the TIBCO Rendezvous daemon for your plug-in, you can globally set it to a different value or override it from the command line.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

56 | Chapter 5 Advanced Configuration Options

To use global variables in your project, follow these steps:

1. Click the Global Variables panel, and then click Open Advanced Editor . You now have these choices:

— To assign or change a variable value, select that region and triple-click the variable, and then you can change either the variable name or the variable value. Click OK when you are done.

— To add a new global variable group, click Add a Variable Group at bottom of the dialog box. Specify the name of the group, then click OK.

— To add a global variable, click Add a Variable . A new global variable item is added to the bottom of the list. Supply the variable name and, optionally, the value. Click OK when you are done.

The global variable is now displayed in the global variables list.

2. When you want to use the global variable in the fields of a resource, enter the variable name surrounded by %% on both sides.

When the project is deployed and the configured components are run, all occurrences of the global variable name are replaced with the global variable value unless it was overridden in a way that had higher precedence.

A number of global variables are predefined. See Predefined Global Variables on page 57 for more information. You may add definitions of any variables you need to predefine.

Changing Global Variable Values at RuntimeYou can change the value of a global variable when you deploy your project in TIBCO Administrator. See the section on modifying runtime variables in TIBCO Administrator User’s Guide for more information on using TIBCO Administrator.

You can also specify values for global variables when starting a process engine on the command line. To do this, specify the following as a command line argument when starting the process engine:

-tibco.clientVar.variablePathAndName value

where variablePathAndName is the name of the variable you want to set, including the path to the variable if it is contained in a directory. value is the value you want to set the variable to. For example, if you have a global variable named item1 contained in a directory named myGroup and you want to set its value to 500, add the following argument to the command line when starting the process engine:

-tibco.clientVar.myGroup/item1 500

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

Using Global Variables | 57

Predefined Global VariablesThe following table lists and explains the predefined global variables. Some global variables are automatically used within the system when an plug-in instance is configured.

Table 30 Predefined Global Variables

Variable Description

Deployment Defaults to the TIBCO Designer project name. This global variable is used by the system to partially define the subject name defined for a service.

DirLedger Used by the system when defining the path name of the TIBCO Rendezvous certified messaging ledger file. The default is the root installation directory.

DirTrace Used by the system to partially create the path name for log file used by the plug-in. The default is the root installation directory.

Domain The default value for file-based local projects is MyDomain. This value for server-based projects is the domain to which the project was saved.

HawkEnabled Indicates whether TIBCO Hawk is used to monitor the plug-in. True indicates that a TIBCO Hawk microagent is defined for the plug-in. False indicates the microagent is not to be used.

JmsProviderUrl Tells applications where the JMS daemon is located. Setting this value mostly makes sense in early stages of a project, when only one JMS daemon is used.

JmsSslProviderUrl Specifies where the JMS SSL daemon is located.

ReceiverInstanceId Identify the SWIFT receiver instance. The default value is Receiver.

RemoteRvDaemon Used by the system to identify the TIBCO Rendezvous routing daemon. See TIBCO Rendezvous Administration for details about specifying the routing daemon name.

RvDaemon Used by the system to identify the TIBCO Rendezvous daemon parameter. The parameter instructs the transport object about how and where to find the Rendezvous daemon and establish communication. The default value is 7500.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

58 | Chapter 5 Advanced Configuration Options

RvNetwork Used by the system to identify the TIBCO Rendezvous network parameter. Every network transport communicates with other transports over a single network interface. On computers with more than one network interface, the network parameter instructs the TIBCO Rendezvous daemon to use a particular network for all outbound messages from this transport.

In most cases, you can leave the default.

RvService Used by the system to identify the TIBCO Rendezvous service parameter. The TIBCO Rendezvous daemon divides the network into logical partitions. Each transport communicates on a single service; a transport can communicate only with other transports on the same service.

Unless you are using a non-default TIBCO Rendezvous configuration, you should leave the default (7500).

RvaHost Used by the system to identify the computer on which the TIBCO Rendezvous agent (rva) runs. See TIBCO Rendezvous Administration for details about specifying the rva parameters.

RvaPort Used by the system to identify the TIBCO Rendezvous agent (rva) TCP port where the agent listens for client connection requests. See TIBCO Rendezvous Administration for details about specifying the rva parameters.

SenderInstanceId Identify the SWIFT sender instance. The default value is Sender.

TIBHawkDaemon Used by the system to identify the TIBCO Hawk daemon parameter. See TIBCO Hawk Installation and Configuration manual for details about this parameter.

TIBHawkNetwork Used by the system to identify the TIBCO Hawk network parameter. See TIBCO Hawk Installation and Configuration manual for details about this parameter.

TIBHawkService Used by the system to identify the TIBCO service parameter. See TIBCO Hawk Installation and Configuration manual for details about this parameter.

Table 30 Predefined Global Variables (Cont’d)

Variable Description

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

| 59

Chapter 6 Processing Acknowledgment Messages

The chapter provides information on how to process ACK and NAK messages.

Topics

• Overview of Acknowledgment Messages, page 60

• Processing Acknowledgment Messages, page 61

• Reconciling Acknowledgment Messages, page 62

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

60 | Chapter 6 Processing Acknowledgment Messages

Overview of Acknowledgment Messages

The acknowledgement is sent by the MT service to the Logical Terminal to confirm receipt of a message and its safe storage by the service.

If an ACK is returned, the message is accepted by the MT service for delivery to its destination. If a NAK is returned, the message, though safe stored, is not accepted for delivery. The structure of an ACK or a NAK message is the same, except that value of tag 451 in the text block of Acknowledgement message, 0 indicates the ACK and 1 indicates the NAK.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

Processing Acknowledgment Messages | 61

Processing Acknowledgment Messages

MT acknowledgement messages are parsed using Message_MT_Acknowledgment schema. The schema loads automatically when you drag the Schema Loader resource of the SWIFT MT palette to the design panel in TIBCO Designer.

The activities of the TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT supports parsing and rendering of the ACK and NAK messages. To use the parser or renderer for processing the acknowledgment messages, configure the SWIFT Message Schema field of these activities to point to the Message_MT_Acknowledgment schema.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

62 | Chapter 6 Processing Acknowledgment Messages

Reconciling Acknowledgment Messages

The acknowledgment message from the SWIFT network contains the field 108. The field carries Message User Reference (MUR) information of the original message. This information can be one of the following:

• MUR is present in the user header of the original message.

• If no MUR is present in the original message, contents of Field 20 of the original message or (for Category 5 messages only) the contents of Field 20C, with the code word SEME, but only when all alphabets are upper case.

• Contents of Field 20C.

For reconciling, you need the reference information of the MT message sent and value of the tag 108 of the acknowledgment message received. Compare both information. If they match, the reconciliation is a success.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

| 63

Chapter 7 Miscellaneous

This chapter describes how to migrate your projects to the current SWIFT standards, as well as how to use the Dynamic BIC Update feature and validation filters.

Topics

• Migrating to the Current SWIFT Standards, page 64

• Using Dynamic BIC or BEI Update, page 65

• Using Validation Filters, page 67

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

64 | Chapter 7 Miscellaneous

Migrating to the Current SWIFT Standards

Every year SWIFT releases new message standard. This release of the plug-in supports the standards release 2014.

To upgrade your projects that use the previous standards to the new standards of SWIFT:

1. Uninstall the previous version before installing a new version.

2. Install the new version of the plug-in.

3. Open the projects developed using previous versions of the plug-in, you are prompt to upgrade to the new release. To upgrade, click OK.

4. Click the Load SWIFT MT Schema item, select the new SWIFT specification (for example, SWIFT November 2014 specification) from the Specification drop-down list in the Configuration tab.

5. Click Yes.

The message schemas of previous SWIFT standards release are unloaded.

6. Load the required message schemas.

In SWIFT Standards Release 2014, structural changes in a SWIFT message can cause the mappings from the existing projects to break. Restore the broken links manually.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

Using Dynamic BIC or BEI Update | 65

Using Dynamic BIC or BEI Update

The plug-in supports BIC or BEI validations. In the previous releases of the plug-in, if changes are made to the BIC file, then they will not update dynamically for BIC or BEI validations when the plug-in runs. With the new Dynamic BIC or BEI update feature, if changes are made in the BIC file, they will update without restarting the plug-in.

If you use the plug-in, specify the BIC file to be used for validation in the Configuration tab of TIBCO ActiveMatrix BusinessWorks activities.

Dynamic BIC update can be triggered using any of the following:

• TIBCO Rendezvous message

• TIBCO Enterprise Message Service message

The following section specifies how to use the Dynamic BIC Update feature:

• Activate Dynamic BIC or BEI Update, page 65

• Trigger Dynamic BIC or BEI Update on page 65

Activate Dynamic BIC or BEI UpdateYou must activate the Dynamic BIC or BEI Update feature before you can use it. To activate the feature, you need to specify the values of the BIC_UPDATE_CONFIG_FILE_PATH property in the bwengine.tra files. The value of the property is the file name that contains the configuration information for Dynamic BIC Update.

For example:

java.property.BIC_UPDATE_CONFIG_FILE_PATH = TIB_ADSWIFT_HOME/examples/BICUpdate.properties

Trigger Dynamic BIC or BEI UpdateThe BIC information of the FI.dat file will be changed if you perform any of the following operations:

• Edit the FI.dat file.

• Overwrite the FI.dat file.

Generating a trigger to indicate to the plug-in the changes made to the file. You can generate the trigger manually or automatically.

Manually

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

66 | Chapter 7 Miscellaneous

Using this method, you send a message using TIBCO Rendezvous or TIBCO Enterprise Message Service the plug-in.

Automatically

Automatic triggering of the message is possible if you use TIBCO Rendezvous or TIBCO Enterprise Message Service.

In TIBCO ActiveMatrix BusinessWorks, design this process:

• Poll the BIC file (using File Poller activity) to identify the changes in its content.

• Configure the TIBCO Rendezvous or TIBCO Enterprise Message Service publisher activity for the required subject, topic, or queue. See Table 31 for the configuration information.

To receive the trigger, the plug-in updates its temporary memory (in-memory cache) with new BIC information.

The following table lists the trigger types and parameters.

Table 31 List of Trigger Types and Parameters

Trigger Type (triggerType) Parameters Notes

TIBCO Rendezvous (RV)

TIBCO Rendezvous Parameters

RV_Service

RV_Network

RV_Daemon

RV_Subject

If you update the BIC file, you must send a TIBCO Rendezvous message on the configured subject that the BIC file name as its message body.

TIBCO Enterprise Message Service (EMS)

Server Parameters

EMS_Server_URL

EMS_Username

EMS_Password

Destination Parameters

EMS_DestinationName

EMS_DestinationType(Topic or Queue)

If you update the BIC file, you must send a TIBCO Enterprise Message Service message on the configured topic or queue that has BIC file name as the message body.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

Using Validation Filters | 67

Using Validation Filters

The validation filter feature enables you to specify and thus selectively filter out validation warnings that the plug-in may generate when processing an invalid message. This feature gives the pug-in user a fine-grained control over the overall validation feature, in addition to the predefined validation features provided. This section contains an example of how to do this.

Filter GroupsThe file consists of a list of filter groups. Each filter group has a specification that defines the SWIFT message type or types to which the group's filters apply. A wildcard "*" character is permitted as the entire message type specification, or can appear after one or more message type characters. The specification "*", for example, would apply its filter group to all SWIFT message types; the specification "5*" would apply its filter group to all SWIFT message types whose first digit was 5, and so on.

FiltersWithin each filter group are zero or more filters. Each filter contains a "disable path specification" and an optional error code. A path specification is an XPath-like string that identifies one or more fields in a SWIFT message. See Path Specification on page 68 for details on how to construct path specifications. All fields that match the filter's path specification will have their validation warnings suppressed.

If the filter also contains a SWIFT error code, then in addition to a path match with a field, only those validation errors with that particular error code will be suppressed. This feature allows even finer-grained control of validation. Consider the following filter:

<FILTER PATH="Text/A/22C//"/>

The above filter will suppress validation for all occurrences of field 22C in sequence A, for all messages in the filter's filter group. Another example:

<FILTER PATH="Text/A/22C//" ERRORCODE="T22"/>

Suppression DOES NOT apply to parse errors, only validation errors. If a SWIFT message is invalid at a fundamental structural level, and cannot be parsed, then such parse errors cannot be filtered out.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

68 | Chapter 7 Miscellaneous

This filter is more fine-grained than the previous filter. It only suppresses validation errors on field 22C in sequence A with SWIFT error code T22. All other validation errors for this field pass through the filter.

Not all filters need apply to the text block of a SWIFT message. The following filter disables validation of the basic header's Logical Terminal Address:

<FILTER PATH="Basic/LT"/>

The following XML contains examples of how to disable various kinds of validation:

--> - <FILTERLIST>- <!--Disable validation of 23G and 98B, but only for message

type 509 --> - <FILTERGROUP MESSAGETYPE="509">

<FILTER PATH="Text/A/23G//" /> <FILTER PATH="Text/B/QG98/98B//" />

</FILTERGROUP>- <!-- Disable basic header LTA validation for all SWIFT messages

--> - <FILTERGROUP MESSAGETYPE="*">

<FILTER PATH="Basic/LT" /> </FILTERGROUP>

- <!-- Very specific validation of field 22C --> - <FILTERGROUP MESSAGETYPE="365">

<FILTER PATH="Text/A/22C//" ERRORCODE="T22" /> </FILTERGROUP>

</FILTERLIST>

Path SpecificationThe filter uses a subset of the XPath grammar with a few additional abbreviations to identify one or more elements of a message.

The XPath like syntax for the identifying path is composed of tokens separated by the slash (/) character. Each token is composed of an element name or the wildcard character (*). Optionally a predicate can be added inside square brackets immediately following the element name. The predicates supported are a simple one based index to identify the position of an element and an expression to identify an attribute of the element. Only one predicate in square brackets is allowed per element name. In addition, only tag fields support the attribute value expression. An additional abbreviation is allowed with the attribute matching expression. Multiple values can be entered separated by a vertical bar to denote that either of the supplied values should match.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

Using Validation Filters | 69

The slash separator character is used to mark the separation of element names. They are also used to identify characteristics of the start and end of the path. A slash at the start of a path identifies the path as an absolute path. Since all paths are evaluated from the message the path can be a relative path that does not start with a slash or an absolute path that does start with a slash. As an addition to XPath a slash at the end of the path indicates that the path should match the last name in the path as well as any immediate children of that element. Two slashes indicate all descendents of the element should match.

Valid Paths

The following are valid paths:

Table 32 Path Specification

Field Description

Text The message Text block as sequences.

Basic The message Basic Header: AppId, Service, LT, Session, Sequence.

App The message Application Header:

io—IO flag, either "I" or "O".

I—Input Header: Type, Receiver, Priority, Delivery, Obsolescence.

O—Output Header: Type, InputTime, MIR, OutputDate, OutputTime, Priority.

User The message User Header.

Tags The message Text block as a flat list of tag fields.

Trailer The message Trailer.

S The message SWIFT Alliance trailer if it exists.

Table 33 Using Validation Filters: Valid Paths

Field Description

/Basic/AppId The AppId in the Basic Header.

/Basic/* Any subfield of the Basic Header.

Basic/*[2] The second subfield in the Basic Header.

Basic/2 The second subfield in the Basic Header.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

70 | Chapter 7 Miscellaneous

Invalid Paths

The following paths are not valid:

/Text/A/A1[2]/A1a/16R/1 Returns the first subfield of a 16R.

/Text/A/*[2]/16R/Qualifier Refers to any second sequence in A.

Text/A/*/57D/2-3 Refers to subfield 2 to 3 of tag field 57D in any sequence in A.

/Tags/16R/Qualifier Identifies the subfield by name.

Tags/*/1 The first subfield of the any tag field.

/App/O/MIR MIR in the Output Header of the Application Header.

/App/io The io value for the Application Header.

/User/119 Subfield 119 of the User Header.

Trailer/MAC Subfield MAC of the Trailer.

/Text/A/ Refers to A and any immediate sequences, qualifier groups, or fields.

Text/A// Refers to A and any descendent sequences, qualifier groups, or fields.

/Text/A/A1[2]/QG22/22F

[@Qualifier=MICO]

A 22F tag field where the Qualifier subfield is 'MICO'.

Text/A/A1[2]/QG22/22F

[@Qualifier=MICO|FORM]

A 22F tag field where the Qualifier subfield is 'MICO' or 'FORM'.

// Refers to the message and any element in the message.

Table 33 Using Validation Filters: Valid Paths (Cont’d)

Field Description

Table 34 Using Validation Filters: Invalid Paths

Field Description

Text/A/A1[2]/A1a/16RS/Qu

alifier

Multiple option characters for tags with different field names are not supported.

Invalid/12A/2 Not a valid part of the message.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

| 71

Appendix A Error Codes

This appendix shows the error codes of TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT.

Topics

• Error Codes, page 72

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

72 | Appendix A Error Codes

Error Codes

This section lists error codes of the plug-in.

BW-ADSWIFT-100000: Validation Warnings: [ %1 ].

Role: errorRole

Category: BW_Plugin

Description: When you validate a MT message, an error occurs if the message does not follow the SWIFT specification.

Resolution: Check error(s) listed in the error message and take an appropriate action.

BW-ADSWIFT-200000: Exception Message: [ %1 ]. Exception StackTrace: [ %2 ].

Role: errorRole

Category: BW_Plugin

Description: After the validation of an MT message, an error occurs when you transfer the MT message.

Resolution: Check error(s) listed in the error message and take an appropriate action.

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

| 73

Index

A

Advanced Configuration Options 17

C

CASmfoverview 7

CONFIG_HOME xiiiconnecting with TIBCO resources xvcustomer support xv

E

ENV_NAME xiii

F

FTPoverview 8

G

general tabBIC code file (FI.dat) 31parse message 32validate advanced header 31validate BIC/BEI 30validate data types 30validate field format 32validate field-level semantics 31validate message structure 30validate message-level semantics 31validate qualifier code words 30validate structured narrative 31validation filter file (ValidationFilter.xml) 32

global variables 55

M

MQSAoverview 8

P

predefined global variables 57Processing Acknowledgment Messages 59processing acknowledgment messages 61

R

reconciling acknowledgment messages 62related documentation xii

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide

74 | Index

S

support, contacting xvSWIFT messages 4SwiftCheck utility 50

T

technical support xvterminology and acronyms 2TIB_ADSWIFT_HOME xiiiTIBCO ActiveMatrix BusinessWorks Plug-in for

SWIFTBICPlusIBAN generation 19BICPlusIBAN valication 24limitations and recommendations 49SWIFTNet-FIN parser 29SWIFTNet-FIN renderer 34SWIFTNet-FIN router 36SWIFTNet-FIN schema loader 18

TIBCO_HOME xiiitypographical conventions xiii

U

using validation filtersfilter groups 67filters 67path specification 68

TIBCO ActiveMatrix BusinessWorks Plug-in for SWIFT User’s Guide