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.
Go to:
Option Lists (Next topic)