Meta data
All standard tasks have to implement the interface /PCH/IF_BPF_TASK_TYPE. For separation of concerns, a separate meta data class with the suffix _DEF is recommended.
Method | Description |
---|---|
GET_META | Definition of several control flags:
|
GET_CUST_EXTENSION_DEF | Is optionally used to provide a list of Designer UI Extension definition instances. |
GET_RT_EXTENSION_DEF | Is optionally used to provide a list of Designer UI Extension instances. |
GET_HANDLER_SAPGUI | Optionally provide the name of the class, which handles the action in SAP Gui (see SAP Gui Handler ). |
GET_HANDLER_SAPUI5 | Optionally provide the necessary information about a handler in the SAP Fiori My Inbox app . |
CHANGE_ACTIONS | Based on the task business object instance, the task container and customizing data, the actions (icon and text) in the task list of the user can be overridden by the standard task. |
More detailed information is available on the corresponding Data elements of the Meta data control flags.
A task type with reject executable must be of status mode automatic as reject executable is currently not supported with manual status mode.
Basic connection between executable, reject executable, repeatable and status mode
A task type which is not executable never has an action execute (respective a corresponding handler) and therefore the options all other options are ignored and implicitly treated as: not reject executable, repeatable, status mode manual.
A task type with status mode automatic must set the task status in the executer according to the function the user executed as the user is not able to change the status himself.
A task type of status mode manual (not reject executable), can be rejected and reset as long as the task has never been executed. Afterwards the user is only available to switch between Completed and Started.
A task type of status mode manual must be executed at least once by the user in order to complete the task. Afterwards the user can either set the task to Completed (if not done by the task implementation) or can repeat the execution if the task is repeatable.
A task type of status mode manual can be "reset" (set to status Started again) by the user it it is repeatable from Completed or Rejected.
A task type which is not repeatable cannot be reset or executed again after the first action (execute, reject, set to Completed or set to Rejected). This applies to both manual and automatic status mode.
Using other interfaces, the meta data class can be enriched by more meta data as described below:
Please note, that in the basic meta data interface more than one instance of definition classes can be retrieved for the extension of the runtime user interface and for the extension of the designer user interface (see methods GET_CUST/RT_EXTENSION_DEF). If more than one definition instance is required, obviously multiple, separate classes are needed. If just one implementation is required it is recommended to implement these interfaces in the same class as the basic meta data interface.
The other interfaces (enhancement of customizing task and container system) must be implemented in the same class as the basis meta data interface.
Examples of Meta data settings and their effects
Task Setting “Repeatable” includes EV_IS_REPEATABLE of the task meta data and the definition in the Designer.
Task settings | Effect | Example |
---|---|---|
Meta Data
Settings
|
| Text task |
Meta Data
Settings
|
If the task is defined as rejectable:
| Create Object |
Meta Data
Settings
|
If the task is defined as rejectable:
| Change Object |
Meta Data
Settings
|
If the task is repeatable:
If the task is repeatable and rejectable:
If the task is rejectable but not repeatable:
| Create ECM |
Meta Data
Settings
|
If the task is repeatable:
If the task is not repeatable:
The implementation for Complete and Reject must be provided by the task itself. The task implementation is responsible for correct status and data handling if the user switches between Completed and Rejected. If the task is rejectable is determined by the task implementation during runtime. The task can disable the Reject action if appropriate. | Statement |
Runtime UI Extension
Using a Runtime UI Extension a standard task can override the default status (e.g. completed or rejected) in the UI. This might be useful to show some information created within the standard task instead of the standard text and icon. For a Runtime UI Extension the interface /PCH/IF_BPF_RT_EXTENSION_DEF has to be implemented.
Method | Description |
---|---|
GET_RT_EXTENSION_CLASS | Provide the name of the class, which handles the runtime extension. |
Customizing Task Extension
The interface /PCH/IF_BPF_CUST_TASK_EXT can be used for overriding some options of the task. As soon as an option is overridden it cannot be change by the user any more and is therefore greyed out.
Please note, that this overriding mechanism is very static. Options cannot be changed based on other task options or standard task customizing data.
Method | Description |
---|---|
OVERRIDE_PROTOCOL_MODE | Override the protocol mode. Even though any mode can be set, it is recommended to use this method only to force a protocol to be mandatory. |
OVERRIDE_REJECTABLE | Override if a task is rejectable. If the standard task is not rejectable at all, this will be recognized automatically and the option will not be available to the user. Therefore, it is not necessary to override the option with the value false, if rejection is not supported, but can be used to force rejection to be available. |
OVERRIDE_EXEC_BY_RESPONSIBLE | Override if a responsible is allowed to execute the task. |
Designer UI Extension
Using a Designer UI Extension, a standard task can extend the process designer by additional, standard task specific data and UIs on different levels of the process hierarchy. For a Designer UI Extension the interface /PCH/IF_BPF_CUST_EXTENSION_DEF has to be implemented.
Method | Description |
---|---|
GET_CUST_EXTENSION_CLASS | Provide the name of the class, which handles the customizing extension. |
GET_TYPES | The ProProcess types on which the customizing extension should apply. Because of the hierarchy possible values are:
|
The possibility of extending not only on a task but also on higher levels (e.g. process) makes it possible to reduce maintenance redundancies, because it might make sense to set up standard task specific information on a top level and inherit them automatically to all standard tasks of the same kind.
Container Extension
Standard tasks can handle and store their data completely on their own. If they do so, they are not accessible by other objects of the process. ProProcess therefore uses the concept of containers, which can be used to exchange data in a generic way. By implementing the interface /PCH/IF_BPF_CONTAINER_ITEM_DEF container item definitions can be provided. Of course, the data must be set by the standard task at runtime.
Method | Description |
---|---|
GET_ITEMS | Provides a list of container items. The importing container id can be ignored, because the container is handled by ProProcess. Container Items consist of the following attributes:
|
GET_ITEM_DESC | Retrieve the description of an item in the current language (sy-langu). |
GET_MAPPING_PROPOSAL | Currently not supported. |
© ProNovia AG | Imprint | Data Protection