2645: */
2646: if (disptype = wf_notification.doc_html) THEN
2647:
2648: -- Returns session user name if available
2649: username := Wfa_Sec.GetUser;
2650:
2651: fnd_document_management.get_launch_document_url (
2652: username, key, FALSE, launch_url);
2653:
3922: exception
3923: when OTHERS then
3924: wf_core.clear;
3925: -- Check if the notification is sent under a valid Fwk Session
3926: l_from_role := Wfa_Sec.GetUser();
3927: end;
3928:
3929: -- Use dummy user WF_SYSTEM as last resort
3930: if (l_from_role is null) then
4356: wf_core.raise('WFNTF_NID_OPEN');
4357: end if;
4358:
4359: -- If we are in a different Fwk session, need to clear Workflow PLSQL state
4360: if (not Wfa_Sec.CheckSession) then
4361: Wf_Global.Init;
4362: end if;
4363:
4364: -- Check role is valid and get mail preference
4387: end if;
4388: else
4389: if (action_source = 'WA') then
4390: -- notification is reassigned by a proxy who is logged in and has a Fwk session
4391: g_context_proxy := Wfa_Sec.GetUser();
4392: g_context_user := ForwardInternal.user;
4393: elsif (action_source = 'RULE') then
4394: -- notification is reassigned by Routing Rule, the context user should be the user
4395: -- to whom the rule belongs and to whom the notification is reassigned
4397: g_context_user := ForwardInternal.user;
4398: else
4399: -- notification is reassigned by the recipient
4400: g_context_proxy := null;
4401: g_context_user := Wfa_Sec.GetUser();
4402: end if;
4403: end if;
4404:
4405: g_context_user_comment := forwardinternal.forward_comment;
4758: l_action := 'TIMEOUT';
4759: l_from_role := role;
4760: else
4761: l_action := 'CANCEL';
4762: l_from_role := Wfa_Sec.GetUser();
4763: end if;
4764:
4765: if (l_from_role is null) then
4766: l_from_role := 'WF_SYSTEM';
6122: , l_orig_nlsNumChars, l_orig_nlsSort, l_orig_nlsCalendar);
6123:
6124: if (l_orig_nlsCalendar is null) then
6125: -- when null (typically, online session), get calendar from user prefs
6126: l_sessionUser := Wfa_Sec.GetUser();
6127: if ( l_logSTMT ) then
6128: wf_log_pkg.String(wf_log_pkg.LEVEL_STATEMENT, l_module
6129: , 'l_sessionUser=>'||l_sessionUser||'<');
6130: end if;
6566: begin
6567:
6568: -- Framework has control of a session.
6569: -- We are not allowed to re-validate a session any more. So we cannot
6570: -- use wfa_sec.GetSession() directly.
6571: myusername := wfa_sec.GetFWKUserName;
6572:
6573: -- Bug 3065814
6574: -- Set the global context variables to appropriate values for this mode
6567:
6568: -- Framework has control of a session.
6569: -- We are not allowed to re-validate a session any more. So we cannot
6570: -- use wfa_sec.GetSession() directly.
6571: myusername := wfa_sec.GetFWKUserName;
6572:
6573: -- Bug 3065814
6574: -- Set the global context variables to appropriate values for this mode
6575: if (action_source = 'WA') then
6604: g_context_new_role := username;
6605: g_context_more_info_role := l_more_info_role;
6606:
6607: -- If we are in a different Fwk session, need to clear Workflow PLSQL state
6608: if (not Wfa_Sec.CheckSession) then
6609: Wf_Global.Init;
6610: end if;
6611:
6612: -- question mode
6966: begin
6967:
6968: -- Framework has control of a session.
6969: -- We are not allowed to re-validate a session any more. So we cannot
6970: -- use wfa_sec.GetSession() directly.
6971: l_session_user := wfa_sec.GetFWKUserName;
6972:
6973: -- Set the global context variables to appropriate values for this mode
6974: if (p_action_source = 'WA') then
6967:
6968: -- Framework has control of a session.
6969: -- We are not allowed to re-validate a session any more. So we cannot
6970: -- use wfa_sec.GetSession() directly.
6971: l_session_user := wfa_sec.GetFWKUserName;
6972:
6973: -- Set the global context variables to appropriate values for this mode
6974: if (p_action_source = 'WA') then
6975: -- Action is performed by a proxy on behalf of p_wl_user.
7002: g_context_new_role := p_new_user;
7003: g_context_more_info_role := l_more_info_role;
7004:
7005: -- If we are in a different Fwk session, need to clear Workflow PLSQL state
7006: if (not Wfa_Sec.CheckSession) then
7007: Wf_Global.Init;
7008: end if;
7009:
7010: if (l_session_user = p_new_user) then
9407: l_action := l_action||'_'||p_action_source;
9408: -- if the action is performed from WA, the user performing the action
9409: -- should be acting as a proxy to another user
9410: if (p_action_source = 'WA') then
9411: l_proxy_user := Wfa_Sec.GetUser();
9412: end if;
9413: end if;
9414:
9415: -- Calculate sequence for comments in the same session
9958: validate_context(respond2.context, l_item_type, l_item_key, l_act_id);
9959: WF_CORE.TAG_DB_SESSION(WF_CORE.CONN_TAG_WF, l_item_type);
9960:
9961: -- If we are in a different Fwk session, need to clear Workflow PLSQL state
9962: if (not Wfa_Sec.CheckSession) then
9963: Wf_Global.Init;
9964: end if;
9965:
9966: -- Bug 3065814
9974: end if;
9975: else
9976: if (action_source = 'WA') then
9977: -- notification is responded by a proxy who is logged in and has a Fwk session
9978: g_context_proxy := Wfa_Sec.GetUser();
9979: l_responder := respond2.responder;
9980: elsif (action_source = 'RULE') then
9981: -- notification is responded by Routing Rule, the context user should be the user
9982: -- to whom the rule belongs who is actually responding to the notification