Advanced searching

Some countries, such as France, have branch and institution data. In these countries, your application can set an input flag to specify the data to search. If you are licensed for cross-border payments, your application can also set a flag to search the SEPA and SWIFT data.

You can start a search from where the last search finished and limit the number of results returned.

Searching institutions

The country you are using determines whether you can search institution data and the flag you must set.

For example, France contains institution data which you search by setting the input flag BWI_FR_INSTITUTION_CHECK:

BWICreateHandle(h)

BWISetValue(h,BWI_V_COUNTRY_CHECK,BWI_C_FRANCE)

BWISetValue(h,BWI_FR_INSTITUTION_CHECK,1)

BWISetString(h,BWI_V_PAR1,"paris")

BWISetString(h,BWI_V_PAR2,"lazard")

BWISearch(h,1,num)

...

BWIFree(h)

Searching SWIFT and SEPA data

If you are licensed for cross-border payments, to search the SWIFT data set the BWI_G_BIC_CHECK flag:

BWICreateHandle(h)

BWISetValue(h,BWI_V_COUNTRY_CHECK,BWI_C_FRANCE)

BWISetValue(h,BWG_G_BIC_CHECK,1)

BWISetString(h,BWI_V_PAR1,"CAEFFR21XXX")

BWISearch(h,1,num)

...

BWIFree(h)

Continuing a search

By default, Bank Wizard finds a maximum of 100 matches. The search function returns with numset to 100. To continue a search call BWISearch again passing 0 as the start parameter. This restarts the search from the point at which the last search finished.

BWICreateHandle(h)

BWISetValue(h,BWI_V_COUNTRY_CHECK,BWI_C_FRANCE)

BWISetString(h,BWI_V_PAR1,"a")

/* Start a new search */

start=1

search:

BWISearch(h,start,num)

print(num + " matches found")

for(i = 1; i <= num; i = i + 1) {

/* Iterate to the first or next match */

BWINext(h,BWI_N_SEARCH)

...

}

if(num == 100) {

/* 100 matches found, there may be more */

start = 0

goto search

}

BWIFree(h)

Limiting the search

To stop the search before it finds 100 matches, call BWISetValue setting the maximum search:

BWICreateHandle(h)

BWISetValue(h,BWI_V_COUNTRY_CHECK,BWI_C_FRANCE)

BWISetString(h,BWI_V_PAR1,"paris")

/* Find 10 matches before returning */

BWISetValue(h,BWI_V_MAX_SEARCH,10)

/* Perform the search and process results */

...

You cannot increase the results returned above 100.