58: begin
59:
60: if funcmode = 'RUN' then
61:
62: l_resp_hdr_id := wf_engine.GetItemAttrNumber(item_type, itemkey,
63: 'QPR_PN_RESP_ID');
64: l_resp_user := wf_engine.GetItemAttrText(item_type, itemkey,
65: 'QPR_FWD_TO_USR');
66:
60: if funcmode = 'RUN' then
61:
62: l_resp_hdr_id := wf_engine.GetItemAttrNumber(item_type, itemkey,
63: 'QPR_PN_RESP_ID');
64: l_resp_user := wf_engine.GetItemAttrText(item_type, itemkey,
65: 'QPR_FWD_TO_USR');
66:
67: l_comments := wf_engine.GetItemAttrText(item_type, itemkey,
68: 'QPR_COMMENTS');
63: 'QPR_PN_RESP_ID');
64: l_resp_user := wf_engine.GetItemAttrText(item_type, itemkey,
65: 'QPR_FWD_TO_USR');
66:
67: l_comments := wf_engine.GetItemAttrText(item_type, itemkey,
68: 'QPR_COMMENTS');
69:
70: qpr_deal_approvals_pvt.process_user_action(l_resp_hdr_id,
71: l_resp_user, 'APPROVE',
102: begin
103:
104: if funcmode = 'RUN' then
105:
106: l_resp_hdr_id := wf_engine.GetItemAttrNumber(item_type, itemkey,
107: 'QPR_PN_RESP_ID');
108: l_resp_user := wf_engine.GetItemAttrText(item_type, itemkey,
109: 'QPR_FWD_TO_USR');
110:
104: if funcmode = 'RUN' then
105:
106: l_resp_hdr_id := wf_engine.GetItemAttrNumber(item_type, itemkey,
107: 'QPR_PN_RESP_ID');
108: l_resp_user := wf_engine.GetItemAttrText(item_type, itemkey,
109: 'QPR_FWD_TO_USR');
110:
111: l_comments := wf_engine.GetItemAttrText(item_type, itemkey,
112: 'QPR_COMMENTS');
107: 'QPR_PN_RESP_ID');
108: l_resp_user := wf_engine.GetItemAttrText(item_type, itemkey,
109: 'QPR_FWD_TO_USR');
110:
111: l_comments := wf_engine.GetItemAttrText(item_type, itemkey,
112: 'QPR_COMMENTS');
113: qpr_deal_approvals_pvt.process_user_action(l_resp_hdr_id,
114: l_resp_user, 'REJECT',
115: l_comments,true, l_app_complete,
143: l_to_user varchar2(240);
144: begin
145:
146: if (funcmode = 'RUN') then
147: l_nid := wf_engine.context_nid;
148: if g_cb_usr_tbl is not null then
149: if g_cb_nfn_usr_ctr = -1 then
150: g_cb_nfn_usr_ctr := g_cb_usr_tbl.first;
151: else
154: end if;
155:
156: if g_cb_usr_tbl.exists(g_cb_nfn_usr_ctr) then
157: l_to_user := g_cb_usr_tbl(g_cb_nfn_usr_ctr);
158: wf_engine.SetItemAttrText(item_type, itemkey,
159: 'QPR_FWD_TO_USR' , l_to_user);
160:
161: resultout := 'COMPLETE:COMPLETE';
162: else
162: else
163: resultout := 'ERROR';
164: end if;
165: elsif (funcmode = 'SKIP') then
166: resultout := wf_engine.eng_noskip;
167: else -- funcmode = 'CANCEL' / 'RETRY'
168: resultout := 'COMPLETE:COMPLETE';
169: end if;
170:
187: l_to_user varchar2(240);
188: begin
189:
190: if (funcmode = 'RUN') then
191: l_nid := wf_engine.context_nid;
192:
193: if g_apst_usr_tbl is not null then
194: if g_apst_nfn_usr_ctr = -1 then
195: g_apst_nfn_usr_ctr := g_apst_usr_tbl.first;
199: end if;
200:
201: if g_apst_usr_tbl.exists(g_apst_nfn_usr_ctr) then
202: l_to_user := g_apst_usr_tbl(g_apst_nfn_usr_ctr);
203: wf_engine.SetItemAttrText(item_type, itemkey,
204: 'QPR_FWD_TO_USR' , l_to_user);
205:
206: resultout := 'COMPLETE:COMPLETE';
207: else
207: else
208: resultout := 'ERROR';
209: end if;
210: elsif (funcmode = 'SKIP') then
211: resultout := wf_engine.eng_noskip;
212: else -- funcmode = 'CANCEL' / 'RETRY'
213: resultout := 'COMPLETE:COMPLETE';
214: end if;
215:
683: end;
684:
685: l_item_key := l_init_key || '_' || l_ct;
686:
687: wf_engine.CreateProcess(QPR_NTFN_ITM_TYPE ,l_item_key , l_process_name,
688: p_response_id, l_current_user);
689:
690: wf_engine.SetItemAttrText(QPR_NTFN_ITM_TYPE , l_item_key,
691: 'QPR_FWD_TO_USR' , p_fwd_to_user);
686:
687: wf_engine.CreateProcess(QPR_NTFN_ITM_TYPE ,l_item_key , l_process_name,
688: p_response_id, l_current_user);
689:
690: wf_engine.SetItemAttrText(QPR_NTFN_ITM_TYPE , l_item_key,
691: 'QPR_FWD_TO_USR' , p_fwd_to_user);
692:
693: wf_engine.SetItemAttrNumber(QPR_NTFN_ITM_TYPE , l_item_key, 'QPR_PN_RESP_ID',
694: p_response_id);
689:
690: wf_engine.SetItemAttrText(QPR_NTFN_ITM_TYPE , l_item_key,
691: 'QPR_FWD_TO_USR' , p_fwd_to_user);
692:
693: wf_engine.SetItemAttrNumber(QPR_NTFN_ITM_TYPE , l_item_key, 'QPR_PN_RESP_ID',
694: p_response_id);
695:
696: wf_engine.SetItemAttrNumber(QPR_NTFN_ITM_TYPE , l_item_key, 'QPR_REQUEST_HDR_ID',
697: l_request_hdr_id);
692:
693: wf_engine.SetItemAttrNumber(QPR_NTFN_ITM_TYPE , l_item_key, 'QPR_PN_RESP_ID',
694: p_response_id);
695:
696: wf_engine.SetItemAttrNumber(QPR_NTFN_ITM_TYPE , l_item_key, 'QPR_REQUEST_HDR_ID',
697: l_request_hdr_id);
698:
699: wf_engine.SetItemAttrNumber(QPR_NTFN_ITM_TYPE , l_item_key, 'QPR_SCENARIO_NO',
700: l_version_no);
695:
696: wf_engine.SetItemAttrNumber(QPR_NTFN_ITM_TYPE , l_item_key, 'QPR_REQUEST_HDR_ID',
697: l_request_hdr_id);
698:
699: wf_engine.SetItemAttrNumber(QPR_NTFN_ITM_TYPE , l_item_key, 'QPR_SCENARIO_NO',
700: l_version_no);
701:
702: wf_engine.StartProcess(QPR_NTFN_ITM_TYPE , l_item_key);
703:
698:
699: wf_engine.SetItemAttrNumber(QPR_NTFN_ITM_TYPE , l_item_key, 'QPR_SCENARIO_NO',
700: l_version_no);
701:
702: wf_engine.StartProcess(QPR_NTFN_ITM_TYPE , l_item_key);
703:
704: exception
705: when others then
706: retcode := 2;
746: elsif p_status = 'REJECT' then
747: l_status := 'REJECTED';
748: end if;
749:
750: wf_engine.CompleteActivity(QPR_NTFN_ITM_TYPE, l_item_key,
751: l_activity_name, l_status );
752:
753: exception
754: when others then
781: and item_key like (l_init_key || '%')
782: and end_date is null
783: and rownum < 2;
784:
785: wf_engine.AbortProcess(QPR_NTFN_ITM_TYPE, l_item_key,
786: null , WF_ENGINE.eng_null);
787: exception
788: when no_data_found then
789: null;
782: and end_date is null
783: and rownum < 2;
784:
785: wf_engine.AbortProcess(QPR_NTFN_ITM_TYPE, l_item_key,
786: null , WF_ENGINE.eng_null);
787: exception
788: when no_data_found then
789: null;
790: end;
834: g_cb_usr_tbl(i) := p_usr_list(i);
835: end loop;
836: l_item_key := 'CALLBACK_' || p_response_id || l_current_user || sysdate;
837:
838: wf_engine.CreateProcess(QPR_NTFN_ITM_TYPE ,l_item_key , l_process_name,
839: p_response_id,l_current_user);
840:
841: wf_engine.SetItemAttrNumber(QPR_NTFN_ITM_TYPE , l_item_key, 'QPR_PN_RESP_ID',
842: p_response_id);
837:
838: wf_engine.CreateProcess(QPR_NTFN_ITM_TYPE ,l_item_key , l_process_name,
839: p_response_id,l_current_user);
840:
841: wf_engine.SetItemAttrNumber(QPR_NTFN_ITM_TYPE , l_item_key, 'QPR_PN_RESP_ID',
842: p_response_id);
843:
844: wf_engine.SetItemAttrNumber(QPR_NTFN_ITM_TYPE , l_item_key, 'QPR_REQUEST_HDR_ID',
845: l_request_hdr_id);
840:
841: wf_engine.SetItemAttrNumber(QPR_NTFN_ITM_TYPE , l_item_key, 'QPR_PN_RESP_ID',
842: p_response_id);
843:
844: wf_engine.SetItemAttrNumber(QPR_NTFN_ITM_TYPE , l_item_key, 'QPR_REQUEST_HDR_ID',
845: l_request_hdr_id);
846:
847: wf_engine.SetItemAttrNumber(QPR_NTFN_ITM_TYPE , l_item_key, 'QPR_SCENARIO_NO',
848: l_version_no);
843:
844: wf_engine.SetItemAttrNumber(QPR_NTFN_ITM_TYPE , l_item_key, 'QPR_REQUEST_HDR_ID',
845: l_request_hdr_id);
846:
847: wf_engine.SetItemAttrNumber(QPR_NTFN_ITM_TYPE , l_item_key, 'QPR_SCENARIO_NO',
848: l_version_no);
849:
850: wf_engine.SetItemAttrNumber(QPR_NTFN_ITM_TYPE , l_item_key,'QPR_NUM_OF_USERS',
851: g_cb_usr_tbl.count);
846:
847: wf_engine.SetItemAttrNumber(QPR_NTFN_ITM_TYPE , l_item_key, 'QPR_SCENARIO_NO',
848: l_version_no);
849:
850: wf_engine.SetItemAttrNumber(QPR_NTFN_ITM_TYPE , l_item_key,'QPR_NUM_OF_USERS',
851: g_cb_usr_tbl.count);
852:
853: wf_engine.SetItemAttrText(QPR_NTFN_ITM_TYPE , l_item_key,'QPR_FROM_USER',
854: l_current_user);
849:
850: wf_engine.SetItemAttrNumber(QPR_NTFN_ITM_TYPE , l_item_key,'QPR_NUM_OF_USERS',
851: g_cb_usr_tbl.count);
852:
853: wf_engine.SetItemAttrText(QPR_NTFN_ITM_TYPE , l_item_key,'QPR_FROM_USER',
854: l_current_user);
855:
856: wf_engine.SetItemAttrText(QPR_NTFN_ITM_TYPE , l_item_key,'QPR_COMMENTS',
857: p_comments);
852:
853: wf_engine.SetItemAttrText(QPR_NTFN_ITM_TYPE , l_item_key,'QPR_FROM_USER',
854: l_current_user);
855:
856: wf_engine.SetItemAttrText(QPR_NTFN_ITM_TYPE , l_item_key,'QPR_COMMENTS',
857: p_comments);
858:
859: wf_engine.StartProcess(QPR_NTFN_ITM_TYPE , l_item_key);
860:
855:
856: wf_engine.SetItemAttrText(QPR_NTFN_ITM_TYPE , l_item_key,'QPR_COMMENTS',
857: p_comments);
858:
859: wf_engine.StartProcess(QPR_NTFN_ITM_TYPE , l_item_key);
860:
861: exception
862: when others then
863: retcode := 2;
905: end loop;
906:
907: l_item_key := 'APPSTAT_' || p_response_id || l_current_user || sysdate;
908:
909: wf_engine.CreateProcess(QPR_NTFN_ITM_TYPE ,l_item_key , l_process_name,
910: p_response_id, l_current_user);
911:
912: wf_engine.SetItemAttrNumber(QPR_NTFN_ITM_TYPE , l_item_key, 'QPR_PN_RESP_ID',
913: p_response_id);
908:
909: wf_engine.CreateProcess(QPR_NTFN_ITM_TYPE ,l_item_key , l_process_name,
910: p_response_id, l_current_user);
911:
912: wf_engine.SetItemAttrNumber(QPR_NTFN_ITM_TYPE , l_item_key, 'QPR_PN_RESP_ID',
913: p_response_id);
914:
915: wf_engine.SetItemAttrNumber(QPR_NTFN_ITM_TYPE , l_item_key, 'QPR_REQUEST_HDR_ID',
916: l_request_hdr_id);
911:
912: wf_engine.SetItemAttrNumber(QPR_NTFN_ITM_TYPE , l_item_key, 'QPR_PN_RESP_ID',
913: p_response_id);
914:
915: wf_engine.SetItemAttrNumber(QPR_NTFN_ITM_TYPE , l_item_key, 'QPR_REQUEST_HDR_ID',
916: l_request_hdr_id);
917:
918: wf_engine.SetItemAttrNumber(QPR_NTFN_ITM_TYPE , l_item_key, 'QPR_SCENARIO_NO',
919: l_version_no);
914:
915: wf_engine.SetItemAttrNumber(QPR_NTFN_ITM_TYPE , l_item_key, 'QPR_REQUEST_HDR_ID',
916: l_request_hdr_id);
917:
918: wf_engine.SetItemAttrNumber(QPR_NTFN_ITM_TYPE , l_item_key, 'QPR_SCENARIO_NO',
919: l_version_no);
920:
921: wf_engine.SetItemAttrNumber(QPR_NTFN_ITM_TYPE , l_item_key,'QPR_NUM_OF_USERS',
922: g_apst_usr_tbl.count);
917:
918: wf_engine.SetItemAttrNumber(QPR_NTFN_ITM_TYPE , l_item_key, 'QPR_SCENARIO_NO',
919: l_version_no);
920:
921: wf_engine.SetItemAttrNumber(QPR_NTFN_ITM_TYPE , l_item_key,'QPR_NUM_OF_USERS',
922: g_apst_usr_tbl.count);
923:
924: wf_engine.SetItemAttrText(QPR_NTFN_ITM_TYPE , l_item_key,'QPR_FROM_USER',
925: l_current_user);
920:
921: wf_engine.SetItemAttrNumber(QPR_NTFN_ITM_TYPE , l_item_key,'QPR_NUM_OF_USERS',
922: g_apst_usr_tbl.count);
923:
924: wf_engine.SetItemAttrText(QPR_NTFN_ITM_TYPE , l_item_key,'QPR_FROM_USER',
925: l_current_user);
926:
927: wf_engine.SetItemAttrText(QPR_NTFN_ITM_TYPE , l_item_key,'QPR_COMMENTS',
928: p_comments);
923:
924: wf_engine.SetItemAttrText(QPR_NTFN_ITM_TYPE , l_item_key,'QPR_FROM_USER',
925: l_current_user);
926:
927: wf_engine.SetItemAttrText(QPR_NTFN_ITM_TYPE , l_item_key,'QPR_COMMENTS',
928: p_comments);
929:
930: if p_status = 'APPROVE' then
931: select meaning into l_status from qpr_lookups where lookup_type = 'AME_STATUS'
930: if p_status = 'APPROVE' then
931: select meaning into l_status from qpr_lookups where lookup_type = 'AME_STATUS'
932: and lookup_code = p_status;
933:
934: wf_engine.SetItemAttrText(QPR_NTFN_ITM_TYPE, l_item_key,'QPR_PN_RESP_STATUS',
935: l_status);
936: elsif p_status = 'REJECT' then
937: select meaning into l_status from qpr_lookups where lookup_type = 'AME_STATUS'
938: and lookup_code = p_status;
936: elsif p_status = 'REJECT' then
937: select meaning into l_status from qpr_lookups where lookup_type = 'AME_STATUS'
938: and lookup_code = p_status;
939:
940: wf_engine.SetItemAttrText(QPR_NTFN_ITM_TYPE, l_item_key,'QPR_PN_RESP_STATUS',
941: l_status);
942:
943: end if;
944:
941: l_status);
942:
943: end if;
944:
945: wf_engine.StartProcess(QPR_NTFN_ITM_TYPE , l_item_key);
946:
947: exception
948: when others then
949: retcode := 2;