Share This:

I recently got asked what the Context Key in DWP Catalog workflow variables does:

John Gallagher gave me this useful info:

When you add a required input variable with Text data type or Record data type, the context key for the process is set automatically.

A context key gives a business reference to a process instance and can be used as an identifier for a process instance. When you look at the process instance in the Manage Process dashboard, you can quickly identify the process instance, and you can relate the process instance to the business use case. For example, an Approval Process that has a context key as HPD0002340 indicates that the Incident request HPD0002340 started the Approval Process.

  • If a process instance has multiple required input variables, the first input variable is used as the context key.
  • If a process does not contain any required process variables of data type Text or Record to start the process, a context key named instance is automatically added at the process run time. The context key is displayed in the Manage Processes dashboard.
  • If you have multiple required input variables and you delete the input variable that is used as the context key, the context key is assigned to a next suitable input variable.            

https://docs.bmc.com/docs/helixplatform/defining-the-application-business-logic-through-processes-851870240.html#Definingtheapplicationbusinesslogicthroughprocesses-process_variable_types

 

Some of that is more specific to BMC Helix Platform than to DWP Catalog workflow editor. See Managing processes by using the Manage Processes dashboard - Documentation for BMC Helix Platform 20.02 - BMC Documentat…

 

So I tested in DWP Catalog by submitting this request:

It uses this workflow:

The question Access Level is mapped to variable Response 2 which is the Context Key. In this case the text “Administrator” was selected from a dropdown by the end user.

 

In View process in the Service Request report, this is what is shown:


Not necessarily very useful in troubleshooting, but it does make sense and once we know this we could drive the data that gets mapped into that variable.