 
Frequently Asked Questions

How does ASCII Runtime for iSeries work?
Support for the ASCII Runtime is provided by four service programs: QADRTTS, QADRTTS2, QADRTDSM, and QADRTDSMT2.
The ASCII Runtime Development Kit provides three modules named QADRTMAIN, QADRTMAIN2, and QADRTMAIN3 which can be used as replacements for main. It also provides several header files such as stdio.h, ctype.h, etc.
The ASCII Runtime for iSeries version of these header files are expanded in place of the standard header files that are included in the source code. However, they do not replace the standard header files. The run-time API's are re-mapped to the ASCII Runtime for the iSeries API's provided in the service program. The ASCII Runtime API's make the necessary conversions and then calls the regular run-time API's.

What changes do I have to make to my source code?
Character literals need to be mapped to ASCII (CCSID 819). If the compiler you are using has an option to map the literals, then no changes to the source code are necessary. If no compiler option is available, a single line of "#pragma convert(819)" will need to be added to the beginning of each source file. It is also necessary to ensure that the build process is set up correctly. This requires changing the library list (if compiling on iSeries) or the search path (if using a cross compiler) to include the ASCII Runtime header files before any standard header files. This is absolutely necessary and will ensure that the appropriate functions are re-mapped to the proper conversion routines.

How does ASCII Runtime for iSeries affect performance?
ASCII Runtime for iSeries enables conversion between ASCII and EBCDIC with a minimal amount of performance impact. This is accomplished by the creation of mapping tables, which are stored as permanent objects in QUSRSYS on iSeries. The conversion routines themselves are all inlined to avoid the extra overhead of a function call. This method of inlining the conversion routines and creating permanent tables significantly increases performance over other conversion routines such as iconv().
Please note that before tables are created the performance of a program using ASCII Runtime will be degraded. This results from the creation of the conversion tables which are created the first time a program is run. Conversion tables can also be created before hand by calling the program QADRTCINF, which is shipped with this product.
|