DBA Data[Home] [Help]

PACKAGE: APPS.AME_API2

Source


1 package ame_api2 AUTHID CURRENT_USER as
2 /* $Header: ameeapi2.pkh 120.5 2006/10/12 11:54:43 avarri noship $ */
3 /*#
4  * This API package contains routines that a typical workflow uses to process
5  * an approval process.
6  * @rep:scope public
7  * @rep:product AME
8  * @rep:displayname Parallel Approval Process
9 */
10 --
11 -- ----------------------------------------------------------------------------
12 -- |-----------------------------< validateapprover >-------------------------|
13 -- ----------------------------------------------------------------------------
14 --
15 -- {Start Of Comments}
16 /*#
17  * This API validates the generated approver against wf_roles.
18  *
19  * This API is used to check whether an ame_util.approverRecord2 that the
20  * calling application generates is valid, especially before passing an
21  * ame_util.approverRecord2 to an AME API routine.
22  *
23  * <p><b>Licensing</b><br>
24  * This API is available for use with any licensed component of the e-business
25  * suite.
26  *
27  * <p><b>Prerequisites</b><br>
28  * No known prerequisites.
29  *
30  * <p><b>Post Success</b><br>
34  * <p><b>Post Failure</b><br>
31  * This API will return true if the approver represented by approverIn has a
32  * current wf_roles entry, otherwise will return false.
33  *
35  * This API returns false.
36  *
37  * @param approverin This is an ame_util.approverRecord2 that represents an
38  * approver.
39  * @return This API will return true if the approver represented by approverIn has a current wf_roles entry, otherwise will return false.
40  * @rep:displayname Validate Approver
41  * @rep:category BUSINESS_ENTITY AME_APPROVAL
42  * @rep:lifecycle active
43  * @rep:scope public
44 */
45 --
46 -- {End Of Comments}
47 --
48   function validateApprover(approverIn in ame_util.approverRecord2) return boolean;
49 --
50 -- ----------------------------------------------------------------------------
51 -- |-----------------------------< clearallapprovals >------------------------|
52 -- ----------------------------------------------------------------------------
53 --
54 -- {Start Of Comments}
55 /*#
56  * This API clears the approval process of a transaction.
57  *
58  * This restores the default approver list (removing
59  * approver insertions, suppressions, forwardings, etc.). Use this
60  * API to restart a transaction's approval process from scratch,
61  * undoing any operations that have already modified the approval
62  * process.
63  *
64  * <p><b>Licensing</b><br>
65  * This API is available for use with any licensed component of the e-business
66  * suite.
67  *
68  * <p><b>Prerequisites</b><br>
69  * No known prerequisites.
70  *
71  * <p><b>Post Success</b><br>
72  * The approval process of the given transaction will be cleared.
73  *
74  * <p><b>Post Failure</b><br>
75  * The API will raise an error.
76  *
77  * @param applicationidin The fnd_application.application_id value for the
78  * originating application that called the AME API routine.
79  * @param transactionidin This is a string up to 50 bytes long. It identifies a
80  * transaction within a transaction type. Its value must not contain
81  * white-space characters, and must not be the character representation of a
82  * negative integer.
83  * @param transactiontypein This is a string parameter up to 50 bytes long. It
84  * distinguishes one transaction type from another within a given originating
85  * application. It can be null, but you must always pass its value explicitly.
86  * @rep:displayname Clear All Approvals
87  * @rep:category BUSINESS_ENTITY AME_APPROVAL
88  * @rep:lifecycle active
89  * @rep:scope public
90 */
91 --
92 -- {End Of Comments}
93 --
94   procedure clearAllApprovals(applicationIdIn in number,
95                              transactionTypeIn in varchar2,
96                              transactionIdIn in varchar2);
97 --
98 -- ----------------------------------------------------------------------------
99 -- |-----------------------------< getadminapprover >-------------------------|
100 -- ----------------------------------------------------------------------------
101 --
102 -- {Start Of Comments}
103 /*#
104  * This API returns an ame_util.approverRecord2 representing the
105  * administrative approver for a transaction type.
106  *
107  * An originating application may wish to notify this approver when AME raises
108  * an exception.
109  *
110  * <p><b>Licensing</b><br>
111  * This API is available for use with any licensed component of the e-business
112  * suite.
113  *
114  * <p><b>Prerequisites</b><br>
115  * No known prerequisites.
116  *
117  * <p><b>Post Success</b><br>
118  * This API will return the administrative approver for a transaction in
119  * ame_util.approverRecord2 format. Also, it will return the wf_role name as
120  * adminapproverout.name and will return ame_util.exceptionStatus as
121  * adminapproverout.approval_status.
122  *
123  * <p><b>Post Failure</b><br>
124  * The API will raise an error.
125  *
126  * @param applicationidin The fnd_application.application_id value for the
127  * originating application that called the AME API routine.
128  * @param transactiontypein This is a string parameter up to 50 bytes long. It
129  * distinguishes one transaction type from another within a given originating
130  * application. It can be null, but you must always pass its value explicitly.
131  * @param adminapproverout This is an ame_util.approverRecord2 that represents
132  * the administrator for the particular transaction type.
133  * @rep:displayname Get Admin Approver
134  * @rep:category BUSINESS_ENTITY AME_APPROVAL
135  * @rep:lifecycle active
136  * @rep:scope public
137 */
138 --
139 -- {End Of Comments}
140 --
141   procedure getAdminApprover(applicationIdIn in number,
142                              transactionTypeIn in varchar2,
143                              adminApproverOut out nocopy ame_util.approverRecord2);
144 --
145 -- ----------------------------------------------------------------------------
146 -- |-----------------------------< getallapprovers1 >-------------------------|
147 -- ----------------------------------------------------------------------------
148 --
149 -- {Start Of Comments}
150 /*#
151  * This API returns the list of approvers (both rule-generated and inserted
152  * approvers) for a transaction.
153  *
154  * The approvers' indexes in approversOut are consecutive ascending integers
155  * starting at one. The order induced by the indexes is consistent with the
156  * ordering inducd by the approvers' approver_order_number values (which AME's
157  * parallel-approval-process functionality generates). The approvers'
158  * approval_status values reflect the approvers' latest responses to requests
162  * <p> approvalProcessCompleteYNOut can have one of the following values
159  * for approvals, assuming the originating application has communicated such
160  * responses to AME via ame_api2.updateApprovalStatus or
161  * ame_api2.updateApprovalStatus2.
163  * <ul><li> ame_util2.completeFullyApproved - all the approvers for the transaction
164  *      have approved
165  * <li> ame_util2.completeNoApprovers - approval process of the transaction is
166  *      completed as there are no approvers for it.
167  * <li> ame_util2.notCompleted - approval process of the transaction is not
168  *      completed and there are approvers to respond.
169  * <li> ame_util2.completeFullyRejected - all the approvers for the transaction
170  *      have rejected.
171  * <li> ame_util2.completePartiallyApproved - approval process of the
172  *      transaction is complete and it is partially approved as some of the
173  *      items of the transaction are rejected.</ul>
174  * <p> If an approver's item_id value is null, several
175  * items require the approver. If such an approver is at index i in
176  * approversOut, and itemIndexesOut(j) = i, then itemIdsOut(j) is the ID of an
177  * item requiring the approver, itemClassesOut(i) is the item's item class, and
178  * itemSourcesOut(j) is the source field indicating which rules required the
179  * approver for the same item. Use this API to fetch and display the entire
180  * approver list, either for information or to prompt for approver insertions
181  * or suppresions.
182  *
183  * <p><b>Licensing</b><br>
184  * This API is available for use with any licensed component of the e-business
185  * suite.
186  *
187  * <p><b>Prerequisites</b><br>
188  * No known prerequisites.
189  *
190  * <p><b>Post Success</b><br>
191  * This API will return the list of approvers in various out parameters.
192  *
193  * <p><b>Post Failure</b><br>
194  * This API does not return any approver and raises an error.
195  *
196  * @param applicationidin The fnd_application.application_id value for the
197  * originating application that called the AME API routine.
198  * @param transactiontypein This is a string parameter up to 50 bytes long. It
199  * distinguishes one transaction type from another, within a given originating
200  * application. It can be null, but you must always pass its value explicitly.
201  * @param transactionidin This is a string up to 50 bytes long. It identifies a
202  * transaction within a transaction type. Its value must not contain
203  * white-space characters, and must not be the character representation of a
204  * negative integer.
205  * @param approvalprocesscompleteynout This indicates current status of
206  * transaction's approval process.
207  * @param approversout This is an ame_util.approverstable2, and is populated
208  * with the generated list of approvers.
209  * @param itemindexesout This is a list of item indices corresponding to each
210  * generated approver.
211  * @param itemclassesout This is a list of item classes corresponding to each
212  * generated approver.
213  * @param itemidsout Ths is a list of item ids corresponding to each generated
214  * approver.
215  * @param itemsourcesout This is the source of the item corresponding to each
216  * generated approver.
217  * @rep:displayname Get All Approvers 1
218  * @rep:category BUSINESS_ENTITY AME_APPROVAL
219  * @rep:lifecycle active
220  * @rep:scope public
221 */
222 --
223 -- {End Of Comments}
224 --
225   procedure getAllApprovers1(applicationIdIn in number,
226                              transactionTypeIn in varchar2,
227                              transactionIdIn in varchar2,
228                              approvalProcessCompleteYNOut out nocopy varchar2,
229                              approversOut out nocopy ame_util.approversTable2,
230                              itemIndexesOut out nocopy ame_util.idList,
231                              itemClassesOut out nocopy ame_util.stringList,
232                              itemIdsOut out nocopy ame_util.stringList,
233                              itemSourcesOut out nocopy ame_util.longStringList);
234 --
235 -- ----------------------------------------------------------------------------
236 -- |-----------------------------< getallapprovers2 >-------------------------|
237 -- ----------------------------------------------------------------------------
238 --
239 -- {Start Of Comments}
240 /*#
241  * This API returns the list of approvers, including per-approver productions
242  * (name, value) pair, and both rule-generated and inserted approvers for a
243  * transaction.
244  *
245  * This API has the same functionality as ame_api2.getAllApprovers1, but it
246  * also returns per-approver productions stored in variableNamesOut and
247  * variableValuesOut. Several productions can be assigned a single approver, so
248  * productionIndexesOut contains for each production the index of the approver
249  * in approversOut to which the production is assigned. That is, if
250  * productionIndexesOut(i) = j, then the production in variableNamesOut(i) and
251  * variableValuesOut(i) is assigned to approversOut(j). Use getAllApprovers2 as
252  * you would getAllApprovers1, when you need to display perapprover productions
253  * with the approvers.
254  *
255  * <p><b>Licensing</b><br>
256  * This API is available for use with any licensed component of the e-business
257  * suite.
258  *
259  * <p><b>Prerequisites</b><br>
260  * No known prerequisites.
261  *
262  * <p><b>Post Success</b><br>
263  * This API will return the list of approvers in various out parameters. It
264  * will include the per-approver productions (name, value) pair, and both
265  * rule-generated and inserted approvers for a transaction.
266  *
267  * <p><b>Post Failure</b><br>
268  * This API will not return any approver and will raise an error.
269  *
270  * @param applicationidin This is the nd_application.application_id value for
271  * the originating application that called the AME API routine.
272  * @param transactiontypein This is a string parameter up to 50 bytes long. It
273  * distinguishes one transaction type from another within a given originating
274  * application. It can be null, but you must always pass its value explicitly.
275  * @param transactionidin This is a string up to 50 bytes long. It identifies a
276  * transaction within a transaction type. Its value must not contain
277  * white-space characters, and must not be the character representation of a
278  * negative integer.
279  * @param approvalprocesscompleteynout This indicates current status of
280  * transaction's approval process.
281  * @param approversout This is an ame_util.approverstable2, and is populated
282  * with the list of generated approvers.
283  * @param itemindexesout This is a list of item indices corresponding to each
284  * generated approver..
285  * @param itemclassesout This is a list of item classes corresponding to each
286  * generated approver.
287  * @param itemidsout This is a list of item ids corresponding to each generated
288  * approver.
289  * @param itemsourcesout This is the source of the item corresponding to each
290  * generated approver.
291  * @param productionindexesout This contains the production indices (if any).
292  * @param variablenamesout This holds the per-approver production variable
293  * names that correspond to each generated approver.
294  * @param variablevaluesout This holds the per-approver production variable
295  * values that correspond to each production name.
296  * @rep:displayname Get All Approvers 2
297  * @rep:category BUSINESS_ENTITY AME_APPROVAL
298  * @rep:lifecycle active
299  * @rep:scope public
300 */
301 --
302 -- {End Of Comments}
303 --
304   procedure getAllApprovers2(applicationIdIn in number,
305                              transactionTypeIn in varchar2,
306                              transactionIdIn in varchar2,
307                              approvalProcessCompleteYNOut out nocopy varchar2,
308                              approversOut out nocopy ame_util.approversTable2,
309                              itemIndexesOut out nocopy ame_util.idList,
310                              itemClassesOut out nocopy ame_util.stringList,
311                              itemIdsOut out nocopy ame_util.stringList,
312                              itemSourcesOut out nocopy ame_util.longStringList,
313                              productionIndexesOut out nocopy ame_util.idList,
314                              variableNamesOut out nocopy ame_util.stringList,
315                              variableValuesOut out nocopy ame_util.stringList);
316 --
317 -- ----------------------------------------------------------------------------
318 -- |-----------------------------< getallapprovers3 >-------------------------|
319 -- ----------------------------------------------------------------------------
320 --
321 -- {Start Of Comments}
322 /*#
323  * This API returns the list of approvers for a transaction, and includes the
324  * per-approver and per-transaction productions (name, value) pair; and both
325  * rule-generated and inserted approvers.
326  *
327  * This API has the same functionality as ame_api2.getAllApprovers2, but it
328  * also returns per-transaction productions. Use getAllApprovers3 as you would
329  * getAllApprovers2, when you need to display per-transaction productions as
330  * well as the approver list. See also ame_api2.getAllApprovers1 and
331  * ame_api2.getAllApprovers2.
332  *
333  * <p><b>Licensing</b><br>
334  * This API is available for use with any licensed component of the e-business
335  * suite.
336  *
337  * <p><b>Prerequisites</b><br>
338  * No known prerequisites.
339  *
340  * <p><b>Post Success</b><br>
341  * This API will return the list of approvers including per-approver and
342  * per-transaction productions (name, value) pair, and both rule-generated and
343  * inserted approver for a transaction into the various out parameters.
344  *
345  * <p><b>Post Failure</b><br>
346  * This API will not return any approver and will raise an error.
347  *
348  * @param applicationidin The fnd_application.application_id value of the
349  * originating application calling the AME API routine.
350  * @param transactiontypein This is a string parameter up to 50 bytes long. It
351  * distinguishes one transaction type from another, within a given originating
352  * application. It can be null, but you must always pass its value explicitly.
353  * @param transactionidin This is a string up to 50 bytes long. It identifies a
354  * transaction within a transaction type. Its value must not contain
355  * white-space characters, and must not be the character representation of a
356  * negative integer.
357  * @param approvalprocesscompleteynout This indicates current status of
358  * transaction's approval process.
359  * @param approversout This is an ame_util.approverstable2, that will be
360  * populated with the list of generated approvers.
361  * @param itemindexesout List of item indices corresponding to each generated
362  * approver.
363  * @param itemclassesout List of item classes corresponding to each generated
364  * approver.
365  * @param itemidsout List of item ids corresponding to each generated approver.
366  * @param itemsourcesout Source of the item corresponding to each generated
367  * approver.
368  * @param productionindexesout Production Indices (if any).
369  * @param variablenamesout Per-approver production variable names corresponding
370  * to each generated approvers (if any).
371  * @param variablevaluesout Per-approver production variable values
372  * corresponding to each production names (if any).
373  * @param transvariablenamesout Per-transaction production variable names (if
374  * any).
375  * @param transvariablevaluesout Per-transaction production variable values
376  * corresponding to each per-transaction production names (if any).
377  * @rep:displayname Get All Approvers 3
378  * @rep:category BUSINESS_ENTITY AME_APPROVAL
379  * @rep:lifecycle active
380  * @rep:scope public
381 */
382 --
383 -- {End Of Comments}
384 --
385     procedure getAllApprovers3(applicationIdIn in number,
386                              transactionTypeIn in varchar2,
387                              transactionIdIn in varchar2,
388                              approvalProcessCompleteYNOut out nocopy varchar2,
389                              approversOut out nocopy ame_util.approversTable2,
390                              itemIndexesOut out nocopy ame_util.idList,
391                              itemClassesOut out nocopy ame_util.stringList,
392                              itemIdsOut out nocopy ame_util.stringList,
393                              itemSourcesOut out nocopy ame_util.longStringList,
394                              productionIndexesOut out nocopy ame_util.idList,
395                              variableNamesOut out nocopy ame_util.stringList,
396                              variableValuesOut out nocopy ame_util.stringList,
397                              transVariableNamesOut out nocopy ame_util.stringList,
398                              transVariableValuesOut out nocopy ame_util.stringList);
399 --
400 -- ----------------------------------------------------------------------------
401 -- |-----------------------------< getallapprovers4 >-------------------------|
402 -- ----------------------------------------------------------------------------
403 --
404 -- {Start Of Comments}
405 /*#
406  * This API returns the list of approvers (both rule-generated and inserted
407  * approvers) along with rule primary keys requiring each approver for a
408  * transaction.
409  *
410  * This API has the same functionality as getAllApprovers1, but it also
411  * classifies the approvers in approversOut according to the reasons for their
412  * occurrence in the approver list. When one or more rules require an approver,
413  * ruleIdsOut identifies the rules. More particularly: every approver in
414  * approversOut has at least one row in ruleIndexesOut, sourceTypesOut and
415  * ruleIdsOut. If ruleIndexesOut(i) = j, then the values in sourceTypesOut(i)
416  * and ruleIdsOut(i) pertain to the approver in approversOut(j). Every approver
417  * in approversOut has only one source value, no matter how many rules required
418  * the approver. That is, if ruleIndexesOut(i1) = j and ruleIndexesOut(i2) = j
419  * for i1 and i2, sourceTypesOut(i1) = sourceTypesOut(i2). Some source values
420  * indicate that an approver is not required by any rules, but is present for
421  * other reasons. In such cases, if the approver is at index i, then if
422  * sourceTypesOut(j) = i, then ruleIdsOut(j) = null. Use getAllApprovers4 when
423  * you need to display the approver list, along with the rules requiring each
424  * approver. See also ame_api2.getAllApprovers1. Note that getAllApprovers4
425  * requires significantly more performance overhead than some of its sibling
426  * getAllApprovers[n] procedures.
427  *
428  * <p><b>Licensing</b><br>
429  * This API is available for use with any licensed component of the e-business
430  * suite.
431  *
432  * <p><b>Prerequisites</b><br>
433  * No known prerequisites.
434  *
435  * <p><b>Post Success</b><br>
436  * This API returns the list of approvers (both rule-generated and inserted
437  * approvers) along with rule ids requiring each approver for a transaction
438  * into various out parameters.
439  *
440  * <p><b>Post Failure</b><br>
441  * This API will not return any approver and will raise an error.
442  *
443  * @param applicationidin The fnd_application.application_id value of the
444  * originating application calling the AME API routine.
445  * @param transactiontypein This is a string parameter up to 50 bytes long. It
446  * distinguishes one transaction type from another, within a given originating
447  * application. It can be null, but you must always pass its value explicitly.
448  * @param transactionidin This is a string up to 50 bytes long. It identifies a
449  * transaction within a transaction type. Its value must not contain
450  * white-space characters, and must not be the character representation of a
451  * negative integer.
452  * @param approvalprocesscompleteynout This indicates current status of
453  * transaction's approval process.
454  * @param approversout This is an ame_util.approverstable2, that will be
455  * populated with the list of approvers generated.
456  * @param itemindexesout List of item indices corresponding to each generated
457  * approver.
458  * @param itemclassesout List of item classes corresponding to each generated
459  * approver.
460  * @param itemidsout List of item ids corresponding to each generated approver.
461  * @param itemsourcesout Source of the item corresponding to each generated
462  * approver.
463  * @param ruleindexesout List of rule indices corresponding to each rules
464  * requiring for each generated approver.
465  * @param sourcetypesout Source types corresponding to each generated approver,
466  * that is, whether rule generated, insertee, surrogate and so on.
467  * @param ruleidsout List of Rule ids corresponding to each generated approver.
468  * @rep:displayname Get All Approvers 4
469  * @rep:category BUSINESS_ENTITY AME_APPROVAL
470  * @rep:lifecycle active
471  * @rep:scope public
472 */
473 --
474 -- {End Of Comments}
475 --
476   procedure getAllApprovers4(applicationIdIn in number,
477                              transactionTypeIn in varchar2,
478                              transactionIdIn in varchar2,
479                              approvalProcessCompleteYNOut out nocopy varchar2,
480                              approversOut out nocopy ame_util.approversTable2,
481                              itemIndexesOut out nocopy ame_util.idList,
482                              itemClassesOut out nocopy ame_util.stringList,
483                              itemIdsOut out nocopy ame_util.stringList,
484                              itemSourcesOut out nocopy ame_util.longStringList,
485                              ruleIndexesOut out nocopy ame_util.idList,
486                              sourceTypesOut out nocopy ame_util.stringList,
487                              ruleIdsOut out nocopy ame_util.idList);
488 --
489 -- ----------------------------------------------------------------------------
490 -- |-----------------------------< getallapprovers5 >-------------------------|
491 -- ----------------------------------------------------------------------------
492 --
493 -- {Start Of Comments}
494 /*#
495  * This API returns the list of approvers (both rule-generated and inserted
496  * approvers) along with rule descriptions requiring each approver for a
497  * transaction.
498  *
499  * The getAllApprovers5 procedure has the same functionality as
500  * getAllApprovers4, but it returns rule descriptions rather than rule IDs. See
501  * also ame_api2.getAllApprovers4.
502  *
503  * <p><b>Licensing</b><br>
504  * This API is available for use with any licensed component of the e-business
505  * suite.
506  *
507  * <p><b>Prerequisites</b><br>
508  * No known prerequisites.
509  *
510  * <p><b>Post Success</b><br>
511  * This API returns the list of approvers (both rule-generated and inserted
512  * approvers) along with rule descriptions requiring each approver for a
513  * transaction into the various out parameters.
514  *
515  * <p><b>Post Failure</b><br>
516  * This API will not return any approver and will raise an error.
517  *
518  * @param applicationidin The fnd_application.application_id value of the
519  * originating application calling the AME API routine.
520  * @param transactiontypein This is a string parameter up to 50 bytes long. It
521  * distinguishes one transaction type from another, within a given originating
522  * application. It can be null, but you must always pass its value explicitly.
523  * @param transactionidin This is a string up to 50 bytes long. It identifies a
524  * transaction within a transaction type. Its value must not contain
525  * white-space characters, and must not be the character representation of a
526  * negative integer.
527  * @param approvalprocesscompleteynout This indicates current status of
528  * transaction's approval process.
529  * @param approversout This is an ame_util.approverstable2, that will be
530  * populated with the list of generated approvers.
531  * @param itemindexesout List of item indices corresponding to each generated
532  * approver.
533  * @param itemclassesout List of item classes corresponding to each generated
534  * approver.
535  * @param itemidsout List of item ids corresponding to each generated approver.
536  * @param itemsourcesout Source of the item corresponding to each generated
537  * approver.
538  * @param ruleindexesout List of rule indices corresponding to each rules
539  * requiring for each generated approver.
540  * @param sourcetypesout Source types corresponding to each generated approver,
541  * that is,whether rule generated, insertee, surrogate and so on.
542  * @param ruledescriptionsout List of rules' descriptions corresponding to each
543  * generated approver.
544  * @rep:displayname Get All Approvers 5
545  * @rep:category BUSINESS_ENTITY AME_APPROVAL
546  * @rep:lifecycle active
547  * @rep:scope public
548 */
549 --
550 -- {End Of Comments}
551 --
552   procedure getAllApprovers5(applicationIdIn in number,
553                              transactionTypeIn in varchar2,
554                              transactionIdIn in varchar2,
555                              approvalProcessCompleteYNOut out nocopy varchar2,
556                              approversOut out nocopy ame_util.approversTable2,
557                              itemIndexesOut out nocopy ame_util.idList,
558                              itemClassesOut out nocopy ame_util.stringList,
559                              itemIdsOut out nocopy ame_util.stringList,
560                              itemSourcesOut out nocopy ame_util.longStringList,
561                              ruleIndexesOut out nocopy ame_util.idList,
562                              sourceTypesOut out nocopy ame_util.stringList,
563                              ruleDescriptionsOut out nocopy ame_util.stringList);
564 --
565 -- ----------------------------------------------------------------------------
566 -- |-----------------------------< getallapprovers6 >-------------------------|
567 -- ----------------------------------------------------------------------------
568 --
569 -- {Start Of Comments}
570 /*#
571  * This API returns the list of approvers (both rule-generated and inserted
572  * approvers), along with the rules requiring each approver for a transaction.
573  *
574  * The getAllApprovers6 procedure has the same functionality as
575  * getAllApprovers4, but it returns both rule IDs and rule descriptions. See
576  * also ame_api2.getAllApprovers4 and ame_api2.getAllApprovers4
577  *
578  * <p><b>Licensing</b><br>
579  * This API is available for use with any licensed component of the e-business
580  * suite.
581  *
582  * <p><b>Prerequisites</b><br>
583  * No known prerequisites.
584  *
585  * <p><b>Post Success</b><br>
586  * This API returns the list of approvers (both rule-generated and inserted
587  * approvers) along with rule ids and descriptions requiring each approver for
588  * a transaction into various out parameters.
589  *
590  * <p><b>Post Failure</b><br>
591  * This API will not return any approver and will raise an error.
592  *
593  * @param applicationidin The fnd_application.application_id value of the
594  * originating application calling the AME API routine.
595  * @param transactiontypein This is a string parameter up to 50 bytes long. It
596  * distinguishes one transaction type from another, within a given originating
597  * application. It can be null, but you must always pass its value explicitly.
598  * @param transactionidin This is a string up to 50 bytes long. It identifies a
599  * transaction within a transaction type. Its value must not contain
600  * white-space characters, and must not be the character representation of a
601  * negative integer.
602  * @param approvalprocesscompleteynout This indicates current status of
603  * transaction's approval process.
604  * @param approversout This is an ame_util.approverstable2, that will be
605  * populated with the list of generated approvers.
606  * @param itemindexesout List of item indices corresponding to each generated
607  * approver.
608  * @param itemclassesout List of item classes corresponding to each generated
609  * approver.
610  * @param itemidsout List of item ids corresponding to each generated approver.
611  * @param itemsourcesout Source of the item corresponding to each generated
612  * approver.
613  * @param ruleindexesout List of rule indices corresponding to each rules
614  * requiring for each generated approver.
615  * @param sourcetypesout Source types corresponding to each generated
616  * approvers, that is, whether rule generated, insertee, surrogate and so on.
617  * @param ruleidsout List of rule ids corresponding to each generated approver.
618  * @param ruledescriptionsout List of rule descriptions corresponding to each
619  * rule id.
620  * @rep:displayname Get All Approvers 6
621  * @rep:category BUSINESS_ENTITY AME_APPROVAL
622  * @rep:lifecycle active
623  * @rep:scope public
624 */
625 --
626 -- {End Of Comments}
627 --
628   procedure getAllApprovers6(applicationIdIn in number,
629                              transactionTypeIn in varchar2,
630                              transactionIdIn in varchar2,
631                              approvalProcessCompleteYNOut out nocopy varchar2,
632                              approversOut out nocopy ame_util.approversTable2,
633                              itemIndexesOut out nocopy ame_util.idList,
634                              itemClassesOut out nocopy ame_util.stringList,
635                              itemIdsOut out nocopy ame_util.stringList,
636                              itemSourcesOut out nocopy ame_util.longStringList,
637                              ruleIndexesOut out nocopy ame_util.idList,
638                              sourceTypesOut out nocopy ame_util.stringList,
639                              ruleIdsOut out nocopy ame_util.idList,
640                              ruleDescriptionsOut out nocopy ame_util.stringList);
641 --
642 -- ----------------------------------------------------------------------------
643 -- |-----------------------------< getallapprovers7 >-------------------------|
644 -- ----------------------------------------------------------------------------
645 --
646 -- {Start Of Comments}
647 /*#
648  * This API returns the list of approvers (both rule-generated and inserted
649  * approvers) for a transaction.
650  *
651  * The getAllApprovers7 procedure has the same functionality as
652  * getAllApprovers1, but omitting the per-item outputs. This is the
653  * lowest-overhead of all the getAllApprovers[n] procedures. See also
654  * ame_api2.getAllApprovers1.
655  *
656  * <p><b>Licensing</b><br>
657  * This API is available for use with any licensed component of the e-business
658  * suite.
659  *
660  * <p><b>Prerequisites</b><br>
661  * No known prerequisites.
662  *
663  * <p><b>Post Success</b><br>
664  * This API returns the list of approvers (both rule-generated and inserted
665  * approvers) for a transaction into various out parameters.
666  *
667  * <p><b>Post Failure</b><br>
668  * This API will not return any approver and will raise an error.
669  *
670  * @param applicationidin The fnd_application.application_id value of the
671  * originating application calling the AME API routine.
672  * @param transactiontypein This is a string parameter up to 50 bytes long. It
673  * distinguishes one transaction type from another, within a given originating
674  * application. It can be null, but you must always pass its value explicitly.
675  * @param transactionidin This is a string up to 50 bytes long. It identifies a
676  * transaction within a transaction type. Its value must not contain
677  * white-space characters, and must not be the character representation of a
678  * negative integer.
679  * @param approvalprocesscompleteynout This indicates current status of
680  * transaction's approval process.
681  * @param approversout This is an ame_util.approverstable2, that will be
682  * populated with the list of approvers generated.
683  * @rep:displayname Get All Approvers 7
684  * @rep:category BUSINESS_ENTITY AME_APPROVAL
685  * @rep:lifecycle active
686  * @rep:scope public
687 */
688 --
689 -- {End Of Comments}
690 --
691   procedure getAllApprovers7(applicationIdIn in number,
692                              transactionTypeIn in varchar2,
693                              transactionIdIn in varchar2,
694                              approvalProcessCompleteYNOut out nocopy varchar2,
695                              approversOut out nocopy ame_util.approversTable2);
696 --
697 -- ----------------------------------------------------------------------------
698 -- |---------------------------< getallitemapprovers1 >-----------------------|
699 -- ----------------------------------------------------------------------------
700 --
701 -- {Start Of Comments}
702 /*#
703  * This API returns the list of approvers (both rule-generated and inserted
704  * approvers) for an item in a transaction.
705  *
706  * This API has the same functionality as getAllApprovers7, but for the single
707  * item with ID itemIdIn of the item class with the ID itemClassIdIn. See also
708  * ame_api2.getAllApprovers7.
709  *
710  * <p><b>Licensing</b><br>
711  * This API is available for use with any licensed component of the e-business
712  * suite.
713  *
714  * <p><b>Prerequisites</b><br>
715  * No known prerequisites.
716  *
717  * <p><b>Post Success</b><br>
718  * This API returns the list of approvers (both rule-generated and inserted
719  * approvers) for an item in a transaction into various out parameters.
720  *
721  * <p><b>Post Failure</b><br>
722  * This API will not return any approver and will raise an error.
723  *
724  * @param applicationidin The fnd_application.application_id value of the
725  * originating application calling the AME API routine.
726  * @param transactiontypein This is a string parameter up to 50 bytes long. It
727  * distinguishes one transaction type from another, within a given originating
728  * application. It can be null, but you must always pass its value explicitly.
729  * @param transactionidin This is a string up to 50 bytes long. It identifies a
730  * transaction within a transaction type. Its value must not contain
731  * white-space characters, and must not be the character representation of a
732  * negative integer.
733  * @param itemclassidin Item class id of an item class. For example, header,
734  * line item, cost center, projects and so on.
735  * @param itemidin Item Id in a transaction for which the list of approvers
736  * will be retrieved.
737  * @param approvalprocesscompleteynout This indicates current status of
738  * item's approval process.
739  * @param approversout This is an ame_util.approverstable2, that will be
740  * populated with the list of approvers generated.
741  * @rep:displayname Get All Item Approvers 1
742  * @rep:category BUSINESS_ENTITY AME_APPROVAL
743  * @rep:lifecycle active
744  * @rep:scope public
745 */
746 --
747 -- {End Of Comments}
748 --
749   procedure getAllItemApprovers1(applicationIdIn in number,
750                                  transactionTypeIn in varchar2,
751                                  transactionIdIn in varchar2,
752                                  itemClassIdIn in number,
753                                  itemIdIn in varchar2,
754                                  approvalProcessCompleteYNOut out nocopy varchar2,
755                                  approversOut out nocopy ame_util.approversTable2);
756 --
757 -- ----------------------------------------------------------------------------
758 -- |---------------------------< getallitemapprovers2 >-----------------------|
759 -- ----------------------------------------------------------------------------
760 --
761 -- {Start Of Comments}
762 /*#
763  * This API returns the list of approvers (both rule-generated and inserted
764  * approvers) for an item in a transaction.
765  *
766  * This API has the same functionality as getAllItemApprovers1, but it
767  * identifies the input item class by name in itemClassNameIn. See also
768  * ame_api2.getAllApprovers1 and ame_api2.getAllItemApprovers1.
769  *
770  * <p><b>Licensing</b><br>
771  * This API is available for use with any licensed component of the e-business
772  * suite.
773  *
774  * <p><b>Prerequisites</b><br>
775  * No known prerequisites.
776  *
777  * <p><b>Post Success</b><br>
778  * This API returns the list of approvers (both rule-generated and inserted
779  * approvers) for an item in a transaction into the various out parameters.
780  *
781  * <p><b>Post Failure</b><br>
782  * This API will not return any approver and will raise an error.
783  *
784  * @param applicationidin The fnd_application.application_id value of the
785  * originating application calling the AME API routine.
786  * @param transactiontypein This is a string parameter up to 50 bytes long. It
787  * distinguishes one transaction type from another, within a given originating
788  * application. It can be null, but you must always pass its value explicitly.
789  * @param transactionidin This is a string up to 50 bytes long. It identifies a
790  * transaction within a transaction type. Its value must not contain
791  * white-space characters, and must not be the character representation of a
792  * negative integer.
793  * @param itemclassnamein Item class, for example, header, line item, cost
794  * center, projects and so on.
795  * @param itemidin Item Id in a transaction for which the list of approvers
796  * will be retrieved.
797  * @param approvalprocesscompleteynout This indicates current status of
798  * item's approval process.
799  * @param approversout This is an ame_util.approverstable2, that will be
800  * populated with the list of approvers generated.
801  * @rep:displayname Get All Item Approvers 2
802  * @rep:category BUSINESS_ENTITY AME_APPROVAL
803  * @rep:lifecycle active
804  * @rep:scope public
805 */
806 --
807 -- {End Of Comments}
808 --
809   procedure getAllItemApprovers2(applicationIdIn in number,
810                                  transactionTypeIn in varchar2,
811                                  transactionIdIn in varchar2,
812                                  itemClassNameIn in varchar2,
813                                  itemIdIn in varchar2,
814                                  approvalProcessCompleteYNOut out nocopy varchar2,
815                                  approversOut out nocopy ame_util.approversTable2);
816 --
817 -- ----------------------------------------------------------------------------
818 -- |-----------------------------< getandrecordallapprovers >------------------|
819 -- ----------------------------------------------------------------------------
820 --
821 -- {Start Of Comments}
822 /*#
823  * This API returns all the approvers for a transaction.
824  * This API is similar to ame_api2.getAllApprovers1. The only
825  * difference is that this call will also store the approver list in the
826  * AME transaction tables.
827  *
828  * <p><b>Licensing</b><br>
829  * This API is available for use with any licensed component of the e-business
830  * suite.
831  *
832  * <p><b>Prerequisites</b><br>
833  * No known prerequisites.
834  *
835  * <p><b>Post Success</b><br>
836  * The API will return all the approvers in the out parameter approversOut.
837  *
838  * <p><b>Post Failure</b><br>
839  * The API will not return any approver for the particular transaction and will
840  * raise an error.
841  *
842  * @param applicationidin The fnd_application.application_id value of the
843  * originating application calling the AME API routine.
844  * @param transactionidin This is a string up to 50 bytes long. It identifies a
845  * transaction within a transaction type. Its value must not contain
846  * white-space characters, and must not be the character representation of a
847  * negative integer.
848  * @param transactiontypein This is a string parameter up to 50 bytes long. It
849  * distinguishes one transaction type from another, within a given originating
850  * application. It can be null, but you must always pass its value explicitly.
851  * @param approversout This is the ame_util.approversTable2 which represents the
852  * list of approvers.
853  * @param approvalprocesscompleteynout This indicates current status of
854  * transaction's approval process.
855  * @param itemindexesout List of item indices corresponding to each generated
856  * approver.
857  * @param itemclassesout List of item classes corresponding to each generated
858  * approver.
859  * @param itemidsout List of item ids corresponding to each generated approver.
860  * @param itemsourcesout Source of the item corresponding to each generated
861  * approver.
862  * @rep:displayname Get And Record All Approvers
863  * @rep:category BUSINESS_ENTITY AME_APPROVAL
864  * @rep:lifecycle active
865  * @rep:scope public
866 */
867 --
868 -- {End Of Comments}
869 --
873                                      approvalProcessCompleteYNOut out nocopy varchar2,
870   procedure getAndRecordAllApprovers(applicationIdIn in number,
871                                      transactionTypeIn in varchar2,
872                                      transactionIdIn in varchar2,
874                                      approversOut out nocopy ame_util.approversTable2,
875                                      itemIndexesOut out nocopy ame_util.idList,
876                                      itemClassesOut out nocopy ame_util.stringList,
877                                      itemIdsOut out nocopy ame_util.stringList,
878                                      itemSourcesOut out nocopy ame_util.longStringList);
879 --
880 -- ----------------------------------------------------------------------------
881 -- |------------------------------< getitemstatus1 >--------------------------|
882 -- ----------------------------------------------------------------------------
883 --
884 -- {Start Of Comments}
885 /*#
886  * This API returns the status of approval process of the given item.
887  * The item is identified by item id and item class id.
888  * <p> approvalProcessCompleteYNOut can have one of the following values
889  * <ul><li> ame_util2.completeFullyApproved - all the approvers for the
890  *      item have approved
891  * <li> ame_util2.completeNoApprovers - approval process of the item is
892  *      completed as there are no approvers for it.
893  * <li> ame_util2.notCompleted - approval process of the item is not
894  *      completed and there are approvers to respond.
895  * <li> ame_util2.completeFullyRejected - approval process of the item is
896  *      complete and fully rejected</ul>
897  *
898  * <p><b>Licensing</b><br>
899  * This API is available for use with any licensed component of the e-business
900  * suite.
901  *
902  * <p><b>Prerequisites</b><br>
903  * No known prerequisites.
904  *
905  * <p><b>Post Success</b><br>
906  * This API will return the status of the approval process for an item in a
907  * transaction in the out parameter approvalProcessCompleteYNOut.
908  *
909  * <p><b>Post Failure</b><br>
910  * This API will set approvalProcessCompleteYNOut = null and will raise an
911  * error.
912  *
913  * @param applicationidin The fnd_application.application_id value of the
914  * originating application calling the AME API routine.
915  * @param transactiontypein This is a string parameter up to 50 bytes long. It
916  * distinguishes one transaction type from another, within a given originating
917  * application. It can be null, but you must always pass its value explicitly.
918  * @param transactionidin This is a string up to 50 bytes long. It identifies a
919  * transaction within a transaction type. Its value must not contain
920  * white-space characters, and must not be the character representation of a
921  * negative integer.
922  * @param itemclassidin Item class id of an item class. For example, the ids of
923  * itemclasses:header, line item, cost center, project code and so on.
924  * @param itemidin Item id of the item class for which status will be
925  * evaluated.
926  * @param approvalprocesscompleteynout This indicates current status of
927  * item's approval process.
928  * @rep:displayname Get Item Status 1
929  * @rep:category BUSINESS_ENTITY AME_APPROVAL
930  * @rep:lifecycle active
931  * @rep:scope public
932 */
933 --
934 -- {End Of Comments}
935 --
936   procedure getItemStatus1(applicationIdIn in number,
937                            transactionTypeIn in varchar2,
938                            transactionIdIn in varchar2,
939                            itemClassIdIn in integer,
940                            itemIdIn in varchar2,
941                            approvalProcessCompleteYNOut out nocopy varchar2);
942 --
943 -- ----------------------------------------------------------------------------
944 -- |------------------------------< getitemstatus2 >--------------------------|
945 -- ----------------------------------------------------------------------------
946 --
947 -- {Start Of Comments}
948 /*#
949  * This API returns the status of approval process of the given item.
950  * The item is identified by item id and item class name.
951  * See also ame_api2.getItemStatus1.
952  *
953  * <p><b>Licensing</b><br>
954  * This API is available for use with any licensed component of the e-business
955  * suite.
956  *
957  * <p><b>Prerequisites</b><br>
958  * No known prerequisites.
959  *
960  * <p><b>Post Success</b><br>
961  * This API will return the status of the approval process for an item in a
962  * transaction in the out parameter approvalProcessCompleteYNOut.
963  *
964  * <p><b>Post Failure</b><br>
965  * This API will set approvalProcessCompleteYNOut = null and will raise an
966  * error.
967  *
968  * @param applicationidin The fnd_application.application_id value of the
969  * originating application calling the AME API routine.
970  * @param transactiontypein This is a string parameter up to 50 bytes long. It
971  * distinguishes one transaction type from another, within a given originating
972  * application. It can be null, but you must always pass its value explicitly.
973  * @param transactionidin This is a string up to 50 bytes long. It identifies a
974  * transaction within a transaction type. Its value must not contain
975  * white-space characters, and must not be the character representation of a
976  * negative integer.
977  * @param itemclassnamein Item class name, for example, header, line item, cost
978  * center, project code and so on.
979  * @param itemidin Item id of the item class for which status will be
980  * evaluated.
981  * @param approvalprocesscompleteynout This indicates current status of
982  * item's approval process.
983  * @rep:displayname Get Item Status 2
984  * @rep:category BUSINESS_ENTITY AME_APPROVAL
985  * @rep:lifecycle active
986  * @rep:scope public
987 */
988 --
989 -- {End Of Comments}
990 --
991   procedure getItemStatus2(applicationIdIn in number,
992                            transactionTypeIn in varchar2,
993                            transactionIdIn in varchar2,
994                            itemClassNameIn in varchar2,
995                            itemIdIn in varchar2,
996                            approvalProcessCompleteYNOut out nocopy varchar2);
997 --
998 -- ----------------------------------------------------------------------------
999 -- |-----------------------------< getitemstatuses >--------------------------|
1000 -- ----------------------------------------------------------------------------
1001 --
1002 -- {Start Of Comments}
1003 /*#
1004  * This API returns the current status of approval process of all items belong
1005  * to a given transaction.
1006  *
1007  * The value at approvalProcessesCompleteYNOut(i) indicates the status of
1008  * item identified by item itemIdsOut(i) of the item class itemClassNamesOut(i)
1009  * <p> approvalProcessesCompleteYNOut(i) can have one of the following values
1010  * <ul><li> ame_util2.completeFullyApproved - all the approvers for the
1011  *      item have approved
1012  * <li> ame_util2.completeNoApprovers - approval process of the item is
1013  *      completed as there are no approvers for it.
1014  * <li> ame_util2.notCompleted - approval process of the item is not
1015  *      completed and there are approvers to respond.
1016  * <li> ame_util2.completeFullyRejected - approval process of the item is
1017  *      complete and fully rejected</ul>
1018  *
1019  * <p><b>Licensing</b><br>
1020  * This API is available for use with any licensed component of the e-business
1021  * suite.
1022  *
1023  * <p><b>Prerequisites</b><br>
1024  * No known prerequisites.
1025  *
1026  * <p><b>Post Success</b><br>
1027  * This API will return the item class names and ids and the corresponding
1028  * approval status for each item for a transaction in the various out
1029  * parameters.
1030  *
1031  * <p><b>Post Failure</b><br>
1032  * This API will not return the approval process statuses of the items and will
1033  * raise an error.
1034  *
1035  * @param applicationidin The fnd_application.application_id value of the
1036  * originating application calling the AME API routine.
1037  * @param transactiontypein This is a string parameter up to 50 bytes long. It
1038  * distinguishes one transaction type from another, within a given originating
1039  * application. It can be null, but you must always pass its value explicitly.
1040  * @param transactionidin This is a string up to 50 bytes long. It identifies a
1041  * transaction within a transaction type. Its value must not contain
1042  * white-space characters, and must not be the character representation of a
1043  * negative integer.
1044  * @param itemclassnamesout Item classe names, for example, header, line item, cost
1045  * center, projects and so on.
1046  * @param itemidsout Item ids corresponding to the item classes.
1047  * @param approvalprocessescompleteynout This indicates current status of
1048  * individual items' approval process.
1049  * @rep:displayname Get Item Statuses
1050  * @rep:category BUSINESS_ENTITY AME_APPROVAL
1051  * @rep:lifecycle active
1052  * @rep:scope public
1053 */
1054 --
1055 -- {End Of Comments}
1056 --
1057   procedure getItemStatuses(applicationIdIn in number,
1058                             transactionTypeIn in varchar2,
1059                             transactionIdIn in varchar2,
1060                             itemClassNamesOut out nocopy ame_util.stringList,
1061                             itemIdsOut out nocopy ame_util.stringList,
1062                             approvalProcessesCompleteYNOut out nocopy ame_util.charList);
1063 --
1064 -- ----------------------------------------------------------------------------
1065 -- |----------------------------< getnextapprovers1 >-------------------------|
1066 -- ----------------------------------------------------------------------------
1067 --
1068 -- {Start Of Comments}
1069 /*#
1070  * This API returns the list of approvers requiring notification for the
1071  * current stage of a transaction approval.
1072  *
1073  * Once an originating application updates an approver's status to
1074  * ame_util.notifiedStatus, getNextApprovers1 excludes the approver from
1075  * nextApproversOut. An originating application can update an approver's status
1076  * to ame_util.notifiedStatus by passing ame_util.booleanTrue as
1077  * flagApproversAsNotifiedIn to a call to getNextApprovers1 that includes the
1078  * approver in nextApproversOut. Or the originating application can pass
1079  * ame_util.booleanFalse in flagApproversAsNotifiedIn, and instead call
1080  * updateApprovalStatus or updateApprovalStatus2 to update the approver's
1081  * status independently of a call to getNextApprovers. getNextApprovers1
1082  * outputs current status of transaction's approval process in
1083  * approvalProcessCompleteYNOut .
1084  * <p> approvalProcessCompleteYNOut can have one of the following values
1085  * <ul><li> ame_util2.completeFullyApproved - all the approvers for the transaction
1086  *      have approved
1087  * <li> ame_util2.completeNoApprovers - approval process of the transaction is
1088  *      completed as there are no approvers for it.
1089  * <li> ame_util2.notCompleted - approval process of the transaction is not
1090  *      completed and there are approvers to respond.
1091  * <li> ame_util2.completeFullyRejected - approval process of the transaction is
1092  *      complete and fully rejected.
1093  * <li> ame_util2.completePartiallyApproved - approval process of the
1094  *      transaction is complete and it is partially approved as some of the
1095  *      items of the transaction are rejected.</ul>
1096  * Use getNextApprovers1 to iterate through a transaction's approval process
1097  * one stage at a time. See also ame_api2.getAllApprovers1.
1098  *
1099  * <p><b>Licensing</b><br>
1100  * This API is available for use with any licensed component of the e-business
1101  * suite.
1102  *
1103  * <p><b>Prerequisites</b><br>
1104  * No known prerequisites.
1105  *
1106  * <p><b>Post Success</b><br>
1107  * This API will return the list of approvers requiring notification for the
1108  * current stage, for a transaction's approval process in the various out
1109  * parameters.
1110  *
1111  * <p><b>Post Failure</b><br>
1112  * This API will not return any approver and will raise an error.
1113  *
1114  * @param applicationidin The fnd_application.application_id value of the
1115  * originating application calling the AME API routine.
1116  * @param transactiontypein This is a string parameter up to 50 bytes long. It
1117  * distinguishes one transaction type from another, within a given originating
1118  * application. It can be null, but you must always pass its value explicitly.
1119  * @param transactionidin This is a string up to 50 bytes long. It identifies a
1120  * transaction within a transaction type. Its value must not contain
1121  * white-space characters, and must not be the character representation of a
1122  * negative integer.
1123  * @param flagapproversasnotifiedin This parameter determines whether to set
1124  * the approvalStatus as "Notified" for the generated approvers or
1125  * not based on the input value (ie. Y/N). Default value is Y
1126  * (ame_util.booleanTrue).
1127  * @param approvalprocesscompleteynout This indicates current status of
1128  * transaction's approval process.
1129  * @param nextapproversout This is an ame_util.approverstable2, that will be
1130  * populated with the list of approvers generated, requiring notification for
1131  * the current stage of the input transaction's approval process(if any).
1132  * @param itemindexesout List of item indices corresponding to each generated
1133  * approver.
1134  * @param itemclassesout List of item classes corresponding to each generated
1135  * approver.
1136  * @param itemidsout List of item ids corresponding to each generated approver.
1137  * @param itemsourcesout Source of the item corresponding to each generated
1138  * approver.
1139  * @rep:displayname Get Next Approvers 1
1140  * @rep:category BUSINESS_ENTITY AME_APPROVAL
1141  * @rep:lifecycle active
1142  * @rep:scope public
1143 */
1144 --
1145 -- {End Of Comments}
1146 --
1147   procedure getNextApprovers1(applicationIdIn in number,
1148                               transactionTypeIn in varchar2,
1149                               transactionIdIn in varchar2,
1150                               flagApproversAsNotifiedIn in varchar2 default ame_util.booleanTrue,
1151                               approvalProcessCompleteYNOut out nocopy varchar2,
1152                               nextApproversOut out nocopy ame_util.approversTable2,
1153                               itemIndexesOut out nocopy ame_util.idList,
1154                               itemClassesOut out nocopy ame_util.stringList,
1155                               itemIdsOut out nocopy ame_util.stringList,
1156                               itemSourcesOut out nocopy ame_util.longStringList);
1157 --
1158 -- ----------------------------------------------------------------------------
1159 -- |----------------------------< getnextapprovers2 >-------------------------|
1160 -- ----------------------------------------------------------------------------
1161 --
1162 -- {Start Of Comments}
1163 /*#
1164  * This API returns the list of approvers along with per-approver productions,
1165  * requiring notification for the current stage of approval for the input
1166  * transaction.
1167  *
1168  * This API has the same functionality as as getNextApprovers1, but it also
1169  * returns per-approver productions. Use getNextApprovers2 to iterate through a
1170  * transaction's approval process one stage at a time when your application
1171  * enables per-approver productions, for example to track per-approver
1172  * eSignature requirements. See also ame_api2.getAllApprovers2 and
1173  * ame_api2.getNextApprovers1.
1174  *
1175  * <p><b>Licensing</b><br>
1176  * This API is available for use with any licensed component of the e-business
1177  * suite.
1178  *
1179  * <p><b>Prerequisites</b><br>
1180  * No known prerequisites.
1181  *
1182  * <p><b>Post Success</b><br>
1183  * This API will return the list of approvers along with per-approver
1184  * productions, requiring notification for the current stage of the input
1185  * transaction's approval process in the various out parameters.
1186  *
1187  * <p><b>Post Failure</b><br>
1188  * This API will not return any approver and will raise an error.
1189  *
1190  * @param applicationidin The fnd_application.application_id value of the
1191  * originating application calling the AME API routine.
1192  * @param transactiontypein This is a string parameter up to 50 bytes long. It
1193  * distinguishes one transaction type from another, within a given originating
1194  * application. It can be null, but you must always pass its value explicitly.
1195  * @param transactionidin This is a string up to 50 bytes long. It identifies a
1196  * transaction within a transaction type. Its value must not contain
1197  * white-space characters, and must not be the character representation of a
1198  * negative integer.
1199  * @param flagapproversasnotifiedin This parameter determines whether to set
1200  * the approvalStatus as "Notified" for the generated approvers or
1201  * not based on the input value (ie. Y/N). Default value is Y
1202  * (ame_util.booleanTrue).
1203  * @param approvalprocesscompleteynout This indicates current status of
1204  * transaction's approval process.
1205  * @param nextapproversout This is an ame_util.approverstable2, that will be
1206  * populated with the list of approvers generated, requiring notification for
1207  * the current stage of the input transaction's approval process.
1208  * @param itemindexesout List of item indices corresponding to each generated
1209  * approver.
1210  * @param itemclassesout List of item classes corresponding to each generated
1211  * approver.
1212  * @param itemidsout List of item ids corresponding to each generated approver.
1213  * @param itemsourcesout Source of the item corresponding to each generated
1214  * approver.
1215  * @param productionindexesout Production Indices (if any).
1216  * @param variablenamesout Per-approver production variable names corresponding
1217  * to each generated approvers (if any).
1218  * @param variablevaluesout Per-approver production variable values
1219  * corresponding to each production names (if any).
1220  * @rep:displayname Get Next Approvers 2
1221  * @rep:category BUSINESS_ENTITY AME_APPROVAL
1222  * @rep:lifecycle active
1223  * @rep:scope public
1224 */
1225 --
1226 -- {End Of Comments}
1227 --
1228   procedure getNextApprovers2(applicationIdIn in number,
1229                               transactionTypeIn in varchar2,
1230                               transactionIdIn in varchar2,
1231                               flagApproversAsNotifiedIn in varchar2 default ame_util.booleanTrue,
1232                               approvalProcessCompleteYNOut out nocopy varchar2,
1233                               nextApproversOut out nocopy ame_util.approversTable2,
1234                               itemIndexesOut out nocopy ame_util.idList,
1235                               itemClassesOut out nocopy ame_util.stringList,
1236                               itemIdsOut out nocopy ame_util.stringList,
1237                               itemSourcesOut out nocopy ame_util.longStringList,
1238                               productionIndexesOut out nocopy ame_util.idList,
1239                               variableNamesOut out nocopy ame_util.stringList,
1240                               variableValuesOut out nocopy ame_util.stringList);
1241 --
1242 -- ----------------------------------------------------------------------------
1243 -- |----------------------------< getnextapprovers3 >-------------------------|
1244 -- ----------------------------------------------------------------------------
1245 --
1246 -- {Start Of Comments}
1247 /*#
1248  * This API returns the list of approvers along with per-approver and
1249  * per-transaction productions, requiring approval notification for the
1250  * currentinput transaction.
1251  *
1252  * This API has the same functionality as getNextApprovers2, but it also
1253  * returns per-transaction productions. Use getNextApprovers3 when your
1254  * application enables per-approver and per-transaction productions, for
1255  * example to track eSignature requirements per approver and transaction. See
1256  * also ame_api2.getAllApprovers3 and ame_api2.getNextApprovers2.
1257  *
1258  * <p><b>Licensing</b><br>
1259  * This API is available for use with any licensed component of the e-business
1260  * suite.
1261  *
1262  * <p><b>Prerequisites</b><br>
1263  * No known prerequisites.
1264  *
1265  * <p><b>Post Success</b><br>
1266  * This API will return the list of approvers along with per-approver and
1267  * per-transaction productions, requiring notification for the current stage of
1268  * the input transaction's approval process in the various out parameters.
1269  *
1270  * <p><b>Post Failure</b><br>
1271  * This API will not return any approver and will raise an error.
1272  *
1273  * @param applicationidin The fnd_application.application_id value of the
1274  * originating application calling the AME API routine.
1275  * @param transactiontypein This is a string parameter up to 50 bytes long. It
1276  * distinguishes one transaction type from another, within a given originating
1277  * application. It can be null, but you must always pass its value explicitly.
1278  * @param transactionidin This is a string up to 50 bytes long. It identifies a
1279  * transaction within a transaction type. Its value must not contain
1280  * white-space characters, and must not be the character representation of a
1281  * negative integer.
1282  * @param flagapproversasnotifiedin This parameter determines whether to set
1283  * the approvalStatus as "Notified" for the generated approvers or
1284  * not based on the input value (ie. Y/N). Default value is Y
1285  * (ame_util.booleanTrue).
1286  * @param approvalprocesscompleteynout This indicates current status of
1287  * transaction's approval process.
1288  * @param nextapproversout This is an ame_util.approverstable2, that will be
1289  * populated with the list of approvers generated, requiring notification for
1290  * the current stage of the input transaction's approval process.
1291  * @param itemindexesout List of item indices corresponding to each generated
1292  * approver.
1293  * @param itemclassesout List of item classes corresponding to each generated
1294  * approver.
1295  * @param itemidsout List of item ids corresponding to each generated approver.
1296  * @param itemsourcesout Source of the item corresponding to each generated
1297  * approver.
1298  * @param productionindexesout Production Indices (if any).
1299  * @param variablenamesout Per-approver production variable names corresponding
1300  * to each generated approvers (if any).
1301  * @param variablevaluesout Per-approver production variable values
1302  * corresponding to each production names (if any).
1303  * @param transvariablenamesout Per-transaction production variable names (if
1304  * any).
1305  * @param transvariablevaluesout Per-transaction production variable values
1306  * corresponding to each per-transaction production names (if any).
1307  * @rep:displayname Get Next Approvers 3
1308  * @rep:category BUSINESS_ENTITY AME_APPROVAL
1309  * @rep:lifecycle active
1310  * @rep:scope public
1311 */
1312 --
1313 -- {End Of Comments}
1314 --
1315   procedure getNextApprovers3(applicationIdIn in number,
1316                               transactionTypeIn in varchar2,
1317                               transactionIdIn in varchar2,
1318                               flagApproversAsNotifiedIn in varchar2 default ame_util.booleanTrue,
1319                               approvalProcessCompleteYNOut out nocopy varchar2,
1320                               nextApproversOut out nocopy ame_util.approversTable2,
1321                               itemIndexesOut out nocopy ame_util.idList,
1322                               itemClassesOut out nocopy ame_util.stringList,
1323                               itemIdsOut out nocopy ame_util.stringList,
1324                               itemSourcesOut out nocopy ame_util.longStringList,
1325                               productionIndexesOut out nocopy ame_util.idList,
1326                               variableNamesOut out nocopy ame_util.stringList,
1327                               variableValuesOut out nocopy ame_util.stringList,
1328                               transVariableNamesOut out nocopy ame_util.stringList,
1329                               transVariableValuesOut out nocopy ame_util.stringList);
1330 --
1331 -- ----------------------------------------------------------------------------
1332 -- |----------------------------< getnextapprovers4 >-------------------------|
1333 -- ----------------------------------------------------------------------------
1334 --
1335 -- {Start Of Comments}
1336 /*#
1337  * This API returns the list of approvers requiring approval notification for
1338  * the input transaction.
1339  *
1340  * This API has the same functionality as getNextApprovers1, but it omits
1341  * per-item outputs. This is the lowest-overhead getNextApprovers[n] procedure.
1342  * See also ame_api2.getAllApprovers7 and ame_api2.getNextApprovers1.
1343  *
1344  * <p><b>Licensing</b><br>
1345  * This API is available for use with any licensed component of the e-business
1346  * suite.
1347  *
1348  * <p><b>Prerequisites</b><br>
1349  * No known prerequisites.
1350  *
1351  * <p><b>Post Success</b><br>
1352  * This API will return the list of approvers, requiring notification for the
1353  * current stage of the input transaction's approval process in the various out
1354  * parameters.
1355  *
1356  * <p><b>Post Failure</b><br>
1357  * This API will not return any approver and will raise an error.
1358  *
1359  * @param applicationidin The fnd_application.application_id value of the
1360  * originating application calling the AME API routine.
1361  * @param transactiontypein This is a string parameter up to 50 bytes long. It
1362  * distinguishes one transaction type from another, within a given originating
1363  * application. It can be null, but you must always pass its value explicitly.
1364  * @param transactionidin This is a string up to 50 bytes long. It identifies a
1365  * transaction within a transaction type. Its value must not contain
1366  * white-space characters, and must not be the character representation of a
1367  * negative integer.
1368  * @param flagapproversasnotifiedin This parameter determines whether to set
1369  * the approvalStatus as "Notified" for the generated approvers or
1370  * not based on the input value (ie. Y/N). Default value is Y
1371  * (ame_util.booleanTrue).
1372  * @param approvalprocesscompleteynout This indicates current status of
1373  * transaction's approval process.
1374  * @param nextapproversout This is an ame_util.approverstable2, that will be
1375  * populated with the list of approvers generated, requiring notification for
1376  * the current stage of the input transaction's approval process.
1377  * @rep:displayname Get Next Approvers 4
1378  * @rep:category BUSINESS_ENTITY AME_APPROVAL
1379  * @rep:lifecycle active
1380  * @rep:scope public
1381 */
1382 --
1383 -- {End Of Comments}
1384 --
1385   procedure getNextApprovers4(applicationIdIn in number,
1386                               transactionTypeIn in varchar2,
1387                               transactionIdIn in varchar2,
1388                               flagApproversAsNotifiedIn in varchar2 default ame_util.booleanTrue,
1389                               approvalProcessCompleteYNOut out nocopy varchar2,
1390                               nextApproversOut out nocopy ame_util.approversTable2);
1391 --
1392 -- ----------------------------------------------------------------------------
1393 -- |---------------------------< getpendingapprovers >------------------------|
1394 -- ----------------------------------------------------------------------------
1395 --
1396 -- {Start Of Comments}
1397 /*#
1398  * This API returns the list of pending approvers.
1399  *
1400  * The pending approvers are identified with approver_category =
1401  * ame_util.approvalApproverCategory and approval_status =
1402  * ame_util.notifiedStatus. These are the approvers who must approve before the
1403  * input transaction's approval process will continue to the next stage. If
1404  * approvalProcessCompleteYNOut is other than ame_util2.notComplete, the transaction's
1405  * approval process is complete. If approvalProcessCompleteYNOut is
1406  * ame_util2.notComplete and approversOut.count is zero, the application should
1407  * call one of the getNextApprovers[n] procedures, and notify the approvers
1408  * returned by that procedure. Note : If ame_api2.getNextApprover[n] is called
1409  * with flagApproversNotifiedIn as false, then the subsequent call to this API
1410  * would not return approvers.
1411  *
1412  * <p><b>Licensing</b><br>
1413  * This API is available for use with any licensed component of the e-business
1414  * suite.
1415  *
1416  * <p><b>Prerequisites</b><br>
1417  * No known prerequisites.
1418  *
1419  * <p><b>Post Success</b><br>
1420  * This API will return the list of pending approvers and the status of the
1421  * transaction.
1422  *
1423  * <p><b>Post Failure</b><br>
1424  * This API will not return any approver and will raise an error.
1425  *
1426  * @param applicationidin The fnd_application.application_id value of the
1427  * originating application calling the AME API routine.
1428  * @param transactiontypein This is a string parameter up to 50 bytes long. It
1429  * distinguishes one transaction type from another, within a given originating
1430  * application. It can be null, but you must always pass its value explicitly.
1431  * @param transactionidin This is a string up to 50 bytes long. It identifies a
1432  * transaction within a transaction type. Its value must not contain
1433  * white-space characters, and must not be the character representation of a
1434  * negative integer.
1435  * @param approvalprocesscompleteynout This indicates current status of
1436  * transaction's approval process.
1437  * @param approversout This is an ame_util.approverstable2, that will be
1438  * populated with the list of approvers, those who are already notified but yet
1439  * to respond.
1440  * @rep:displayname Get Pending Approvers
1441  * @rep:category BUSINESS_ENTITY AME_APPROVAL
1442  * @rep:lifecycle active
1443  * @rep:scope public
1444 */
1445 --
1446 -- {End Of Comments}
1447 --
1448   procedure getPendingApprovers(applicationIdIn in number,
1449                                 transactionTypeIn in varchar2,
1450                                 transactionIdIn in varchar2,
1451                                 approvalProcessCompleteYNOut out nocopy varchar2,
1452                                 approversOut out nocopy ame_util.approversTable2);
1453 --
1454 -- ----------------------------------------------------------------------------
1455 -- |------------------------< gettransactionproductions >---------------------|
1456 -- ----------------------------------------------------------------------------
1457 --
1458 -- {Start Of Comments}
1459 /*#
1460  * This API returns all the per-transaction productions for a transaction.
1461  *
1462  * Use this API when your application uses AME as a general-purpose
1463  * production-rule engine. See also ame_api2.getAllApprovers3.
1464  *
1465  * <p><b>Licensing</b><br>
1466  * This API is available for use with any licensed component of the e-business
1467  * suite.
1468  *
1469  * <p><b>Prerequisites</b><br>
1470  * No known prerequisites.
1471  *
1472  * <p><b>Post Success</b><br>
1473  * This API will return the name value pair for all the per-transaction
1474  * productions for a transaction in various out parameters.
1475  *
1476  * <p><b>Post Failure</b><br>
1477  * This API will raise an error.
1478  *
1479  * @param applicationidin The fnd_application.application_id value of the
1480  * originating application calling the AME API routine.
1481  * @param transactiontypein This is a string parameter up to 50 bytes long. It
1482  * distinguishes one transaction type from another, within a given originating
1483  * application. It can be null, but you must always pass its value explicitly.
1484  * @param transactionidin This is a string up to 50 bytes long. It identifies a
1485  * transaction within a transaction type. Its value must not contain
1486  * white-space characters, and must not be the character representation of a
1487  * negative integer.
1488  * @param variablenamesout Per-transaction production variable names.
1489  * @param variablevaluesout Per-transaction production variable values
1490  * corresponding to each production names.
1491  * @rep:displayname Get Transaction Productions
1492  * @rep:category BUSINESS_ENTITY AME_APPROVAL
1493  * @rep:lifecycle active
1494  * @rep:scope public
1495 */
1496 --
1497 -- {End Of Comments}
1498 --
1499   procedure getTransactionProductions(applicationIdIn in number,
1500                                       transactionTypeIn in varchar2,
1501                                       transactionIdIn in varchar2,
1505 -- ----------------------------------------------------------------------------
1502                                       variableNamesOut out nocopy ame_util.stringList,
1503                                       variableValuesOut out nocopy ame_util.stringList);
1504 --
1506 -- |-----------------------------< initializeapprovalprocess >-----------------|
1507 -- ----------------------------------------------------------------------------
1508 --
1509 -- {Start Of Comments}
1510 /*#
1511  * Records the date at which the transaction's approval process was
1512  * initiated and optionally records the current approver list (for the
1513  * sake of making that data available to getOldApprovers).
1514  * The procedure getAllApprovers requires a commit if there has
1515  * been no previous call to any of the API which require transaction
1516  * management. Otherwise, it is now a "read only" procedure (it
1517  * does not require a commit or rollback). To make sure it functions
1518  * as such, make sure your application calls
1519  * The AME API initializeApprovalProcess (with or without recording the
1520  * approver list, it doesn't matter) before it calls any other ame_api
1521  * routine.
1522  *
1523  * <p><b>Licensing</b><br>
1524  * This API is available for use with any licensed component of the e-business
1525  * suite.
1526  *
1527  * <p><b>Prerequisites</b><br>
1528  * No known prerequisites.
1529  *
1530  * <p><b>Post Success</b><br>
1531  * The approval process will be initialized.
1532  *
1533  * <p><b>Post Failure</b><br>
1534  * The API will raise an error.
1535  *
1536  * @param applicationidin The fnd_application.application_id value of the
1537  * originating application calling the AME API routine.
1538  * @param transactiontypein This is a string parameter up to 50 bytes long. It
1539  * distinguishes one transaction type from another, within a given originating
1540  * application. It can be null, but you must always pass its value explicitly.
1541  * @param transactionidin This is a string up to 50 bytes long. It identifies a
1542  * transaction within a transaction type. Its value must not contain
1543  * white-space characters, and must not be the character representation of a
1544  * negative integer.
1545  * @param recordApproverListIn This flag specifies whether to Record the approvers
1546  * list or not.
1547  *
1548  * @rep:displayname Initialize Approval Process
1549  * @rep:category BUSINESS_ENTITY AME_APPROVAL
1550  * @rep:lifecycle active
1551  * @rep:scope public
1552 */
1553 --
1554 -- {End Of Comments}
1555 --
1556   procedure initializeApprovalProcess(applicationIdIn in number,
1557                                       transactionTypeIn in varchar2,
1558                                       transactionIdIn in varchar2,
1559                                       recordApproverListIn in boolean default false);
1560 --
1561 -- ----------------------------------------------------------------------------
1562 -- |-----------------------------< setfirstauthorityapprover >-----------------|
1563 -- ----------------------------------------------------------------------------
1564 --
1565 -- {Start Of Comments}
1566 /*#
1567  * The setFirstAuthorityApprover procedure sets the first approver
1568  * for each chain of authority in the input transaction's approver
1569  * list. Thus if the approver list includes several chains of authority,
1570  * they will all start with approverIn.
1571  *
1572  * <p><b>Licensing</b><br>
1573  * This API is available for use with any licensed component of the e-business
1574  * suite.
1575  *
1576  * <p><b>Prerequisites</b><br>
1577  * 1. The approval_status field of approverIn is null.
1578  * 2. No chain-of-authority approver in the approver list has a
1579  *    non-null approval_status value.
1580  *
1581  * <p><b>Post Success</b><br>
1582  * The first approver for each chain of authority will be set the given approver in
1583  * the given transaction's approver list.
1584  *
1585  * <p><b>Post Failure</b><br>
1586  * The API will raise an error.
1587  *
1588  * @param applicationidin The fnd_application.application_id value of the
1589  * originating application calling the AME API routine.
1590  * @param transactiontypein This is a string parameter up to 50 bytes long. It
1591  * distinguishes one transaction type from another, within a given originating
1592  * application. It can be null, but you must always pass its value explicitly.
1593  * @param transactionidin This is a string up to 50 bytes long. It identifies a
1594  * transaction within a transaction type. Its value must not contain
1595  * white-space characters, and must not be the character representation of a
1596  * negative integer.
1597  * @param approverIn This is the approverRecord defined by ame_util.approverRecord2
1598  * which gives information regarding the Approver.
1599  * @param clearChainStatusYNIn This flag specifies whether to clear chain status or not.
1600  *
1601  * @rep:displayname Set First Authority Approver
1602  * @rep:category BUSINESS_ENTITY AME_APPROVAL
1603  * @rep:lifecycle active
1604  * @rep:scope public
1605 */
1606 --
1607 -- {End Of Comments}
1608 --
1609   procedure setFirstAuthorityApprover(applicationIdIn in number,
1610                                       transactionTypeIn in varchar2,
1611                                       transactionIdIn in varchar2,
1612                                       approverIn in ame_util.approverRecord2,
1613                                       clearChainStatusYNIn in varchar2);
1614 --
1615 -- ----------------------------------------------------------------------------
1616 -- |---------------------------< updateapprovalstatus >-----------------------|
1617 -- ----------------------------------------------------------------------------
1618 --
1619 -- {Start Of Comments}
1620 /*#
1621  * Updates an approver's status (to the approval_status value in
1622  * approverIn); and, if the approval_status value indicates that a
1623  * forwarding/reassignment has occurred, identifies the forwardee. However,
1624  * if the approval_status value is ame_util.clearExceptionsStatus, the
1625  * procedure clears the transaction's exception log in AME, without
1626  * changing any approver's status, regardless of the approver
1627  * identified by approverIn.
1628  * When a chain-of-authority approver forwards, AME makes the
1629  * forwardee also a chain-of-authority approver. Otherwise, the
1630  * forwardee has the api_insertion value ame_util.apiInsertion, and
1631  * the same authority value as the forwarder.
1632  *
1633  * <p><b>Licensing</b><br>
1634  * This API is available for use with any licensed component of the e-business
1635  * suite.
1636  *
1637  * <p><b>Prerequisites</b><br>
1638  * None
1639  *
1640  * <p><b>Post Success</b><br>
1641  * The status of the given approver will be updated with the specified status.
1642  *
1643  * <p><b>Post Failure</b><br>
1644  * The API will raise an error.
1645  *
1646  * @param applicationidin The fnd_application.application_id value for the
1647  * originating application that called the AME API routine.
1648  * @param transactionidin This is a string up to 50 bytes long. It identifies a
1649  * transaction within a transaction type. Its value must not contain
1650  * white-space characters, and must not be the character representation of a
1651  * negative integer.
1652  * @param transactiontypein This is a string parameter up to 50 bytes long. It
1653  * distinguishes one transaction type from another within a given originating
1654  * application. It can be null, but you must always pass its value explicitly.
1655  * @param approverIn Approver record describing the approver.
1656  * @param forwardeeIn Approver record of the forwardee if forwarding has been done.
1657  * @param updateItemIn This flag determines whether the status of the repeated
1658  * occurrences of the approvers in the same item have to be updated or not.
1659  * @rep:displayname Update Approval Status
1660  * @rep:category BUSINESS_ENTITY AME_APPROVAL
1661  * @rep:lifecycle active
1662  * @rep:scope public
1663 */
1664 --
1665 -- {End Of Comments}
1666 --
1667   procedure updateApprovalStatus(applicationIdIn in number,
1668                                  transactionTypeIn in varchar2,
1669                                  transactionIdIn in varchar2,
1670                                  approverIn in ame_util.approverRecord2,
1671                                  forwardeeIn in ame_util.approverRecord2 default ame_util.emptyApproverRecord2,
1672                                  updateItemIn in boolean default false);
1673 --
1674 -- ----------------------------------------------------------------------------
1675 -- |---------------------------< updateapprovalstatuses >---------------------|
1676 -- ----------------------------------------------------------------------------
1677 --
1678 -- This version of the API is now out-of-date however it has been provided to
1679 -- you for backward compatibility support and will be removed in the future.
1680 -- Oracle recommends you to modify existing calling programs in advance of the
1681 -- support being withdrawn thus avoiding any potential disruption.
1682 --
1683   procedure updateApprovalStatuses(applicationIdIn in number,
1684                                    transactionTypeIn in varchar2,
1685                                    transactionIdIn in varchar2,
1686                                    approverIn in ame_util.approverRecord2,
1687                                    approvalStatusesIn in ame_util.stringList default ame_util.emptyStringList,
1688                                    itemClassesIn in ame_util.stringList default ame_util.emptyStringList,
1689                                    itemIdsIn in ame_util.stringList default ame_util.emptyStringList,
1690                                    forwardeesIn in ame_util.approversTable2 default ame_util.emptyApproversTable2);
1691 --
1692 -- ----------------------------------------------------------------------------
1693 -- |--------------------------< updateapprovalstatus2 >-----------------------|
1694 -- ----------------------------------------------------------------------------
1695 --
1696 -- {Start Of Comments}
1697 /*#
1698  * This is a wrapper for updateApprovalStatus that lets you
1699  * identify an approver by name, rather than passing
1700  * an entire ame_util.approverRecord to the API.
1701  *
1702  * <p><b>Licensing</b><br>
1703  * This API is available for use with any licensed component of the e-business
1704  * suite.
1705  *
1706  * <p><b>Prerequisites</b><br>
1707  * None
1708  *
1709  * <p><b>Post Success</b><br>
1710  * The status of the given approver will be updated with the specified status.
1711  *
1712  * <p><b>Post Failure</b><br>
1713  * The API will raise an error.
1714  *
1715  * @param applicationidin The fnd_application.application_id value for the
1716  * originating application that called the AME API routine.
1717  * @param transactionidin This is a string up to 50 bytes long. It identifies a
1718  * transaction within a transaction type. Its value must not contain
1719  * white-space characters, and must not be the character representation of a
1720  * negative integer.
1721  * @param transactiontypein This is a string parameter up to 50 bytes long. It
1722  * distinguishes one transaction type from another within a given originating
1723  * application. It can be null, but you must always pass its value explicitly.
1724  * @param approvalStatusIn This specifies the status to be updated.
1725  * @param approverNameIn This specifies the role name of the approver.
1726  * @param itemClassIn This specifies the Item Class for which the approver status
1727  * has to be updated.
1728  * @param itemIdIn This specifies the Item id for which the approver status
1729  * has to be updated.
1730  * @param actionTypeIdIn This specifies the action type, which has generated
1731  * this approver.
1732  * @param groupOrChainIdIn  This specifies the id of the Group or the chain
1733  * to which the approver belongs to.
1734  * @param occurrenceIn This represents the Occurrence of the approver in the
1735  * approver list of a particular item.
1736  * @param forwardeeIn Approver record of the forwardee if forwarding has been done.
1737  * @param updateItemIn This flag determines whether the status of the repeated
1738  * occurrences of the approvers in the same item have to be updated or not.
1739  * @rep:displayname Update Approval Status 2
1740  * @rep:category BUSINESS_ENTITY AME_APPROVAL
1741  * @rep:lifecycle active
1742  * @rep:scope public
1743 */
1744 --
1745 -- {End Of Comments}
1746 --
1747   procedure updateApprovalStatus2(applicationIdIn in number,
1748                                   transactionTypeIn in varchar2,
1749                                   transactionIdIn in varchar2,
1750                                   approvalStatusIn in varchar2,
1751                                   approverNameIn in varchar2,
1752                                   itemClassIn in varchar2 default null,
1753                                   itemIdIn in varchar2 default null,
1754                                   actionTypeIdIn in number default null,
1755                                   groupOrChainIdIn in number default null,
1756                                   occurrenceIn in number default null,
1757                                   forwardeeIn in ame_util.approverRecord2 default ame_util.emptyApproverRecord2,
1758                                   updateItemIn in boolean default false);
1759 --
1760 -- ----------------------------------------------------------------------------
1761 -- |--------------------------< updateapprovalstatuses2 >---------------------|
1762 -- ----------------------------------------------------------------------------
1763 --
1764 -- This version of the API is now out-of-date however it has been provided to
1765 -- you for backward compatibility support and will be removed in the future.
1766 -- Oracle recommends you to modify existing calling programs in advance of the
1767 -- support being withdrawn thus avoiding any potential disruption.
1768 --
1769   procedure updateApprovalStatuses2(applicationIdIn in number,
1770                                     transactionTypeIn in varchar2,
1771                                     transactionIdIn in varchar2,
1772                                     approvalStatusIn in varchar2,
1773                                     approverNameIn in varchar2,
1774                                     itemClassIn in varchar2 default null,
1775                                     itemIdIn in varchar2 default null,
1776                                     actionTypeIdIn in number default null,
1777                                     groupOrChainIdIn in number default null,
1778                                     occurrenceIn in number default null,
1779                                     approvalStatusesIn in ame_util.stringList default ame_util.emptyStringList,
1780                                     itemClassesIn in ame_util.stringList default ame_util.emptyStringList,
1781                                     itemIdsIn in ame_util.stringList default ame_util.emptyStringList,
1782                                     forwardeesIn in ame_util.approversTable2 default ame_util.emptyApproversTable2);
1783 end ame_api2;