This hands-on lab assumes you have minimum programming
experience.
Before you begin, you need to install the following software on your
computer.
| Scenario | Workflow
using an activity and with one action that call a Manual Form
displaying data. The data were harcoded just for course
purpouse. We are going to use the WF_CASE_OWNER built-in variable to configure the form for an user who is launching the workflow |
| Workflow | IDM_COURSE_WFP_Built-in
Variables 1 Download |
| Form | IDM_COURSE_FRM_Built-in Variables 1 Download |
| Subprocess |
none |
| Rule | none |
| Comments
Bold Code |
Workflow. Activity id= 1. Shows the activity used to call a Form (Call Form ). ManualAction id=0. Shows the time out for this form before expire and the itemType approval WorkitemRequester. Is doing some reference to the value of the variable WF_CASE_OWNER. The content for this variable is the user that launch a workflow.In our example if you are logging with the configurator user, configurator is the value for this variable Owner. Here you specify after launch the workflow, what is the user queue that should be assigned the request.We are using hardcoded pointing to the 999011 user queue. |
| CODE |
| Workflow |
| <?xml version='1.0'
encoding='UTF-8'?> <!DOCTYPE TaskDefinition PUBLIC 'waveset.dtd' 'waveset.dtd'> <!-- MemberObjectGroups="#ID#Top" createDate="Fri Feb 15 00:12:42 CST 2008" extensionClass="WFProcess" name="IDM_COURSE_WFP_Built-in Variables 1" visibility="runschedule"--> <TaskDefinition name='IDM_COURSE_WFP_Built-in Variables 1' lock='Configurator#1203782642265' creator='Configurator' createDate='1203055962875' lastModifier='Configurator' lastModDate='1203782342218' lastMod='10' taskType='Workflow' executor='com.waveset.workflow.WorkflowExecutor' suspendable='true' syncControlAllowed='true' execMode='sync' execLimit='0' resultLimit='0' resultOption='delete' visibility='runschedule' progressInterval='0'> <Extension> <WFProcess name='IDM_COURSE_WFP_Built-in Variables 1' maxSteps='0'> <Activity id='0' name='start'> <Transition to='Call Form'/> <WorkflowEditor x='103' y='202'/> </Activity> <Activity id='1' name='Call Form'> <ManualAction id='0' timeout='2' itemType='approval'> <WorkItemRequest> <s>IDM Admin Interface</s> </WorkItemRequest> <WorkItemRequester> <ref>WF_CASE_OWNER</ref> </WorkItemRequester> <WorkItemDescription> <s>Workflow with owner assigned with built-in variable WF_CASE_OWNER</s> </WorkItemDescription> <Owner> <s>999011</s> </Owner> <FormRef> <ObjectRef type='UserForm' name='IDM_COURSE_FRM_Built-in Variables 1'/> </FormRef> </ManualAction> <Transition to='end'/> <WorkflowEditor x='197' y='173'/> </Activity> <Activity id='2' name='end'> <WorkflowEditor x='327' y='184'/> </Activity> </WFProcess> </Extension> <MemberObjectGroups> <ObjectRef type='ObjectGroup' id='#ID#Top' name='Top'/> </MemberObjectGroups> </TaskDefinition> |
| Form |
| None |
| Subprocess |
| None |
| Rule |
| None |

|






