Copyright 2024 - BV TallVision IT

Imagine actually using the stuff you are developing. Make sure you get it right ! Putting on the hat of your end user is what a developer (designer) needs to do - the workflow inbox items you are setting up, will be part of someone's daily job for potentially much longer than you will be on the development team.

The 3 main tasks of agents:

  1. Find relevant work
    Which means inboxes need to be checked, the work item should be delivered to the right agents, appear only when it is required (at the time it is required) and the subject (title) should be clear. Due dates could make clear the item is due.
  2. Decide whether the work item should be executed (by the user)
    The end user should be able to decide whether the work item is to be executed by doing a small investigation. The title, dynamic columns, the task description and of course relevant attachments should supply enough information for the user to decide. Is it possible there is another such work item shich should be processed first ? What exactly will happen when the work item is executed ? Has the work item returned to the agent's inbox because of an error ? And if so: what error ? Does the task description reveal instructions for the agent ? (Why not ?).

    If something went wrong in the previous pass, and you want to present the same work item back to the end user with an error message, it's generally a good idea to put it right at the top of the task description. Just pass a container element ErrorMessage to you're work item and make sure the first line of the task description begins with &'Error message'ErrorMessage&. The label Error message: will only appear when an actual error message is present (as in SapScript).

    A nice hint on setting up instructions on task descriptions: the task description of a work item is mainly SapScript driven. Hence variables can be inserted at will. But also instruction texts can be picked up from standard texts ! Like so:

    IF &INSTRUCTION_TEXT_NAME& EQ ''
      INCLUDE Z_STANDARD_INSTRUCTION OBJECT TEXT ID ST
    ELSE
      INCLUDE &INSTRUCTION_TEXT_NAME& OBJECT TEXT ID ST
    ENDIF.

    where the INSTRUCTION_TEXT_NAME is a container element like STXH-TDNAME. The instruction texts can (e.g.) be set up via trx SO10.

  3. Execute the work item.
    Make sure the work that needs to be done is clear. Bringing the end user to a screen without hinting what to do is very discomforting for the end user. Allow cancelling a step (e.g. with a confirmation on the task). Make sure the work item doesn't just "disappear" without telling the end user what happened (even a simple message on the statusbar is enough).

All three of these items will require attention. If you leave only one of them away from your attention span - it will come back to bite you later on.