125: l_returnvalue VARCHAR2(1) := 'Y';
126: l_api_name VARCHAR2(30) := 'Change_Within_Tol_Date';
127: BEGIN
128: IF (g_debug = 'Y'
129: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
130: fnd_log.string(fnd_log.level_statement, g_module_prefix
131: || l_api_name, 'Parameters:'
132: ||' OldValue:'
133: || to_char(p_oldvalue, 'DD-MON-YYYY')
126: l_api_name VARCHAR2(30) := 'Change_Within_Tol_Date';
127: BEGIN
128: IF (g_debug = 'Y'
129: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
130: fnd_log.string(fnd_log.level_statement, g_module_prefix
131: || l_api_name, 'Parameters:'
132: ||' OldValue:'
133: || to_char(p_oldvalue, 'DD-MON-YYYY')
134: ||' NewValue:'
158: END IF;
159: END IF;
160:
161: IF (g_debug = 'Y'
162: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
163: fnd_log.string(fnd_log.level_statement, g_module_prefix
164: || l_api_name,'Return Value:'
165: || l_returnvalue);
166: END IF;
159: END IF;
160:
161: IF (g_debug = 'Y'
162: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
163: fnd_log.string(fnd_log.level_statement, g_module_prefix
164: || l_api_name,'Return Value:'
165: || l_returnvalue);
166: END IF;
167:
191: l_returnvalue VARCHAR2(1) := 'Y';
192: l_api_name VARCHAR2(30) := 'Change_Within_Tol_Percent';
193: BEGIN
194: IF (g_debug = 'Y'
195: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
196: fnd_log.string(fnd_log.level_statement, g_module_prefix
197: || l_api_name, 'Parameters:'
198: ||' OldValue:'
199: || to_char(p_oldvalue)
192: l_api_name VARCHAR2(30) := 'Change_Within_Tol_Percent';
193: BEGIN
194: IF (g_debug = 'Y'
195: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
196: fnd_log.string(fnd_log.level_statement, g_module_prefix
197: || l_api_name, 'Parameters:'
198: ||' OldValue:'
199: || to_char(p_oldvalue)
200: ||' NewValue:'
211: AND p_oldvalue <> 0) THEN
212: l_changepercent := abs((p_oldvalue - p_newvalue) / p_oldvalue) * 100;
213:
214: IF (g_debug = 'Y'
215: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
216: fnd_log.string(fnd_log.level_statement, g_module_prefix
217: || l_api_name, 'ChangePercent:'
218: || to_char(l_changepercent));
219: END IF;
212: l_changepercent := abs((p_oldvalue - p_newvalue) / p_oldvalue) * 100;
213:
214: IF (g_debug = 'Y'
215: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
216: fnd_log.string(fnd_log.level_statement, g_module_prefix
217: || l_api_name, 'ChangePercent:'
218: || to_char(l_changepercent));
219: END IF;
220: -- value has increased
233: END IF;
234: END IF;
235:
236: IF (g_debug = 'Y'
237: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
238: fnd_log.string(fnd_log.level_statement, g_module_prefix
239: || l_api_name,'Return Value:'
240: || l_returnvalue);
241: END IF;
234: END IF;
235:
236: IF (g_debug = 'Y'
237: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
238: fnd_log.string(fnd_log.level_statement, g_module_prefix
239: || l_api_name,'Return Value:'
240: || l_returnvalue);
241: END IF;
242:
266: l_returnvalue VARCHAR2(1) := 'Y';
267: l_api_name VARCHAR2(30) := 'Change_Within_Tol_Amount';
268: BEGIN
269: IF (g_debug = 'Y'
270: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
271: fnd_log.string(fnd_log.level_statement, g_module_prefix
272: || l_api_name, 'Parameters:'
273: ||' OldValue:'
274: || to_char(p_oldvalue)
267: l_api_name VARCHAR2(30) := 'Change_Within_Tol_Amount';
268: BEGIN
269: IF (g_debug = 'Y'
270: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
271: fnd_log.string(fnd_log.level_statement, g_module_prefix
272: || l_api_name, 'Parameters:'
273: ||' OldValue:'
274: || to_char(p_oldvalue)
275: ||' NewValue:'
300: END IF;
301: END IF;
302:
303: IF (g_debug = 'Y'
304: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
305: fnd_log.string(fnd_log.level_statement, g_module_prefix
306: || l_api_name,'Return Value:'
307: || l_returnvalue);
308: END IF;
301: END IF;
302:
303: IF (g_debug = 'Y'
304: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
305: fnd_log.string(fnd_log.level_statement, g_module_prefix
306: || l_api_name,'Return Value:'
307: || l_returnvalue);
308: END IF;
309:
356: l_call_amount_api := FALSE;
357: END IF;
358:
359: IF (g_debug = 'Y'
360: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
361: IF (l_call_percent_api) THEN
362: fnd_log.string(fnd_log.level_statement, g_module_prefix
363: || l_api_name,'l_call_percent_api: Y');
364: ELSE
358:
359: IF (g_debug = 'Y'
360: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
361: IF (l_call_percent_api) THEN
362: fnd_log.string(fnd_log.level_statement, g_module_prefix
363: || l_api_name,'l_call_percent_api: Y');
364: ELSE
365: fnd_log.string(fnd_log.level_statement, g_module_prefix
366: || l_api_name,'l_call_percent_api: N');
361: IF (l_call_percent_api) THEN
362: fnd_log.string(fnd_log.level_statement, g_module_prefix
363: || l_api_name,'l_call_percent_api: Y');
364: ELSE
365: fnd_log.string(fnd_log.level_statement, g_module_prefix
366: || l_api_name,'l_call_percent_api: N');
367: END IF;
368:
369: IF (l_call_amount_api) THEN
366: || l_api_name,'l_call_percent_api: N');
367: END IF;
368:
369: IF (l_call_amount_api) THEN
370: fnd_log.string(fnd_log.level_statement, g_module_prefix
371: || l_api_name,'l_call_amount_api: Y');
372: ELSE
373: fnd_log.string(fnd_log.level_statement, g_module_prefix
374: || l_api_name,'l_call_amount_api: N');
369: IF (l_call_amount_api) THEN
370: fnd_log.string(fnd_log.level_statement, g_module_prefix
371: || l_api_name,'l_call_amount_api: Y');
372: ELSE
373: fnd_log.string(fnd_log.level_statement, g_module_prefix
374: || l_api_name,'l_call_amount_api: N');
375: END IF;
376: END IF;
377:
378: IF (l_call_percent_api) THEN
379: l_returnvalue := change_within_tol_percent(p_oldvalue, p_newvalue, p_maxincrement, p_maxdecrement);
380:
381: IF (g_debug = 'Y'
382: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
383: fnd_log.string(fnd_log.level_statement, g_module_prefix
384: || l_api_name,'Change_Within_Tol_Percent Return Value:'
385: || l_returnvalue);
386: END IF;
379: l_returnvalue := change_within_tol_percent(p_oldvalue, p_newvalue, p_maxincrement, p_maxdecrement);
380:
381: IF (g_debug = 'Y'
382: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
383: fnd_log.string(fnd_log.level_statement, g_module_prefix
384: || l_api_name,'Change_Within_Tol_Percent Return Value:'
385: || l_returnvalue);
386: END IF;
387: END IF;
392: p_maxdecrementamount);
393: END IF;
394:
395: IF (g_debug = 'Y'
396: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
397: fnd_log.string(fnd_log.level_statement, g_module_prefix
398: || l_api_name,'Return Value:'
399: || l_returnvalue);
400: END IF;
393: END IF;
394:
395: IF (g_debug = 'Y'
396: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
397: fnd_log.string(fnd_log.level_statement, g_module_prefix
398: || l_api_name,'Return Value:'
399: || l_returnvalue);
400: END IF;
401:
420: l_msg_data VARCHAR2(100);
421: l_api_name VARCHAR2(30) := 'Populate_INTERNAL_Tolerances';
422: BEGIN
423: IF (g_debug = 'Y'
424: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
425: fnd_log.string(fnd_log.level_statement, g_module_prefix
426: || l_api_name,'p_organization_id :'
427: || p_organization_id);
428: END IF;
421: l_api_name VARCHAR2(30) := 'Populate_INTERNAL_Tolerances';
422: BEGIN
423: IF (g_debug = 'Y'
424: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
425: fnd_log.string(fnd_log.level_statement, g_module_prefix
426: || l_api_name,'p_organization_id :'
427: || p_organization_id);
428: END IF;
429:
433: x_tolerances_tbl => l_tolerances_tbl, x_return_status => l_return_status,
434: x_msg_count => l_msg_count, x_msg_data => l_msg_data);
435:
436: IF (g_debug = 'Y'
437: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
438: fnd_log.string(fnd_log.level_statement, g_module_prefix
439: || l_api_name,'PO_CO_Tolerances_Grp.get_tolerances API result:'
440: || l_return_status);
441: END IF;
434: x_msg_count => l_msg_count, x_msg_data => l_msg_data);
435:
436: IF (g_debug = 'Y'
437: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
438: fnd_log.string(fnd_log.level_statement, g_module_prefix
439: || l_api_name,'PO_CO_Tolerances_Grp.get_tolerances API result:'
440: || l_return_status);
441: END IF;
442:
441: END IF;
442:
443: IF (l_return_status <> fnd_api.g_ret_sts_success) THEN
444: IF (g_debug = 'Y'
445: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
446: fnd_log.string(fnd_log.level_statement, g_module_prefix
447: || l_api_name,'PO_CO_Tolerances_Grp.get_tolerances API failed:'
448: || l_msg_count
449: ||' '
442:
443: IF (l_return_status <> fnd_api.g_ret_sts_success) THEN
444: IF (g_debug = 'Y'
445: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
446: fnd_log.string(fnd_log.level_statement, g_module_prefix
447: || l_api_name,'PO_CO_Tolerances_Grp.get_tolerances API failed:'
448: || l_msg_count
449: ||' '
450: || l_msg_data);
473: l_msg_data VARCHAR2(100);
474: l_api_name VARCHAR2(30) := 'Populate_Tolerances';
475: BEGIN
476: IF (g_debug = 'Y'
477: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
478: fnd_log.string(fnd_log.level_statement, g_module_prefix
479: || l_api_name,'p_organization_id :'
480: || p_organization_id);
481: END IF;
474: l_api_name VARCHAR2(30) := 'Populate_Tolerances';
475: BEGIN
476: IF (g_debug = 'Y'
477: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
478: fnd_log.string(fnd_log.level_statement, g_module_prefix
479: || l_api_name,'p_organization_id :'
480: || p_organization_id);
481: END IF;
482:
485: x_tolerances_tbl => l_tolerances_tbl, x_return_status => l_return_status,
486: x_msg_count => l_msg_count, x_msg_data => l_msg_data);
487:
488: IF (g_debug = 'Y'
489: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
490: fnd_log.string(fnd_log.level_statement, g_module_prefix
491: || l_api_name,'PO_CO_Tolerances_Grp.get_tolerances API result:'
492: || l_return_status);
493: END IF;
486: x_msg_count => l_msg_count, x_msg_data => l_msg_data);
487:
488: IF (g_debug = 'Y'
489: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
490: fnd_log.string(fnd_log.level_statement, g_module_prefix
491: || l_api_name,'PO_CO_Tolerances_Grp.get_tolerances API result:'
492: || l_return_status);
493: END IF;
494:
493: END IF;
494:
495: IF (l_return_status <> fnd_api.g_ret_sts_success) THEN
496: IF (g_debug = 'Y'
497: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
498: fnd_log.string(fnd_log.level_statement, g_module_prefix
499: || l_api_name,'PO_CO_Tolerances_Grp.get_tolerances API failed:'
500: || l_msg_count
501: ||' '
494:
495: IF (l_return_status <> fnd_api.g_ret_sts_success) THEN
496: IF (g_debug = 'Y'
497: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
498: fnd_log.string(fnd_log.level_statement, g_module_prefix
499: || l_api_name,'PO_CO_Tolerances_Grp.get_tolerances API failed:'
500: || l_msg_count
501: ||' '
502: || l_msg_data);
530: BEGIN
531: l_progress := '001';
532:
533: IF (g_debug = 'Y'
534: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
535: fnd_log.string(fnd_log.level_statement, g_module_prefix
536: || l_api_name, 'p_reqgrp_id:'
537: || p_reqgrp_id
538: ||' p_reqheader_id:'
531: l_progress := '001';
532:
533: IF (g_debug = 'Y'
534: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
535: fnd_log.string(fnd_log.level_statement, g_module_prefix
536: || l_api_name, 'p_reqgrp_id:'
537: || p_reqgrp_id
538: ||' p_reqheader_id:'
539: || p_reqheader_id
553:
554: l_progress := '002';
555:
556: IF (g_debug = 'Y'
557: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
558: fnd_log.string(fnd_log.level_statement, g_module_prefix
559: || l_api_name,'Before needbydate, startdate, enddate checks');
560: END IF;
561: -- handle need by date, start date, end date, price checks
554: l_progress := '002';
555:
556: IF (g_debug = 'Y'
557: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
558: fnd_log.string(fnd_log.level_statement, g_module_prefix
559: || l_api_name,'Before needbydate, startdate, enddate checks');
560: END IF;
561: -- handle need by date, start date, end date, price checks
562:
562:
563: IF (nvl(p_source_type_code, '') = 'INVENTORY') THEN
564: -- handle need by date only
565: IF (g_debug = 'Y'
566: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
567: fnd_log.string(fnd_log.level_statement, g_module_prefix
568: || l_api_name,'for internal req Before need by date checks');
569: END IF;
570: l_progress := '021';
563: IF (nvl(p_source_type_code, '') = 'INVENTORY') THEN
564: -- handle need by date only
565: IF (g_debug = 'Y'
566: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
567: fnd_log.string(fnd_log.level_statement, g_module_prefix
568: || l_api_name,'for internal req Before need by date checks');
569: END IF;
570: l_progress := '021';
571:
587: l_return_val := 'Y';
588: END;
589:
590: IF (g_debug = 'Y'
591: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
592: fnd_log.string(fnd_log.level_statement, g_module_prefix
593: || l_api_name,'return value(needbydate):'
594: || l_return_val);
595: END IF;
588: END;
589:
590: IF (g_debug = 'Y'
591: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
592: fnd_log.string(fnd_log.level_statement, g_module_prefix
593: || l_api_name,'return value(needbydate):'
594: || l_return_val);
595: END IF;
596: ELSE
617: l_return_val := 'Y';
618: END;
619:
620: IF (g_debug = 'Y'
621: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
622: fnd_log.string(fnd_log.level_statement, g_module_prefix
623: || l_api_name,'return value(needbydate):'
624: || l_return_val);
625: END IF;
618: END;
619:
620: IF (g_debug = 'Y'
621: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
622: fnd_log.string(fnd_log.level_statement, g_module_prefix
623: || l_api_name,'return value(needbydate):'
624: || l_return_val);
625: END IF;
626: END IF;
626: END IF;
627: l_progress := '003';
628:
629: IF (g_debug = 'Y'
630: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
631: fnd_log.string(fnd_log.level_statement, g_module_prefix
632: || l_api_name,'Before line quantity, line amount checks');
633: END IF;
634: IF (l_return_val <> 'N') THEN
627: l_progress := '003';
628:
629: IF (g_debug = 'Y'
630: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
631: fnd_log.string(fnd_log.level_statement, g_module_prefix
632: || l_api_name,'Before line quantity, line amount checks');
633: END IF;
634: IF (l_return_val <> 'N') THEN
635: -- check for line quantity, line amount tolerances
636: BEGIN
637:
638: IF (nvl(p_source_type_code, '') = 'INVENTORY') THEN
639: IF (g_debug = 'Y'
640: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
641: fnd_log.string(fnd_log.level_statement, g_module_prefix
642: || l_api_name,'for internal req Before line quantity, line amount checks');
643: END IF;
644:
637:
638: IF (nvl(p_source_type_code, '') = 'INVENTORY') THEN
639: IF (g_debug = 'Y'
640: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
641: fnd_log.string(fnd_log.level_statement, g_module_prefix
642: || l_api_name,'for internal req Before line quantity, line amount checks');
643: END IF;
644:
645: SELECT 'N'
716: END;
717: END IF;
718:
719: IF (g_debug = 'Y'
720: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
721: fnd_log.string(fnd_log.level_statement, g_module_prefix
722: || l_api_name,'return value(line amount):'
723: || l_return_val);
724: END IF;
717: END IF;
718:
719: IF (g_debug = 'Y'
720: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
721: fnd_log.string(fnd_log.level_statement, g_module_prefix
722: || l_api_name,'return value(line amount):'
723: || l_return_val);
724: END IF;
725:
725:
726: l_progress := '004';
727:
728: IF (g_debug = 'Y'
729: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
730: fnd_log.string(fnd_log.level_statement, g_module_prefix
731: || l_api_name,'Before document total checks');
732: END IF;
733:
726: l_progress := '004';
727:
728: IF (g_debug = 'Y'
729: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
730: fnd_log.string(fnd_log.level_statement, g_module_prefix
731: || l_api_name,'Before document total checks');
732: END IF;
733:
734: IF (l_return_val <> 'N') THEN
772: END IF;
773: END IF;
774:
775: IF (g_debug = 'Y'
776: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
777: fnd_log.string(fnd_log.level_statement, g_module_prefix
778: || l_api_name,'Return Value:'
779: || l_return_val);
780: END IF;
773: END IF;
774:
775: IF (g_debug = 'Y'
776: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
777: fnd_log.string(fnd_log.level_statement, g_module_prefix
778: || l_api_name,'Return Value:'
779: || l_return_val);
780: END IF;
781:
782: RETURN l_return_val;
783: EXCEPTION
784: WHEN OTHERS THEN
785: IF (g_debug = 'Y'
786: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
787: fnd_log.string(fnd_log.level_statement, g_module_prefix
788: || l_api_name, 'Exception:'
789: || SQLERRM
790: ||' PROGRESS:'
783: EXCEPTION
784: WHEN OTHERS THEN
785: IF (g_debug = 'Y'
786: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
787: fnd_log.string(fnd_log.level_statement, g_module_prefix
788: || l_api_name, 'Exception:'
789: || SQLERRM
790: ||' PROGRESS:'
791: || l_progress);
815: BEGIN
816: x_appr_status := 'Y';
817:
818: IF (g_debug = 'Y'
819: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
820: fnd_log.string(fnd_log.level_statement, g_module_prefix
821: || l_api_name, 'p_chreqgrp_id:'
822: || p_chreqgrp_id);
823: END IF;
816: x_appr_status := 'Y';
817:
818: IF (g_debug = 'Y'
819: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
820: fnd_log.string(fnd_log.level_statement, g_module_prefix
821: || l_api_name, 'p_chreqgrp_id:'
822: || p_chreqgrp_id);
823: END IF;
824:
826:
827: por_custom_pkg.custom_rco_reqappr_tol_check(p_chreqgrp_id, x_appr_status, l_skip_std_logic);
828:
829: IF (g_debug = 'Y'
830: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
831: fnd_log.string(fnd_log.level_statement, g_module_prefix
832: || l_api_name,'After Calling POR_CUSTOM_PKG.CUSTOM_RCO_REQAPPR_TOL_CHECK '
833: ||' x_appr_status:'
834: || x_appr_status
827: por_custom_pkg.custom_rco_reqappr_tol_check(p_chreqgrp_id, x_appr_status, l_skip_std_logic);
828:
829: IF (g_debug = 'Y'
830: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
831: fnd_log.string(fnd_log.level_statement, g_module_prefix
832: || l_api_name,'After Calling POR_CUSTOM_PKG.CUSTOM_RCO_REQAPPR_TOL_CHECK '
833: ||' x_appr_status:'
834: || x_appr_status
835: ||' l_skip_std_logic:'
855: END IF;
856: END IF;
857:
858: IF (g_debug = 'Y'
859: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
860: fnd_log.string(fnd_log.level_statement, g_module_prefix
861: || l_api_name, 'x_appr_status:'
862: || x_appr_status);
863: END IF;
856: END IF;
857:
858: IF (g_debug = 'Y'
859: AND fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
860: fnd_log.string(fnd_log.level_statement, g_module_prefix
861: || l_api_name, 'x_appr_status:'
862: || x_appr_status);
863: END IF;
864: