[Home] [Help]
PACKAGE BODY: APPS.OKE_WORKFLOW_UTILS
Source
1 PACKAGE BODY OKE_WORKFLOW_UTILS AS
2 /* $Header: OKEWFUTB.pls 120.1 2005/06/24 10:34:54 ausmani noship $ */
3 --
4 -- Name : OKE workflow utilities
5 -- Pre-reqs : None
6 -- Function : This procedure performs utility functions regard
7 -- OKE workflow.
8 --
9 --
10 -- Parameters :
11 -- IN : None
12 -- OUT NOCOPY : None
13 --
14 -- Returns : None
15 --
16
17 PROCEDURE Update_Chg_Status_Apv(ITEMTYPE IN VARCHAR2
18 ,ITEMKEY IN VARCHAR2
19 ,ACTID IN NUMBER
20 ,FUNCMODE IN VARCHAR2
21 ,RESULTOUT OUT NOCOPY VARCHAR2
22 ) IS
23
24 l_chg_request_id number;
25 l_last_updated_id number;
26 l_new_status_code varchar2(30);
27
28 BEGIN
29 if (funcmode='RUN') then
30
31 l_chg_request_id:=wf_engine.getitemattrtext(itemtype => itemtype
32 ,itemkey => itemkey
33 ,aname => 'CHG_REQUEST_ID'
34 );
35
36 l_last_updated_id:=wf_engine.getitemattrtext(itemtype => itemtype
37 ,itemkey => itemkey
38 ,aname => 'LAST_UPDATED_BY'
39 );
40
41 l_new_status_code:=wf_engine.getitemattrtext(itemtype => itemtype
42 ,itemkey => itemkey
43 ,aname => 'NEW_STATUS_CODE'
44 );
45
46 update OKE_CHG_REQUESTS
47 set CHG_STATUS_CODE ='APPROVED'
48 ,LAST_UPDATED_BY =l_last_updated_id
49 ,LAST_UPDATE_DATE=sysdate
50 where CHG_REQUEST_ID =l_chg_request_id;
51
52 resultout:='COMPLETE:';
53 return;
54 end if;
55 if (funcmode='CANCEL') then
56 resultout:='COMPLETE:';
57 return;
58 end if;
59 if (funcmode='TIMEOUT') then
60 resultout:='COMPLETE:';
61 return;
62 end if;
63
64 END Update_Chg_Status_Apv;
65
66 PROCEDURE Update_Chg_Status_Rej(ITEMTYPE IN VARCHAR2
67 ,ITEMKEY IN VARCHAR2
68 ,ACTID IN NUMBER
69 ,FUNCMODE IN VARCHAR2
70 ,RESULTOUT OUT NOCOPY VARCHAR2
71 ) IS
72
73 l_chg_request_id number;
74 l_last_updated_id number;
75 l_new_status_code varchar2(30);
76
77 BEGIN
78 if (funcmode='RUN') then
79
80 l_chg_request_id:=wf_engine.getitemattrtext(itemtype => itemtype
81 ,itemkey => itemkey
82 ,aname => 'CHG_REQUEST_ID'
83 );
84
85 l_last_updated_id:=wf_engine.getitemattrtext(itemtype => itemtype
86 ,itemkey => itemkey
87 ,aname => 'LAST_UPDATED_BY'
88 );
89
90 l_new_status_code:=wf_engine.getitemattrtext(itemtype => itemtype
91 ,itemkey => itemkey
92 ,aname => 'NEW_STATUS_CODE'
93 );
94
95 update OKE_CHG_REQUESTS
96 set CHG_STATUS_CODE ='REJECTED'
97 ,LAST_UPDATED_BY =l_last_updated_id
98 ,LAST_UPDATE_DATE=sysdate
99 where CHG_REQUEST_ID =l_chg_request_id;
100
101 resultout:='COMPLETE:';
102 return;
103 end if;
104 if (funcmode='CANCEL') then
105 resultout:='COMPLETE:';
106 return;
107 end if;
108 if (funcmode='TIMEOUT') then
109 resultout:='COMPLETE:';
110 return;
111 end if;
112
113 END Update_Chg_Status_Rej;
114
115 PROCEDURE Is_Impact_Funding(
116 ITEMTYPE IN VARCHAR2
117 ,ITEMKEY IN VARCHAR2
118 ,ACTID IN NUMBER
119 ,FUNCMODE IN VARCHAR2
120 ,RESULTOUT OUT NOCOPY VARCHAR2
121 )
122 IS
123 xc_is_impact_funding varchar2(1) :=
124 wf_engine.GetItemAttrText( itemtype => itemtype,
125 itemkey => itemkey,
126 aname => 'IMPACT_FUNDING_FLAG');
127
128 BEGIN
129 if (funcmode = 'RUN') then
130 if (upper(xc_is_impact_funding)='Y') then
131 resultout := 'COMPLETE:Y';
132 else
133 resultout := 'COMPLETE:N';
134 end if;
135 return;
136 end if;
137 if (funcmode = 'CANCEL') then
138 resultout := 'COMPLETE:';
139 return;
140 end if;
141 if (funcmode = 'TIMEOUT') then
142 resultout := 'COMPLETE:';
143 return;
144 end if;
145 EXCEPTION
146 when others then
147 wf_core.context('OKE_WORKFLOW_UTILS', 'IS_IMPACT_FUNDING',itemtype, itemkey, actid,funcmode,resultout);
148 raise;
149 END Is_Impact_Funding;
150 PROCEDURE Set_moac_context(Item_Type IN VARCHAR2 ,
151 Item_Key IN VARCHAR2 ,
152 Actvity_ID IN NUMBER ,
153 Command IN VARCHAR2 ,
154 ResultOut OUT NOCOPY VARCHAR2)
155 IS
156 ORG_ID NUMBER;
157 BEGIN
158
159 ORG_ID := WF_Engine.GetItemAttrNumber(Item_Type , Item_Key , 'ORG_ID');
160
161 IF (command = 'RUN') THEN
162 ResultOut := 'COMPLETE:';
163 END IF;
164
165 IF (command = 'SET_CTX') THEN
166 mo_global.set_policy_context( 'S', Org_Id);
167 END IF;
168
169 IF (command = 'TEST_CTX') THEN
170 IF (NVL(mo_global.get_access_mode,'NULL') <> 'S') OR
171 (NVL(mo_global.get_current_org_id,-99) <> Org_Id) THEN
172 ResultOut := 'FALSE';
173 ELSE
174 ResultOut := 'TRUE';
175 END IF;
176 END IF;
177 END;
178 END OKE_WORKFLOW_UTILS;