[Home] [Help]
PACKAGE BODY: APPS.PO_WF_UTIL_PKG
Source
1 PACKAGE BODY PO_WF_UTIL_PKG AS
2 /* $Header: POXWUTLB.pls 120.2.12020000.2 2013/02/10 23:54:32 vegajula 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 -- PO AME Project
42 procedure SetItemAttrText(aname in varchar2,
43 avalue in varchar2) is
44 BEGIN
45 wf_engine.SetItemAttrText (itemtype => G_ITEM_TYPE,
46 itemkey => G_ITEM_KEY,
47 aname => aname,
48 avalue => avalue);
49
50 EXCEPTION
51 WHEN OTHERS THEN
52 IF (g_po_wf_debug = 'Y') THEN
53 PO_WF_DEBUG_PKG.insert_debug(G_ITEM_TYPE,
54 G_ITEM_KEY,
55 'PO_WF_UTIL_PKG.SetItemAttrText: ' || aname ||
56 ' ' || sqlerrm);
57 END IF;
58
59 END SetItemAttrText;
60
61
62 procedure SetItemAttrNumber(itemtype in varchar2,
63 itemkey in varchar2,
64 aname in varchar2,
65 avalue in number) is
66
67 BEGIN
68
69 wf_engine.SetItemAttrNumber (itemtype => itemtype,
70 itemkey => itemkey,
71 aname => aname,
72 avalue => avalue);
73
74 EXCEPTION
75 WHEN OTHERS THEN
76 IF (g_po_wf_debug = 'Y') THEN
77 PO_WF_DEBUG_PKG.insert_debug(itemtype,
78 itemkey,
79 'PO_WF_UTIL_PKG.SetItemAttrNumber: ' || aname ||
80 ' ' || sqlerrm);
81 END IF;
82
83 END SetItemAttrNumber;
84
85 -- PO AME Project
86 procedure SetItemAttrNumber(aname in varchar2,
87 avalue in number) is
88
89 BEGIN
90
91 wf_engine.SetItemAttrNumber (itemtype => G_ITEM_TYPE,
92 itemkey => G_ITEM_KEY,
93 aname => aname,
94 avalue => avalue);
95
96 EXCEPTION
97 WHEN OTHERS THEN
98 IF (g_po_wf_debug = 'Y') THEN
99 PO_WF_DEBUG_PKG.insert_debug(G_ITEM_TYPE,
100 G_ITEM_KEY,
101 'PO_WF_UTIL_PKG.SetItemAttrNumber: ' || aname ||
102 ' ' || sqlerrm);
103 END IF;
104
105 END SetItemAttrNumber;
106 --
107
108 procedure SetItemAttrDate(itemtype in varchar2,
109 itemkey in varchar2,
110 aname in varchar2,
111 avalue in date) is
112
113 BEGIN
114
115 wf_engine.SetItemAttrDate (itemtype => itemtype,
116 itemkey => itemkey,
117 aname => aname,
118 avalue => avalue);
119
120 EXCEPTION
121 WHEN OTHERS THEN
122 IF (g_po_wf_debug = 'Y') THEN
123 PO_WF_DEBUG_PKG.insert_debug(itemtype,
124 itemkey,
125 'PO_WF_UTIL_PKG.SetItemAttrDate: ' || aname ||
126 ' ' || sqlerrm);
127 END IF;
128
129 END SetItemAttrDate;
130
131 --
132
133 procedure SetItemAttrDocument(itemtype in varchar2,
134 itemkey in varchar2,
135 aname in varchar2,
136 documentid in varchar2) is
137
138 BEGIN
139
140 wf_engine.SetItemAttrDocument (itemtype => itemtype,
141 itemkey => itemkey,
142 aname => aname,
143 documentid => documentid);
144
145 EXCEPTION
146 WHEN OTHERS THEN
147 IF (g_po_wf_debug = 'Y') THEN
148 PO_WF_DEBUG_PKG.insert_debug(itemtype,
149 itemkey,
150 'PO_WF_UTIL_PKG.SetItemAttrDocument: ' || aname ||
151 ' ' || sqlerrm);
152 END IF;
153
154 END SetItemAttrDocument;
155
156 --
157
158 function GetItemAttrText(itemtype in varchar2,
159 itemkey in varchar2,
160 aname in varchar2)
161 return varchar2 is
162
163 BEGIN
164
165 return wf_engine.GetItemAttrText(itemtype => itemtype,
166 itemkey => itemkey,
167 aname => aname,
168 ignore_notfound => TRUE);
169
170 EXCEPTION
171 WHEN OTHERS THEN
172 IF (g_po_wf_debug = 'Y') THEN
173 PO_WF_DEBUG_PKG.insert_debug(itemtype,
174 itemkey,
175 'PO_WF_UTIL_PKG.GetItemAttrText: ' || aname ||
176 ' ' || sqlerrm);
177 END IF;
178 return NULL;
179
180 END GetItemAttrText;
181
182 -- PO AME Project
183 function GetItemAttrText(aname in varchar2)
184 return varchar2 is
185
186 BEGIN
187
188 return wf_engine.GetItemAttrText(itemtype => G_ITEM_TYPE,
189 itemkey => G_ITEM_KEY,
190 aname => aname,
191 ignore_notfound => TRUE);
192
193 EXCEPTION
194 WHEN OTHERS THEN
195 IF (g_po_wf_debug = 'Y') THEN
196 PO_WF_DEBUG_PKG.insert_debug(G_ITEM_TYPE,
197 G_ITEM_KEY,
198 'PO_WF_UTIL_PKG.GetItemAttrText: ' || aname ||
199 ' ' || sqlerrm);
200 END IF;
201 return NULL;
202
203 END GetItemAttrText;
204
205 function GetItemAttrNumber(itemtype in varchar2,
206 itemkey in varchar2,
207 aname in varchar2)
208 return number is
209
210 BEGIN
211
212 return wf_engine.GetItemAttrNumber(itemtype => itemtype,
213 itemkey => itemkey,
214 aname => aname,
215 ignore_notfound => TRUE);
216
217 EXCEPTION
218 WHEN OTHERS THEN
219 IF (g_po_wf_debug = 'Y') THEN
220 PO_WF_DEBUG_PKG.insert_debug(itemtype,
221 itemkey,
222 'PO_WF_UTIL_PKG.GetItemAttrNumber: ' || aname ||
223 ' ' || sqlerrm);
224 END IF;
225 return NULL;
226
227 END GetItemAttrNumber;
228
229 -- PO AME Project
230
231 function GetItemAttrNumber(aname in varchar2)
232 return number is
233
234 BEGIN
235
236 return wf_engine.GetItemAttrNumber(itemtype => G_ITEM_TYPE,
237 itemkey => G_ITEM_KEY,
238 aname => aname,
239 ignore_notfound => TRUE);
240
241 EXCEPTION
242 WHEN OTHERS THEN
243 IF (g_po_wf_debug = 'Y') THEN
244 PO_WF_DEBUG_PKG.insert_debug(G_ITEM_TYPE,
245 G_ITEM_KEY,
246 'PO_WF_UTIL_PKG.GetItemAttrNumber: ' || aname ||
247 ' ' || sqlerrm);
248 END IF;
249 return NULL;
250
251 END GetItemAttrNumber;
252
253 function GetItemAttrDate(itemtype in varchar2,
254 itemkey in varchar2,
255 aname in varchar2)
256 return date is
257
258 BEGIN
259
260 return wf_engine.GetItemAttrDate(itemtype => itemtype,
261 itemkey => itemkey,
262 aname => aname,
263 ignore_notfound => TRUE);
264
265 EXCEPTION
266 WHEN OTHERS THEN
267 IF (g_po_wf_debug = 'Y') THEN
268 PO_WF_DEBUG_PKG.insert_debug(itemtype,
269 itemkey,
270 'PO_WF_UTIL_PKG.GetItemAttrDate: ' || aname ||
271 ' ' || sqlerrm);
272 END IF;
273 return NULL;
274
275 END GetItemAttrDate;
276
277 --
278
279 function GetItemAttrDocument(itemtype in varchar2,
280 itemkey in varchar2,
281 aname in varchar2)
282 return VARCHAR2 is
283
284 BEGIN
285
286 return wf_engine.GetItemAttrDocument(itemtype => itemtype,
287 itemkey => itemkey,
288 aname => aname,
289 ignore_notfound => TRUE);
290
291 EXCEPTION
292 WHEN OTHERS THEN
293 IF (g_po_wf_debug = 'Y') THEN
294 PO_WF_DEBUG_PKG.insert_debug(itemtype,
295 itemkey,
296 'PO_WF_UTIL_PKG.GetItemAttrDocument: ' || aname ||
297 ' ' || sqlerrm);
298 END IF;
299 return NULL;
300
301 END GetItemAttrDocument;
302
303 --
304
305 function GetActivityAttrText(itemtype in varchar2,
306 itemkey in varchar2,
307 actid in number,
308 aname in varchar2)
309 return varchar2 is
310
311 BEGIN
312
313 return wf_engine.GetActivityAttrText(itemtype => itemtype,
314 itemkey => itemkey,
315 actid => actid,
316 aname => aname,
317 ignore_notfound => TRUE);
318
319 EXCEPTION
320 WHEN OTHERS THEN
321 IF (g_po_wf_debug = 'Y') THEN
322 PO_WF_DEBUG_PKG.insert_debug(itemtype,
323 itemkey,
324 'PO_WF_UTIL_PKG.GetActivityAttrText: ' || aname ||
325 ' ' || sqlerrm);
326 END IF;
327 return NULL;
328
329 END GetActivityAttrText;
330
331 --
332
333 function GetActivityAttrNumber(itemtype in varchar2,
334 itemkey in varchar2,
335 actid in number,
336 aname in varchar2)
337 return number is
338
339 BEGIN
340
341 return wf_engine.GetActivityAttrNumber(itemtype => itemtype,
342 itemkey => itemkey,
343 actid => actid,
344 aname => aname,
345 ignore_notfound => TRUE);
346
347 EXCEPTION
348 WHEN OTHERS THEN
349 IF (g_po_wf_debug = 'Y') THEN
350 PO_WF_DEBUG_PKG.insert_debug(itemtype,
351 itemkey,
352 'PO_WF_UTIL_PKG.GetActivityAttrNumber: ' || aname ||
353 ' ' || sqlerrm);
354 END IF;
355 return NULL;
356
357 END GetActivityAttrNumber;
358
359 --
360
361 function GetActivityAttrDate(itemtype in varchar2,
362 itemkey in varchar2,
363 actid in number,
364 aname in varchar2)
365 return date is
366
367 BEGIN
368
369 return wf_engine.GetActivityAttrDate(itemtype => itemtype,
370 itemkey => itemkey,
371 actid => actid,
372 aname => aname,
373 ignore_notfound => TRUE);
374
375 EXCEPTION
376 WHEN OTHERS THEN
377 IF (g_po_wf_debug = 'Y') THEN
378 PO_WF_DEBUG_PKG.insert_debug(itemtype,
379 itemkey,
380 'PO_WF_UTIL_PKG.GetActivityAttrDate: ' || aname ||
381 ' ' || sqlerrm);
382 END IF;
383 return NULL;
384
385 END GetActivityAttrDate;
386
387
388 -- bug5075361 START
389
390 -----------------------------------------------------------------------
391 --Start of Comments
392 --Name: clear_wf_cache
393 --Pre-reqs: None
394 --Modifies:
395 --Locks:
396 -- None
397 --Function:
398 -- Clear any cache that's maintained by WF. This is useful to clear
399 -- the cache for wf running in synchronize mode at the end so that
400 -- subsequent process will not be blocked in case this wf fails to
401 -- complete.
402 --Parameters:
403 --IN:
404 --IN OUT:
405 --OUT:
406 --Returns:
407 --Notes:
408 --Testing:
409 --End of Comments
410 ------------------------------------------------------------------------
411 PROCEDURE clear_wf_cache IS
412
413 l_progress VARCHAR2(10);
414
415 BEGIN
416
417 l_progress := '000';
418 WF_ENGINE_UTIL.clearcache;
419
420 l_progress := '010';
421 WF_ACTIVITY.clearcache;
422
423 l_progress := '020';
424 WF_ITEM_ACTIVITY_STATUS.clearcache;
425
426 l_progress := '030';
427 WF_ITEM.clearcache;
428
429 l_progress := '040';
430 WF_PROCESS_ACTIVITY.clearcache;
431
432 EXCEPTION
433 WHEN OTHERS THEN
434
435 PO_MESSAGE_S.sql_error ('PO_WF_UTIL_PKG.clear_wf_cache', l_progress, sqlcode);
436 RAISE;
437
438 END clear_wf_cache;
439
440 -- bug5075361 END
441
442 -- bug 4720152 Start
443 FUNCTION GetWorkflowErrorMessage
444 RETURN VARCHAR2 IS
445 BEGIN
446 return wf_core.error_message;
447 END GetWorkflowErrorMessage;
448 -- bug 4720152 END
449 end PO_WF_UTIL_PKG;