Workflow scripts and parameters
Workflow Scripts
The workflow scripts can be entered:
- in the Versioned Procedures book on page 2 in the Events tab - the script runs after executing the event entered in the Eventfield, if this event occurs during the process or the process step,
- in the Workflow Products while entering Registered Points.
Entry with choice of user, fill in of variable
Process No.: WKF003 |
Script Id: FWKF003 |
File: EntryUserVar.PAS |
Script description: Script is entered when step is created, at Entry and Exit event, contact persons are chosen based on variable. As a parameter name of variable is entered. |
||
Address in the tree: |
Script parameters:
Add_User_G Role with list of contact persons is entered. These contact persons are allowed to work with process and also see data of the process, without being included in any Role of the process. They are allowed to enter comment to the process. |
Beg_Stmt Certain value is being entered to variable field, it runs before form is displayed, if we want to calculate something at the beginning of work with step. |
CostCentreVar We can influence choice of contact persons according to cost centre. E.g. {CostCentreVar}[STR];[STR2]. Name of variable for cost centre is entered into square brackets (it can have more variables separated by semicolon). |
End_Stmt Certain value is being entered to variable field, it runs after step is completed, if we want to calculate something at the end of work with step. |
Exclude_Users It deletes contact persons from role so that they cannot access data in the process. |
Fill_Var It fills variable with calculation (it's equal to parameter Calcvar, see Workflow Parameters). E.g. {Fill_Var}[USER_O]:=%USER% fills contact person connected with current user to variable. |
User_Var We can influence choice of contact persons for which step will be created. Example {USER_VAR}[SUBMITTER]. To Name of variable at which we expect number of contact person, for whose the step should be created, is entered into square brackets. |
Status of step
Process No.: WKF003 |
Script Id: FWKF004 |
File: CheckStep.PAS |
Script description: Script is entered at registered product point in Workflow product. It provides status of the step which is assigned to product that includes the script. (Script e.g. ensures that received invoice cannot be confirmed if step "Invoice approval” is not confirmed). |
||
Address in the tree: |
Script parameters:
Step_Name Name of the step which should be checked is entered. |
ExistProcess - 0 0 - script is always evaluated; 1 - script will only be evaluated if product (invoice, sales order...) will contain process on page 9. |
Create process
Process No.: WKF003 |
Script Id: FWKF005 |
File: CreateProc.PAS |
Script description: Script is entered at registered product points in Workflow Products book. Example Process for sales order is created when new sales order is established. |
||
Address in the tree: |
Script parameters:
Proc_Name We assign a name to the process (e.g. Sales Order 10/2010). |
Name_Fld We request to show Sales Order number. This number can then be e.g. filled to the name of process which will be created by "Proc_Name” parameter. |
Ver_Abbr We add Abbreviation of procedure header from which at registered point process should be created. |
Product linked to Sales Order
Process No.: WKF003 |
Script Id: FWKF006 |
File: Wkf_Zak_Prod.PAS |
Script description: Script runs actions above products. |
||
Address in the tree: |
Script parameters:
Action Parameter which does actions with products. Example When step is approved script confirms or does undo confirmation of product (invoice, sales order...). |
WKF email
Process No.: WKF003 |
Script Id: FWKF007 |
File: WKF_Email.PAS |
Script description: Script sends email with certain information to the email address set up in the script parameter. It's necessary to have needed information set up in the Mail module. |
||
Address in the tree: [Workflow] [Workflow Administration] [Procedures] |
Script parameters:
EAdress It creates email text with Procedure Abbreviation, Process ID and Process Name in email subject. Process ID and Name as well as all process Comments are in the email body. Example: {EAddress}k2.demo@k2atmitec.cz |
Workflow Step form
Process No.: WKF003 |
Script Id: FWKF008 |
File: WKF_Step.PAS |
Script description: Script creates form for steps and allows working with steps. It substitutes step approval form functionality with functionality described by Parameters. |
||
Address in the tree: |
Script parameters:
Ascend - 0 Step view sorting in ascending order, according to date of creation. |
Beg_Stmt Inserts value to variable, certain variable is calculated when Work Step form is displayed. |
End_Stmt Inserts value to variable, certain variable is calculated after form Work Step is finished. |
Link_Doc_Typ We decide which document type should be created. |
Proc_Var There is an option to enter certain variable value (e.g. Invoice value, cost centre number) during process run, it displays process variables. |
Prod_Id Product is added to step. |
Show_Vars It decides if variables will be displayed in the form. |
Step_Var There is an option to enter certain variable value (e.g. Invoice value, cost centre number) during process run, it displays process variables. |
Attach document to product
Process No.: WKF003 |
Script Id: FWKF009 |
File: LinkDocToProd.PAS |
Script description: Script which allows to attach "DKHL” type documents to K2 products (invoices, advance payments, delivery lists), at the specific action step in process. Products and also documents must be added to process. Example: Scanned invoice delivered by post ("DKHL” type document) will be attached to Received Invoice in Received Invoices book, specifically at the page 9. |
||
Address in the tree: |
Script parameters:
Without parameters. |
Script is entered on page 2 of Versioned Procedures book, tab Events, field Script, after step is marked. It’s entered together with event at which it is supposed to run (field Event).
Form Attach documents to products is displayed in process when operation, which initiates chosen event, is performed at this step.
Picture: Form Attach documents to products
All products which are linked to process are shown in upper part of the form. At the bottom of the form all "DKHL” type documents are shown. These will be linked to process and will be added to K2 products shown in upper part of the form.
Use Previous and Next buttons to switch among products in upper part of the form. Product to which the document is being attached is marked with star.
We mark with star documents in bottom part of the form to attach them to products marked with star in upper part of the form. We can mark as many documents as we want. It’s not necessary to mark any if we don't want to attach any document to product.
If in a form one product and one or more documents exist, these documents will be marked automatically.
By pressing OK button attaching of the documents will be confirmed and documents will be added to page 9 of K2 products (invoices, advance payments, bank documents...). K2 products will be added to documents page 2.
If assigned product or document don’t exist in process, message will pop up to alert the user. User can either continue further in the step or he/she can stop and attach documents and products to the process.
Note: When script is used it’s not allowed to dedicate more contact persons to process the step. For step, which has defined the script, selection method "One of them” or "User way one of them” must be set up for user.
Process activity creation
Process No.: WKF003 |
Script Id: FWKF010 |
File: ActivityCreate.PAS |
Script description: Script "ActivityCreate” allows to create activity in the middle of process. In the procedure we set up that form for new activity creation - page 1 of the activity, will be displayed at the user's event step (e.g. when step is being approved). If opportunity is assigned to the process, data from the opportunity will be autofilled to activity form and activity will be attached to it. |
||
Address in the tree: |
Script parameters:
Without parameters. |
Users’ check
Process No.: WKF003 |
Script Id: FWKF010 |
File: EntryCheckUser.PAS |
Script description: Script "EntryCheckUser” is entered at the "entry” action of the step (page 2 of Versioned Procedures book, step colour marking, Action tab). This means that it is evaluated when step in process is being created. Script is responsible for step creation for all contact persons defined as step assignees EXCEPT person which was assignee of previous step. |
||
Address in the tree: |
Script parameters:
Without parameters. |
Workflow step approval from email
Function allows approval of workflow work steps which don't require user access. User can approve or reject steps directly from email or open them as html link.
Picture: Email with workflow step
Description of Fields:
Approve |
User approves step directly from email |
Reject |
User rejects step directly from email |
Open |
User opens workflow step in default web browser for given system. If step parameters are defined as editable then here we can change their values or their comments. |
Picture: Workflow step in web browser
Settings procedure:
1. AS configured also for task planning, must be installed i.e. parameter in ini file AS SCHEDULESERVICE=1 and functioning API (web service server).
2. Launch WkfEmailConfiguration.pas script in IS K2 and set up its values.
Picture Step configuration via email
Description of Fields:
URL address of web services server |
Server where API is installed, |
Type of electronic address for e-mail. |
Type of electronic address which should be used from Contact Persons for sending email to workflow user. |
3. User through which AS and IS K2 communicate together, should have mail account correctly set and configured in IS K2 Mail module.
4. IS K2 users should be correctly paired with Contact person.
5. Every contact person, connected to user, must have login details for API shown on page E. Number of record value in "Web” field must be set in AS INI file as "AS3IO" parameter.
Picture: Login details of contact person for API
6. Script WKFSheduleEmailTask.pas (described together with its parameters in script catalogue) must be included in Workflow procedure book of IS K2 at specific procedure step which doesn’t require user login and can be approved via email. Procedure variables, which are at this step, are generated in the same order they were entered in step and with properties defined for them.
7. The approval of a step by e-mail is supplemented by the selection of subsequent steps, which is set in the procedure by the SelStep parameter. The user can choose in the email which steps the process will continue.
Workflow Parameters
Workflow parameters are entered in the Versioned Procedures book on page 2 in the Events tab. They are always added to the event for which the user wishes to evaluate/enter the parameter.
The parameter is evaluated when the user executes the specified event in the process step (or the process).
Arrow evaluation
Parameter is set for arrow, i.e. after arrow is highlighted and it's used to decide if process run should continue via this arrow.
E.g. Process can go through different steps when invoice value is higher, when invoice cost centres are set differently, ...
For evaluation we can use:
- variables values which user enters in process,
- field values from products which are assigned to process,
- field values calculated with mathematical or logical formulas.
Picture: Arrow parameters entry when variable value "Check" = "No”
Picture: Procedure "Task", arrow parameters entry when variable value "Check" = "Yes”
Example: There is procedure “Task”, see picture below, which contains variable "Check”. Variable values can be either “Yes” or “No”. It depends on the variable value which step will be created after “Task Solving”:
- If variable value is “Yes” following step will be created: “Task Check”.
- If variable value is “No” step “End of Task” will be created and process will be finished.
Set up of parameter and variable in procedure:
For the process to work this way there must be set up done after arrow is highlighted in Action tab to define conditions to “move through” the arrow:
- Arrow on page 2 of Versioned procedures book should be highlighted to set up conditions based on which process should move through the arrow,
- press Ins key in Action tab in field Parameters and choose "ArrowIf” parameter,
- to be able to set up movement through arrow when variable value is “Yes”, use button "V in form Expression Entry and choose “Check” variable. Press OK.
- We highlight another arrow and follow the same procedure - see above
- to be able to set up movement through arrow when variable value is “No”, use button nt in form Expression Entry - enter text "Not ()” in field Expression, place cursor into brackets, press "V and choose “Check” variable. Press OK.
Picture: Expression Entry form after parameter ArrowIf selection
Description of form fields:
nt |
Logical expression “not“ (to negate expression shown in brackets). |
ad |
Logical expression “and“ (logical multiplication). |
or |
Logical expression “or“ (logical sum). |
IF |
Logical expression “if“ (it’s used to select value based on certain conditions). |
"V |
It's used to choose variable from Book of procedure variables. When pressing this button Definition of Variables book displays. |
"P |
It’s used to fill in field from assigned K2 product (from invoice, order...). Value of this field will be evaluated during process run. Aggregation function ("first”, "last”...), through which we determine way of variable evaluation if process contains more products of same type (e.g. more received invoices), is entered here: Example: Process has assigned 3 received invoices. First invoice has nett value: 300 CZK, second 200 CZK and third 10 CZK.
|
Process status
“ProcStatus“ parameter - Process Status:
- It’s assigned to the process or process step and through it we can define that process status should at certain Event of the step change.
- Standard K2 statuses ("Start", "Approved", "End", "Cancel"...) are written in value of this parameter. With Ins key and by filling appropriate fields in Values book can user add further user statutes (e.g. Entered, Sent,...) to codebook of process statuses.
- Parameter can be used e.g. to check the process status, for process planning and evaluating.
Example: In the first step of the process during the Approval, the status of the process is set to "Entered" when you agree to the step, in the fourth step, the status of the process changes to "Approved" at the Approval event.
Change set up of process status in procedure:
- on page 2 of Versioned Procedures book we highlight step at which process status should change,
- in Action tab we enter event at which we want the process status to change,
- after pressing Ins key we select "ProcStatus” parameter in Parameters field,
- in Value field we select Process status value from already existing values or with Ins key we can create new Process status value.
Picture: Value - book form after selecting "ProcStatus” parameter
Document type
Parameter “DocType“ - Document Type allows user to insert document from his/her computer to process. This can be done with Insert Document button in step detail of Steps book (or possibly in For Processing book). This button becomes active by correct entry of parameter in procedure:
- This parameter is entered after procedure step is highlighted on page 2 of Versioned procedures book, press Ins key in Action tab.
- In Event field we choose event "Form” and after pressing Ins key in Parameters field we choose "DocType” parameter.
- Form Types is displayed in which by pressing Ins key we can enter different document types, which will be then assigned to step.
- In field Document Type is defined what Document Type will be inserted. User can create type by pressing Ins key and filling appropriate fields in Document Type book.
- By checking option Mandatory we define that this document type must be inserted at step even before step is approved. If we don’t enter document in specific process, system doesn’t allow user to approve the step.
- By inserting document to process in book Documents (Administrator - Codebooks - Documents) record with link to this document is created.
Picture: Form Types after selecting parameter “DocType“
Press button Insert Document in book For Processing / Steps.
- If only one type of document is set in step, dialogue with open folder, which is set in field Entry folder, is displayed to user.
- If there are more documents assigned to step, list of all document types is displayed by pressing the button, from the list we can then choose the one for which we want to open the folder.
Picture: Button Insert Document, list of document types available for inserting is displayed
- To choose the document type press left mouse button on document type. Dialogue window is displayed where we can choose desired document. This is how document is inserted to process. Document is displayed in Users Work Steps list of items.
- If there's ‘black dot’ icon - see picture, at document type, it's mandatory to enter this type of document to step. If it’s not entered then system doesn’t allow to approve step.
Insert product
“InsProd“ parameter - Insert Product allows step assignee to attach K2 system Products (invoice, bank statement, delivery note, ...) to process. This is done using the Insert product button in the step detail in the Steps book (or in the To -do book). This button becomes active by correct entry of parameter in procedure: Process:
- Parameter is entered after step is highlighted on page 2 of Versioned Procedures book, press Ins key in Action tab.
- In Event field we choose event "Form” and after pressing Ins key in Parameters field we choose "InsProd” parameter.
- Form Products is displayed in which by pressing Ins key we can enter different product types, which will be then assigned to step.
- In field Product is defined what Product Type will be inserted. We choose from product headers which we created in Products book. New product header can be created with Ins key.
- By checking option Mandatory we define that this product type must be inserted at step even before step is approved. If we don’t enter product in specific process, system doesn’t allow user to approve the step.
- By inserting product to process, process will be located on page 9 of this product in part of the form Classified Processes.
Picture: Form Product - products inserting via “InsProd“ parameter
Press button Insert Product in book For Processing / Steps.
- If only one type of product is set at step, book of inserted product is displayed directly to user, e.g. Received Invoices, Sales Orders, ...
- If there are more products assigned to step, list of all product types is displayed by pressing the button, from the list we can then choose the one of which book we want to open.
Picture: Work Step form after pressing Insert Product button
- To choose product type press left mouse button on product type. Product book is displayed, e.g. Received Invoices, Sales Orders, ... We choose desired product from the book. This is how product is inserted to process. Product is displayed in Users Work Steps list of items.
- If there's ‘black dot’ icon - see picture, at product type, it's mandatory to enter this type of product to step. If it’s not entered then system doesn’t allow to approve step.
Owner according to another step
“UserStep“ parameter - Owner according to Another Step is used at Entry event and according to owner of another step it chooses for which contact person step will be created.
- This parameter is entered after procedure step is highlighted on page 2 of Versioned procedures book, press Ins key in Action tab.
- In Event field we choose "Entry” event and after pressing Ins key in Parameters field we choose "UserStep” parameter.
- In Value field is entered according to what step owner of the step should be selected.
- Both steps must have set the same Roles.
- If we want the step to be set up for person which created the process, there must be the same Role set in step as well as in Right to Launch tab in first page of Versioned Procedure.
Example: List of “Travel Order“ procedure steps is in Procedure Steps book. Person classified in role “CP_VYUCT“ received and processed step “Fill in of Authorization“, step "Business Travel Claim” should also be created for person with "CP_VYUCT” role. Therefore we should add parameter “UserStep“ in Entry Event of the step and in Value field we choose step “Fill in of Authorization“.
Picture: Procedure Steps- book form after selecting "UserStep” parameter
Same owner
Parameter “SameUser“ - Same Owner is used at Entry event. Step owner which has already processed step earlier (rejected or approved) is chosen from contact persons listed in step Role.
- This parameter is entered after procedure step is highlighted on page 2 of Versioned procedures book, press Ins key in Action tab.
- In Event field we choose "Entry” event and after pressing Ins key in Parameters field we choose “SameUser“ parameter.
Example: Five coordinators in company send contracts for signature to director. When signature is rejected by director, approval process will return back to the coordinator, which sent the contract to director.
Selection of next steps
With parameter “SelStep“ - Selection of Next Steps we allow user at Exit Event (Step Approval or Rejection) to select from next process steps the step, which should be created. User can select also more of these steps.
- This parameter is entered after procedure step is highlighted on page 2 of Versioned procedures book, press Ins key in Action tab.
- In Event field we choose "Approval” or "Rejection” event and after pressing Ins key in Parameters field we choose “SelStep“ parameter.
- There is a condition that there must be more than one step which follow after this one.
Calculation of variable value
By using “CalcVar“ parameter - Calculation of Variable Value, given value is at certain event entered to process variable.
- Parameter is entered either for whole procedure or after procedure step is highlighted on page 2 of Versioned Procedures book, press Ins key in Action tab.
- We choose event (procedure event or procedure step) in field Event and we select "CalcVar” parameter after pressing Ins key in field Parameters.
- Form Expression Entry is displayed: By pressing Ins key Expression Compilation form is displayed which allows us to enter calculation of variable value. When compiling expression we use the same format like in programming language (e.g. in case of variable of string type we must enter variable into apostrophes).
Note: Meaning of buttons nt, ad, or, IF, "V, "P, see Fields Description in Editor, parameter „ArrowIf“.
Example 1: In picture below, value “6“ is set in process variable DNU, at event Approval of the step.
Picture: Expression Compilation form after “CalcVar“ parameter selection to enter its Value.
Example 2: {CALCVAR}[DATE_FROM]:=[DATE_FROM_PL] - selected event of the step or the process assigns actual variable value DATE_FROM_PL to variable DATE_FROM.
Example 3: {CALCVAR}[DATE_FROM]:=0 - zero date is assigned to variable DATE_FROM.
Example 4: {CALCVAR}[DATE_FROM]:=%12.12.2012 - date 12.12.2012 is assigned to variable DATE_FROM. (% sign should be added before date value).
Example 5: {CALCVAR}[STATUS]:='Default’ - text 'Defaults’ is assigned to variable STATUS. (text variable value must be entered with apostrophes).
Variable set up
“SetVar“ parameter - Variable Set up allows step user to enter/change value of selected variable (e.g. invoice value, cost centre number, text entry...) during process run. According to this variable process can be further evaluated and managed. (e.g. according to cost centre entry we can define to what other people will process further lead to).
- This parameter is entered after procedure step is highlighted on page 2 of Versioned procedures book, press Ins key in Action tab.
- In Event field we choose event at which we want to enter the variable, and after pressing Ins key in Parameters field we choose “SetVar“ parameter.
- Variable is entered to field when event Form is selected and step detail opened by user which will be responsible for next step.
- When event Approval, Exit, Rejection is selected, dialogue window is displayed where user should fill in the value.
- Form Variables is displayed where with Ins key we display Variable form and with menu at Identifier field we can display list of variables. From this list we can choose what variables we want to appear in the form. Even more variables can be entered.
- By checking Mandatory Value field or Read Only after selecting variable in form Variable, we define if variable should be for reading only or if it can be rewritten and if it’s mandatory to enter it at step approval.
Creating a Process
“CreateProc“ parameter - by Process Creation entered at certain step Event we ensure that new process will be created at this event. Header of procedure, according to which process will be created, is selected at this parameter entry. Process will then run according to currently valid version of selected procedure header.
- Parameter is entered either for whole procedure or at procedure step on page 2 of Versioned Procedures book, press Ins key in Action tab.
- In Event field we choose process or procedure event and after pressing Ins key in Parameters field we choose “CreateProc“ parameter.
- By selecting menu in Value field we display list of all procedure headers. Here we can choose what procedure will be launched.
- The condition is that procedure header must have currently valid procedure version.
Check of Variables
By parameter “Validation“ - Check of Variables we ensure check of variable value entered in process.
- Parameter is entered at process step on page 2 of Versioned Procedures book, press Ins key in Action tab.
- In Event field we choose step event at which we want to check the variable value, after pressing Ins key in Parameters field we choose “Validation“ parameter.
- The Enter Expression form is displayed, where we enter the variables and conditions for their values that must be met in order for the specified Event to execute. Conditions of these variables must be written with programming language. Buttons displayed next to field for Expression can be helpful. Note: Meaning of buttons nt, ad, or, IF, "V, "P, see Fields Description in Editor, parameter „ArrowIf“.
Picture: Expression Entry form after selection of “Validation“ parameter to enter its Value.
Example: In picture is with button "V set, that in process:
- value higher than 9 must be entered to DNU variable (as it’s numerical value, it doesn’t need to be in apostrophes),
- “FS2“ must be entered to STR variable (as this is text variable, value must be entered in apostrophes).
If we want to check date value in variable, we enter date in format: [DATE]>%12.12.2012. i.e. we enter % sign before date. With following entry we can ensure that there’ll be no zero value, i.e. 0.0.0000, in date variable: [DATUM]<=0.
User for Work Step
Parameter "UserVar" - User for the work step allows us to create inprocess step to the contact person according to the value of the Variable. Variable of parameter can be entered via Expression Entry form, which appears after “UserVar“ parameter is selected. Variable should be entered to Expression field via "V button and by choosing offered variable, possibly it can also be entered in hand by writing Identifier of variable in square brackets.
- Parameter is entered at process step on page 2 of Versioned Procedures book, press Ins key in Action tab.
- In Event field we choose "Entry” event and after pressing Ins key in Parameters field we choose “UserVar“ parameter.
- Form Expression Entry is displayed where with "V button we enter variable according to which user for step will be selected. Note: Meaning of buttons nt, ad, or, IF, "V, "P, see Fields Description in Editor, parameter „ArrowIf“.
- We can also enter more variables where contact persons, for which step should be created, will be set.
Picture: Expression Entry form after selection of “UserVar“ parameter to enter its Variables.
Variable should meet following conditions to ensure correct working of parameter:
- it should be created in Definition of Variables book where in field Link following should be entered:
- Link Type - here it’s selected to which book variable should refer (e.g. "WF - users in group"),
- Parameter 1 - here is entered record ID of selected Role of which contact persons should be offered when filling variable value
For example: For step we want to choose person from those which are included in Role with internal number "40". Therefore we enter "40” in Parameter 1 field.)
- this role must be entered in Assignees tab on page 2 of Versioned Procedures book,
- variable should have specific value set in process (specific contact person). If for variable user selects person which is not included in Role of given step, step will be created for approvers in Role, not for the person chosen in variable.
Example: In picture above is via "V button set that step in process will be created for person, which is currently set in process in "USRGRP” variable value.
Action at Product
Parameter "ProdAct" - Action on the product allows when perform the specified action with the product that will be assigned to the process.
- Parameter is entered at process step on page 2 of Versioned Procedures book, press Ins key in Action tab.
- In Event field we choose step event at which we want to perform the Action at Product, after pressing Ins key in Parameters field we choose “ProdAct“ parameter.
- Form Action Entry at Product is displayed where we enter Product type with which we want to perform the action as well as Action which we want to perform with product.
For example: Received invoice is confirmed when step is approved, received invoice is cancelled when step is rejected.
Picture: Form Action Entry at Product after selecting “ProdAct“ parameter
Product
Product header is chosen here. Specific product, which will then be assigned to process, will at given event either be confirmed or cancelled.
Actions
Here we enter action type which should be performed at entered event together with product. We can do following actions with specific product assigned to specific process:
- confirmation,
- cancellation.
If product, which doesn’t meet conditions to take the action, will be assigned to process, K2 system doesn’t allow us to perform operation responsible for the action.
- Example: In suggested procedure is via "ProdAct” parameter defined that received invoice should confirm at step approval. Received invoice assigned to process doesn’t have variable symbol entered. It’s not possible to confirm received invoice without variable symbol. System therefore doesn’t allow to approve the step as received invoice doesn’t meet criteria for approval.
If product, at which given action has already been performed, is assigned to process, K2 system allows to perform the operation.
- Example: In suggested procedure is defined that received invoice should cancel at step rejection. Received invoice, which is assigned to process, has already been cancelled, however step rejection, at which “ProdAct“ parameter is set up, is done.
Check of closure of all steps
Arrow parameter "AllStepsClosed” - Check of Closure of All Process Steps is responsible for steps convergence to one step “Unification” - which is generated when all process steps are finished. Steps “For Attention” are not taken into account.