Tasks

Tasks are the individual steps that take place within a level.  A level can have one or more tasks that can be configured to execute sequentially or in parallel.

Details:

Task ID

The Task ID should be a unique value that will be passed into the ABAP exits in your implementation class.  This can be used to determine the current task and perform any actions accordingly.

Level

Each task must exist within a level.  The values in this drop down are configured in the Levels section of the workflow designer.

Abbrev.

This is the abbreviated name of the task that is displayed in the Process Flow diagram.  The Process Flow diagram allows the user to zoom in or out and when the diagram is zoomed out, it is not possible to show the full Task ID on the diagram.  In this situation, the abbreviation text is used instead.

When zooming out, these get replaced with the Abbrev. field contents (Strt, Drft, etc.):

Roles

The roles button allows you to configure which role should perform each task.  A task can have one or many roles associated with it.  The list of roles will include any custom created roles as well as the system roles of:

  • Initiator - Only the person performing the original submission will be able to execute the task.  This is useful when sending back a request to the original initiator for the final review.

  • All - Any person with access to the application will be able to execute the task.

  • None - No one will be able to see or execute the task.

  • Administrator - Any administrators of the form can execute the task.  This is useful to provide administrators a way to go in and execute a task on someone's behalf.

Requirements

Each task can be configured to execute only when certain requirements have been met.  A good use case of this is when certain approval tasks are needed only in certain circumstances (e.g. A value threshold has been met).  Requirements must first be configured in the Requirements section of the workflow designer.

Actions

The actions for a Task configure which actions a user can take when that task is executed.  Each action will appear in the footer of the application as a button.

Click the image below to see more details about Task Actions

Data Updates

This option is when you are configuring the workflow to support multiple tasks in one level running in parallel.  When tasks are running in parallel, there is a possibility that when one user saves the application, it could overwrite what another user is doing at the same time.  To prevent this, each Task can be configured only to update a specific section of the data model. 

The lookup for this field will return only Structures in the data model.  All fields that need to be updated in parallel should be placed within their own structure.

Lock?

When parallel tasks are configured, this option enforces a lock on the form so that multiple people cannot attempt to open and execute the same task.  After a user has opened the Task, any other users will get a warning that the form is currently locked and no actions will be made available to them. 

More

The Ellipsis button under the More column gets highlighted when More Task Settings are defined for a specific Task.  

  • Completion Field
    This is a boolean field in the Data Model that is used to determine when the task has been completed.

  • Audit Log Comments Field
    This is a field in the Data Model that is used to write a comment into the Audit Log when the task is actioned.

When using this with parallel tasks, the field in the Data Model MUST be inside the structure configured in the Data Model Updates section of the Task.  If the field is outside the configured structure, the comment will not be saved.

  • Attachments
    This option uses the SAPUI5 Upload Collection control for attachment management that provides the ability to upload, download, or delete attachments in Forms. If ticked, the Attachments button will be added to the FAB Footer toolbar. 

  • Number Range
    If the form is configured to use an SAP Number Range to assign a unique number to each instance of the form, this option informs the platform that when this Task is processed, the Number Range should be queried and associated with the instance of the form.  This could be left unchecked when the app is still under development and does not require a number range assignment. 

  • No Revision
    When checked, this task will not create and track any revisions at this level.  You may not want the Draft level to create unnecessary revisions of the data. 

  • Hide in Process Flow
    This option will hide this specific task from the Process Flow diagram.

  • Terminating Task
    This indicates whether the Task is at the end of the workflow, for example, Complete or Rejected.  The task will be displayed differently in the Process Flow diagram.

  • System Task or Recording 
    This setting provides the ability for a Task to execute an ABAP code in the background (System Task) or a BDC Recording.

  • Status Override
    In the MyForms application, the status of the form is normally taken from the Level.  If there are multiple tasks within a level, this Status Override will allow a developer to configure a different status depending on the specific Task that is active.

Standards / conventions / best practice guide

  • Where possible, a Task ID should be defined as a verb. Where necessary, use underscores (but never spaces) in the Task ID. For example:   

         

          Note that the Task  ID gets used in the visual representation of the Process Flow (eg START, SAVE_DRAFT, etc.):

          

    

  • When defining parallel tasks, ensure that the relevant parallel tasks are defined in one level. It is important to note that, internally, all parallel tasks need to be completed before the Process Flow moves to the next level.

  • A number of sequential tasks can be defined within one level but these should be actioned by different approvers/actors where possible.