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

Our Practices | Our Work | Tech
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.

Nintex Office 365 Form

The Workflow

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

Nintex Workflow

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. Nintex Query XML
  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.Nintex Regular Expression
  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.Nintex For Each
  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.Nintex Run If
  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.Nintex Set Workflow 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.Nintex Build String

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 - Elantis Business Process Automation Practice DirectorRhia 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.

 

SUBSCRIBE TO OUR BLOG

Skyrocket your business with Elantis!

Elantis is your trusted partner in revolutionizing your business operations and taking them to the stratosphere. Our modern solutions support content and collaboration, automation and productivity, governance and compliance, organizational change management, and data analytics—ensuring that your organization stays light-years ahead of the competition.

Ready for lift off? Let’s get started.

RELATED ARTICLES

Discover Real-World Applications for the Power Platform

Discover Real-World Applications for the Power Platform

Are you looking for innovative solutions to streamline operations, enhance productivity, and drive growth? One such solution is the Microsoft Power Platform, which has gained traction across every industry. Often hailed as a game-changer, the Power Platform offers tools that empower organizations to analyze data, automate processes, and easily create custom applications. But beyond the buzzwords and marketing hype, let’s delve deeper into the real-world applications of the Power Platform and explore how it’s revolutionizing business processes across different sectors.

read more