Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

To escalate a FAB generated workflow work item to the next person in the approval process . Escalation of workflow workitems is recommended when the current approver has not actioned the item for a period of time.   

Escalations in FAB


As of FAB 2.0.6, escalation(s) of approval tasks is possible.

...

In FAB 2.0.6, the escalation period can only be specified in hours.


Configure Escalations in FAB Workbench


Escalations are configured in the Escalations section.

...

  • Escalation Level – a sequential number describing the escalation level. It is possible to have many escalations for one approval level.
  • Escalation Hours – the number of hours that must pass after the Form has reached the given approval level before the escalation is triggered. If more than one level of escalation are configured, the subsequent escalation hours refer to the number of hours after the preceding escalation level was reached.


Schedule Program /IQX/ESCALATIONS_PROCESS


Program /IQX/ESCALATIONS_PROCESS should be schedule according to your needs. It can be run for all Forms, or can be schedule per Form using a variant. A recommended scheduling period would be every 15 minutes.


Implement ESCALATION_PROCESS


In the FAB Implementation Class, redefine and implement method ESCALATION_PROCESS.

...

   CASE is_escalation-approval_level.

      WHEN 1.

        CALL METHOD me->complete_workflow_task
          EXPORTING
            i_instance  = is_escalation-zinstance
            i_form_name = is_escalation-zform_name.

        DATA: lt_long_text TYPE /iqx/tdline_tt.
        FIELD-SYMBOLS: <fs_long_text> LIKE LINE OF lt_long_text.

        APPEND INITIAL LINE TO lt_long_text ASSIGNING <fs_long_text>.
        <fs_long_text> = 'This was escalated'.

        CALL METHOD me->start_sap_workflow
          EXPORTING
            i_form_name            = is_escalation-zform_name
            i_instance             = is_escalation-zinstance
            i_work_item_text       = 'Escalated'
            it_work_item_long_text = lt_long_text.


        DATA: lv_message TYPE string.

        lv_message = |Escalated Level | && is_escalation-escalation_level.
        CALL METHOD me->add_to_log
          EXPORTING
            i_form_name = is_escalation-zform_name
            i_instance  = is_escalation-zinstance
            i_type      = 'S'
            i_message   = lv_message.

    ENDCASE.


Determine new approvers based on Escalation Level


Methods DETERMINE_APPROVERS_WORKFLOW and DETERMINE_APPROVERS_ON_SAVE have a method parameter I_ESCALATION_LEVEL which can be used to determine the appropriate approvers based on the escalation level. For example it may be desired to determine the approvers to be a higher-level manager, as well as the original approvers when a certain escalation level is reached.

...

     IF i_escalation_level = 1.

        APPEND INITIAL LINE TO ct_approvers ASSIGNING <fs_approvers>.
        <fs_approvers>-objty = 'US'.
        <fs_approvers>-objid = 'APPROVER2'.

      ENDIF.

     IF i_escalation_level = 2.

        APPEND INITIAL LINE TO ct_approvers ASSIGNING <fs_approvers>.
        <fs_approvers>-objty = 'US'.
        <fs_approvers>-objid = 'APPROVER3'.

      ENDIF.



Monitoring in FAB Data Report (/IQX/FAB_DATA)


/IQX/FAB_DATA has a section called “Escalation” where a log of the escalation process can be seen

...

  • Start Date and Start Time – when the count-down to escalation begins
  • Escalated flag and Escalation Date and Time – when the schedule program /IQX/ESCALATIONS_PROCESS determines that the escalation period has been reached, the log entry will be flagged as Escalated, and the date and time of escalation recorded
  • Cancelled flag and Cancelled Date and Time – the job /IQX/ESCALATIONS_PROCESS may cancel an escalation step if the workflow is no longer at the specified approval level (eg the approval step is completed by the designated agent)

Filter by label (Content by label)
showLabelsfalse
max5
spacesIFAB
showSpacefalse
sorttitle
typepage
cqllabel in ( "workflow" , "app-life-cycle" ) and type = "page" and space = "IFAB"
labelskb-how-to-article

...