The ABL interpreter (for the client, AppServer, and WebSpeed) supports many code-page encoding standards. The JMS client uses Unicode. The translation of text data between the ABL's code page and Unicode is done automatically by the ABL-JMS implementation (for more information, see OpenEdge Development: Messaging and ESB).
When an ABL client sends text data to JMS (for example, in a TextMessage or a StreamMessage), the ABL client must send the text in a Unicode/UTF-8 format. If the internal code page of the client is not in Unicode/UTF-8 format (-cpinternal UTF-8), the ABL-JMS implementation must convert the text to UTF-8.
When text is converted to UTF-8, each character can require up to three bytes. This causes the text size limit of each text chunk to be 10K, since the conversion routine must prepare enough expansion room. Since all the message types support segmentation of text data, the limit can be worked around by using multiple segments. Whenever possible, the ABL client's internal code page should be set to UTF-8 to avoid performing code-page conversions and to eliminate the 10K size limit.