Late message binding

Text can be stored externally from the DDS source code in a message description and is bound only to the display format at run time.

This technique can be used for:

Display files only
Constants such as titles, instruction lines, option definitions, headings, field prompts, command key descriptions (MSGID keyword)
Default values on input fields (MSGID keyword)
Field validation specifications (CHKMSGID keyword)
Error messages (ERRMSGID and SFLMSGID keywords)

In the DDS for the display file, the message is specified through the MSGID (Message Identifier) keyword. The message has to be entered into the specified message file using the ADDMSGD (Add Message Description) command.

For example:

A    FLD-name  length  line pos    MSGID(message-ID [*libl/]message-filename)
                  ^
           includes expansion space
ADDMSGD   MSGID(xxxnnnn) MSGF(library-name/message-file-name)  +
MSG('Text                                        ')

This technique allows you to create any number of message files in different languages and different libraries, with one DDS source code and display file object. During run time, you assign another message file by setting the library list accordingly. The following figure is an example.


Late binding of messages
Note: This technique requires the application to perform all editing based on the cultural convention.