[Home] [Help]
PACKAGE BODY: APPS.PO_WF_UTIL_PKG
Source
1 PACKAGE BODY PO_WF_UTIL_PKG AS
2 /* $Header: POXWUTLB.pls 120.1.12000000.2 2007/04/23 08:05:02 rakchakr ship $ */
3
4 -- Read the profile option that enables/disables the debug log
5 g_po_wf_debug VARCHAR2(1) := NVL(FND_PROFILE.VALUE('PO_SET_DEBUG_WORKFLOW_ON'),'N');
6 /*=======================================================================+
7 | FILENAME
8 | POXWUTLB.pls
9 |
10 | DESCRIPTION
11 | PL/SQL body for package: PO_WF_UTIL_PKG
12 |
13 | NOTES
14 | CREATE
15 | MODIFIED
16 *=====================================================================*/
17
18 procedure SetItemAttrText(itemtype in varchar2,
19 itemkey in varchar2,
20 aname in varchar2,
21 avalue in varchar2) is
22
23 BEGIN
24
25 wf_engine.SetItemAttrText (itemtype => itemtype,
26 itemkey => itemkey,
27 aname => aname,
28 avalue => avalue);
29
30 EXCEPTION
31 WHEN OTHERS THEN
32 IF (g_po_wf_debug = 'Y') THEN
33 PO_WF_DEBUG_PKG.insert_debug(itemtype,
34 itemkey,
35 'PO_WF_UTIL_PKG.SetItemAttrText: ' || aname ||
36 ' ' || sqlerrm);
37 END IF;
38
39 END SetItemAttrText;
40
41 --
42
43 procedure SetItemAttrNumber(itemtype in varchar2,
44 itemkey in varchar2,
45 aname in varchar2,
46 avalue in number) is
47
48 BEGIN
49
50 wf_engine.SetItemAttrNumber (itemtype => itemtype,
51 itemkey => itemkey,
52 aname => aname,
53 avalue => avalue);
54
55 EXCEPTION
56 WHEN OTHERS THEN
57 IF (g_po_wf_debug = 'Y') THEN
58 PO_WF_DEBUG_PKG.insert_debug(itemtype,
59 itemkey,
60 'PO_WF_UTIL_PKG.SetItemAttrNumber: ' || aname ||
61 ' ' || sqlerrm);
62 END IF;
63
64 END SetItemAttrNumber;
65
66 --
67
68 procedure SetItemAttrDate(itemtype in varchar2,
69 itemkey in varchar2,
70 aname in varchar2,
71 avalue in date) is
72
73 BEGIN
74
75 wf_engine.SetItemAttrDate (itemtype => itemtype,
76 itemkey => itemkey,
77 aname => aname,
78 avalue => avalue);
79
80 EXCEPTION
81 WHEN OTHERS THEN
82 IF (g_po_wf_debug = 'Y') THEN
83 PO_WF_DEBUG_PKG.insert_debug(itemtype,
84 itemkey,
85 'PO_WF_UTIL_PKG.SetItemAttrDate: ' || aname ||
86 ' ' || sqlerrm);
87 END IF;
88
89 END SetItemAttrDate;
90
91 --
92
93 procedure SetItemAttrDocument(itemtype in varchar2,
94 itemkey in varchar2,
95 aname in varchar2,
96 documentid in varchar2) is
97
98 BEGIN
99
100 wf_engine.SetItemAttrDocument (itemtype => itemtype,
101 itemkey => itemkey,
102 aname => aname,
103 documentid => documentid);
104
105 EXCEPTION
106 WHEN OTHERS THEN
107 IF (g_po_wf_debug = 'Y') THEN
108 PO_WF_DEBUG_PKG.insert_debug(itemtype,
109 itemkey,
110 'PO_WF_UTIL_PKG.SetItemAttrDocument: ' || aname ||
111 ' ' || sqlerrm);
112 END IF;
113
114 END SetItemAttrDocument;
115
116 --
117
118 function GetItemAttrText(itemtype in varchar2,
119 itemkey in varchar2,
120 aname in varchar2)
121 return varchar2 is
122
123 BEGIN
124
125 return wf_engine.GetItemAttrText(itemtype => itemtype,
126 itemkey => itemkey,
127 aname => aname,
128 ignore_notfound => TRUE);
129
130 EXCEPTION
131 WHEN OTHERS THEN
132 IF (g_po_wf_debug = 'Y') THEN
133 PO_WF_DEBUG_PKG.insert_debug(itemtype,
134 itemkey,
135 'PO_WF_UTIL_PKG.GetItemAttrText: ' || aname ||
136 ' ' || sqlerrm);
137 END IF;
138 return NULL;
139
140 END GetItemAttrText;
141
142 --
143
144 function GetItemAttrNumber(itemtype in varchar2,
145 itemkey in varchar2,
146 aname in varchar2)
147 return number is
148
149 BEGIN
150
151 return wf_engine.GetItemAttrNumber(itemtype => itemtype,
152 itemkey => itemkey,
153 aname => aname,
154 ignore_notfound => TRUE);
155
156 EXCEPTION
157 WHEN OTHERS THEN
158 IF (g_po_wf_debug = 'Y') THEN
159 PO_WF_DEBUG_PKG.insert_debug(itemtype,
160 itemkey,
161 'PO_WF_UTIL_PKG.GetItemAttrNumber: ' || aname ||
162 ' ' || sqlerrm);
163 END IF;
164 return NULL;
165
166 END GetItemAttrNumber;
167
168 --
169
170 function GetItemAttrDate(itemtype in varchar2,
171 itemkey in varchar2,
172 aname in varchar2)
173 return date is
174
175 BEGIN
176
177 return wf_engine.GetItemAttrDate(itemtype => itemtype,
178 itemkey => itemkey,
179 aname => aname,
180 ignore_notfound => TRUE);
181
182 EXCEPTION
183 WHEN OTHERS THEN
184 IF (g_po_wf_debug = 'Y') THEN
185 PO_WF_DEBUG_PKG.insert_debug(itemtype,
186 itemkey,
187 'PO_WF_UTIL_PKG.GetItemAttrDate: ' || aname ||
188 ' ' || sqlerrm);
189 END IF;
190 return NULL;
191
192 END GetItemAttrDate;
193
194 --
195
196 function GetItemAttrDocument(itemtype in varchar2,
197 itemkey in varchar2,
198 aname in varchar2)
199 return VARCHAR2 is
200
201 BEGIN
202
203 return wf_engine.GetItemAttrDocument(itemtype => itemtype,
204 itemkey => itemkey,
205 aname => aname,
206 ignore_notfound => TRUE);
207
208 EXCEPTION
209 WHEN OTHERS THEN
210 IF (g_po_wf_debug = 'Y') THEN
211 PO_WF_DEBUG_PKG.insert_debug(itemtype,
212 itemkey,
213 'PO_WF_UTIL_PKG.GetItemAttrDocument: ' || aname ||
214 ' ' || sqlerrm);
215 END IF;
216 return NULL;
217
218 END GetItemAttrDocument;
219
220 --
221
222 function GetActivityAttrText(itemtype in varchar2,
223 itemkey in varchar2,
224 actid in number,
225 aname in varchar2)
226 return varchar2 is
227
228 BEGIN
229
230 return wf_engine.GetActivityAttrText(itemtype => itemtype,
231 itemkey => itemkey,
232 actid => actid,
233 aname => aname,
234 ignore_notfound => TRUE);
235
236 EXCEPTION
237 WHEN OTHERS THEN
238 IF (g_po_wf_debug = 'Y') THEN
239 PO_WF_DEBUG_PKG.insert_debug(itemtype,
240 itemkey,
241 'PO_WF_UTIL_PKG.GetActivityAttrText: ' || aname ||
242 ' ' || sqlerrm);
243 END IF;
244 return NULL;
245
246 END GetActivityAttrText;
247
248 --
249
250 function GetActivityAttrNumber(itemtype in varchar2,
251 itemkey in varchar2,
252 actid in number,
253 aname in varchar2)
254 return number is
255
256 BEGIN
257
258 return wf_engine.GetActivityAttrNumber(itemtype => itemtype,
259 itemkey => itemkey,
260 actid => actid,
261 aname => aname,
262 ignore_notfound => TRUE);
263
264 EXCEPTION
265 WHEN OTHERS THEN
266 IF (g_po_wf_debug = 'Y') THEN
267 PO_WF_DEBUG_PKG.insert_debug(itemtype,
268 itemkey,
269 'PO_WF_UTIL_PKG.GetActivityAttrNumber: ' || aname ||
270 ' ' || sqlerrm);
271 END IF;
272 return NULL;
273
274 END GetActivityAttrNumber;
275
276 --
277
278 function GetActivityAttrDate(itemtype in varchar2,
279 itemkey in varchar2,
280 actid in number,
281 aname in varchar2)
282 return date is
283
284 BEGIN
285
286 return wf_engine.GetActivityAttrDate(itemtype => itemtype,
287 itemkey => itemkey,
288 actid => actid,
289 aname => aname,
290 ignore_notfound => TRUE);
291
292 EXCEPTION
293 WHEN OTHERS THEN
294 IF (g_po_wf_debug = 'Y') THEN
295 PO_WF_DEBUG_PKG.insert_debug(itemtype,
296 itemkey,
297 'PO_WF_UTIL_PKG.GetActivityAttrDate: ' || aname ||
298 ' ' || sqlerrm);
299 END IF;
300 return NULL;
301
302 END GetActivityAttrDate;
303
304
305 -- bug5075361 START
306
307 -----------------------------------------------------------------------
308 --Start of Comments
309 --Name: clear_wf_cache
310 --Pre-reqs: None
311 --Modifies:
312 --Locks:
313 -- None
314 --Function:
315 -- Clear any cache that's maintained by WF. This is useful to clear
316 -- the cache for wf running in synchronize mode at the end so that
317 -- subsequent process will not be blocked in case this wf fails to
318 -- complete.
319 --Parameters:
320 --IN:
321 --IN OUT:
322 --OUT:
323 --Returns:
324 --Notes:
325 --Testing:
326 --End of Comments
327 ------------------------------------------------------------------------
328 PROCEDURE clear_wf_cache IS
329
330 l_progress VARCHAR2(10);
331
332 BEGIN
333
334 l_progress := '000';
335 WF_ENGINE_UTIL.clearcache;
336
337 l_progress := '010';
338 WF_ACTIVITY.clearcache;
339
340 l_progress := '020';
341 WF_ITEM_ACTIVITY_STATUS.clearcache;
342
343 l_progress := '030';
344 WF_ITEM.clearcache;
345
346 l_progress := '040';
347 WF_PROCESS_ACTIVITY.clearcache;
348
349 EXCEPTION
350 WHEN OTHERS THEN
351
352 PO_MESSAGE_S.sql_error ('PO_WF_UTIL_PKG.clear_wf_cache', l_progress, sqlcode);
353 RAISE;
354
355 END clear_wf_cache;
356
357 -- bug5075361 END
358
359 -- bug 4720152 Start
360 FUNCTION GetWorkflowErrorMessage
361 RETURN VARCHAR2 IS
362 BEGIN
363 return wf_core.error_message;
364 END GetWorkflowErrorMessage;
365 -- bug 4720152 END
366
367
368
369 end PO_WF_UTIL_PKG;