Question
it.ru
RU
Last activity: 18 Jul 2017 10:53 EDT
User with long name can`t perform tasks (workparty problem)
When workparty is added to workobject, it`s pyLabel is generated automatically in activity GetOperatorIDFromClipboard from operator`s pyTitle and pyUserName
If operator have long title and pyUserName, party`s pyLabel exceed 64 symbols and validation error occurs.
User is not able to start or perform new task.
GetOperatorIDFromClipboard activity is final, and we can`t correct it.
pyLabel is defined in Pega-RULES @baseclass with max length 64, and we can`t override this by resaving in our rulesets.
We tried Edit Input and Declare OnChange for pyLabel property in Data-Party class without success.
Is there any way to avoid this problem?
***Updated by moderator: Lochan to add Categories***
***Updated by moderator: Lochan to close post***
This post has been archived for educational purposes. Contents and links will no longer be updated. If you have the same/similar question, please write a new post.
-
Like (0)
-
Share this page Facebook Twitter LinkedIn Email Copying... Copied!
Pegasystems Inc.
IN
Hi,
You can not change the maximum length specified for pyLabel property as it is exposed in database with that size limit. The alternate way is to truncate the user name so that it matches the size and they can proceed with case creation.
Can you try using the Work-NewDefaults activity by saving it in your local ruleset and use the truncateLongText function to truncate the entries so that the length does not go beyond 64.
NewDefaults activity is an extension points activity and gets called from Work-.New and Work-.NewCovered, This activity allows the user to customize or extend the steps that are performed while creating new work page for the new harness.
You can use a property set method and set the values for pyLabel like this : @(Pega-RULES:String).truncateLongText(.pyWorkPage.pyWorkParty(Interested), 50)
it.ru
RU
Work-NewDefaults can help with wo creation, but it can not help with new work parties during process execution (standard activity addWorkObjectParty).
User name truncation is also not an option, business customer requires long name support.
I also suggest that truncateLongText should be added in pyLabel generation in next pega release. it`s very simple action and can prevent further errors.
Updated: 1 Jul 2015 12:04 EDT
Pegasystems Inc.
IN
Hi Yuriy,
This definitely needs to be fixed in the product.
For a workaround try the following :
Override PartyNewSetup activity and add a step before final page remove to remove pyLabel from the .pyWorkParty(Subscript) and you should be OK.
Moreover we use other properties to display the work parties name in harnesses so after removing/truncating pyLabel property this way will not effect anything.
Let me know if this helps.
Updated: 1 Jul 2015 12:08 EDT
it.ru
RU
Thanks, Pankaj!
This should fix work object creation issue.
But we also have several addWorkObjectParty calls in our process, this fix does not affect them.
Are there any way to fix this activity also, except obvious label clearing after each activity call?
Pegasystems Inc.
IN
though it is not recommended - a quick & one fix solution is to alter the column 'pyLabel' size (let's say 128).
following are the steps post alter SQL command ...
- stop server
- clear temp folders
- truncate cache
- restart server
for getting this done - we may need to contact Pega Global Support team.
Pegasystems Inc.
IN
Yeah.. adding a call to clear pyLabel after each addWorkObjectParty is not a good idea.
On second thought, I am thinking we can create DeclareOnChange in your workpool class on pyLabel property.
Use Page context as pyWorkParty() in Pages and classes tab so that it only gets triggered when pyLabel on this page is changed.
Call a common activity to check if length is more truncate or clear this property.
Haven't tried this approach but i think this might work.
If this works this will be one place to handle and you don;t have to customize PartyNewSetup also and it will be easier in future to just withdraw this rule once it's fixed in product.
Pegasystems Inc.
IN
yes Pankaj, Right point. by defining a proper page context'ed declare onChange should work for the use case - if it is okay to truncate data beyond the expected limit (64 character limit).
Pegasystems
US
Assuming we set the workpool in the access group to "PegaSample" (available out-of-box) and then run the "PegaSample-CustomerRequest . NewWork" flow, can someone please explain what specifically to do to illustrate the problem being discussed here ?
Pegasystems Inc.
IN
Change Operator Full Name to something of length greater than 64 and than create a work object and you should see this error.
Pegasystems
US
One thing you'd need to be real careful about if you expand the pyLabel column to more than 64 characters (and all the validation rules and max limit settings for properties, and recompile all the activities whose generated java includes "setEntryCode" calls that refer to the old max limit) , is to worry about any places that copy the pyLabel into other fields that have a limit less than the large value you're thinking of expanding pyLabel to. In other words, this sounds like a dangerous thing to do. /Eric
Pegasystems Inc.
IN
Agree with Eric on this.
I wouldn't suggest this either.
ANZ
AU
Yes, I'd also agree here too. We've had similair issues not with the PEGA restirction but more trying to share the user name who performed the action to other down stream applications - these systems didn't like long user names. So even if you fix in PEGA, IF you ever plan to use that name to say drive writing details into another system then they would need to support your new length too. Truncating in the end was just easier.
Pegasystems
US
>>> Change Operator Full Name to something of length greater than 64 and than create a work object and you should see this error.
Yup, easy to reproduce on prpc 6.2sp2. Here's the error when attempting to run PegaSample-CustomerRequest dot NewWork flow :
A processing error has occurred
Object key
Error Message .pyWorkParty(Originator).pyLabel: " tenLetterstenLetterstenLetterstenLetterstenLetterstenLetterstenLetters" is too long, maximum length allowed is 64