Use of IBM Unicode Services

Since version 5.1.27, FLAM supports the use of IBM Unicode Services on system Z. The Unicode Services are used only if no user table, transliteration, case mapping, subsets, whitespace handling, reporting, normalization or other complex conversion is requested. If a simple conversion is done, in a few cases the implementation of FLAM is faster and FLAM will still use this faster implementation. In all other cases, the IBM Unicode Services will be used by default to reduce CPU and memory utilization.

It is important to note the differences in behavior of the IBM Unicode Services:

To prevent these changes in behavior you must set the system symbol &FLIBMUS or the environment variable FL_IBM_UNICODE_SERVICE to OFF, but this will result in more CPU and memory utilization for simple character conversions (see chapter Used Environment variables). The environment variable's default is AUTO which ensures that only the minimal behavior changes above are in place. To use the Unicode Services also for character conversion mode STOP the environment variable has to be set to ON. This will cause FLAM to use the round trip conversion technique of the Unicode Services, which results in the behavior changes below:

We recommend to set FL_IBM_UNICODE_SERVICE=ON to maximize performance if the limitations described above are acceptable because checking each character if it is valid or not has a significant performance impact.