String attribute overflowing
(Created page with "If you MDrivenServer log contains errors like String or binary data would be truncated You have OCL code or a part of your system in general that puts a too long text into a...")
 
No edit summary
Line 14: Line 14:
For the example above;
For the example above;
  self.errorinfo.subString(1,self.errorinfo.maxLength-1)
  self.errorinfo.subString(1,self.errorinfo.maxLength-1)
See also: [[OCLOperators maxLength|maxLength]]

Revision as of 10:11, 30 June 2022

If you MDrivenServer log contains errors like

String or binary data would be truncated

You have OCL code or a part of your system in general that puts a too long text into a attribute and then tries to save it.

The rest of the message might be like

@errorinfo=S_OutgoingEmail.SS_OutgoingEma... (length=1153) (System.String) (DbType: String)

In this example, the problem is that the serverside email action gets an exception and tries to write that error message to a too short string attribute.

You have two options, and you should probably use both;

  1. Make the string attribute longer to capture what you want to store
  2. Include code that makes sure you don't overflow the attribute

Use the following OCL to always ensure that you never try to write a too long string.

<attribute>.subString(1,<attribute>.maxLength-1)

For the example above;

self.errorinfo.subString(1,self.errorinfo.maxLength-1)

See also: maxLength

This page was edited 70 days ago on 02/10/2024. What links here