| CODE |
| Workflow |
| <?xml version='1.0'
encoding='UTF-8'?> <!DOCTYPE TaskDefinition PUBLIC 'waveset.dtd' 'waveset.dtd'> <!-- MemberObjectGroups="#ID#Top" createDate="Fri Feb 15 00:12:42 CST 2008" extensionClass="WFProcess" name="IDM_COURSE_WFP_Built-in Variables 1" visibility="runschedule"--> <TaskDefinition name='IDM_COURSE_WFP_Built-in Variables 1' lock='Configurator#1203782642265' creator='Configurator' createDate='1203055962875' lastModifier='Configurator' lastModDate='1203782342218' lastMod='10' taskType='Workflow' executor='com.waveset.workflow.WorkflowExecutor' suspendable='true' syncControlAllowed='true' execMode='sync' execLimit='0' resultLimit='0' resultOption='delete' visibility='runschedule' progressInterval='0'> <Extension> <WFProcess name='IDM_COURSE_WFP_Built-in Variables 1' maxSteps='0'> <Activity id='0' name='start'> <Transition to='Call Form'/> <WorkflowEditor x='103' y='202'/> </Activity> <Activity id='1' name='Call Form'> <ManualAction id='0' timeout='2' itemType='approval'> <WorkItemRequest> <s>IDM Admin Interface</s> </WorkItemRequest> <WorkItemRequester> <ref>WF_CASE_OWNER</ref> </WorkItemRequester> <WorkItemDescription> <s>Workflow with owner assigned with built-in variable WF_CASE_OWNER</s> </WorkItemDescription> <Owner> <ref>WF_CASE_OWNER</ref> </Owner> <FormRef> <ObjectRef type='UserForm' name='IDM_COURSE_FRM_Built-in Variables 1'/> </FormRef> </ManualAction> <Transition to='end'/> <WorkflowEditor x='197' y='173'/> </Activity> <Activity id='2' name='end'> <WorkflowEditor x='327' y='184'/> </Activity> </WFProcess> </Extension> <MemberObjectGroups> <ObjectRef type='ObjectGroup' id='#ID#Top' name='Top'/> </MemberObjectGroups> </TaskDefinition> |
| Form |
| None |
| Subprocess |
| Rule |
| None |





| Scenario | Workflow
using an activity and with one action that call a Manual Form
displaying data. The data were harcoded just for course
purpouse. The workflow launch a request approval for the user administrator, if the administrator doesn't approve after one minute, the request is automatically escalated to the configurator user. The escalation process occurrs due the timeout variable reach the time specify to continue the workflow process. |
| Workflow | IDM_COURSE_WFP_Built-in
Variables
2
Download |
| Form | IDM_COURSE_FRM_Built-in
Variables
2
Download IDM_COURSE_FRM_Escalation Built-in Variables 2 Download IDM_COURSE_FRM_Approved Built-in Variables 2 Download IDM_COURSE_FRM_Rejected Built-in Variables 2 Download |
| Subprocess |
none |
| Rule | none |
| Comments
Bold Code |
Workflow. The next code is used to call the manual form;the timeout=1 specify the minutes for the form to wait before timeout expiration. <ManualAction id='0' name='approve' timeout='1' syncExec='true' itemType='approval'>
The next code is used for the form to validate if the variable WF_ACTION_TIMEOUT reach the 1 minute specify for the timeout=1. The initial value for WF_ACTION_TIMEOUT is false and change to true once that the timeout is reached. <Transition to='Escalation'> <eq> <ref>WF_ACTION_TIMEOUT</ref> <s>true</s> </eq> </Transition> |
| CODE |
| Workflow |
| Download File |
| Form |
| <?xml version='1.0'
encoding='UTF-8'?> <!DOCTYPE TaskDefinition PUBLIC 'waveset.dtd' 'waveset.dtd'> <!-- MemberObjectGroups="#ID#Top" createDate="Fri Feb 15 00:42:42 CST 2008" extensionClass="WFProcess" name="IDM_COURSE_WFP_Built-in Variables 2" visibility="runschedule"--> <TaskDefinition name='IDM_COURSE_WFP_Built-in Variables 2' lock='Configurator#1206252448562' creator='Configurator' createDate='1203057762765' lastModifier='Configurator' lastModDate='1206252148500' lastMod='27' taskType='Workflow' executor='com.waveset.workflow.WorkflowExecutor' suspendable='true' syncControlAllowed='true' execMode='sync' execLimit='0' resultLimit='0' resultOption='delete' visibility='runschedule' progressInterval='0'> <Extension> <WFProcess name='IDM_COURSE_WFP_Built-in Variables 2' maxSteps='0'> <Variable name='approver' value='administrator'/> <Activity id='0' name='start'> <Transition to='Call Form'/> <WorkflowEditor x='44' y='11'/> </Activity> <Activity id='1' name='Call Form'> <ManualAction id='0' name='approve' timeout='1' syncExec='true' itemType='approval'> <ReportTitle> <concat> <s>Awaiting approval from \n</s> <ref>approver</ref> </concat> </ReportTitle> <WorkItemRequest> <s>IDM Course</s> </WorkItemRequest> <WorkItemRequester> <s>IDM</s> </WorkItemRequester> <WorkItemDescription> <s>Workflow with owner assigned with built-in variable WF_CASE_OWNER and using WF_ACTION_TIMEOUT</s> </WorkItemDescription> <Owner name='$(approver)'/> <FormRef> <ObjectRef type='UserForm' name='IDM_COURSE_FRM_Built-in Variables 2'/> </FormRef> <Variable name='APPROVAL' value='false'/> <Return from='APPROVAL' to='APPROVED'/> </ManualAction> <Transition to='Approved'> <eq> <ref>APPROVED</ref> <s>true</s> </eq> </Transition> <Transition to='Escalation'> <eq> <ref>WF_ACTION_TIMEOUT</ref> <s>true</s> </eq> </Transition> <Transition to='Rejected'/> <WorkflowEditor x='111' y='14'/> </Activity> <Activity id='2' name='end'> <WorkflowEditor x='255' y='10'/> </Activity> <Activity id='3' name='Escalation'> <ManualAction id='0' syncExec='true' itemType='approval'> <Owner> <ref>configurator</ref> </Owner> <FormRef> <ObjectRef type='UserForm' name='IDM_COURSE_FRM_Escalation Built-in Variables 2'/> </FormRef> </ManualAction> <Transition to='end'/> <WorkflowEditor x='186' y='12'/> </Activity> <Activity id='4' name='Approved'> <ManualAction id='0' syncExec='true'> <FormRef> <ObjectRef type='UserForm' name='IDM_COURSE_FRM_Approved Built-in Variables 2'/> </FormRef> </ManualAction> <Transition to='end'/> <WorkflowEditor x='152' y='103'/> </Activity> <Activity id='5' name='Rejected'> <ManualAction id='0' syncExec='true'> <FormRef> <ObjectRef type='UserForm' name='IDM_COURSE_FRM_Rejected Built-in Variables 2'/> </FormRef> </ManualAction> <Transition to='end'/> <WorkflowEditor x='128' y='288'/> </Activity> </WFProcess> </Extension> <MemberObjectGroups> <ObjectRef type='ObjectGroup' id='#ID#Top' name='Top'/> </MemberObjectGroups> </TaskDefinition> |
| Subprocess |
| None |
| Rule |
| None |






