Creating a message module table
Language Environment locates the user-created messages using a message module table that you code in assembler.
The message module table begins with a header that indicates the
number of languages in the table. In Figure 1,
for example, only English is used, so the first fullword of the header
declares the constant F'1'
.
In the message module table in Figure 2,
however, English and Japanese are used, so the first fullword of the
header declares the constant F'2'
. Following the
message module table header are tables for each language.
Each language table has one or more 16-byte entries that indicate
the name of a load module and the range of message numbers the module
contains. The first fullword of each 16-byte entry contains the lowest
message number within the corresponding module; the second fullword
contains the highest message number for that module. The last 8 bytes
of each 16-byte entry contain the name of the message module to be
loaded. For example, in Figure 2, Japanese
messages numbered 101–200 are found in module ZOGMSGJ2. Finally, each
language table ends with a dummy 16-byte entry whose first two fullwords
contain the flag F'-1'
indicating the end of the
language table.
Use an 8-character format for the title of the message module table: ‘U’ (to indicate that the table contains user-created messages), followed by a 3-character facility ID, followed by ‘MSGT’. For example, the title of the message module table for messages using a facility ID of XMP would be ‘UXMPMSGT’ as shown in Figure 1; the title of the message module table for messages having a facility ID of ZOG would be ‘UZOGMSGT’ as shown in Figure 2.
After you create the message module table:
- Assemble it into a loadable TEXT file using High Level Assembler.
- Store the message module table in a library where it can be dynamically accessed while your routine is running.