Message Boards

How to Get Form Field Values in a Workflow Definition

thumbnail
Anupam Shrivastava, modified 4 Years ago.

How to Get Form Field Values in a Workflow Definition

New Member Posts: 3 Join Date: 7/24/15 Recent Posts
If you want to get Form field values in a workflow definition, below is a sample groovy script for a workflow definition.

import com.liferay.portal.kernel.workflow.WorkflowConstants;
import com.liferay.portal.kernel.util.GetterUtil;
import com.liferay.dynamic.data.mapping.model.DDMFormInstanceRecordVersion;
import com.liferay.dynamic.data.mapping.service.DDMFormInstanceRecordVersionLocalServiceUtil;
import com.liferay.dynamic.data.mapping.storage.DDMFormFieldValue;
import com.liferay.dynamic.data.mapping.model.Value;

// Fetch the form record Id from the workflow context
long recVerId = GetterUtil.getLong((String)workflowContext.get(WorkflowConstants.CONTEXT_ENTRY_CLASS_PK));

// Initialize form record version
DDMFormInstanceRecordVersion recVer = DDMFormInstanceRecordVersionLocalServiceUtil.getFormInstanceRecordVersion(recVerId);

// Retrieve the form field values
List<ddmformfieldvalue> formFieldVals = recVer.getDDMFormValues().getDDMFormFieldValues();

for (DDMFormFieldValue fmval : formFieldVals) { 
    Value val = fmval.getValue(); 
    String data = val.getString(Locale.ROOT); 
    String name = fmval.getName(); 
    System.out.println("Form field values : "+name+" =&gt; "+data); 
}</ddmformfieldvalue>

Disclaimer: Please note that this is a sample of how to extend your portlet and should only be used as a reference.
Luiz Henrique Salazar, modified 3 Years ago.

RE: How to Get Form Field Values in a Workflow Definition

New Member Posts: 10 Join Date: 12/17/19 Recent Posts
Thanks a lot! Solves exactly the point I was stuck in my integration emoticon