Contact us
BLOG

Tech

How To: Parse IDs from a List Lookup to Retain Your Data

By Rhia Wieclawek on February 25, 2019

Let’s say you have a Nintex form with a List Lookup control and over time the contents of that list changes.  What happens when you view submitted forms after a selection in the List Lookup is deleted from the supporting list?  Spoiler alert: it’s gone from the submitted form as well.

There are many scenarios where this could apply: for example, a form that selects people involved on a project, meeting attendees, RACI charts, and so on.  If that person is removed from the list look up and you go back to view the saved form the deleted employee will no longer display where they were selected.  The same could be said for a product or service in a List Lookup that was removed because it is now obsolete, an office location no longer in use, or any other value that might be removed from your lookup list when no longer required.

So, what if you need to retain this data for your records, but you also need to maintain an up to date list?

The answer lies in a workflow that will parse the IDs from the List Lookup and writes those values to another column.

The Form

First things first, we have to set up the form to capture the values from the List Lookup control. To do so, ensure the control on your form is named. This is a best practice in general and enables you to pull data from a control later.

The Workflow

Here is an overview of the workflow we are going to build:

Let’s Build It

  1. Add the Query XML action and configure it to look at XML Source: Content and use {Current Item: NFFormData}. The XPath query will be /FormVariables/[YourControlNameHere]. Set the Return result as Text, and the Query your first result in to a text variable.  If we were to look at what we just pulled out of the XML, it would look like a bunch of hashtags and semicolons with some numbers interspersed. That’s not super helpful – but we will convert this to what we need. 
  2. Insert a Regular Expression action and set the String to look at the text variable we created in the previous step, in our case {Variable: txtListLookup}. Set String operation to Split, and the Pattern to ;#. This is telling the workflow that every item between those characters is an item for the collection. Finally, create a collection variable for your Output.
  3. Create a For Each action and only set two items within it – your Input dictionary or collection will be the collection variable from the previous step, and then create a new text Output value. In this example, we have named ours idList because when the workflow runs, it will be full of IDs.
  4. Inside of the For Each action, add a Run If action. We will to tell it to run When our idList variable is not empty. This keeps the workflow from erroring if blank values are pulled.
  5. Write the value to a variable using the Set Workflow Variable action. We created a Variable called txtName since our List Lookup is employee names. Use the List Lookup functionality to match the ID to whatever Value you are trying to return. In our case, we are looking for the Title from our list: EmployeeListTest. The filter is “When ID equals Workflow Variable idList”. It will match to whatever the current ID is in the loop and write the associated Title to the variable.
  6. Finally, use a Build String action to compound each variable into one. This will take the item from the previous loop ({txtNames}), and add it next to the current one ({txtName}).
    Note: this is only required if the Lookup in your form is set to multi-select.

You will now have turned your IDs (i.e., #;4#;#5#;) into actual text (Name1; Name2). Write this to a list column to retain it forever, whether the values are removed from your lookup list or not!

 

Have more questions? Elantis is the leader in Digital Transformation and offers Business Process Automation, Business Intelligence and Enterprise Content Management services.  Reach out to Elantis’ Nintex certified experts today.

The Author

Rhia Wieclawek – Director, Business Process Automation

Rhia is a Business Process Automation expert and one of the few Nintex virtual Technology Evangelists (vTE) in the world. Her experience defining, implementing, and enhancing processes, governance, and Information Architecture has garnered industry recognition.  Rhia has spoken at industry events throughout Canada and the United States.

 

SHARE THIS ARTICLE
RELATED ARTICLES
object(WP_Term)#1980 (16) { ["term_id"]=> int(3) ["name"]=> string(13) "Our Practices" ["slug"]=> string(13) "our-practices" ["term_group"]=> int(0) ["term_taxonomy_id"]=> int(3) ["taxonomy"]=> string(8) "category" ["description"]=> string(0) "" ["parent"]=> int(0) ["count"]=> int(3) ["filter"]=> string(3) "raw" ["cat_ID"]=> int(3) ["category_count"]=> int(3) ["category_description"]=> string(0) "" ["cat_name"]=> string(13) "Our Practices" ["category_nicename"]=> string(13) "our-practices" ["category_parent"]=> int(0) } Our Practices|January 31, 2019

Are you Ready to Migrate to SharePoint 2019?

If you’re interested in providing a secure, on-premise collaboration platform that is mobile-ready for today’s modern work experience, look no further.  In SharePoint 2019, Microsoft has expanded its modern experience to include more intuitive features that align with Office 365.

Custom Code or Configuration?
object(WP_Term)#1984 (16) { ["term_id"]=> int(3) ["name"]=> string(13) "Our Practices" ["slug"]=> string(13) "our-practices" ["term_group"]=> int(0) ["term_taxonomy_id"]=> int(3) ["taxonomy"]=> string(8) "category" ["description"]=> string(0) "" ["parent"]=> int(0) ["count"]=> int(3) ["filter"]=> string(3) "raw" ["cat_ID"]=> int(3) ["category_count"]=> int(3) ["category_description"]=> string(0) "" ["cat_name"]=> string(13) "Our Practices" ["category_nicename"]=> string(13) "our-practices" ["category_parent"]=> int(0) } Our Practices|December 20, 2018

Custom Code or Configuration? Five Factors to Consider

If all you have is a hammer, everything looks like a nail. Therefore, you can’t always trust the recommendation of a company that only does custom code, or only does configuration. At Elantis, we do both. . So, which one is right for your digital transformation?

object(WP_Term)#2002 (16) { ["term_id"]=> int(6) ["name"]=> string(8) "Our Work" ["slug"]=> string(8) "our-work" ["term_group"]=> int(0) ["term_taxonomy_id"]=> int(6) ["taxonomy"]=> string(8) "category" ["description"]=> string(0) "" ["parent"]=> int(0) ["count"]=> int(5) ["filter"]=> string(3) "raw" ["cat_ID"]=> int(6) ["category_count"]=> int(5) ["category_description"]=> string(0) "" ["cat_name"]=> string(8) "Our Work" ["category_nicename"]=> string(8) "our-work" ["category_parent"]=> int(0) } Our Work|December 4, 2018

Nintex Partner Award – Elantis 2018 Finalist

The 2018 awards recognize the valuable contributions channel partners like Elantis Solutions Inchave made in helping enterprises of all sizes, in every industry, improve the automation of business processes with Nintex technology.