23: begin
24: -- When executed by engine in RUN mode
25: if (p_func_mode = 'RUN') then
26: -- Get SIF run-time instance ID that erorred and resulted in error workflow
27: l_sif_inst_id := wf_engine.GetItemAttrText(p_item_type, p_item_key, 'SIF_INVOCATION_ID');
28: if (l_sif_inst_id is not null) then
29: -- SIF definition internal name could be supplied when error event was raised
30: l_sif_defn_name := wf_engine.GetItemAttrText(p_item_type, p_item_key, 'SIF_DEFINITION_NAME');
31: -- If SIF definition name was not supplied, look it up based on Instance ID
26: -- Get SIF run-time instance ID that erorred and resulted in error workflow
27: l_sif_inst_id := wf_engine.GetItemAttrText(p_item_type, p_item_key, 'SIF_INVOCATION_ID');
28: if (l_sif_inst_id is not null) then
29: -- SIF definition internal name could be supplied when error event was raised
30: l_sif_defn_name := wf_engine.GetItemAttrText(p_item_type, p_item_key, 'SIF_DEFINITION_NAME');
31: -- If SIF definition name was not supplied, look it up based on Instance ID
32: if (l_sif_defn_name is null) then
33: begin
34: SELECT irep_name
39: when no_data_found then
40: l_error_msg := 'Service Invocation Instance ID '||l_sif_inst_id||' not found';
41: l_error_stack := 'Unable to retrieve Service Invocation Error Details since Instance ID '||
42: 'is not found in Service Monitor Tables';
43: p_result_out := wf_engine.eng_completed;
44: return;
45: end;
46: end if;
47:
71: l_error_msg := 'Not Available';
72: l_error_stack := 'Not Available';
73: end;
74:
75: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_DEFINITION_NAME', l_sif_defn_name);
76: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_DEFINITION_DNAME', l_sif_defn_dname);
77: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_DESCRIPTION', l_sif_description);
78: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_WSDL', l_sif_wsdl);
79: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_SERVICE', l_sif_service);
72: l_error_stack := 'Not Available';
73: end;
74:
75: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_DEFINITION_NAME', l_sif_defn_name);
76: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_DEFINITION_DNAME', l_sif_defn_dname);
77: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_DESCRIPTION', l_sif_description);
78: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_WSDL', l_sif_wsdl);
79: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_SERVICE', l_sif_service);
80: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_OPERATION', l_sif_operation);
73: end;
74:
75: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_DEFINITION_NAME', l_sif_defn_name);
76: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_DEFINITION_DNAME', l_sif_defn_dname);
77: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_DESCRIPTION', l_sif_description);
78: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_WSDL', l_sif_wsdl);
79: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_SERVICE', l_sif_service);
80: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_OPERATION', l_sif_operation);
81:
74:
75: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_DEFINITION_NAME', l_sif_defn_name);
76: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_DEFINITION_DNAME', l_sif_defn_dname);
77: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_DESCRIPTION', l_sif_description);
78: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_WSDL', l_sif_wsdl);
79: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_SERVICE', l_sif_service);
80: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_OPERATION', l_sif_operation);
81:
82: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_ERROR_CODE', l_erorr_code);
75: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_DEFINITION_NAME', l_sif_defn_name);
76: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_DEFINITION_DNAME', l_sif_defn_dname);
77: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_DESCRIPTION', l_sif_description);
78: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_WSDL', l_sif_wsdl);
79: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_SERVICE', l_sif_service);
80: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_OPERATION', l_sif_operation);
81:
82: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_ERROR_CODE', l_erorr_code);
83: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_ERROR_MESSAGE', l_error_msg);
76: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_DEFINITION_DNAME', l_sif_defn_dname);
77: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_DESCRIPTION', l_sif_description);
78: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_WSDL', l_sif_wsdl);
79: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_SERVICE', l_sif_service);
80: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_OPERATION', l_sif_operation);
81:
82: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_ERROR_CODE', l_erorr_code);
83: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_ERROR_MESSAGE', l_error_msg);
84: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_ERROR_STACK', l_error_stack);
78: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_WSDL', l_sif_wsdl);
79: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_SERVICE', l_sif_service);
80: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_OPERATION', l_sif_operation);
81:
82: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_ERROR_CODE', l_erorr_code);
83: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_ERROR_MESSAGE', l_error_msg);
84: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_ERROR_STACK', l_error_stack);
85: wf_engine.SetItemAttrDate(p_item_type, p_item_key, 'SIF_ERROR_DATE', l_error_date);
86: end if;
79: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_SERVICE', l_sif_service);
80: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_OPERATION', l_sif_operation);
81:
82: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_ERROR_CODE', l_erorr_code);
83: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_ERROR_MESSAGE', l_error_msg);
84: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_ERROR_STACK', l_error_stack);
85: wf_engine.SetItemAttrDate(p_item_type, p_item_key, 'SIF_ERROR_DATE', l_error_date);
86: end if;
87: end if;
80: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_OPERATION', l_sif_operation);
81:
82: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_ERROR_CODE', l_erorr_code);
83: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_ERROR_MESSAGE', l_error_msg);
84: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_ERROR_STACK', l_error_stack);
85: wf_engine.SetItemAttrDate(p_item_type, p_item_key, 'SIF_ERROR_DATE', l_error_date);
86: end if;
87: end if;
88: p_result_out := wf_engine.eng_completed;
81:
82: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_ERROR_CODE', l_erorr_code);
83: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_ERROR_MESSAGE', l_error_msg);
84: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_ERROR_STACK', l_error_stack);
85: wf_engine.SetItemAttrDate(p_item_type, p_item_key, 'SIF_ERROR_DATE', l_error_date);
86: end if;
87: end if;
88: p_result_out := wf_engine.eng_completed;
89:
84: wf_engine.SetItemAttrText(p_item_type, p_item_key, 'SIF_ERROR_STACK', l_error_stack);
85: wf_engine.SetItemAttrDate(p_item_type, p_item_key, 'SIF_ERROR_DATE', l_error_date);
86: end if;
87: end if;
88: p_result_out := wf_engine.eng_completed;
89:
90: exception
91: when others then
92: wf_core.context('FND_SIF_UTILS', 'Initialize_Error', p_item_type, p_item_key,