workflow::case::action::do_side_effects (public)

 workflow::case::action::do_side_effects -case_id case_id \
    -action_id action_id -entry_id entry_id

Defined in packages/workflow/tcl/case-procs.tcl

Fire the side-effects for this action

Switches:
-case_id
(required)
-action_id
(required)
-entry_id
(required)

Partial Call Graph (max 5 caller/called nodes):
%3 workflow::case::action::execute workflow::case::action::execute (public) workflow::case::action::do_side_effects workflow::case::action::do_side_effects workflow::case::action::execute->workflow::case::action::do_side_effects acs_sc::invoke acs_sc::invoke (public) workflow::case::action::do_side_effects->acs_sc::invoke workflow::action::get_callbacks workflow::action::get_callbacks (private) workflow::case::action::do_side_effects->workflow::action::get_callbacks workflow::case::get_element workflow::case::get_element (public) workflow::case::action::do_side_effects->workflow::case::get_element workflow::get_callbacks workflow::get_callbacks (private) workflow::case::action::do_side_effects->workflow::get_callbacks workflow::service_contract::action_side_effect workflow::service_contract::action_side_effect (public) workflow::case::action::do_side_effects->workflow::service_contract::action_side_effect

Testcases:
No testcase defined.
Source code:
    set contract_name [workflow::service_contract::action_side_effect]

    # Get info for the callbacks
    set workflow_id [workflow::case::get_element  -case_id $case_id  -element workflow_id]

    # Get the callbacks, workflow and action
    set impl_names [workflow::get_callbacks  -workflow_id $workflow_id  -contract_name $contract_name]
    
    set impl_names [concat $impl_names [workflow::action::get_callbacks  -action_id $action_id  -contract_name $contract_name]]

    if { [llength $impl_names] == 0 } {
        return
    }
    
    set object_id [workflow::case::get_element  -case_id $case_id  -element object_id]

    # Invoke them
    foreach impl_name $impl_names {

        acs_sc::invoke  -contract $contract_name  -operation "DoSideEffect"  -impl $impl_name  -call_args [list $case_id $object_id $action_id $entry_id]
    }
Generic XQL file:
packages/workflow/tcl/case-procs.xql

PostgreSQL XQL file:
packages/workflow/tcl/case-procs-postgresql.xql

Oracle XQL file:
packages/workflow/tcl/case-procs-oracle.xql

[ hide source ] | [ make this the default ]
Show another procedure: