Skip to main content

More About Messages

For basic information about messages in a production that uses SQL business hosts, see Using a SQL Business Service or Using a SQL Business Operation.

Incoming Streams

If a production does not define a message class or response class, and the incoming data from a result set column or output parameter is a stream (CLOB or BLOB), the stream is added as the value of the corresponding property in the dynamic object.

Similarly, if the data type of the property of a custom message or response class is a stream, then the incoming stream is simply set into that property. If, however, the data type of the property is a string, then the behavior will depend on the length of the incoming data relative to the MAXLEN of the property, and also on the value of the Allow Truncating setting.

If the length of the incoming stream data does not exceed the MAXLEN of the string property, the value is set as a string into the property. If the length of the incoming data does exceed the MAXLEN of the property, then the default behavior is to throw an error and quit. However, if the Allow Truncating setting is set to true, then the first MAXLEN characters of the incoming value is set into the property as a string, and a warning is issued. By default, a warning is only issued the first time that the value for any given property needs to be truncated. However, if the Only Warn Once setting is disabled, then warnings are issued every time data is truncated. Be aware that the Only Warn Once setting does not affect what happens when a property cannot be set (it only generates a warning the first time), but does affect what happens when a business operation's query returns multiple rows of results.

Incoming Strings

If incoming data from a result set column or output parameter is a string, but the corresponding property of the message or response class is a stream, the value is simply written to the stream.

FeedbackOpens in a new tab