| Scenario | Workflow
using an activity and with one action that call a Manual Form
displaying data. The form is populated creating variables in the workflow and accesing to this values in a form through a variables.variable syntax. |
| Workflow | IDM_COURSE_WFP_Variables 1 Download |
| Form | IDM_COURSE_FRM_Variables 1 Download |
| Subprocess |
none |
| Rule | none |
| Comments
Bold Code |
Workflow. The next code is used to define a variable and their content in a workflow. <Variable name='firstName' value='Malcom'/> Form. The next code is used to access the variable content. Any variable comming from the workflow is accesed using the syntax variables.variable if we are not using the variable context base. <ref>variables.firstName</ref> |
| CODE |
| Workflow |
| <?xml version='1.0'
encoding='UTF-8'?> <!DOCTYPE TaskDefinition PUBLIC 'waveset.dtd' 'waveset.dtd'> <!-- MemberObjectGroups="#ID#Top" createDate="Sun Feb 17 12:18:45 CST 2008" extensionClass="WFProcess" name="IDM_COURSE_WFP_Variables 1" visibility="runschedule"--> <TaskDefinition name='IDM_COURSE_WFP_Variables 1' lock='Configurator#1206253652750' creator='Configurator' createDate='1203272325906' lastModifier='Configurator' lastModDate='1206253352640' lastMod='7' taskType='Workflow' executor='com.waveset.workflow.WorkflowExecutor' suspendable='true' syncControlAllowed='true' execMode='sync' execLimit='0' resultLimit='0' resultOption='delete' visibility='runschedule' progressInterval='0'> <Extension> <WFProcess name='IDM_COURSE_WFP_Variables 1' maxSteps='0'> <Variable name='firstName' value='Malcom'/> <Variable name='lastName' value='Young'/> <Variable name='email' value='malcom.young@idm.com'/> <Activity id='0' name='start'> <Transition to='Call Form'/> <WorkflowEditor x='89' y='107'/> </Activity> <Activity id='1' name='Call Form'> <ManualAction id='0' timeout='1'> <WorkItemRequest> <s>IDM Admin Interface</s> </WorkItemRequest> <WorkItemRequester> <s>IDM System</s> </WorkItemRequester> <WorkItemDescription> <s>Workflow using variables</s> </WorkItemDescription> <FormRef> <ObjectRef type='UserForm' name='IDM_COURSE_FRM_Variables 1'/> </FormRef> </ManualAction> <Transition to='end'/> <WorkflowEditor x='228' y='90'/> </Activity> <Activity id='2' name='end'> <WorkflowEditor x='338' y='84'/> </Activity> </WFProcess> </Extension> <MemberObjectGroups> <ObjectRef type='ObjectGroup' id='#ID#Top' name='Top'/> </MemberObjectGroups> </TaskDefinition> |
| Form |
| <?xml version='1.0'
encoding='UTF-8'?> <!DOCTYPE Configuration PUBLIC 'waveset.dtd' 'waveset.dtd'> <!-- MemberObjectGroups="#ID#Top" extensionClass="Form" lastMod="12" lastModifier="Configurator" name="IDM_COURSE_FRM_Variables 1"--> <Configuration name='IDM_COURSE_FRM_Variables 1' lock='Configurator#1206253655640' creator='Configurator' createDate='1203272420312' lastModifier='Configurator' lastModDate='1206253355578' lastMod='12' wstype='UserForm'> <Extension> <Form name='IDM_COURSE_FRM_Variables 1' noDefaultButtons='true' objectLocationID='objectType=UserForm&objectName=IDM_COURSE_FRM_Variables+1&objectPath=0&isBegin=true'> <Display class='EditForm'> <Property name='title' value='Using Variables'/> <Property name='subTitle' value='Declaring a String variable in workflow and using <b>variables.[ your variable ] </b> to access to their value'/> </Display> <Field> <Display class='Label'> <Property name='value'> <ref>variables.firstName</ref> </Property> <Property name='title' value='Firstname'/> </Display> </Field> <Field> <Display class='Label'> <Property name='value'> <ref>variables.lastName</ref> </Property> <Property name='title' value='Lastname'/> </Display> </Field> <Field> <Display class='Label'> <Property name='value'> <ref>variables.email</ref> </Property> <Property name='title' value='Email'/> </Display> </Field> <Field name='submitCancelButtons'> <Field name=':complete'> <Expansion> <s>true</s> </Expansion> </Field> <Field name=':formButton' button='true'> <Display class='Button'> <Property name='label' value='Submit'/> <Property name='value' value='Next'/> <Property name='command' value='Save'/> </Display> </Field> <Field name=':formButton' button='true'> <Display class='Button'> <Property name='label' value='Cancel'/> <Property name='value' value='Cancel'/> <Property name='command' value='SaveNoValidate'/> </Display> <Derivation> <null/> </Derivation> </Field> <Field name='formButton'> <Expansion> <ref>:formButton</ref> </Expansion> </Field> </Field> </Form> </Extension> <MemberObjectGroups> <ObjectRef type='ObjectGroup' id='#ID#Top' name='Top'/> </MemberObjectGroups> </Configuration> |
| Subprocess |
| None |
| Rule |
| None |


