DBA Data[Home] [Help]

PACKAGE: APPS.AP_WORKFLOW_PKG

Source


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;