Trouble Configuring Full Names for Operators 9.33

Service Manager 9.33 with Process Designer 4

I had a request to make all of the fields with a persons name in Change records. I wanted to avoid using a new field, because old records would not display properly. I have 3 fields I need to alter. 2 are new fields and the other is for the change.owner. Here is what I did and what went wrong:

I updated the link record in cm3r for the each of the operator fields (I will use change.owner as my example). All I really altered was everywhere that said, "name", I change to "full.name" (see attached)

This seemed to do the trick. All I had to do was update the open records and the fields displayed the full name. Searching, fill and subforms all worked fine until I realized that those people were not getting emails or alerts. I recreated the rulesets with no success. If I change the full.name back to just name, the emails work.

This did not work either, but after a lot of searching through the forums I tried  adding a line to the FC for cm3r:

Add, Upd, Del: not  (null(change.owner in $file))

Req'd: true

filename: operator (tried "contact" too)

Query: full.name=change.owner in $file

 

 

 

  • In your link record for full.name, select the row and then go to more options, Select line.  In there , at the bottom, make sure that you are also populating the name field in the Source/Target field area.  That way when someone clicks the fill button for Full.name, the name field will also be populated.

  • I included a screenshot in my first post. But I currently have:

    Source Field     Target Field

    change.owner   full.name

    What are you suggesting I add?

  • Verified Answer

    In your system, since change.owner=name; I wouldn't change that due to data integrity issues.  I would create a new field to hold full.name, such as change.owner.fullname, then put that on the formats with a fill button.  Then on the link record, you have the change.owner.fullname line and then at the bottom in the Source->Target area you would have something like:

    Source -> Target

    change.owner.fullname -> full.name

    change.owner  -> name

     

    After all this, you would probably need to mass update any open records in your system so that change.owner.fullname will be populated based off the value in the change.owner field.

  • What do you mean by, "then put that on the formats with a fill button." Just update what I did in FC but change it to change.owner.fullname?

    I did all of that and have attached a screenshot of the link. Does that expression look okay? I'm also not sure how I will be able to update closed records so that people won't see an empty field. 

    $query="true"

    if (not (null(change.owner.fullname in $File))) then ($query=$query " and full.name#change.owner.fullname in $File")

    if ($G.multi and not (null(company in $File))) then $query =" and (company=company in $File or company=\"DEFAULT\")"

    $query=$query " and ess.access.only#false and template.operator#false and index(\"change coordinator\", secRole)>0"

    if $query#"true and " then ($L.void=strclpl($query, 9))

     

     

  • Your link record looks good to me.  

    First, if you are using change.owner.fullname....did you add that to your cm3r dbdict? I'm going to assume you did.

    In Forms Designer, where you have change.owner field, change that to change.owner.fullname.  I also assume that field is a Comfill and not a Text field.  If not, then change to a Comfill field.

    As for the Close records, you need to search for all closed records, then go to options and select Mass Update.. then select Complex Update.

    In the screen that follows, in the area that says execute per record, you'll want to do an expression such as:

    $L.void=rtecall("rinit", $L.rc, $L.operator, "operator");$L.void=rtecall("select", $L.rc, $L.operator, "name=change.owner in $L.file");change.owner.fullname in $L.file=full.name in $L.operator

    Then execute that and it should populate the field.

    I hope you are doing this all in a non-prod environment first before you attempt to do to Production:-)

     

  • I am not using my Production Environment and yes, I did add change.owner.fullname to the dbdict.

    The field is working and the fill button works how I need it to however, all of the open records for the new field are blank and when I ran the complex update you suggested, it did not fill the closed records.

    I do not know much when it comes to expressions so if you have any tips or something that I need to look at to customize for my environment, any suggestions are appreciated!

  • Can you try the mass update again and this time use this:

     

    $L.void=rtecall("rinit", $L.rc, $L.operator, "operator");$L.void=rtecall("select", $L.rc, $L.operator, "name=change.owner in $file");change.owner.fullname in $file=full.name in $L.operator

  • That one worked on all the records prior to when I had changed change.owner to reflect the fullname. I made the switch a few months ago and the only impact seems to have been to emails, but I seem to be the only one who has noticed. Getting back on track, do you have another magic expression that would work on those reocrds? Maybe one that would update it back to name instead of fullname then I can run the expression you just gave me to populate the new field?

  • You lost me.  I don't understand.  Can you explain again?  What is now broken and how do you want it fixed?

  • Sorry about that, let me try again. I created this thread because I had made the change to change.owner link to full.name. I only just realized that until recently that the emails were not being sent. If I had followed your steps from the begining, this thread would be solved, because everything is working like it should (in Test).

    The problem:

    I have about 3 months of changes (all that are currently open and some that are closed) where the change.owner field contains the full.name. the expression you gave me did not update the change.owner.fullname. So I have about 3 months of changes left where the new field change.owner.fullname remains blank. I need to find a way to update these remaining records.