1: package body ame_api6 as
2: /* $Header: ameeapi6.pkb 120.6 2011/11/14 14:54:40 kkananth ship $ */
3: ambiguousApproverException exception;
4: ambiguousApproverMessage constant ame_util.longestStringType :=
5: ame_util.getMessage(applicationShortNameIn =>'PER',
6: messageNameIn => 'AME_400812_NULL_APPR_REC_NAME');
7: procedure getApproverDetails(nameIn in varchar2
8: ,validityOut out NOCOPY varchar2
1: package body ame_api6 as
2: /* $Header: ameeapi6.pkb 120.6 2011/11/14 14:54:40 kkananth ship $ */
3: ambiguousApproverException exception;
4: ambiguousApproverMessage constant ame_util.longestStringType :=
5: ame_util.getMessage(applicationShortNameIn =>'PER',
6: messageNameIn => 'AME_400812_NULL_APPR_REC_NAME');
7: procedure getApproverDetails(nameIn in varchar2
8: ,validityOut out NOCOPY varchar2
9: ,displayNameOut out NOCOPY varchar2
51: end getApproverDetails;
52: procedure getApprovers(applicationIdIn in number
53: ,transactionTypeIn in varchar2
54: ,transactionIdIn in varchar2
55: ,approversOut out nocopy ame_util.approversTable2) as
56: ameApplicationId integer;
57: tempIndex integer;
58: l_valid varchar2(50);
59: l_display_name varchar2(200);
141: approversOut(tempIndex).source := null;
142: end loop;
143: exception
144: when others then
145: ame_util.runtimeException(packageNameIn => 'ame_api6',
146: routineNameIn => 'getApprovers',
147: exceptionNumberIn => sqlcode,
148: exceptionStringIn => sqlerrm);
149: approversOut.delete;
151: end getApprovers;
152: procedure updateApprovalStatus(applicationIdIn in number,
153: transactionTypeIn in varchar2,
154: transactionIdIn in varchar2,
155: approverIn in ame_util.approverRecord2,
156: notificationIn in ame_util2.notificationRecord
157: default ame_util2.emptyNotificationRecord,
158: forwardeeIn in ame_util.approverRecord2 default
159: ame_util.emptyApproverRecord2,
152: procedure updateApprovalStatus(applicationIdIn in number,
153: transactionTypeIn in varchar2,
154: transactionIdIn in varchar2,
155: approverIn in ame_util.approverRecord2,
156: notificationIn in ame_util2.notificationRecord
157: default ame_util2.emptyNotificationRecord,
158: forwardeeIn in ame_util.approverRecord2 default
159: ame_util.emptyApproverRecord2,
160: updateItemIn in boolean default false) as
153: transactionTypeIn in varchar2,
154: transactionIdIn in varchar2,
155: approverIn in ame_util.approverRecord2,
156: notificationIn in ame_util2.notificationRecord
157: default ame_util2.emptyNotificationRecord,
158: forwardeeIn in ame_util.approverRecord2 default
159: ame_util.emptyApproverRecord2,
160: updateItemIn in boolean default false) as
161: errorCode integer;
154: transactionIdIn in varchar2,
155: approverIn in ame_util.approverRecord2,
156: notificationIn in ame_util2.notificationRecord
157: default ame_util2.emptyNotificationRecord,
158: forwardeeIn in ame_util.approverRecord2 default
159: ame_util.emptyApproverRecord2,
160: updateItemIn in boolean default false) as
161: errorCode integer;
162: errorMessage ame_util.longStringType;
155: approverIn in ame_util.approverRecord2,
156: notificationIn in ame_util2.notificationRecord
157: default ame_util2.emptyNotificationRecord,
158: forwardeeIn in ame_util.approverRecord2 default
159: ame_util.emptyApproverRecord2,
160: updateItemIn in boolean default false) as
161: errorCode integer;
162: errorMessage ame_util.longStringType;
163: begin
158: forwardeeIn in ame_util.approverRecord2 default
159: ame_util.emptyApproverRecord2,
160: updateItemIn in boolean default false) as
161: errorCode integer;
162: errorMessage ame_util.longStringType;
163: begin
164: /* Validate the input approver. */
165: if(approverIn.name is null) then
166: raise ambiguousApproverException;
175: exception
176: when ambiguousApproverException then
177: errorCode := -20310;
178: errorMessage := ambiguousApproverMessage;
179: ame_util.runtimeException(packageNameIn => 'ame_api2',
180: routineNameIn => 'updateApprovalStatus',
181: exceptionNumberIn => errorCode,
182: exceptionStringIn => errorMessage);
183: raise_application_error(errorCode,
182: exceptionStringIn => errorMessage);
183: raise_application_error(errorCode,
184: errorMessage);
185: when others then
186: ame_util.runtimeException(packageNameIn => 'ame_api2',
187: routineNameIn => 'updateApprovalStatus',
188: exceptionNumberIn => sqlcode,
189: exceptionStringIn => sqlerrm);
190: raise;
198: itemIdIn in varchar2 default null,
199: actionTypeIdIn in number default null,
200: groupOrChainIdIn in number default null,
201: occurrenceIn in number default null,
202: notificationIn in ame_util2.notificationRecord
203: default ame_util2.emptyNotificationRecord,
204: forwardeeIn in ame_util.approverRecord2
205: default ame_util.emptyApproverRecord2,
206: updateItemIn in boolean default false) as
199: actionTypeIdIn in number default null,
200: groupOrChainIdIn in number default null,
201: occurrenceIn in number default null,
202: notificationIn in ame_util2.notificationRecord
203: default ame_util2.emptyNotificationRecord,
204: forwardeeIn in ame_util.approverRecord2
205: default ame_util.emptyApproverRecord2,
206: updateItemIn in boolean default false) as
207: approver ame_util.approverRecord2;
200: groupOrChainIdIn in number default null,
201: occurrenceIn in number default null,
202: notificationIn in ame_util2.notificationRecord
203: default ame_util2.emptyNotificationRecord,
204: forwardeeIn in ame_util.approverRecord2
205: default ame_util.emptyApproverRecord2,
206: updateItemIn in boolean default false) as
207: approver ame_util.approverRecord2;
208: errorCode integer;
201: occurrenceIn in number default null,
202: notificationIn in ame_util2.notificationRecord
203: default ame_util2.emptyNotificationRecord,
204: forwardeeIn in ame_util.approverRecord2
205: default ame_util.emptyApproverRecord2,
206: updateItemIn in boolean default false) as
207: approver ame_util.approverRecord2;
208: errorCode integer;
209: errorMessage ame_util.longStringType;
203: default ame_util2.emptyNotificationRecord,
204: forwardeeIn in ame_util.approverRecord2
205: default ame_util.emptyApproverRecord2,
206: updateItemIn in boolean default false) as
207: approver ame_util.approverRecord2;
208: errorCode integer;
209: errorMessage ame_util.longStringType;
210: nullApproverException exception;
211: l_error_code number;
205: default ame_util.emptyApproverRecord2,
206: updateItemIn in boolean default false) as
207: approver ame_util.approverRecord2;
208: errorCode integer;
209: errorMessage ame_util.longStringType;
210: nullApproverException exception;
211: l_error_code number;
212: begin
213: /* No locking needed here as it is done in updateApprovalStatus */
231: when others then
232: l_error_code := sqlcode;
233: if l_error_code = -20213 then
234: errorCode := -20224;
235: errorMessage := ame_util.getMessage(applicationShortNameIn =>'PER',
236: messageNameIn => 'AME_400837_INV_APR_FOUND',
237: tokenNameOneIn => 'PROCESS_NAME',
238: tokenValueOneIn => 'ame_api6.updateApprovalStatus2',
239: tokenNameTwoIn => 'NAME',
252: exception
253: when nullApproverException then
254: errorCode := -20309;
255: errorMessage := ambiguousApproverMessage;
256: ame_util.runtimeException(packageNameIn => 'ame_api2',
257: routineNameIn => 'updateApprovalStatus2',
258: exceptionNumberIn => errorCode,
259: exceptionStringIn => errorMessage);
260: raise_application_error(errorCode,
259: exceptionStringIn => errorMessage);
260: raise_application_error(errorCode,
261: errorMessage);
262: when others then
263: ame_util.runtimeException(packageNameIn => 'ame_api2',
264: routineNameIn => 'updateApprovalStatus2',
265: exceptionNumberIn => sqlcode,
266: exceptionStringIn => sqlerrm);
267: raise;
269:
270: procedure getApprovers2(applicationIdIn in number
271: ,transactionTypeIn in varchar2
272: ,transactionIdIn in varchar2
273: ,approversOut out nocopy ame_util.approversTable2) as
274: ameApplicationId integer;
275: tempIndex integer;
276: l_valid varchar2(50);
277: l_display_name varchar2(200);
460: approversOut(tempIndex).source := null;
461: end loop;
462: exception
463: when others then
464: ame_util.runtimeException(packageNameIn => 'ame_api6',
465: routineNameIn => 'getApprovers2',
466: exceptionNumberIn => sqlcode,
467: exceptionStringIn => sqlerrm);
468: approversOut.delete;