3.3 Fields and Variables
 
 
graphic
The biggest difference we find  is that Forms are no longer  associated with the Process  (formerly ‘Map’). In order to  associate a Form with the  Process data, you need to drag  the automatically created  Business Object for that  Process to the Form.
graphic
This creates an instance of that  Business Object, with a  numeric suffix.
graphic
Expanding this shows the  variables and parameters. We  will discuss the parameters in  more detail when discussing  Business Objects, but they  define the record accessed by  this instance.
graphic
We add another Process, and  we find we can add the Process  Business Object for that too.
It is worth noting that any form  can be used in any Process.  This means they can be shared  between Processes, although  care must be taken (more on  that later).
graphic
Here I've added a couple of  custom Business Objects. One  is editable, and one, with a RO  suffix, is read-only.
Note the different icons, and  that the Process Business  Objects are editable by default.
graphic
graphic
The context menu on a read-  only Business Object allows  you to select (among other  things) ‘AlwaysRefresh’.  Selecting this is akin to setting  a field to ‘is dependent’. Note that you have to set any  associated field to ‘is  dependent’ to make this work.
You can also set the page size  for records retrieved. This is  only important for grids, I  believe. I am not certain what  effect this value has for things  like dropdown options, if any.
graphic
Note also that you can add the  same Business Object more  than once. This may be useful  if you want to populate a  dropdown with one, and fill  fields based on the selection  from the dropdown, for example.
graphic
Here we show the Parameter.  For Process Business Objects  the default is always the Folder  Id.
graphic
We can change this, however,  to be the Folder Parent. This  would allow you to retrieve  data easily from the Parent  Folder without resting to SQL.
You can also set this data, thus updating the fields in the  database. This bypasses the normal transaction and audit  capabilities of Metastorm BPM, so must be used with extreme  care.
 
graphic
The easiest way to create  fields on the Form is to drag  them straight from the  Business Object instance. The  appropriate field type is  created.
 
Note that dropdowns and list boxes will always have to be  created and have variables linked in a two-step process as they  will not be created like this.
 
graphic
 
Here a text field is created, and  you can see it is named after  the variable (name and  Caption), linked to the  Business Object and the  variable, as well as being made  optional.
graphic
 
You can also multi-select fields  (Ctrl- and Shift-Click) and drag  them in one go. A huge time  saver!
graphic
 
But it gets better – you can  choose to have fields or a grid!
graphic
Here is the result if you select  fields.
graphic
 
As you can see, all properties  are set as if you dragged them  one at a time.
graphic
 
Now I take some more (from by  custom Business Object as it  makes no sense from a Process  Business Object) … 
graphic
 
… and select a Grid this time … 
graphic
 
… and it creates a grid. The  fields are all named after the  variables, BTW, mine are  actually Column1, 2 and three  (bad choice, sorry).
graphic
 
Looking at the Column properties, everything is set as I'd want,  all I need to is set the width and title as desired, and perhaps  change the behaviour.
 
graphic
 
For the read-only Business  Object, when I drag variables  across and maker a grid, the  fields are correctly read-only.
graphic
The variable dialog is similar to  previous versions, but has a  more useful tree interface as  opposed to tabbed. You can  also add a description for it  now.
Notice that there is also a  Business Object created (called  ‘Local’) for each Form. This  allows creation of temporary  variables for Forms.
 
graphic
 
You can create fields for these  Local variables in the same way.
graphic
 
 
 
graphic
 
You can also create Local  variables for Form Segments.  This will be extremely useful  for reusable functional Form  Segments.
graphic
 
Form segments are added in  much the same way as we  added Sub-Processes in the  Process map. They appear in  the Toolbox, and can be  dragged onto the Form.
graphic
 
Interestingly, the variables  from the Form Segment then  become available as a new  Business Object instance.
This could provide significant interaction between the Segment  and containing Form, which was not previously possible. As an  example you could set a variable on your containing form that  hides or displays certain fields in the form segment, if set to be  dependent.
  
next: