If the subject application is developed in CA 2E, it can be generated either with traditional constants in the device file DDS or MSGIDs.
CA 2E supports multi-lingual applications through the advanced national language support features supplied with the IBM i. Using these features, the user can see a screen in one of several languages with only one program and display file (depending on the message file that is uppermost in his library list).
msgcons integrate the text at compile time (early binding), thus a new set of device files must be created and compiled for each new language translation.
If msgids are used, the generator codes msgid statements into the dds source of the display file, and writes a message containing the text into the message file. At runtime, this text is retrieved by the operating system at micro code level and bound into the screen at runtime. This method of access is much faster than using hll code, but does represent a slight overhead compared to a hard-coded screen or use of msgcons. The advantages of this method are the simplicity of maintaining one set of programs and display files, and not requiring to recompile device files after translation. In addition, the full width of column headers are available for translation.
The following table shows the results of comparative tests of performance for the two types of screens. The tests took place on a lightly loaded B45 using a COOL:2E Prompt Record function, with no database accesses or extra logic.
|
|
Number of Literals |
Type |
Refreshes in 30 Seconds |
Average Refresh Time |
|---|---|---|---|---|
|
1. |
82 |
DDS |
47 |
0.64 seconds |
|
2. |
82 |
MsgID |
21 |
1.43 seconds |
|
3. |
30 |
DDS |
90 |
0.33 seconds |
|
4. |
30 |
MsgID |
38 |
0.79 seconds |
We recommend that sites facing this decision make their own tests to ensure all local factors are taken into account. Simply generate a typical screen function with constants, regenerate it with MSGIDs into another library, and then run them back-to-back.
In practice, most users find that the i/o due to MSGIDs is not a significant factor in overall screen refresh time (many other factors, such as database access, need to be included as well), and thus opt for the flexibility of MSGIDs.
To move from MSGIDs to MSGCONs or back again, change the following:
Translator: List name (trndevlst)
List type (trndlsttyp)
Application: Prompt message file (aplpmtmsgf)
DDS source library (apldevsrcf)
| Copyright © 2011 CA. All rights reserved. | Tell Technical Publications how we can improve this information |