| Scenario | Workflow
using an activity and with one action that call a Manual Form
displaying data. The data were harcoded just for course
purpouse. The form is populated creating variables in the workflow and using the variables context in the form. |
| Workflow | IDM_COURSE_WFP_Variables 2 Download |
| Form | IDM_COURSE_FRM_Variables 2 Download |
| Subprocess |
none |
| Rule | none |
| Comments
Bold Code |
Form. The next code in the form define the base context for the form, with this we avoid to use the variables.variable syntax and now we can access to the variable content with just write down the name of this. baseContext='variables' The next code access to the variable content using the base context <ref>firstName</ref> |
| CODE |
| Workflow |
| Download File |
| Form |
| <?xml version='1.0'
encoding='UTF-8'?> <!DOCTYPE Configuration PUBLIC 'waveset.dtd' 'waveset.dtd'> <!-- MemberObjectGroups="#ID#Top" extensionClass="Form" lastMod="8" lastModifier="Configurator" name="IDM_COURSE_FRM_Variables 2"--> <Configuration name='IDM_COURSE_FRM_Variables 2' lock='Configurator#1206254027609' creator='Configurator' createDate='1203274367812' lastModifier='Configurator' lastModDate='1206253727546' lastMod='8' wstype='UserForm'> <Extension> <Form name='IDM_COURSE_FRM_Variables 2' baseContext='variables' noDefaultButtons='true' objectLocationID='objectType=UserForm&objectName=IDM_COURSE_FRM_Variables+2&objectPath=0&isBegin=true'> <Display class='EditForm'> <Property name='title' value='Using Varibales'/> <Property name='subTitle' value='Declaring a String variable in workflow and using variable context in the form'/> </Display> <Field> <Display class='Label'> <Property name='value'> <ref>firstName</ref> </Property> <Property name='title' value='Firstname'/> </Display> </Field> <Field> <Display class='Label'> <Property name='value'> <ref>lastName</ref> </Property> <Property name='title' value='Lastname'/> </Display> </Field> <Field> <Display class='Label'> <Property name='value'> <ref>email</ref> </Property> <Property name='title' value='Email'/> </Display> </Field> <Field name='submitCancelButtons'> <Field name=':complete'> <Expansion> <s>true</s> </Expansion> </Field> <Field name=':formButton' button='true'> <Display class='Button'> <Property name='label' value='Submit'/> <Property name='value' value='Next'/> <Property name='command' value='Save'/> </Display> </Field> <Field name=':formButton' button='true'> <Display class='Button'> <Property name='label' value='Cancel'/> <Property name='value' value='Cancel'/> <Property name='command' value='SaveNoValidate'/> </Display> <Derivation> <null/> </Derivation> </Field> <Field name='formButton'> <Expansion> <ref>:formButton</ref> </Expansion> </Field> </Field> </Form> </Extension> <MemberObjectGroups> <ObjectRef type='ObjectGroup' id='#ID#Top' name='Top'/> </MemberObjectGroups> </Configuration> |
| Subprocess |
| None |
| Rule |
| None |

