DBA Data[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;