[Home] [Help]
PACKAGE BODY: APPS.AP_WEB_DB_EXPTEMPLATE_PKG
Source
1 PACKAGE BODY AP_WEB_DB_EXPTEMPLATE_PKG AS
2 /* $Header: apwdbetb.pls 120.8.12020000.3 2012/08/29 14:52:35 saprayag ship $ */
3 --------------------------------------------------------------------------------
4 FUNCTION GetWebEnabledTemplatesCursor(p_cursor OUT NOCOPY TemplateCursor)
5 RETURN BOOLEAN IS
6 --------------------------------------------------------------------------------
7 BEGIN
8 OPEN p_cursor FOR
9 SELECT expense_report_id, report_type
10 FROM ap_expense_reports
11 WHERE web_enabled_flag = 'Y'
12 AND trunc(sysdate) <= trunc(nvl(inactive_date, sysdate))
13 AND AP_WEB_DB_EXPTEMPLATE_PKG.IsExpTemplateWebEnabled(expense_report_id) = 'Y'
14 ORDER BY UPPER(report_type);
15
16 return TRUE;
17 EXCEPTION
18 WHEN NO_DATA_FOUND THEN
19 return FALSE;
20 WHEN OTHERS THEN
21 AP_WEB_DB_UTIL_PKG.RaiseException('GetWebEnabledTemplatesCursor');
22 APP_EXCEPTION.RAISE_EXCEPTION;
23 return FALSE;
24 END GetWebEnabledTemplatesCursor;
25
26 --------------------------------------------------------------------------------
27 FUNCTION GetExpTypesOfTemplateCursor(p_xtemplateid IN expTypes_reportID,
28 p_cursor OUT NOCOPY ExpTypesOfTemplateCursor)
29 RETURN BOOLEAN IS
30 --------------------------------------------------------------------------------
31 BEGIN
32 OPEN P_cursor FOR
33 SELECT nvl(erp.web_friendly_prompt, erp.prompt),
34 to_char(erp.parameter_id)
35 FROM ap_lookup_codes lc,
36 ap_expense_report_params erp,
37 ap_expense_reports er
38 WHERE (erp.expense_report_id = p_xtemplateid
39 OR ( erp.web_enabled_flag = 'Y'
40 AND trunc(sysdate) <= trunc(nvl(er.inactive_date, sysdate))
41 )
42 )
43 AND lc.lookup_type = 'INVOICE DISTRIBUTION TYPE'
44 AND erp.expense_report_id = er.expense_report_id
45 AND erp.line_type_lookup_code = lc.lookup_code
46 AND trunc(sysdate) <= trunc(nvl(erp.end_date, sysdate))
47 ORDER BY nvl(web_friendly_prompt, prompt);
48
49 return TRUE;
50 EXCEPTION
51 WHEN NO_DATA_FOUND THEN
52 return FALSE;
53 WHEN OTHERS THEN
54 AP_WEB_DB_UTIL_PKG.RaiseException('GetExpTypesOfTemplateCursor');
55 APP_EXCEPTION.RAISE_EXCEPTION;
56 return FALSE;
57 END GetExpTypesOfTemplateCursor;
58
59 --------------------------------------------------------------------------------
60 FUNCTION GetAllExpenseTypesCursor(p_cursor OUT NOCOPY AllExpenseTypesCursor)
61 RETURN BOOLEAN IS
62 --------------------------------------------------------------------------------
63 BEGIN
64 OPEN p_cursor FOR
65 SELECT nvl(web_friendly_prompt, prompt) web_prompt,
66 erp.parameter_id,
67 erp.justification_required_flag,
68 erp.require_receipt_amount
69 FROM ap_expense_report_params erp;
70
71 return TRUE;
72 EXCEPTION
73 WHEN NO_DATA_FOUND THEN
74 return FALSE;
75 WHEN OTHERS THEN
76 AP_WEB_DB_UTIL_PKG.RaiseException('GetAllExpenseTypesCursor');
77 APP_EXCEPTION.RAISE_EXCEPTION;
78 return FALSE;
79 END GetAllExpenseTypesCursor;
80
81 --------------------------------------------------------------------------------
82 FUNCTION GetExpTypesCursor(p_report_id IN expTempl_reportID,
83 p_cursor OUT NOCOPY ExpenseTypesCursor)
84 RETURN BOOLEAN IS
85 --------------------------------------------------------------------------------
86 BEGIN
87 OPEN p_cursor FOR
88
89 SELECT distinct erp.parameter_id,
90 nvl(erp.web_friendly_prompt,erp.prompt) web_prompt,
91 erp.require_receipt_amount,
92 erp.card_exp_type_lookup_code,
93 erp.amount_includes_tax_flag,
94 nvl(erp.justification_required_flag,'V') justif_req
95 FROM ap_expense_report_params erp,
96 ap_expense_reports er
97 WHERE erp.expense_report_id = p_report_id
98 OR (erp.web_enabled_flag = 'Y'
99 AND er.web_enabled_flag = 'Y'
100 AND trunc(sysdate) <= trunc(nvl(inactive_date, sysdate))
101 AND erp.expense_report_id = er.expense_report_id)
102 AND trunc(sysdate) <= trunc(nvl(erp.end_date, sysdate))
103 ORDER BY web_prompt;
104
105
106 return TRUE;
107 EXCEPTION
108 WHEN NO_DATA_FOUND THEN
109 return FALSE;
110 WHEN OTHERS THEN
111 AP_WEB_DB_UTIL_PKG.RaiseException('GetExpTypesCursor');
112 APP_EXCEPTION.RAISE_EXCEPTION;
113 return FALSE;
114 END GetExpTypesCursor;
115
116 --------------------------------------------------------------------------------
117 FUNCTION GetWebExpTypesCursor(p_cursor OUT NOCOPY WebExpenseTypesCursor)
118 RETURN BOOLEAN IS
119 --------------------------------------------------------------------------------
120 BEGIN
121 OPEN p_cursor FOR
122 SELECT erp.parameter_id,
123 nvl(erp.web_friendly_prompt,erp.prompt) web_prompt,
124 erp.prompt,
125 erp.require_receipt_amount,
126 card_exp_type_lookup_code,
127 nvl(erp.justification_required_flag,'V') justif_req,
128 calculate_amount_flag,
129 erp.amount_includes_tax_flag,
130 erp.pa_expenditure_type
131 FROM ap_expense_report_params erp,
132 ap_expense_reports er
133 WHERE erp.expense_report_id = er.expense_report_id
134 AND trunc(sysdate) <= trunc(nvl(er.inactive_date, sysdate))
135 AND trunc(sysdate) <= trunc(nvl(erp.end_date, sysdate))
136 AND er.web_enabled_flag = 'Y';
137
138 return TRUE;
139 EXCEPTION
140 WHEN NO_DATA_FOUND THEN
141 return FALSE;
142 WHEN OTHERS THEN
143 AP_WEB_DB_UTIL_PKG.RaiseException('GetWebExpTypesCursor');
144 APP_EXCEPTION.RAISE_EXCEPTION;
145 return FALSE;
146 END GetWebExpTypesCursor;
147
148
149 --------------------------------------------------------------------------------
150 FUNCTION GetJustifReqdExpTypesCursor(p_cursor OUT NOCOPY JustificationExpTypeCursor)
151 RETURN BOOLEAN IS
152 --------------------------------------------------------------------------------
153 BEGIN
154 OPEN p_cursor FOR
155 SELECT erp.parameter_id
156 FROM ap_expense_report_params erp
157 WHERE nvl(erp.justification_required_flag,'V') = 'Y'
158 ORDER BY nvl(web_friendly_prompt, prompt);
159
160 return TRUE;
161 EXCEPTION
162 WHEN NO_DATA_FOUND THEN
163 return FALSE;
164 WHEN OTHERS THEN
165 AP_WEB_DB_UTIL_PKG.RaiseException('GetJustifReqdExpTypesCursor');
166 APP_EXCEPTION.RAISE_EXCEPTION;
167 return FALSE;
168 END GetJustifReqdExpTypesCursor;
169
170
171 --------------------------------------------------------------------------------
172 FUNCTION GetTemplateName(P_TemplateID IN expTypes_reportID,
173 P_TemplateName OUT NOCOPY expTypes_reportType)
174
175 RETURN BOOLEAN IS
176 --------------------------------------------------------------------------------
177 l_debugInfo varchar2(240);
178 BEGIN
179
180 -------------------------------------------------------
181 l_debugInfo := 'getTemplateName';
182 -------------------------------------------------------
183 SELECT report_type
184 INTO P_TemplateName
185 FROM ap_expense_reports WHERE web_enabled_flag = 'Y'
186 AND expense_report_id = P_TemplateID;
187
188 return TRUE;
189 EXCEPTION
190 WHEN NO_DATA_FOUND THEN
191 return FALSE;
192 WHEN OTHERS THEN
193 AP_WEB_DB_UTIL_PKG.RaiseException('GetTemplateName');
194 APP_EXCEPTION.RAISE_EXCEPTION;
195 return FALSE;
196 END GetTemplateName;
197
198
199 --------------------------------------------------------------------------------
200 FUNCTION GetExpTemplateId(
201 p_report_type IN expTypes_reportType,
202 p_exp_temp_id OUT NOCOPY expTypes_reportID)
203 RETURN BOOLEAN IS
204 --------------------------------------------------------------------------------
205 v_graceperiod NUMBER;
206
207 BEGIN
208 /*
209 -- Fix 1472710, Added check to verify if the template is valid.
210 SELECT expense_report_id
211 INTO p_exp_temp_id
212 FROM ap_expense_reports
213 WHERE web_enabled_flag = 'Y'
214 AND trunc(sysdate) <= trunc(nvl(inactive_date, sysdate))
215 AND report_type = p_report_type;
216 */
217
218 -- Fix 9878612, Added steps to consider 'Grace Period' for
219 -- End-dated Expense Templates
220
221 v_graceperiod := AP_WEB_UTILITIES_PKG.VALUE_SPECIFIC(
222 p_name => 'AP_WEB_POLICY_GRACE_PERIOD',
223 p_user_id => FND_PROFILE.VALUE('USER_ID'),
224 p_resp_id => FND_PROFILE.VALUE('RESP_ID'),
225 p_apps_id => FND_PROFILE.VALUE('RESP_APPL_ID'));
226
227 SELECT expense_report_id
228 INTO p_exp_temp_id
229 FROM ap_expense_reports
230 WHERE web_enabled_flag = 'Y'
231 AND trunc(sysdate) <= trunc(nvl(inactive_date + v_graceperiod, sysdate))
232 AND report_type = p_report_type;
233
234 return TRUE;
235
236 EXCEPTION
237 WHEN NO_DATA_FOUND THEN
238 return FALSE;
239 WHEN OTHERS THEN
240 AP_WEB_DB_UTIL_PKG.RaiseException('GetExpTemplateId');
241 APP_EXCEPTION.RAISE_EXCEPTION;
242 return FALSE;
243 END GetExpTemplateId;
244
245 -------------------------------------------------------------------
246 FUNCTION GetExpTypePrompt(p_parameter_id IN expTempl_paramID,
247 p_exp_prompt OUT NOCOPY expTempl_prompt)
248 RETURN BOOLEAN IS
249 -------------------------------------------------------------------
250 BEGIN
251 SELECT prompt
252 INTO p_exp_prompt
253 FROM ap_expense_report_params
254 WHERE parameter_id = p_parameter_id;
255
256 return TRUE;
257
258 EXCEPTION
259 WHEN NO_DATA_FOUND THEN
260 return FALSE;
261 WHEN OTHERS THEN
262 AP_WEB_DB_UTIL_PKG.RaiseException('GetExpTypePrompt');
263 APP_EXCEPTION.RAISE_EXCEPTION;
264 return FALSE;
265 END GetExpTypePrompt;
266
267 -------------------------------------------------------------------
268 FUNCTION GetPersonalParamID(p_parameter_id OUT NOCOPY expTempl_paramID)
269 RETURN BOOLEAN IS
270 -------------------------------------------------------------------
271 BEGIN
272 SELECT parameter_id
273 INTO p_parameter_id
274 FROM ap_expense_report_params
275 WHERE expense_type_code = 'PERSONAL';
276
277 return TRUE;
278
279 EXCEPTION
280 WHEN NO_DATA_FOUND THEN
281 return FALSE;
282 WHEN OTHERS THEN
283 AP_WEB_DB_UTIL_PKG.RaiseException('GetPersonalParamID');
284 APP_EXCEPTION.RAISE_EXCEPTION;
285 return FALSE;
286 END GetPersonalParamID;
287
288 -------------------------------------------------------------------
289 FUNCTION GetExpTypeInfo(P_ExpTypeID IN expTempl_paramID,
290 P_ExpTypeRec IN OUT NOCOPY ExpTypeInfoRec
291 ) RETURN BOOLEAN IS
292 -------------------------------------------------------------------
293 l_debug_info VARCHAR2(100);
294 l_curr_calling_sequence VARCHAR2(100) := 'GetExpTypeInfo';
295 BEGIN
296 -----------------------------------------------------------------
297 l_debug_info := 'Retrieving line_type_lookup_code';
298 -------------------------------------------------------------------
299 SELECT FLEX_CONCACTENATED,
300 VAT_CODE,
301 AMOUNT_INCLUDES_TAX_FLAG,
302 LINE_TYPE_LOOKUP_CODE,
303 PA_EXPENDITURE_TYPE
304 INTO P_ExpTypeRec.flex_concat,
305 P_ExpTypeRec.vat_code,
306 P_ExpTypeRec.amt_incl_tax,
307 P_ExpTypeRec.line_type,
308 p_ExpTypeRec.pa_exp_type
309 FROM AP_EXPENSE_REPORT_PARAMS
310 WHERE PARAMETER_ID = P_ExpTypeID;
311
312 return TRUE;
313 EXCEPTION
314 WHEN NO_DATA_FOUND THEN
315 return FALSE;
316 WHEN OTHERS THEN
317 AP_WEB_DB_UTIL_PKG.RaiseException('GetExpTypeInfo', l_debug_info);
318 APP_EXCEPTION.RAISE_EXCEPTION;
319 return FALSE;
320 END GetExpTypeInfo;
321
322
323 -------------------------------------------------------------------
324 FUNCTION IsExpTemplateWebEnabled(p_expense_report_id IN ap_expense_reports.expense_report_id%TYPE)
325 RETURN VARCHAR2 IS
326 -------------------------------------------------------------------
327
328 l_exp_types_cursor AP_WEB_DB_EXPTEMPLATE_PKG.ExpenseTypesCursor;
329 l_parameter_id AP_WEB_DB_EXPTEMPLATE_PKG.expTempl_paramID;
330 l_web_FriendlyPrompt AP_WEB_DB_EXPTEMPLATE_PKG.expTempl_webFriendlyPrompt;
331 l_require_receipt_amount AP_WEB_DB_EXPTEMPLATE_PKG.expTempl_requireReceiptAmt;
332 l_card_exp_type_lookup_code AP_WEB_DB_EXPTEMPLATE_PKG.expTempl_cardExpTypeLookupCode;
333 l_amount_includes_tax_flag AP_WEB_DB_EXPTEMPLATE_PKG.expTempl_amtInclTaxFlag;
334 l_justif_req AP_WEB_DB_EXPTEMPLATE_PKG.expTempl_justificationReqdFlag;
335
336 BEGIN
337
338 IF (AP_WEB_DB_EXPTEMPLATE_PKG.GetExpTypesCursor(to_number(p_expense_report_id), l_exp_types_cursor)) THEN
339 LOOP
340 FETCH l_exp_types_cursor
341 INTO l_parameter_id,
342 l_web_FriendlyPrompt,
343 l_require_receipt_amount,
344 l_card_exp_type_lookup_code,
345 l_amount_includes_tax_flag,
346 l_justif_req;
347 EXIT WHEN l_exp_types_cursor%NOTFOUND;
348
349 if (AP_WEB_OA_DISC_PKG.AreMPDRateSchedulesAssigned(l_parameter_id)
350 or AP_WEB_OA_DISC_PKG.ArePCRateSchedulesAssigned(l_parameter_id)
351 or AP_WEB_OA_DISC_PKG.AreExpenseFieldsRequired(l_parameter_id)
352 or AP_WEB_OA_DISC_PKG.AreExpenseFieldsEnabled(l_parameter_id)
353 or AP_WEB_OA_DISC_PKG.IsItemizationRequired(l_parameter_id)
354 ) then
355 CLOSE l_exp_types_cursor;
356 return 'N';
357 end if;
358
359 END LOOP;
360 CLOSE l_exp_types_cursor;
361
362 return 'Y';
363
364 END IF;
365
366 return 'N';
367
368 EXCEPTION
369 WHEN NO_DATA_FOUND THEN
370 return 'N';
371 WHEN OTHERS THEN
372 AP_WEB_DB_UTIL_PKG.RaiseException('IsExpTemplateWebEnabled');
373 APP_EXCEPTION.RAISE_EXCEPTION;
374 return 'N';
375 END IsExpTemplateWebEnabled;
376
377 -------------------------------------------------------------------
378 FUNCTION GetNumWebEnabledExpTemplates(p_count OUT NOCOPY NUMBER)
379 RETURN BOOLEAN IS
380 -------------------------------------------------------------------
381 BEGIN
382 SELECT COUNT(*)
383 INTO p_count
384 FROM ap_expense_reports
385 WHERE web_enabled_flag = 'Y'
386 AND trunc(sysdate) <= trunc(nvl(inactive_date, sysdate))
387 AND AP_WEB_DB_EXPTEMPLATE_PKG.IsExpTemplateWebEnabled(expense_report_id) = 'Y';
388
389 return TRUE;
390 EXCEPTION
391 WHEN NO_DATA_FOUND THEN
392 p_count := 0;
393 return FALSE;
394 WHEN OTHERS THEN
395 AP_WEB_DB_UTIL_PKG.RaiseException('GetNumWebEnabledExpTemplates');
396 APP_EXCEPTION.RAISE_EXCEPTION;
397 return FALSE;
398 END GetNumWebEnabledExpTemplates;
399
400
401 ----------------------------------------------------------------------------
402 FUNCTION Get_ItemDesc_LookupCode(
403 p_xtype IN VARCHAR2,
404 p_item_description OUT NOCOPY expTempl_prompt,
405 p_line_type_lookup_code OUT NOCOPY expTempl_lineTypeLookupCode,
406 p_require_receipt_amount OUT NOCOPY expTempl_requireReceiptAmt
407 ) RETURN BOOLEAN IS
408 ----------------------------------------------------------------------------
409 BEGIN
410 IF (p_xtype is NULL) THEN
411 p_item_description := 'ITEM';
412 p_line_type_lookup_code := 'ITEM';
413 p_require_receipt_amount := 0;
414 ELSE
415 SELECT nvl(prompt,'ITEM'),
416 nvl(line_type_lookup_code,'ITEM'),
417 nvl(require_receipt_amount,-1)
418 INTO p_item_description,
419 p_line_type_lookup_code,
420 p_require_receipt_amount
421 FROM AP_EXPENSE_REPORT_PARAMS
422 WHERE parameter_id = p_xtype;
423 END IF;
424
425 RETURN TRUE;
426
427 EXCEPTION
428 WHEN NO_DATA_FOUND THEN
429 RETURN FALSE;
430 WHEN OTHERS THEN
431 AP_WEB_DB_UTIL_PKG.RaiseException('Get_ItemDesc_LookupCode');
432 APP_EXCEPTION.RAISE_EXCEPTION;
433 return FALSE;
434
435 END Get_ItemDesc_LookupCode;
436
437 -------------------------------------------------------------------
438 FUNCTION GetDefaultTemplateId(
439 p_default_template_id OUT NOCOPY AP_SYSTEM_PARAMETERS.expense_report_id%TYPE
440 )
441 RETURN BOOLEAN IS
442 -------------------------------------------------------------------
443 l_base_curr_code AP_WEB_DB_AP_INT_PKG.apSetup_baseCurrencyCode;
444 l_set_of_books_id AP_WEB_DB_AP_INT_PKG.apSetup_setOfBooksID;
445 l_default_exch_rate_type AP_WEB_DB_AP_INT_PKG.apSetUp_defaultExchRateType;
446 BEGIN
447 return AP_WEB_DB_AP_INT_PKG.get_ap_system_params(p_base_curr_code => l_base_curr_code,
448 p_set_of_books_id => l_set_of_books_id,
449 p_expense_report_id => p_default_template_id,
450 p_default_exch_rate_type => l_default_exch_rate_type);
451
452 EXCEPTION
453 WHEN NO_DATA_FOUND THEN
454 p_default_template_id := null;
455 return FALSE;
456 WHEN OTHERS THEN
457 AP_WEB_DB_UTIL_PKG.RaiseException('GetDefaultTemplateId');
458 APP_EXCEPTION.RAISE_EXCEPTION;
459 return FALSE;
460 END GetDefaultTemplateId;
461
462
463 FUNCTION IsCustomCalculateEnabled(p_template_id IN VARCHAR2,
464 p_parameter_id IN VARCHAR2)
465 RETURN BOOLEAN IS
466
467 l_calculate_amount_enabled AP_EXPENSE_REPORT_PARAMS.calculate_amount_flag%TYPE;
468 l_debug_info VARCHAR2(2000);
469
470 BEGIN
471
472 ------------------------------------------------------------------------
473 l_debug_info := 'Retrieving Calculate Amount Flag for the expense type';
474 ------------------------------------------------------------------------
475
476 SELECT erp.calculate_amount_flag
477 INTO l_calculate_amount_enabled
478 FROM ap_lookup_codes lc,
479 ap_expense_report_params erp
480 WHERE (erp.expense_report_id = to_number(p_template_id)
481 AND erp.parameter_id = to_number(p_parameter_id))
482 AND erp.line_type_lookup_code = lc.lookup_code
483 AND lc.lookup_type = 'INVOICE DISTRIBUTION TYPE';
484
485 if (SQL%NOTFOUND) then
486 Raise NO_DATA_FOUND;
487 end if;
488
489 IF l_calculate_amount_enabled = 'Y' THEN
490 return TRUE;
491 ELSE
492 return FALSE;
493 END IF;
494
495 EXCEPTION
496 WHEN NO_DATA_FOUND THEN return FALSE;
497 WHEN OTHERS THEN
498 BEGIN
499 IF (SQLCODE <> -20001) THEN
500 FND_MESSAGE.SET_NAME('SQLAP','AP_DEBUG');
501 FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
502 FND_MESSAGE.SET_TOKEN('CALLING_SEQUENCE',
503 'IsCustomCalculateEnabled');
504 FND_MESSAGE.SET_TOKEN('PARAMETERS',
505 'None passed.');
506 FND_MESSAGE.SET_TOKEN('DEBUG_INFO',l_debug_info);
507 APP_EXCEPTION.RAISE_EXCEPTION;
508 ELSE
509 -- Do not need to set the token since it has been done in the
510 -- child process
511 RAISE;
512 END IF;
513 END;
514 END IsCustomCalculateEnabled;
515
516
517 -------------------------------------------------------------------
518 -- This function was added for bug 2771545
519 FUNCTION GetRequireReceiptAmt(P_ExpTypeID IN expTempl_paramID,
520 p_require_receipt_amount OUT NOCOPY expTempl_requireReceiptAmt
521 ) RETURN BOOLEAN IS
522 -------------------------------------------------------------------
523 l_debug_info VARCHAR2(100);
524 l_curr_calling_sequence VARCHAR2(100) := 'GetRequireReceiptAmt';
525
526 BEGIN
527 -----------------------------------------------------------------
528 l_debug_info := 'Retrieving require_receipt_amount';
529 -------------------------------------------------------------------
530 SELECT require_receipt_amount
531 INTO p_require_receipt_amount
532 FROM AP_EXPENSE_REPORT_PARAMS
533 WHERE PARAMETER_ID = P_ExpTypeID;
534
535 return TRUE;
536 EXCEPTION
537 WHEN NO_DATA_FOUND THEN
538 return FALSE;
539 WHEN OTHERS THEN
540 IF (SQLCODE <> -20001) THEN
541 FND_MESSAGE.SET_NAME('SQLAP','AP_DEBUG');
542 FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
543 FND_MESSAGE.SET_TOKEN('CALLING_SEQUENCE', 'GetRequireReceiptAmt');
544 FND_MESSAGE.SET_TOKEN('DEBUG_INFO',l_debug_info);
545 APP_EXCEPTION.RAISE_EXCEPTION;
546 ELSE
547 -- Do not need to set the token since it has been done in the
548 -- child process
549 RAISE;
550 END IF;
551 END GetRequireReceiptAmt;
552
553 /* jrautiai ADJ Fix Start */
554 FUNCTION GetRoundingParamID(p_parameter_id OUT NOCOPY expTempl_paramID)
555 RETURN BOOLEAN IS
556 BEGIN
557 SELECT parameter_id
558 INTO p_parameter_id
559 FROM ap_expense_report_params
560 WHERE expense_type_code = 'ROUNDING';
561
562 return TRUE;
563
564 EXCEPTION
565 WHEN NO_DATA_FOUND THEN
566 return FALSE;
567 WHEN OTHERS THEN
568 AP_WEB_DB_UTIL_PKG.RaiseException('GetRoundingParamID');
569 APP_EXCEPTION.RAISE_EXCEPTION;
570 return FALSE;
571 END GetRoundingParamID;
572 /* jrautiai ADJ Fix End */
573
574 END AP_WEB_DB_EXPTEMPLATE_PKG;