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