| Scenario | Workflow
using an activity and with one action that call a Manual Form
displaying data. Creating a variable list in workflow |
| Workflow | IDM_COURSE_WFP_Variables 3 Download |
| Form | IDM_COURSE_FRM_Variables 3 Download |
| Subprocess |
none |
| Rule | none |
| Comments
Bold Code |
Workflow. The lstContinent variable was defined to contain a list elements. <List> elements </List> is the XPRESS function used to declare a list. <String> value <String> is the XPRESS function used to declare the elements for the list. Form. The next code is used for the label class to access to the list defined in the workflow. <ref>lstContinent</ref> |
| CODE |
| Workflow |
| <?xml version='1.0'
encoding='UTF-8'?> <!DOCTYPE TaskDefinition PUBLIC 'waveset.dtd' 'waveset.dtd'> <!-- MemberObjectGroups="#ID#Top" createDate="Sun Feb 17 13:07:23 CST 2008" extensionClass="WFProcess" name="IDM_COURSE_WFP_Variables 3" visibility="runschedule"--> <TaskDefinition name='IDM_COURSE_WFP_Variables 3' creator='Configurator' createDate='1203275243750' lastModifier='Configurator' lastModDate='1206254467875' lastMod='4' taskType='Workflow' executor='com.waveset.workflow.WorkflowExecutor' suspendable='true' syncControlAllowed='true' execMode='sync' execLimit='0' resultLimit='0' resultOption='delete' visibility='runschedule' progressInterval='0'> <Extension> <WFProcess name='IDM_COURSE_WFP_Variables 3' maxSteps='0'> <Variable name='firstName' value='Malcom'/> <Variable name='lastName' value='Young'/> <Variable name='email' value='malcom.young@idm.com'/> <Variable name='lstContinent'> <List> <String>America</String> <String>Europe</String> <String>Asia</String> <String>Africa</String> <String>Australia</String> </List> </Variable> <Activity id='0' name='start'> <Transition to='Call Form'/> <WorkflowEditor x='89' y='107'/> </Activity> <Activity id='1' name='Call Form'> <ManualAction id='0' timeout='1'> <WorkItemRequest> <s>IDM Admin Interface</s> </WorkItemRequest> <WorkItemRequester> <s>IDM System </s> </WorkItemRequester> <WorkItemDescription> <s>Workflow using variables</s> </WorkItemDescription> <FormRef> <ObjectRef type='UserForm' name='IDM_COURSE_FRM_Variables 3'/> </FormRef> </ManualAction> <Transition to='end'/> <WorkflowEditor x='229' y='84'/> </Activity> <Activity id='2' name='end'> <WorkflowEditor x='338' y='84'/> </Activity> </WFProcess> </Extension> <MemberObjectGroups> <ObjectRef type='ObjectGroup' id='#ID#Top' name='Top'/> </MemberObjectGroups> </TaskDefinition> |
| Form |
| <?xml version='1.0'
encoding='UTF-8'?> <!DOCTYPE Configuration PUBLIC 'waveset.dtd' 'waveset.dtd'> <!-- MemberObjectGroups="#ID#Top" extensionClass="Form" lastMod="4" lastModifier="Configurator" name="IDM_COURSE_FRM_Variables 3"--> <Configuration name='IDM_COURSE_FRM_Variables 3' lock='Configurator#1206254540062' creator='Configurator' createDate='1203275260765' lastModifier='Configurator' lastModDate='1206254240000' lastMod='4' wstype='UserForm'> <Extension> <Form name='IDM_COURSE_FRM_Variables 3' baseContext='variables' noDefaultButtons='true' objectLocationID='objectType=UserForm&objectName=IDM_COURSE_FRM_Variables+3&objectPath=0&isBegin=true'> <Display class='EditForm'> <Property name='title' value='Using Varibales'/> <Property name='subTitle' value='Declaring a List variable in workflow and using variable context in the form'/> </Display> <Field> <Display class='Label'> <Property name='value'> <ref>firstName</ref> </Property> <Property name='title' value='Firstname'/> </Display> </Field> <Field> <Display class='Label'> <Property name='value'> <ref>lastName</ref> </Property> <Property name='title' value='Lastname'/> </Display> </Field> <Field> <Display class='Label'> <Property name='value'> <ref>email</ref> </Property> <Property name='title' value='Email'/> </Display> </Field> <Field> <Display class='Label'> <Property name='value'> <ref>lstContinent</ref> </Property> <Property name='title' value='Musician listened in '/> </Display> </Field> <Field name='submitCancelButtons'> <Field name=':complete'> <Expansion> <s>true</s> </Expansion> </Field> <Field name=':formButton' button='true'> <Display class='Button'> <Property name='label' value='Submit'/> <Property name='value' value='Next'/> <Property name='command' value='Save'/> </Display> </Field> <Field name=':formButton' button='true'> <Display class='Button'> <Property name='label' value='Cancel'/> <Property name='value' value='Cancel'/> <Property name='command' value='SaveNoValidate'/> </Display> <Derivation> <null/> </Derivation> </Field> <Field name='formButton'> <Expansion> <ref>:formButton</ref> </Expansion> </Field> </Field> </Form> </Extension> <MemberObjectGroups> <ObjectRef type='ObjectGroup' id='#ID#Top' name='Top'/> </MemberObjectGroups> </Configuration> |
| Subprocess |
| Rule |
| None |

