Support Article
StringTooLong when Property-Set with text larger than 255
SA-19734
Summary
We have the issue when you have property with Max length set and used in Data Transform.
The issue is it is not always used which may lead to the data integrity issue.
Error Messages
Standard StringTooLong message: {1} is too long, maximum length allowed is {2}
{1}- text from the excel file
{2} -255
Steps to Reproduce
1. Create Case Type with 2 steps (say, Create and Transform)
2. Create 2 text properties (say V1 and V2) and set Max length for one of them to be used as Target property for DT
3. On Create Step add text area control and use the property without Max length
4. On Transform Step add text area control and set it to Read-only and use property with Max length attribute set (say, to 512)
5. Add button to the Section and add Click event specifying 2 handlers:
- Run data transform and add custom DT to set V2 (as target) from V1 (as source)
- Refresh Section
Save all and Run Case Type. On Create step enter very long text (more than 512 chars) and Submit
On Transform step observe no text shown, then press the button.
Observe property V2 will get the value set without any Max length restriction applied and then displayed
6. Using Data explorer create new type (say, Test) and add new property (say, vV) to it
7. Change DT to have this property as the target and run the flow again.
Observe that pressing the button will cause Max length restriction is used.
Root Cause
A defect in Pegasystems’ code or rules:
The problem is with the rule assembly , i.e. generated java of data transform uses maximum length of property for setting target property value with source property, but this java is not being invalidated when property length is changed.
Resolution
Perform the following local-change: Whenever customer changes a property type/max length , run RevalidateAndSave for those rules which reference this property
Published February 13, 2016 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.