The BICDirService feature is a database service. The data files used to populate BICDirService must be updated periodically from SWIFT’s source CD-ROM issued once every four months.
The Java constructor for the BICDir class loads the required data from the following SWIFT-supplied files:
FI.dat
CU.dat
CT.dat
The constructor takes an argument from the directory that contains these two files. It then opens each file and loads the appropriate fields into a searchable structure. For more details on these files, see the current SWIFT BIC Database Plus Technical Specifications document for actual file layout and positioning information.
The data used to look up and validate comes from SWIFT’s own BIC bank files containing its BIC codes and its currency and country codes. When necessary, SWIFT updates these files with a new version of its lookup tables, to keep them current. You can upload these files to eGate and control when updates to the system occur and access these files via SWIFT’s update CD-ROM.
The BICDirService feature allows multiple simultaneous objects to access its methods with near-local object response times.
The SWIFT standards are not always sufficiently complete to enable STP. Currently a message can pass network validation but fail at the receiving end because of incompatible definitions or codes, or missing data. The result is expense to manually repair or follow up on these messages and possible retransmission of the message.
The SWIFT OTD Library’s BICDirService ensures that valid, up-to-date BIC, country, and currency codes are present in eGate-processed messages. This feature increases the likelihood that a given message can flow “straight through”.
You must update the BICDirService information before running components that utilize this feature.
Go to the bic.jar file in the Enterprise Designer’s Project Explorer. The file is located under Sun SeeBeyond > OTD Library > Swift.
Select the Update BIC Files option from the shortcut menu.
In the resulting Open dialog box, navigate to the location of the CU.dat file on the SWIFT update CD-ROM.
Select the file and upload it.
Select Update BIC Files again.
Navigate to the location of the FI.dat file.
Select the file and upload it.
This procedure updates the BICDirService feature.
The BICDirService methods are static methods of a single Java class, the BICDir class. There is one method per each required lookup and validation. The BICDir methods are not dependent on any module other than SWIFT data files.
The BICDir class has the following lookup methods:
Look up BIC by Institution Name: Takes a string and returns a byte array of BICs (one element is possible). The signature is:
BIC[] getBIC(institutionName*); |
Look up BIC by Institution Name, City and Country: Takes three strings, an institution name, city, and country, and returns a byte array of BICs (one element is possible). The signature is:
BIC[] getBIC(institutionName*, city*, country*); |
Look up Institution Name by BIC: Takes a BIC string, either a BIC 8 or BIC11, and returns a byte array of institution names (one element is possible). The signature is:
institutionName[] getInstitutionName(BIC); |
Look up Currency Code by Country Code: Takes a string, a country code, and returns the currency code. The signature is:
currencyCode getCurrencyCode(countryCode); |
Look up Country Code by Currency Code: Takes a string, a currency code, and returns the country code. The signature is:
countryCode getCountryCode(currencyCode); |
The BICDir class has the following validation methods:
Validate BIC: Takes a string, either a BIC 8 or BIC11, and returns true or false. The signature is:
boolean validateBIC(BIC); |
Validate Currency Code: Takes a string, a currency code, and returns true or false. The signature is:
boolean validateCurrencyCode(currencyCode); |
Validate Country Code: Takes a string, a country code, and returns true or false. The signature is:
boolean validateCountryCode(countryCode); |
The purpose of the exceptions is to give you some indication of what error has occurred and how to rectify it.
These error messages are implemented using the log4j framework. STC.OTD.SWIFT.BICDirService is used as the logging category.
The message of BICDir exception takes the following general form:
“BICDirService Error [”XX“]– “ error-message
Where:
“”: Marks static text.
XX: Stands for a unique number assigned to each error message.
error-message: A descriptive narrative derived from the condition that caused the error, and a possible solution to rectify it.