workflow_banner (2K)

wf_arc(upd) - Update Workflow Arc

wf-arc(upd) (21K)

The purpose of this function is to allow the user to update the details of entries on the ARC table.

This form is accessed by selecting entries in the List Workflow Arc screen before pressing the 'UPDATE' button in the navigation bar.

For a complete description of how this type of form works please see Transaction Pattern UPDATE 1.

Field List
Field NameTypeDescription
Workflow ID NUMERIC Required. This is passed down from the parent function so is entered automatically. It is part of the primary key and cannot be changed.
Place ID NUMERIC Required. Must be chosen from the current entries on the PLACE table for this WORKFLOW.
Transition ID NUMERIC Required. Must be chosen from the current entries on the TRANSITION table for this WORKFLOW.
Direction STRING Required. The possible options are:
  • IN - place to transition.
  • OUT - transition to place.
Note the following:
  • Cannot use direction OUT on START place.
  • Cannot use direction IN on END place.
Arc Type STRING Required. The possible options are:
  • SEQUENTIAL - ordinary sequential flow, not a join or a split.
  • Explicit OR split (direction OUT only).
  • Implicit OR split (direction IN only).
  • OR join (direction OUT only).
  • AND split (direction OUT only).
  • AND join (direction IN only).
Pre Condition STRING This single field has been replaced by 'Condition Field', 'Condition Operator' and 'Condition Value'. It will be removed in a future release.
Condition Field STRING Optional. Only valid if 'Arc Type' is set to 'Explicit OR split'.

If this field is supplied then 'Condition Operator' and 'Condition Value' must also be supplied. They will be used in the sequence "field operator value" to perform a test on the current object's data.

Must be in the format 'name' or 'strlen(name)' where 'name' identifies a field in the current $fieldarray. The value of this field will then become the subject of a comparison. The 'strlen' prefix will cause the length of the value to be used instead of the value itself.

A transition can have two or more output arcs of this type, and a condition must be defined in all except the last one. At runtime these entries will be sorted by place_name and the object's current data, as held in $fieldarray will be compared using the specified condition. Each comparison will produce a result of either TRUE or FALSE, and if TRUE it will cause the arc containing the condition to be chosen for processing. If the result is not TRUE then the next arc will be evaluated instead. If no conditions evaluate to TRUE then the last arc will be treated as the default.

Input values such as 'name1', '>' and '10' will be treated the same as the following program code:

if ($fieldarray['name1'] > 10) {
    return TRUE;
} else {
    return FALSE;
} // if

Input values such as 'strlen(name1)', '>' and '10' will be treated the same as the following program code:

if (strlen($fieldarray['name1']) > 10) {
    return TRUE;
} else {
    return FALSE;
} // if

Input values such as 'name1', '>' and 'name2', where 'name2' also exists as a name in $fieldarray, will be treated the same as the following program code:

if ($fieldarray['name1'] > $fieldarray['name2']) {
    return TRUE;
} else {
    return FALSE;
} // if
Condition Operator STRING Optional. If 'Condition Field' is not empty then this must also be not empty. Valid values are:
  • <> (not equal)
  • <= (less than or equal)
  • < (less than)
  • >= (greater than or equal)
  • > (greater than)
  • = (equal)
  • != (not equal)
  • === (equal - same type)
  • !== (not equal - same type)
Condition Value STRING Optional. If 'Condition Field' is not empty then this must also be not empty.

This can be a number or a string. If it is a string which matches the name of an entry in the current $fieldarray, then the value of that entry will be used instead.


http://www.tonymarston.net
http://www.radicore.org