1 package ame_api2 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>
31 * This API will return true if the approver represented by approverIn has a
32 * current wf_roles entry, otherwise will return false.
33 *
34 * <p><b>Post Failure</b><br>
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
159 * for approvals, assuming the originating application has communicated such
160 * responses to AME via ame_api2.updateApprovalStatus or
161 * ame_api2.updateApprovalStatus2.
162 * <p> approvalProcessCompleteYNOut can have one of the following values
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
345 * <p><b>Post Failure</b><br>
342 * per-transaction productions (name, value) pair, and both rule-generated and
343 * inserted approver for a transaction into the various out parameters.
344 *
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
450 * white-space characters, and must not be the character representation of a
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
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.
539 * requiring for 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
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 >-----------------------|
702 /*#
699 -- ----------------------------------------------------------------------------
700 --
701 -- {Start Of Comments}
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 >------------------|
822 /*#
819 -- ----------------------------------------------------------------------------
820 --
821 -- {Start Of Comments}
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 --
870 procedure getAndRecordAllApprovers(applicationIdIn in number,
871 transactionTypeIn in varchar2,
872 transactionIdIn in varchar2,
873 approvalProcessCompleteYNOut out nocopy 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,
942 --
939 itemClassIdIn in integer,
940 itemIdIn in varchar2,
941 approvalProcessCompleteYNOut out nocopy varchar2);
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,
1064 -- ----------------------------------------------------------------------------
1061 itemIdsOut out nocopy ame_util.stringList,
1062 approvalProcessesCompleteYNOut out nocopy ame_util.charList);
1063 --
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
1172 * eSignature requirements. See also ame_api2.getAllApprovers2 and
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
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
1282 * @param flagapproversasnotifiedin This parameter determines whether to set
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.
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,
1391 --
1388 flagApproversAsNotifiedIn in varchar2 default ame_util.booleanTrue,
1389 approvalProcessCompleteYNOut out nocopy varchar2,
1390 nextApproversOut out nocopy ame_util.approversTable2);
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,
1502 variableNamesOut out nocopy ame_util.stringList,
1503 variableValuesOut out nocopy ame_util.stringList);
1504 --
1505 -- ----------------------------------------------------------------------------
1509 -- {Start Of Comments}
1506 -- |-----------------------------< initializeapprovalprocess >-----------------|
1507 -- ----------------------------------------------------------------------------
1508 --
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
1630 * forwardee has the api_insertion value ame_util.apiInsertion, and
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
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.
1740 * @rep:category BUSINESS_ENTITY AME_APPROVAL
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
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;