1 PACKAGE AP_WORKFLOW_PKG AUTHID CURRENT_USER AS
2 /* $Header: aphanwfs.pls 120.33.12020000.5 2013/03/14 06:25:22 lyanduru ship $ */
3 -- Public Procedure Specifications
4
5 PROCEDURE get_approver(itemtype IN VARCHAR2,
6 itemkey IN VARCHAR2,
7 actid IN NUMBER,
8 funcmode IN VARCHAR2,
9 resultout OUT NOCOPY VARCHAR2 );
10
11 PROCEDURE is_negotiable_flow(itemtype IN VARCHAR2,
12 itemkey IN VARCHAR2,
13 actid IN NUMBER,
14 funcmode IN VARCHAR2,
15 resultout OUT NOCOPY VARCHAR2 );
16 PROCEDURE process_ack_pomatched(itemtype IN VARCHAR2,
17 itemkey IN VARCHAR2,
18 actid IN NUMBER,
19 funcmode IN VARCHAR2,
20 resultout OUT NOCOPY VARCHAR2 );
21
22 PROCEDURE process_rel_pomatched(itemtype IN VARCHAR2,
23 itemkey IN VARCHAR2,
24 actid IN NUMBER,
25 funcmode IN VARCHAR2,
26 resultout OUT NOCOPY VARCHAR2 );
27
28 PROCEDURE process_ack_pounmatched(itemtype IN VARCHAR2,
29 itemkey IN VARCHAR2,
30 actid IN NUMBER,
31 funcmode IN VARCHAR2,
32 resultout OUT NOCOPY VARCHAR2 );
33
34 PROCEDURE process_rel_pounmatched(itemtype IN VARCHAR2,
35 itemkey IN VARCHAR2,
36 actid IN NUMBER,
37 funcmode IN VARCHAR2,
38 resultout OUT NOCOPY VARCHAR2 );
39
40 PROCEDURE is_it_internal(itemtype IN VARCHAR2,
41 itemkey IN VARCHAR2,
42 actid IN NUMBER,
43 funcmode IN VARCHAR2,
44 resultout OUT NOCOPY VARCHAR2 );
45
46 PROCEDURE get_supplier_contact(itemtype IN VARCHAR2,
47 itemkey IN VARCHAR2,
48 actid IN NUMBER,
49 funcmode IN VARCHAR2,
50 resultout OUT NOCOPY VARCHAR2 );
51
52 PROCEDURE process_accept_ext(itemtype IN VARCHAR2,
53 itemkey IN VARCHAR2,
54 actid IN NUMBER,
55 funcmode IN VARCHAR2,
56 resultout OUT NOCOPY VARCHAR2 );
57
58 PROCEDURE get_first_approver(itemtype IN VARCHAR2,
59 itemkey IN VARCHAR2,
60 actid IN NUMBER,
61 funcmode IN VARCHAR2,
62 resultout OUT NOCOPY VARCHAR2 );
63
64 PROCEDURE process_cancel_inv_by_sup(itemtype IN VARCHAR2,
65 itemkey IN VARCHAR2,
66 actid IN NUMBER,
67 funcmode IN VARCHAR2,
68 resultout OUT NOCOPY VARCHAR2 );
69
70 PROCEDURE process_accept_int(itemtype IN VARCHAR2,
71 itemkey IN VARCHAR2,
72 actid IN NUMBER,
73 funcmode IN VARCHAR2,
74 resultout OUT NOCOPY VARCHAR2 );
75 /*
76 APINVAPR - Main Approval Process
77 */
78 PROCEDURE check_header_requirements(itemtype IN VARCHAR2,
79 itemkey IN VARCHAR2,
80 actid IN NUMBER,
81 funcmode IN VARCHAR2,
82 resultout OUT NOCOPY VARCHAR2 );
83
84 PROCEDURE check_line_requirements(itemtype IN VARCHAR2,
85 itemkey IN VARCHAR2,
86 actid IN NUMBER,
87 funcmode IN VARCHAR2,
88 resultout OUT NOCOPY VARCHAR2 );
89
90 PROCEDURE get_approvers(itemtype IN VARCHAR2,
91 itemkey IN VARCHAR2,
92 actid IN NUMBER,
93 funcmode IN VARCHAR2,
94 resultout OUT NOCOPY VARCHAR2 );
95
96 PROCEDURE identify_approvers(itemtype IN VARCHAR2,
97 itemkey IN VARCHAR2,
98 actid IN NUMBER,
99 funcmode IN VARCHAR2,
100 resultout OUT NOCOPY VARCHAR2 );
101
102 PROCEDURE launch_approval_notifications(itemtype IN VARCHAR2,
103 itemkey IN VARCHAR2,
104 actid IN NUMBER,
105 funcmode IN VARCHAR2,
106 resultout OUT NOCOPY VARCHAR2 );
107
108 PROCEDURE launch_neg_notifications(itemtype IN VARCHAR2,
109 itemkey IN VARCHAR2,
110 actid IN NUMBER,
111 funcmode IN VARCHAR2,
112 resultout OUT NOCOPY VARCHAR2 );
113
114 PROCEDURE process_doc_rejection(itemtype IN VARCHAR2,
115 itemkey IN VARCHAR2,
116 actid IN NUMBER,
117 funcmode IN VARCHAR2,
118 resultout OUT NOCOPY VARCHAR2 );
119
120 PROCEDURE process_doc_approval(itemtype IN VARCHAR2,
121 itemkey IN VARCHAR2,
122 actid IN NUMBER,
123 funcmode IN VARCHAR2,
124 resultout OUT NOCOPY VARCHAR2 );
125
126 PROCEDURE process_lines_approval(itemtype IN VARCHAR2,
127 itemkey IN VARCHAR2,
128 actid IN NUMBER,
129 funcmode IN VARCHAR2,
130 resultout OUT NOCOPY VARCHAR2 );
131
132 PROCEDURE process_lines_rejection(itemtype IN VARCHAR2,
133 itemkey IN VARCHAR2,
134 actid IN NUMBER,
135 funcmode IN VARCHAR2,
136 resultout OUT NOCOPY VARCHAR2 );
137
138 PROCEDURE set_document_approver(itemtype IN VARCHAR2,
139 itemkey IN VARCHAR2,
140 actid IN NUMBER,
141 funcmode IN VARCHAR2,
142 resultout OUT NOCOPY VARCHAR2 );
143
144 PROCEDURE set_lines_approver(itemtype IN VARCHAR2,
145 itemkey IN VARCHAR2,
146 actid IN NUMBER,
147 funcmode IN VARCHAR2,
148 resultout OUT NOCOPY VARCHAR2 );
149 /*
150 APINVNEG - AP Invoice Approval Negotiation
151 */
152
153 PROCEDURE get_last_approver(itemtype IN VARCHAR2,
154 itemkey IN VARCHAR2,
155 actid IN NUMBER,
156 funcmode IN VARCHAR2,
157 resultout OUT NOCOPY VARCHAR2 );
158
159 PROCEDURE aprvl_process_accept_ext(itemtype IN VARCHAR2,
160 itemkey IN VARCHAR2,
161 actid IN NUMBER,
162 funcmode IN VARCHAR2,
163 resultout OUT NOCOPY VARCHAR2 );
164
165 PROCEDURE aprvl_process_accept_int(itemtype IN VARCHAR2,
166 itemkey IN VARCHAR2,
167 actid IN NUMBER,
168 funcmode IN VARCHAR2,
169 resultout OUT NOCOPY VARCHAR2 );
170
171 PROCEDURE aprvl_process_cancel_inv_sup(itemtype IN VARCHAR2,
172 itemkey IN VARCHAR2,
173 actid IN NUMBER,
174 funcmode IN VARCHAR2,
175 resultout OUT NOCOPY VARCHAR2 );
176 /************* NEW Procedures *************/
177 PROCEDURE create_hold_neg_process(p_hold_id IN NUMBER,
178 p_ext_contact_id IN NUMBER,
179 parentkey IN VARCHAR2,
180 childkey IN VARCHAR2,
181 int_ext_indicator IN VARCHAR2,
182 newchildprocess OUT NOCOPY VARCHAR2) ;
183
184 PROCEDURE create_hold_wf_process(p_hold_id IN NUMBER);
185 PROCEDURE get_header_approver(itemtype IN VARCHAR2,
186 itemkey IN VARCHAR2,
187 actid IN NUMBER,
188 funcmode IN VARCHAR2,
189 resultout OUT NOCOPY VARCHAR2 );
190 PROCEDURE escalate_doc_approval(itemtype IN VARCHAR2,
191 itemkey IN VARCHAR2,
192 actid IN NUMBER,
193 funcmode IN VARCHAR2,
194 resultout OUT NOCOPY VARCHAR2 );
195 PROCEDURE escalate_lines_approval(itemtype IN VARCHAR2,
196 itemkey IN VARCHAR2,
197 actid IN NUMBER,
198 funcmode IN VARCHAR2,
199 resultout OUT NOCOPY VARCHAR2 );
200 PROCEDURE awake_approval_main(itemtype IN VARCHAR2,
201 itemkey IN VARCHAR2,
202 actid IN NUMBER,
203 funcmode IN VARCHAR2,
204 resultout OUT NOCOPY VARCHAR2 );
205 PROCEDURE create_lineapp_neg_process(p_invoice_id IN NUMBER,
206 p_ext_user_id IN NUMBER,
207 p_invoice_amount IN NUMBER,
208 parentkey IN VARCHAR2,
209 childkey IN VARCHAR2,
210 int_ext_indicator IN VARCHAR2,
211 p_wfitemkey OUT NOCOPY VARCHAR2);
212 PROCEDURE create_invapp_process(p_invoice_id IN NUMBER
213 ,p_approval_iteration IN NUMBER DEFAULT NULL
214 ,p_wfitemkey OUT NOCOPY VARCHAR2);
215 FUNCTION Stop_Approval(
216 p_invoice_id IN NUMBER,
217 p_line_number IN NUMBER,
218 p_calling_sequence IN VARCHAR2) RETURN BOOLEAN;
219 PROCEDURE process_single_line_response(p_invoice_id IN NUMBER,
220 p_line_number IN NUMBER,
221 p_response IN VARCHAR2,
222 p_itemkey IN VARCHAR2,
223 p_comments IN VARCHAR2);
224 FUNCTION Get_Attribute_Value(p_invoice_id IN NUMBER,
225 p_sub_class_id IN NUMBER DEFAULT NULL,
226 p_attribute_name IN VARCHAR2,
227 p_context IN VARCHAR2 DEFAULT NULL)
228 RETURN VARCHAR2;
229 FUNCTION AP_Dist_Accounting_Flex(p_seg_name IN VARCHAR2,
230 p_dist_id IN NUMBER) RETURN VARCHAR2;
231 PROCEDURE exists_initial_wait(itemtype IN VARCHAR2,
232 itemkey IN VARCHAR2,
233 actid IN NUMBER,
234 funcmode IN VARCHAR2,
235 resultout OUT NOCOPY VARCHAR2 );
236 PROCEDURE is_hold_released(itemtype IN VARCHAR2,
237 itemkey IN VARCHAR2,
238 actid IN NUMBER,
239 funcmode IN VARCHAR2,
240 resultout OUT NOCOPY VARCHAR2 );
241 PROCEDURE continue_hold_workflow(itemtype IN VARCHAR2,
242 itemkey IN VARCHAR2,
243 actid IN NUMBER,
244 funcmode IN VARCHAR2,
245 resultout OUT NOCOPY VARCHAR2 );
246 PROCEDURE is_invoice_matched(itemtype IN VARCHAR2,
247 itemkey IN VARCHAR2,
248 actid IN NUMBER,
249 funcmode IN VARCHAR2,
250 resultout OUT NOCOPY VARCHAR2 );
251 PROCEDURE abort_holds_workflow(p_hold_id IN NUMBER);
252 FUNCTION IS_INV_NEGOTIATED(
253 p_invoice_id IN ap_invoice_lines_all.invoice_id%TYPE
254 ,p_org_id IN ap_invoice_lines_all.org_id%TYPE)
255 RETURN BOOLEAN;
256 /* Bug 5590138, Bring it from old apiawles.pls */
257 PROCEDURE Get_All_Approvers(p_invoice_id IN NUMBER,
258 p_calling_sequence IN VARCHAR2);
259
260 /* Bug 5595121, Following Procedure becomes public */
261
262 PROCEDURE insert_history_table(p_hist_rec IN AP_INV_APRVL_HIST%ROWTYPE);
263
264 PROCEDURE Terminate_Approval(
265 errbuf OUT NOCOPY VARCHAR2,
266 retcode OUT NOCOPY NUMBER,
267 p_org_id in varchar2 --bug 14492241
268 );
269
270 PROCEDURE wakeup_lineapproval_process(p_invoice_id IN NUMBER,
274 itemkey IN VARCHAR2,
271 p_itemkey IN VARCHAR2);
272
273 PROCEDURE aprvl_get_supplier_contact(itemtype IN VARCHAR2,
275 actid IN NUMBER,
276 funcmode IN VARCHAR2,
277 resultout OUT NOCOPY VARCHAR2 );
278
279 PROCEDURE aprvl_process_reject_int(itemtype IN VARCHAR2,
280 itemkey IN VARCHAR2,
281 actid IN NUMBER,
282 funcmode IN VARCHAR2,
283 resultout OUT NOCOPY VARCHAR2 );
284
285 -- Bug 8462325. Added parameter p_process_instance_label.
286 PROCEDURE approve_button( p_itemkey IN VARCHAR2,
287 p_process_instance_label IN VARCHAR2);
288 --Bug 8689391. Added parameter processInstanceLabel to procedure rejectButton.
289 PROCEDURE reject_button( p_itemkey IN VARCHAR2,
290 p_process_instance_label IN VARCHAR2);
291 PROCEDURE accept_invoice_button( p_itemkey IN VARCHAR2);
292 PROCEDURE accept_invoice_int_button( p_itemkey IN VARCHAR2);
293 PROCEDURE cancel_invoice_aprvl_button( p_itemkey IN VARCHAR2);
294
295 PROCEDURE set_comments( p_itemkey IN VARCHAR2,
296 p_notif_id IN VARCHAR2,
297 p_notes in VARCHAR2);
298
299 PROCEDURE is_payment_request(itemtype IN VARCHAR2,
300 itemkey IN VARCHAR2,
301 actid IN NUMBER,
302 funcmode IN VARCHAR2,
303 resultout OUT NOCOPY VARCHAR2 );
304 -- added for IAW delegation enhancement
305 PROCEDURE forward_check(itemtype IN VARCHAR2,
306 itemkey IN VARCHAR2,
307 actid IN NUMBER,
308 funcmode IN VARCHAR2,
309 resultout OUT NOCOPY VARCHAR2 );
310
311 PROCEDURE notification_handler( itemtype IN VARCHAR2,
312 itemkey IN VARCHAR2,
313 actid IN NUMBER,
314 funcmode IN VARCHAR2,
315 resultout OUT NOCOPY VARCHAR2 );
316 PROCEDURE notification_handler_lines( itemtype IN VARCHAR2,
317 itemkey IN VARCHAR2,
318 actid IN NUMBER,
319 funcmode IN VARCHAR2,
320 resultout OUT NOCOPY VARCHAR2 );
321 PROCEDURE forward_check_lines(itemtype IN VARCHAR2,
322 itemkey IN VARCHAR2,
323 actid IN NUMBER,
324 funcmode IN VARCHAR2,
325 resultout OUT NOCOPY VARCHAR2 );
326 -- added for IAW delegation enhancement
327
328 ------------------------------------------------------------------------------
329 ----------------------------- Post_Notif_Handler -----------------------------
330 ------------------------------------------------------------------------------
331 /* Process post-notification activity to set the correct user context if
332 * invoice hold is being released from email notification
333 *
334 * Parameters : As per standard API format for Workflow Engine as documented
335 * in Workflow Developer's Guide
336 *
337 * Logic : As per Workflow API Reference, the global engine variable
338 * WF_ENGINE.context_user will be set to 'email:<email_address>'
339 * if user is taking the RESPOND action through e-mail on his or
340 * her own behalf. The code has been written based on this to :
341 * 1) Check whether WF_ENGINE.context_user is set to 'email:...'
342 * 2) If yes, check how many times the email address exists in
343 * wf_roles
344 * 3) If it does not exist or exists more than once, then do nothing.
345 * This will let the context to be set as per WF Engine ( which
346 * works under SYSADMIN context ). If the role does not exist then
347 * we have no way of setting the context and if it exists multiple
348 * times then we cannot set the context based on one particular
349 * occurrence of the record and in that case it will be better to
350 * let the context be as it is
351 * 4) If the role exists only once, then check whether the context is
352 * already set to the same user.
353 * 5) If so, then do nothing otherwise call FND_GLOBAL.Apps_Initialize
354 *
355 * History :
356 * Date Bug User Action
357 * ----------------------------------------------------------------------------
358 * 28-12-2010 9749367 ANARUN Created
359 */
360 PROCEDURE Post_Notif_Handler(itemtype IN VARCHAR2,
361 itemkey IN VARCHAR2,
362 actid IN NUMBER,
363 funcmode IN VARCHAR2,
364 resultout OUT NOCOPY VARCHAR2 ) ;
365
366 /* Bug#14804508 - START - Added new procedure to execute the dynamic query for report */
367 PROCEDURE Dynamic_sql_execute(p_query IN VARCHAR2, P_conc_id IN NUMBER);
368 /*Bug#16069896 - WF Transfer*/
369 PROCEDURE TRANSFER_NOTIFICATION( --Proc name
370 itemtype IN VARCHAR2, --Get itemType
371 itemkey IN VARCHAR2, --Get itemkey
372 actid IN NUMBER, --Get actid
373 funcmode IN VARCHAR2, --Get funcmode
374 approvalType IN VARCHAR2, --Either DOCUMENTAPPROVAL or LINESAPPROVAL
375 resultout OUT NOCOPY VARCHAR2 );
376
377 END AP_WORKFLOW_PKG;