| Scenario | Workflow
using an activity and with one action that call a Manual Form
displaying data. Creating a variable list in Form using expression / def var function |
| Workflow | IDM_COURSE_WFP_Variables 4 Download |
| Form | IDM_COURSE_FRM_Variables 4 Download |
| Subprocess |
none |
| Rule | none |
| Comments
Bold Code |
Form. <defvar> Is used to define a variable lstContinent <List> elements </List> is the XPRESS function used to declare a list. <String> value <String> is the XPRESS function used to declare the elements for the list. The next code is used for the label class to access to the list defined in the workflow. <ref>lstContinent</ref> |
| CODE |
| Workflow |
| Download File |
| Form |
| <?xml version='1.0'
encoding='UTF-8'?> <!DOCTYPE Configuration PUBLIC 'waveset.dtd' 'waveset.dtd'> <!-- MemberObjectGroups="#ID#Top" extensionClass="Form" lastMod="4" lastModifier="Configurator" name="IDM_COURSE_FRM_Variables 4"--> <Configuration name='IDM_COURSE_FRM_Variables 4' lock='Configurator#1206254999234' creator='Configurator' createDate='1203275837937' lastModifier='Configurator' lastModDate='1206254699171' lastMod='4' wstype='UserForm'> <Extension> <Form name='IDM_COURSE_FRM_Variables 4' noDefaultButtons='true' objectLocationID='objectType=UserForm&objectName=IDM_COURSE_FRM_Variables+4&objectPath=0&isBegin=true'> <Display class='EditForm'> <Property name='title' value='Using Varibales'/> <Property name='subTitle' value='Declaring a List variable in Form workflow and using expression'/> </Display> <defvar name='lstContinent'> <List> <String>America</String> <String>Asia</String& |