Using Extended Rule Libraries with SWIFT

This section describes how to use the extended rule library and the properties of the dialog boxes that comprise its functionality. A rules library (used with SWIFT and any other data format) contains a list of rules in a separate file outside of the Sterling B2B Integrator Map Editor source. Sterling B2B Integrator Map Editor stores the name of the library in its source file, so when you open a map the library is also loaded. When you compile a map, the library rules that are referenced in the map are also compiled. This enables you to create a library of extended rules and then add it to any other map, so you do not have to recreate those extended rules after the first time. You can use this functionality with any data format.

Note: The SWIFT extended rules libraries from 2008 and forward are delivered in the SWIFT Standards install. These contain all the extended rules necessary to carry out the business logic for SWIFT messages.
Note: Please note that for all Sterling B2B Integrator versions 4.3 and higher, changes have been made to the extended rule library for SWIFT_2007 to report field errors more accurately in the Message Entry Workstation. For this reason, many SWIFT_2007.erl methods were modified and are no longer compatible with maps that were created prior to this change. If you encounter this issue, you can recreate your map using the latest version of the standard.

Semantic validation rules for Market Practices are stored in an extended rule library separate from the library that implements the SWIFT standard semantic validation rule

Only the extended rule libraries referenced by a map are compiled into the TXO translation object.

This functionality minimizes the impact to users when, for example, SWIFT updates their messages—without the rule library you would need to update the extended rules for each updated map (correlating to the updated messages), but using the extended rule library you just update the library and then use the library with all the applicable maps.

When you view the checked in libraries through the Extended Rule Library check in interface, you are also able to obtain a list of all the maps that use each library.

The extended rules library can contain many rules. An extended rule consists of a declarations section followed by a statements section. The declarations section is required only if you use additional variables. The declarations section is where you declare the names and types of any variables you use either in the extended rule. The statements section is where you define the actions that you want the extended rule to run.

When calling a rule library function, you can pass parameters.

You must declare any variables that are not already defined as part of the input or output specification of the map before you use those variables in an extended rule. For the extended rule libraries, you typically use global variables that are passed as parameters.

Rule libraries are versioned resources. When you create a new rule library you need to check it in to the Sterling B2B Integrator just like you need to check in maps. This also enables you to check out, version, and delete extended rule libraries. Furthermore, when you view the checked in libraries through the Extended Rule Library check in interface, you can also see all the maps that use each library. This is very important because it enables you to easily view a list of the maps that will need to be recompiled if you change an extended rule in a library (you would recompile all the maps that use that particular library).

Additionally, you can import and export extended rule libraries into the Sterling B2B Integrator using the Resource Manager.

You can call an extended rule from a library in any extended rule in a map.

See Extended Rule Libraries for more information on this functionality.

The extended rule libraries that are preloaded for use with SWIFT are as follows:

Library ERL File Name Description
SWIFT_2002 SWIFT_2002.erl Contains rules to validate SWIFT 2002 MT and MX messages
SWIFT_2005 SWIFT_2005.erl Contains rules to validate SWIFT 2005 MT and MX messages
SWIFT_2006 SWIFT_2006.erl Contains rules to validate SWIFT 2006 MT and MX messages.
SWIFT_2007 SWIFT_2007.erl Contains rules to validate SWIFT 2007 MT and MX messages.
SWIFT_2008 SWIFT_2008.erl Contains rules to validate SWIFT 2008 MT and MX messages.
SWIFT_2009 SWIFT_2009.erl Contains rules to validate SWIFT 2009 MT and MX messages.
SWIFT_2010 SWIFT_2010.erl Contains rules to validate SWIFT 2010 MT and MX messages.
SWIFT 2011 SWIFT_2011.erl Contains rules to validate SWIFT 2011 MT and MX messages.
SWIFT 2012 SWIFT_2012.erl Contains rules to validate SWIFT 2012 MT and MX messages.
SWIFT_IOA001_2005 SWIFT_IOA001_2005.erl Contains rules to validate 2005 Market Practice U.S. MT536
SWIFT_IOA001_2006 SWIFT_IOA001_2006.erl Contains rules to validate 2006 Market Practice U.S. MT536
SWIFT_IOA001_2007 SWIFT_IOA001_2007.erl Contains rules to validate 2007 Market Practice U.S. MT536
SWIFT_IOA001_2008 SWIFT_IOA001_2008.erl Contains rules to validate 2008 Market Practice U.S. MT536
SWIFT_DeenvelopeLib_2008 SWIFT_DeenvelopeLib_2008.erl Contains rules to deenvelope 2008 SWIFT messages.
SWIFTMX SWIFTMX_v1-0.erl (generic rule library for MX) Contains rules to validate MX messages.
SWIFTMX_BulkPayments_v2-0 SWIFTMX_BulkPayments_v2-0.erl This rule library contains no rules, but you can implement and store rules for the SWIFTSolution indicated in the library.
SWIFTMX_BulkPayments_v2-1 SWIFTMX_BulkPayments_v2-1.erl This rule library contains no rules, but you can implement and store rules for the SWIFTSolution indicated in the library.
SWIFTMX_CashManagement_v4-0 SWIFTMX_CashManagement_v4-0.erl Contains rules to validate SWIFT Cash Management 4.0 messages.
SWIFTMX_CashManagement_v2009 SWIFTMX_CashManagement_v2009.erl Contains rules to validate SWIFT Cash Management 2009 messages.
SWIFTMX_CashReporting_v1-0 SWIFTMX_CashReporting_v1-0.erl This rule library contains no rules, but you can implement and store rules for the SWIFTSolution indicated in the library.
SWIFTMX_CashReporting_v3-0 SWIFTMX_CashReporting_v3-0.erl This rule library contains no rules, but you can implement and store rules for the SWIFTSolution indicated in the library.
SWIFTMX_CashReporting_v3-1 SWIFTMX_CashReporting_v3-1.erl Contains rules to validate SWIFT Cash Reporting 3.1 messages.
SWIFTMX_CashReporting_v3-2 SWIFTMX_CashReporting_v3-2.erl Contains rules to validate SWIFT Cash Reporting 3.2 messages.
SWIFTMX_CashReporting_v4-0 SWIFTMX_CashReporting_v4-0.erl Contains rules to validate SWIFT Cash Reporting 4.0 messages.
SWIFTMX_CashReporting_v5-0 SWIFTMX_CashReporting_v5-0.erl Contains rules to validate SWIFT Cash Reporting 5.0 messages.
SWIFTMX_EI_v1-0 SWIFTMX_EI_v1-0.erl This rule library contains no rules, but you can implement and store rules for the SWIFTSolution indicated in the library.
SWIFTMX_EI_v1-1 SWIFTMX_EI_v1-1.erl This rule library contains no rules, but you can implement and store rules for the SWIFTSolution indicated in the library.
SWIFTMX_EI_v1-2 SWIFTMX_EI_v1-2.erl This rule library contains no rules, but you can implement and store rules for the SWIFTSolution indicated in the library.
SWIFTMX_e-Mandate_v1-0 SWIFTMX_e-Mandate_v1-0.erl This rule library contains no rules, but you can implement and store rules for the SWIFTSolution indicated in the library.
SWIFTMX_FpML_v1-0 SWIFTMX_FpML_v1-0.erl This rule library contains no rules, but you can implement and store rules for the SWIFTSolution indicated in the library.
SWIFTMX_Funds_v2-0 SWIFTMX_Funds_v2-0.erl This rule library contains no rules, but you can implement and store rules for the SWIFTSolution indicated in the library.
SWIFTMX_Funds_v2-1 SWIFTMX_Funds_v2-1.erl This rule library contains no rules, but you can implement and store rules for the SWIFTSolution indicated in the library.
SWIFTMX_Funds_v2-2 SWIFTMX_Funds_v2-2.erl This rule library contains no rules, but you can implement and store rules for the SWIFTSolution indicated in the library.
SWIFTMX_Funds_v3-0 SWIFTMX_Funds_v3-0.erl This rule library contains no rules, but you can implement and store rules for the SWIFTSolution indicated in the library.
SWIFTMX_Funds_v3-1 SWIFTMX_Funds_v3-1.erl This rule library contains no rules, but you can implement and store rules for the SWIFTSolution indicated in the library.
SWIFTMX_Funds_v4-0 SWIFTMX_Funds_v4-0.erl Contains rules to validate SWIFT Funds 4.0 messages.
SWIFTMX_Funds_v4-1 SWIFTMX_Funds_v4-1.erl Contains rules to validate SWIFT Funds 4.1 messages.
SWIFTMX_Funds_v4-2 SWIFTMX_Funds_v4-2.erl Contains rules to validate SWIFTNet Alternative Funds 4.2 messages.
SWIFTMX_Funds_v4-4 SWIFTMX_Funds_v4-4.erl Contains rules to validate SWIFTNet Alternative Funds 4.4 messages.
SWIFTMX_ProxyVoting_v1-0 SWIFTMX_ProxyVoting_v1-0.erl This rule library contains no rules, but you can implement and store rules for the SWIFTSolution indicated in the library.
SWIFTMX_ProxyVoting_v1-1 SWIFTMX_ProxyVoting_v1-1.erl This rule library contains no rules, but you can implement and store rules for the SWIFTSolution indicated in the library.
SWIFTMX_ProxyVoting_v1-2 SWIFTMX_ProxyVoting_v1-2.erl This rule library contains no rules, but you can implement and store rules for the SWIFTSolution indicated in the library.
SWIFTMX_TradeServices_v1-0 SWIFTMX_TradeServices_v1-0.erl This rule library contains no rules, but you can implement and store rules for the SWIFTSolution indicated in the library.
SWIFTMX_TransactionReporting_v1-0 SWIFTMX_TransactionReporting_v1-0.erl Contains rules to validate SWIFT Transaction Report 1.0 messages.
SWIFTMX_Clearing_v1-0 SWIFTMX_Clearing_v1-0.erl This rule library contains no rules, but you can implement and store rules for the SWIFTSolution indicated in the library.
SWIFTMX_Clearing_v2-0 SWIFTMX_Clearing_v2-0.erl This rule library contains no rules, but you can implement and store rules for the SWIFTSolution indicated in the library.
SWIFTMX_CorporateActions_v1-0 SWIFTMX_CorporateActions_v1-0.erl This rule library contains no rules, but you can implement and store rules for the SWIFTSolution indicated in the library.
SWIFTMX_CorporateActions_v1-1 SWIFTMX_CorporateActions_v1-1.erl This rule library contains no rules, but you can implement and store rules for the SWIFTSolution indicated in the library.
SWIFTMX_CorporateActions_v1-2 SWIFTMX_CorporateActions_v1-2.erl This rule library contains no rules, but you can implement and store rules for the SWIFTSolution indicated in the library.
SWIFTMX_CollateralManagement_v1-0 SWIFTMX_CollateralManagement_v1-0.erl This rule library contains no rules, but you can implement and store rules for the SWIFTSolution indicated in the library.
SWIFTMX_CollateralManagement_v1-2 SWIFTMX_CollateralManagement_v1-2.erl Contains rules to validate SWIFT Collateral Management 1.2 messages.
SWIFTMX_SCORE_v2-5 SWIFT_SCORE_v2-5.erl This rule library contains no rules, but you can implement and store rules for the SWIFTSolution indicated in the library.
SWIFTMX_FundsProcessingPassport_v4-2 SWIFTMX_FundsProcessingPassport_v4-2.erl This rule library contains no rules, but you can implement and store rules for the SWIFTSolution indicated in the library.
SWIFTMX_FundsProcessingPassport_v4-3 SWIFTMX_FundsProcessingPassport_v4-3.erl This rule library contains no rules, but you can implement and store rules for the SWIFTSolution indicated in the library.
SWIFTMX_AlternativeFunds_v4-1 SWIFTMX_AlternativeFunds_v4-1.erl This rule library contains no rules, but you can implement and store rules for the SWIFTSolution indicated in the library.