46:
47:
48: -- Only for testing purpose --
49:
50: --FND_FILE.PUT_NAMES('bill.log','bill.out','/sqlcom/log');
51: --FND_GLOBAL.APPS_INITIALIZE (
52: -- 1001,170,20638);
53:
54: -- Only for testing purpose --
54: -- Only for testing purpose --
55:
56:
57: user_id := FND_GLOBAL.USER_ID;
58: FND_FILE.PUT_LINE(FND_FILE.LOG, 'User_Id ='||
59: to_char(user_id));
60:
61: input_date_range := p_default_date + p_window;
62: FND_FILE.PUT_LINE(FND_FILE.LOG, 'Default Date ='||
58: FND_FILE.PUT_LINE(FND_FILE.LOG, 'User_Id ='||
59: to_char(user_id));
60:
61: input_date_range := p_default_date + p_window;
62: FND_FILE.PUT_LINE(FND_FILE.LOG, 'Default Date ='||
63: to_char(input_date_range));
64:
65:
66: month_unit :=
64:
65:
66: month_unit :=
67: FND_PROFILE.VALUE('MONTH_UNIT_OF_MEASURE');
68: FND_FILE.PUT_LINE (FND_FILE.LOG,'MONTH UNIT = ' || month_unit);
69:
70: day_unit :=
71: FND_PROFILE.VALUE('DAY_UNIT_OF_MEASURE');
72: FND_FILE.PUT_LINE (FND_FILE.LOG,'DAY UNIT = ' || day_unit);
68: FND_FILE.PUT_LINE (FND_FILE.LOG,'MONTH UNIT = ' || month_unit);
69:
70: day_unit :=
71: FND_PROFILE.VALUE('DAY_UNIT_OF_MEASURE');
72: FND_FILE.PUT_LINE (FND_FILE.LOG,'DAY UNIT = ' || day_unit);
73:
74: v_retcode := get_billing_Lines( input_date_range,
75: p_contract_number);
76:
75: p_contract_number);
76:
77: IF v_retcode = SUCCESS THEN
78:
79: FND_FILE.PUT_LINE( FND_FILE.LOG,
80: 'get Billing lines successfully completed' );
81:
82: v_retcode := CS_AR_FEEDER_PROGRAM.Main_Procedure;
83: END IF;
83: END IF;
84:
85:
86:
87: FND_FILE.PUT_LINE (FND_FILE.LOG,'RETCODE = ' || to_char(v_retcode));
88:
89: COMMIT;
90:
91: IF conc_ret_code = SUCCESS THEN
96: CONC_STATUS :=
97: FND_CONCURRENT.SET_COMPLETION_STATUS('ERROR',Current_Error_Code);
98: END IF;
99:
100: --FND_FILE.CLOSE;
101:
102: /*********************
103: EXCEPTION
104: WHEN UTL_FILE.INVALID_PATH THEN
234: will be 0 and billed_until_date = NULL.
235:
236: */
237:
238: FND_FILE.PUT_LINE(FND_FILE.LOG,'Processing Contract line : ');
239: FND_FILE.PUT_LINE(FND_FILE.LOG,'CONTRACT NUMBER : '||
240: to_char(eligible_line.contract_number) );
241: FND_FILE.PUT_LINE(FND_FILE.LOG,'SERVICE ID : '||
242: to_char(eligible_line.CP_service_id) );
235:
236: */
237:
238: FND_FILE.PUT_LINE(FND_FILE.LOG,'Processing Contract line : ');
239: FND_FILE.PUT_LINE(FND_FILE.LOG,'CONTRACT NUMBER : '||
240: to_char(eligible_line.contract_number) );
241: FND_FILE.PUT_LINE(FND_FILE.LOG,'SERVICE ID : '||
242: to_char(eligible_line.CP_service_id) );
243:
237:
238: FND_FILE.PUT_LINE(FND_FILE.LOG,'Processing Contract line : ');
239: FND_FILE.PUT_LINE(FND_FILE.LOG,'CONTRACT NUMBER : '||
240: to_char(eligible_line.contract_number) );
241: FND_FILE.PUT_LINE(FND_FILE.LOG,'SERVICE ID : '||
242: to_char(eligible_line.CP_service_id) );
243:
244: v_retcode := Get_Invoiced_Amount(
245: invoiced_service_amount,
257: END IF;
258:
259: IF v_retcode = SUCCESS THEN
260:
261: FND_FILE.PUT_LINE( FND_FILE.LOG,
262: 'Invvoiced amount =' || to_char(invoiced_service_amount));
263: FND_FILE.PUT_LINE( FND_FILE.LOG,
264: 'Billed Until Date =' || to_char(billed_until_date));
265:
259: IF v_retcode = SUCCESS THEN
260:
261: FND_FILE.PUT_LINE( FND_FILE.LOG,
262: 'Invvoiced amount =' || to_char(invoiced_service_amount));
263: FND_FILE.PUT_LINE( FND_FILE.LOG,
264: 'Billed Until Date =' || to_char(billed_until_date));
265:
266:
267:
300:
301: invoice_amount := eligible_line.extended_price
302: - invoiced_service_amount;
303:
304: FND_FILE.PUT_LINE(FND_FILE.LOG,'Invoice_Amount='||
305: to_char(Invoice_Amount));
306:
307: Process_And_Insert_Records
308: (
321: eligible_line.period ,
322: eligible_line.Billing_Period
323: );
324: ELSE
325: FND_FILE.PUT_LINE(FND_FILE.LOG,
326: 'The contract line has been fully invoiced Or
327: the Contract line has bad data.');
328:
329: FND_FILE.PUT_LINE(FND_FILE.LOG,'CONTRACT NUMBER : '||
325: FND_FILE.PUT_LINE(FND_FILE.LOG,
326: 'The contract line has been fully invoiced Or
327: the Contract line has bad data.');
328:
329: FND_FILE.PUT_LINE(FND_FILE.LOG,'CONTRACT NUMBER : '||
330: to_char(eligible_line.contract_number) ||
331: ' SERVICE ID : ' || to_char(eligible_line.CP_Service_Id));
332:
333: END IF; /* After Total invoice check */
336: EXCEPTION
337: WHEN OTHERS THEN
338: v_retcode := ERROR;
339: Current_error_Code := to_Char(SQLCODE);
340: FND_FILE.PUT_LINE( FND_FILE.LOG, 'Contract Line not Processed' );
341: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLERRM );
342: return (v_retcode);
343: END;
344: END LOOP;
337: WHEN OTHERS THEN
338: v_retcode := ERROR;
339: Current_error_Code := to_Char(SQLCODE);
340: FND_FILE.PUT_LINE( FND_FILE.LOG, 'Contract Line not Processed' );
341: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLERRM );
342: return (v_retcode);
343: END;
344: END LOOP;
345:
352: EXCEPTION
353: WHEN OTHERS THEN
354: v_success := ERROR;
355: Current_error_Code := to_Char(SQLCODE);
356: FND_FILE.PUT_LINE( FND_FILE.LOG, 'Error in Cursor Processing' );
357: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLERRM );
358: return (v_retcode);
359:
360: END Get_Billing_Lines;
353: WHEN OTHERS THEN
354: v_success := ERROR;
355: Current_error_Code := to_Char(SQLCODE);
356: FND_FILE.PUT_LINE( FND_FILE.LOG, 'Error in Cursor Processing' );
357: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLERRM );
358: return (v_retcode);
359:
360: END Get_Billing_Lines;
361:
375:
376: /* Select the sum of the invoice ammount for the service line and the
377: maximum billed_until_date from CS_CONTRACTS_BILLING */
378:
379: --FND_FILE.PUT_LINE(FND_FILE.LOG,'CONTRACT_ID ='||
380: -- to_char(p_contract_id));
381: --FND_FILE.PUT_LINE(FND_FILE.LOG,'CP_SERVICE_ID ='||
382: -- to_char(p_cp_service_id));
383:
377: maximum billed_until_date from CS_CONTRACTS_BILLING */
378:
379: --FND_FILE.PUT_LINE(FND_FILE.LOG,'CONTRACT_ID ='||
380: -- to_char(p_contract_id));
381: --FND_FILE.PUT_LINE(FND_FILE.LOG,'CP_SERVICE_ID ='||
382: -- to_char(p_cp_service_id));
383:
384: SELECT SUM(TRX_PRE_TAX_AMOUNT), MAX(BILLED_UNTIL_DATE)
385: INTO p_invoiced_service_amount, p_billed_until_date
402: EXCEPTION
403: WHEN OTHERS THEN
404: v_retcode := ERROR;
405: Current_error_Code := to_Char(SQLCODE);
406: FND_FILE.PUT_LINE( FND_FILE.LOG, 'Error getting Invoice Amount ' );
407: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLCODE );
408: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLERRM );
409: return (v_retcode);
410:
403: WHEN OTHERS THEN
404: v_retcode := ERROR;
405: Current_error_Code := to_Char(SQLCODE);
406: FND_FILE.PUT_LINE( FND_FILE.LOG, 'Error getting Invoice Amount ' );
407: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLCODE );
408: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLERRM );
409: return (v_retcode);
410:
411: END Get_Invoiced_Amount;
404: v_retcode := ERROR;
405: Current_error_Code := to_Char(SQLCODE);
406: FND_FILE.PUT_LINE( FND_FILE.LOG, 'Error getting Invoice Amount ' );
407: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLCODE );
408: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLERRM );
409: return (v_retcode);
410:
411: END Get_Invoiced_Amount;
412:
443: ELSE
444: transaction_date := p_Next_bill_date;
445: END IF;
446:
447: FND_FILE.PUT_lINE(FND_FILE.LOG,'Transaction Date ='||
448: to_char(Transaction_Date));
449:
450: v_retcode := Process_Billing_records
451: (
520:
521: EXCEPTION
522: WHEN OTHERS THEN
523: Current_error_Code := to_Char(SQLCODE);
524: FND_FILE.PUT_LINE( FND_FILE.LOG,
525: 'Error in Process and Insert record' );
526: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLERRM );
527:
528: END Process_And_Insert_Records ;
522: WHEN OTHERS THEN
523: Current_error_Code := to_Char(SQLCODE);
524: FND_FILE.PUT_LINE( FND_FILE.LOG,
525: 'Error in Process and Insert record' );
526: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLERRM );
527:
528: END Process_And_Insert_Records ;
529:
530:
568: P_UNIT_OF_MEASURE_CODE ,
569: P_BILLING_FREQUENCY_PERIOD
570: );
571:
572: FND_FILE.PUT_LINE(FND_FILE.LOG,'AFTER PROCESS FIRST BILL DATE ');
573: ELSE
574: v_retcode := Process_Next_Bill_date
575: (
576: P_BILLING_AMOUNT ,
587: P_SERVICE_INVENTORY_ITEM_ID ,
588: P_UNIT_OF_MEASURE_CODE ,
589: P_BILLING_FREQUENCY_PERIOD
590: );
591: FND_FILE.PUT_LINE(FND_FILE.LOG,'AFTER PROCESS NEXT BILL DATE');
592: END IF;
593:
594: return(v_retcode);
595:
596: EXCEPTION
597: WHEN OTHERS THEN
598: v_retcode := ERROR;
599: Current_error_Code := to_Char(SQLCODE);
600: FND_FILE.PUT_LINE( FND_FILE.LOG,
601: 'Error in Process Billing record' );
602: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLERRM );
603: return (v_retcode);
604:
598: v_retcode := ERROR;
599: Current_error_Code := to_Char(SQLCODE);
600: FND_FILE.PUT_LINE( FND_FILE.LOG,
601: 'Error in Process Billing record' );
602: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLERRM );
603: return (v_retcode);
604:
605: END Process_Billing_Records;
606:
625: v_retcode NUMBER := SUCCESS;
626:
627: BEGIN
628:
629: FND_FILE.PUT_LINE(FND_FILE.LOG,'FBD =' || to_char(p_first_bill_date));
630: FND_FILE.PUT_LINE(FND_FILE.LOG,'SDA =' || to_char(p_start_date_active));
631: IF (P_First_Bill_Date >= P_End_Date_Active ) THEN
632:
633: /* Bill for the entire amount */
626:
627: BEGIN
628:
629: FND_FILE.PUT_LINE(FND_FILE.LOG,'FBD =' || to_char(p_first_bill_date));
630: FND_FILE.PUT_LINE(FND_FILE.LOG,'SDA =' || to_char(p_start_date_active));
631: IF (P_First_Bill_Date >= P_End_Date_Active ) THEN
632:
633: /* Bill for the entire amount */
634:
645: /* Service start Date and Next Bill Date. */
646: /* Next Bill Date is calculated based on the billing */
647: /* frequency and bill on */
648:
649: --FND_FILE.Put_Line(FND_FILE.LOG,'PROCESS FIRST BILL IN ADVANCE');
650: p_next_bill_date :=CS_CONTRACT_BILLING.Calculate_next_bill_date(
651: p_start_Date_active,
652: p_End_Date_active,
653: p_bill_on,
653: p_bill_on,
654: p_Service_inventory_item_id,
655: p_billing_frequency_period );
656:
657: FND_FILE.PUT_LINE(FND_FILE.LOG,
658: ' Next Bill Date =' || to_char(p_next_bill_date));
659:
660: IF (p_next_bill_date IS NULL ) THEN
661: v_retcode := ERROR;
660: IF (p_next_bill_date IS NULL ) THEN
661: v_retcode := ERROR;
662: ELSE
663: /*
664: FND_FILE.PUT_LINE(FND_FILE.LOG,'STDA =' || to_char(p_start_date_active));
665: FND_FILE.PUT_LINE(FND_FILE.LOG,'NBD =' || to_char(p_next_bill_date));
666: FND_FILE.PUT_LINE(FND_FILE.LOG,'AMNT =' || to_char(p_extended_price));
667: FND_FILE.PUT_LINE(FND_FILE.LOG,'DURN =' || to_char(p_duration_quantity));
668: FND_FILE.PUT_LINE(FND_FILE.LOG,'ITEM =' ||
661: v_retcode := ERROR;
662: ELSE
663: /*
664: FND_FILE.PUT_LINE(FND_FILE.LOG,'STDA =' || to_char(p_start_date_active));
665: FND_FILE.PUT_LINE(FND_FILE.LOG,'NBD =' || to_char(p_next_bill_date));
666: FND_FILE.PUT_LINE(FND_FILE.LOG,'AMNT =' || to_char(p_extended_price));
667: FND_FILE.PUT_LINE(FND_FILE.LOG,'DURN =' || to_char(p_duration_quantity));
668: FND_FILE.PUT_LINE(FND_FILE.LOG,'ITEM =' ||
669: to_char(p_service_inventory_item_id));
662: ELSE
663: /*
664: FND_FILE.PUT_LINE(FND_FILE.LOG,'STDA =' || to_char(p_start_date_active));
665: FND_FILE.PUT_LINE(FND_FILE.LOG,'NBD =' || to_char(p_next_bill_date));
666: FND_FILE.PUT_LINE(FND_FILE.LOG,'AMNT =' || to_char(p_extended_price));
667: FND_FILE.PUT_LINE(FND_FILE.LOG,'DURN =' || to_char(p_duration_quantity));
668: FND_FILE.PUT_LINE(FND_FILE.LOG,'ITEM =' ||
669: to_char(p_service_inventory_item_id));
670: FND_FILE.PUT_LINE(FND_FILE.LOG,'PERD =' || (p_unit_of_measure_code));
663: /*
664: FND_FILE.PUT_LINE(FND_FILE.LOG,'STDA =' || to_char(p_start_date_active));
665: FND_FILE.PUT_LINE(FND_FILE.LOG,'NBD =' || to_char(p_next_bill_date));
666: FND_FILE.PUT_LINE(FND_FILE.LOG,'AMNT =' || to_char(p_extended_price));
667: FND_FILE.PUT_LINE(FND_FILE.LOG,'DURN =' || to_char(p_duration_quantity));
668: FND_FILE.PUT_LINE(FND_FILE.LOG,'ITEM =' ||
669: to_char(p_service_inventory_item_id));
670: FND_FILE.PUT_LINE(FND_FILE.LOG,'PERD =' || (p_unit_of_measure_code));
671: FND_FILE.PUT_LINE(FND_FILE.LOG,'BILL =' || (p_billing_frequency_period));
664: FND_FILE.PUT_LINE(FND_FILE.LOG,'STDA =' || to_char(p_start_date_active));
665: FND_FILE.PUT_LINE(FND_FILE.LOG,'NBD =' || to_char(p_next_bill_date));
666: FND_FILE.PUT_LINE(FND_FILE.LOG,'AMNT =' || to_char(p_extended_price));
667: FND_FILE.PUT_LINE(FND_FILE.LOG,'DURN =' || to_char(p_duration_quantity));
668: FND_FILE.PUT_LINE(FND_FILE.LOG,'ITEM =' ||
669: to_char(p_service_inventory_item_id));
670: FND_FILE.PUT_LINE(FND_FILE.LOG,'PERD =' || (p_unit_of_measure_code));
671: FND_FILE.PUT_LINE(FND_FILE.LOG,'BILL =' || (p_billing_frequency_period));
672: */
666: FND_FILE.PUT_LINE(FND_FILE.LOG,'AMNT =' || to_char(p_extended_price));
667: FND_FILE.PUT_LINE(FND_FILE.LOG,'DURN =' || to_char(p_duration_quantity));
668: FND_FILE.PUT_LINE(FND_FILE.LOG,'ITEM =' ||
669: to_char(p_service_inventory_item_id));
670: FND_FILE.PUT_LINE(FND_FILE.LOG,'PERD =' || (p_unit_of_measure_code));
671: FND_FILE.PUT_LINE(FND_FILE.LOG,'BILL =' || (p_billing_frequency_period));
672: */
673: P_Billing_amount := Calculate_Txn_Amount (
674: 'Y',
667: FND_FILE.PUT_LINE(FND_FILE.LOG,'DURN =' || to_char(p_duration_quantity));
668: FND_FILE.PUT_LINE(FND_FILE.LOG,'ITEM =' ||
669: to_char(p_service_inventory_item_id));
670: FND_FILE.PUT_LINE(FND_FILE.LOG,'PERD =' || (p_unit_of_measure_code));
671: FND_FILE.PUT_LINE(FND_FILE.LOG,'BILL =' || (p_billing_frequency_period));
672: */
673: P_Billing_amount := Calculate_Txn_Amount (
674: 'Y',
675: p_Start_Date_Active,
685: p_billed_until_date := P_Next_Bill_Date -1;
686: ELSE
687: v_retcode := ERROR;
688: END IF;
689: FND_FILE.PUT_LINE(FND_FILE.LOG,
690: 'BILLING AMOUNT =' || to_char(p_billing_amount));
691:
692: IF (P_Next_Bill_Date >= P_End_Date_Active ) THEN
693: P_Next_Bill_date := Null;
697:
698: /* Bill in arrears for the billing period between */
699: /* Start Date Active and First Bill Date. */
700: /*
701: FND_FILE.PUT_LINE(FND_FILE.LOG,'STDA =' || to_char(p_start_date_active));
702: FND_FILE.PUT_LINE(FND_FILE.LOG,'FBD =' || to_char(p_FIRST_bill_date));
703: FND_FILE.PUT_LINE(FND_FILE.LOG,'AMNT =' || to_char(p_extended_price));
704: FND_FILE.PUT_LINE(FND_FILE.LOG,'DURN =' || to_char(p_duration_quantity));
705: FND_FILE.PUT_LINE(FND_FILE.LOG,'ITEM =' ||
698: /* Bill in arrears for the billing period between */
699: /* Start Date Active and First Bill Date. */
700: /*
701: FND_FILE.PUT_LINE(FND_FILE.LOG,'STDA =' || to_char(p_start_date_active));
702: FND_FILE.PUT_LINE(FND_FILE.LOG,'FBD =' || to_char(p_FIRST_bill_date));
703: FND_FILE.PUT_LINE(FND_FILE.LOG,'AMNT =' || to_char(p_extended_price));
704: FND_FILE.PUT_LINE(FND_FILE.LOG,'DURN =' || to_char(p_duration_quantity));
705: FND_FILE.PUT_LINE(FND_FILE.LOG,'ITEM =' ||
706: to_char(p_service_inventory_item_id));
699: /* Start Date Active and First Bill Date. */
700: /*
701: FND_FILE.PUT_LINE(FND_FILE.LOG,'STDA =' || to_char(p_start_date_active));
702: FND_FILE.PUT_LINE(FND_FILE.LOG,'FBD =' || to_char(p_FIRST_bill_date));
703: FND_FILE.PUT_LINE(FND_FILE.LOG,'AMNT =' || to_char(p_extended_price));
704: FND_FILE.PUT_LINE(FND_FILE.LOG,'DURN =' || to_char(p_duration_quantity));
705: FND_FILE.PUT_LINE(FND_FILE.LOG,'ITEM =' ||
706: to_char(p_service_inventory_item_id));
707: FND_FILE.PUT_LINE(FND_FILE.LOG,'PERD =' || (p_unit_of_measure_code));
700: /*
701: FND_FILE.PUT_LINE(FND_FILE.LOG,'STDA =' || to_char(p_start_date_active));
702: FND_FILE.PUT_LINE(FND_FILE.LOG,'FBD =' || to_char(p_FIRST_bill_date));
703: FND_FILE.PUT_LINE(FND_FILE.LOG,'AMNT =' || to_char(p_extended_price));
704: FND_FILE.PUT_LINE(FND_FILE.LOG,'DURN =' || to_char(p_duration_quantity));
705: FND_FILE.PUT_LINE(FND_FILE.LOG,'ITEM =' ||
706: to_char(p_service_inventory_item_id));
707: FND_FILE.PUT_LINE(FND_FILE.LOG,'PERD =' || (p_unit_of_measure_code));
708: FND_FILE.PUT_LINE(FND_FILE.LOG,'FREQ =' || (p_billing_frequency_period));
701: FND_FILE.PUT_LINE(FND_FILE.LOG,'STDA =' || to_char(p_start_date_active));
702: FND_FILE.PUT_LINE(FND_FILE.LOG,'FBD =' || to_char(p_FIRST_bill_date));
703: FND_FILE.PUT_LINE(FND_FILE.LOG,'AMNT =' || to_char(p_extended_price));
704: FND_FILE.PUT_LINE(FND_FILE.LOG,'DURN =' || to_char(p_duration_quantity));
705: FND_FILE.PUT_LINE(FND_FILE.LOG,'ITEM =' ||
706: to_char(p_service_inventory_item_id));
707: FND_FILE.PUT_LINE(FND_FILE.LOG,'PERD =' || (p_unit_of_measure_code));
708: FND_FILE.PUT_LINE(FND_FILE.LOG,'FREQ =' || (p_billing_frequency_period));
709: */
703: FND_FILE.PUT_LINE(FND_FILE.LOG,'AMNT =' || to_char(p_extended_price));
704: FND_FILE.PUT_LINE(FND_FILE.LOG,'DURN =' || to_char(p_duration_quantity));
705: FND_FILE.PUT_LINE(FND_FILE.LOG,'ITEM =' ||
706: to_char(p_service_inventory_item_id));
707: FND_FILE.PUT_LINE(FND_FILE.LOG,'PERD =' || (p_unit_of_measure_code));
708: FND_FILE.PUT_LINE(FND_FILE.LOG,'FREQ =' || (p_billing_frequency_period));
709: */
710:
711: P_Billing_amount := Calculate_Txn_Amount (
704: FND_FILE.PUT_LINE(FND_FILE.LOG,'DURN =' || to_char(p_duration_quantity));
705: FND_FILE.PUT_LINE(FND_FILE.LOG,'ITEM =' ||
706: to_char(p_service_inventory_item_id));
707: FND_FILE.PUT_LINE(FND_FILE.LOG,'PERD =' || (p_unit_of_measure_code));
708: FND_FILE.PUT_LINE(FND_FILE.LOG,'FREQ =' || (p_billing_frequency_period));
709: */
710:
711: P_Billing_amount := Calculate_Txn_Amount (
712: 'Y',
742: EXCEPTION
743: WHEN OTHERS THEN
744: v_retcode := ERROR;
745: Current_error_Code := to_Char(SQLCODE);
746: FND_FILE.PUT_LINE( FND_FILE.LOG,
747: 'Error in Process First_Bill Date' );
748: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLERRM );
749: return (v_retcode);
750:
744: v_retcode := ERROR;
745: Current_error_Code := to_Char(SQLCODE);
746: FND_FILE.PUT_LINE( FND_FILE.LOG,
747: 'Error in Process First_Bill Date' );
748: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLERRM );
749: return (v_retcode);
750:
751: END Process_First_Bill_date;
752:
843: p_duration_quantity,
844: p_service_inventory_item_id,
845: p_Unit_of_Measure_code,
846: p_billing_frequency_period);
847: FND_FILE.PUT_LINE(FND_FILE.LOG,
848: 'BILLING AMOUNT='||to_char(p_billing_amount));
849:
850: IF (P_Billing_Amount > 0) THEN
851: P_Billed_From_Date := P_Billed_Until_Date;
860: p_bill_on,
861: p_Service_inventory_item_id,
862: p_billing_frequency_period );
863: END IF;
864: FND_FILE.PUT_LINE(FND_FILE.LOG,
865: 'NBD ='||to_char(p_next_bill_date));
866:
867: FND_FILE.PUT_LINE(FND_FILE.LOG,
868: 'BILLED FROM='|| to_char(p_billed_from_date));
863: END IF;
864: FND_FILE.PUT_LINE(FND_FILE.LOG,
865: 'NBD ='||to_char(p_next_bill_date));
866:
867: FND_FILE.PUT_LINE(FND_FILE.LOG,
868: 'BILLED FROM='|| to_char(p_billed_from_date));
869: FND_FILE.PUT_LINE(FND_FILE.LOG,
870: 'BILLED TILL='||to_char(p_billed_until_date));
871: ELSE
865: 'NBD ='||to_char(p_next_bill_date));
866:
867: FND_FILE.PUT_LINE(FND_FILE.LOG,
868: 'BILLED FROM='|| to_char(p_billed_from_date));
869: FND_FILE.PUT_LINE(FND_FILE.LOG,
870: 'BILLED TILL='||to_char(p_billed_until_date));
871: ELSE
872: v_retcode := ERROR;
873: END IF;
877: EXCEPTION
878: WHEN OTHERS THEN
879: v_retcode := ERROR;
880: Current_error_Code := to_Char(SQLCODE);
881: FND_FILE.PUT_LINE( FND_FILE.LOG,
882: 'Error in Process Next Date' );
883: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLERRM );
884: return (v_retcode);
885:
879: v_retcode := ERROR;
880: Current_error_Code := to_Char(SQLCODE);
881: FND_FILE.PUT_LINE( FND_FILE.LOG,
882: 'Error in Process Next Date' );
883: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLERRM );
884: return (v_retcode);
885:
886: END Process_Next_Bill_date;
887:
913: FROM CS_CP_SERVICE_TRANSACTIONS
914: WHERE CP_SERVICE_ID = p1_cp_service_id
915: AND TRANSACTION_TYPE_CODE NOT IN ('TERMINATE');
916:
917: FND_FILE.PUT_LINE( FND_FILE.LOG, 'p1_cp_service_id ' || p1_cp_service_id);
918: FND_FILE.PUT_LINE( FND_FILE.LOG, 'txn_id ' || txn_id);
919: CS_CONTINTF_PVT.Insert_Row
920: (
921: p_api_version => 1.0,
914: WHERE CP_SERVICE_ID = p1_cp_service_id
915: AND TRANSACTION_TYPE_CODE NOT IN ('TERMINATE');
916:
917: FND_FILE.PUT_LINE( FND_FILE.LOG, 'p1_cp_service_id ' || p1_cp_service_id);
918: FND_FILE.PUT_LINE( FND_FILE.LOG, 'txn_id ' || txn_id);
919: CS_CONTINTF_PVT.Insert_Row
920: (
921: p_api_version => 1.0,
922: p_init_msg_list => 'T',
941: p_creation_date => sysdate,
942: x_contracts_interface_id => contracts_interface_id,
943: x_object_version_number => object_version_number);
944:
945: FND_FILE.PUT_LINE( FND_FILE.LOG, 'v_return_status ' ||
946: v_return_status);
947: IF (v_return_status <> 'S' and v_msg_count >= 1) THEN
948: v_retcode := ERROR;
949: Current_error_Code := to_Char(SQLCODE);
946: v_return_status);
947: IF (v_return_status <> 'S' and v_msg_count >= 1) THEN
948: v_retcode := ERROR;
949: Current_error_Code := to_Char(SQLCODE);
950: FND_FILE.PUT_LINE( FND_FILE.LOG, 'Error Inserting in Interface tbl' );
951: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLCODE );
952: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLERRM );
953: return (v_retcode);
954: ELSE
947: IF (v_return_status <> 'S' and v_msg_count >= 1) THEN
948: v_retcode := ERROR;
949: Current_error_Code := to_Char(SQLCODE);
950: FND_FILE.PUT_LINE( FND_FILE.LOG, 'Error Inserting in Interface tbl' );
951: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLCODE );
952: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLERRM );
953: return (v_retcode);
954: ELSE
955: v_retcode := SUCCESS;
948: v_retcode := ERROR;
949: Current_error_Code := to_Char(SQLCODE);
950: FND_FILE.PUT_LINE( FND_FILE.LOG, 'Error Inserting in Interface tbl' );
951: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLCODE );
952: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLERRM );
953: return (v_retcode);
954: ELSE
955: v_retcode := SUCCESS;
956: Current_error_Code := to_Char(SQLCODE);
953: return (v_retcode);
954: ELSE
955: v_retcode := SUCCESS;
956: Current_error_Code := to_Char(SQLCODE);
957: FND_FILE.PUT_LINE( FND_FILE.LOG, 'records Inserted in Interface tbl');
958: return(v_retcode);
959: END IF;
960:
961: EXCEPTION
961: EXCEPTION
962: WHEN OTHERS THEN
963: v_retcode := ERROR;
964: Current_error_Code := to_Char(SQLCODE);
965: FND_FILE.PUT_LINE( FND_FILE.LOG,
966: 'Error in Insert_CS_cont_bill_iface ' );
967: v_msg_data := FND_MESSAGE.Get;
968: FND_FILE.PUT_LINE( FND_FILE.LOG, 'Err in UPdate CS_CP_SERVICES :'
969: || v_msg_data);
964: Current_error_Code := to_Char(SQLCODE);
965: FND_FILE.PUT_LINE( FND_FILE.LOG,
966: 'Error in Insert_CS_cont_bill_iface ' );
967: v_msg_data := FND_MESSAGE.Get;
968: FND_FILE.PUT_LINE( FND_FILE.LOG, 'Err in UPdate CS_CP_SERVICES :'
969: || v_msg_data);
970: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLCODE );
971: return (v_retcode);
972:
966: 'Error in Insert_CS_cont_bill_iface ' );
967: v_msg_data := FND_MESSAGE.Get;
968: FND_FILE.PUT_LINE( FND_FILE.LOG, 'Err in UPdate CS_CP_SERVICES :'
969: || v_msg_data);
970: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLCODE );
971: return (v_retcode);
972:
973: END;
974:
982:
983: v_retcode NUMBER := SUCCESS;
984: dummy VARCHAR2(02) ;
985: BEGIN
986: FND_FILE.PUT_LINE( FND_FILE.LOG, 'CS_CP_SERVICES Before' );
987:
988:
989: -- This select is required only to lock the record.
990: SELECT 'X'
1001: WHERE CONTRACT_ID = p_Contract_Id AND
1002: CP_SERVICE_ID = p_cp_service_id;
1003:
1004: Current_Error_Code := to_char(SQLCODE);
1005: FND_FILE.PUT_LINE( FND_FILE.LOG, 'CS_CP_SERVICES Updated' );
1006: return (v_retcode);
1007:
1008: EXCEPTION
1009: WHEN others THEN
1007:
1008: EXCEPTION
1009: WHEN others THEN
1010: IF (SQLCODE = -54) THEN
1011: FND_FILE.PUT_LINE(FND_FILE.LOG,
1012: 'The record has been locked: Contract_id : '
1013: || p_contract_id);
1014: FND_FILE.PUT_LINE(FND_FILE.LOG,
1015: ' CP_SERVICE_id : '
1010: IF (SQLCODE = -54) THEN
1011: FND_FILE.PUT_LINE(FND_FILE.LOG,
1012: 'The record has been locked: Contract_id : '
1013: || p_contract_id);
1014: FND_FILE.PUT_LINE(FND_FILE.LOG,
1015: ' CP_SERVICE_id : '
1016: || p_cp_service_id);
1017: ELSE
1018: RAISE;
1018: RAISE;
1019: END IF;
1020: v_retcode := ERROR;
1021: DBMS_TRANSACTION.ROLLBACK_SAVEPOINT('Insert_Interface');
1022: FND_FILE.PUT_LINE( FND_FILE.LOG, 'Transaction Rollbacked ' );
1023: return (v_retcode);
1024: END;
1025:
1026:
1047: FND_PROFILE.VALUE('MONTH_UNIT_OF_MEASURE');
1048: temp_to_unit :=
1049: FND_PROFILE.VALUE('DAY_UNIT_OF_MEASURE');
1050:
1051: FND_FILE.PUT_LINE( FND_FILE.LOG,'p_From_unit = ' ||
1052: (p_From_Unit));
1053:
1054:
1055: IF (p_from_unit = month_unit) THEN
1076: Next_Bill_Date ,
1077: P_Bill_On
1078: );
1079:
1080: FND_FILE.PUT_LINE(FND_FILE.LOG, 'Next Bill Date22 = ' ||
1081: to_char(Next_Bill_Date));
1082: FND_FILE.PUT_LINE(FND_FILE.LOG, 'end_date_Active22 = ' ||
1083: to_char(p_end_date_active));
1084:
1078: );
1079:
1080: FND_FILE.PUT_LINE(FND_FILE.LOG, 'Next Bill Date22 = ' ||
1081: to_char(Next_Bill_Date));
1082: FND_FILE.PUT_LINE(FND_FILE.LOG, 'end_date_Active22 = ' ||
1083: to_char(p_end_date_active));
1084:
1085: IF (Next_Bill_Date > p_end_date_active) THEN
1086: Next_Bill_date := p_end_date_active;
1083: to_char(p_end_date_active));
1084:
1085: IF (Next_Bill_Date > p_end_date_active) THEN
1086: Next_Bill_date := p_end_date_active;
1087: FND_FILE.PUT_LINE(FND_FILE.LOG, 'Actual Next Bill Date22 = ' ||
1088: to_char(Next_Bill_Date));
1089: END IF;
1090: END IF;
1091:
1088: to_char(Next_Bill_Date));
1089: END IF;
1090: END IF;
1091:
1092: FND_FILE.PUT_LINE(FND_FILE.LOG, 'Actual Next Bill Date = ' ||
1093: to_char(Next_Bill_Date));
1094: RETURN(Next_Bill_Date);
1095:
1096: EXCEPTION
1096: EXCEPTION
1097: WHEN OTHERS THEN
1098: Current_error_Code := to_Char(SQLCODE);
1099: Next_Bill_Date := NULL;
1100: FND_FILE.PUT_LINE( FND_FILE.LOG, 'Error in Next Bill Date' );
1101: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLERRM );
1102: RETURN(Next_Bill_Date);
1103: END Calculate_Next_Bill_date;
1104:
1097: WHEN OTHERS THEN
1098: Current_error_Code := to_Char(SQLCODE);
1099: Next_Bill_Date := NULL;
1100: FND_FILE.PUT_LINE( FND_FILE.LOG, 'Error in Next Bill Date' );
1101: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLERRM );
1102: RETURN(Next_Bill_Date);
1103: END Calculate_Next_Bill_date;
1104:
1105:
1119: Next_Month := TO_NUMBER(TO_CHAR(P_Next_Bill_Date, 'MM'));
1120: Next_Year := TO_NUMBER(TO_CHAR(P_Next_Bill_Date,'YYYY'));
1121:
1122:
1123: FND_FILE.PUT_LINE(FND_FILE.LOG, 'BILL ON = ' ||
1124: to_char(P_bill_On));
1125: FND_FILE.PUT_LINE(FND_FILE.LOG, 'NEXT DAY = ' ||
1126: to_char(Next_day));
1127: FND_FILE.PUT_LINE(FND_FILE.LOG, 'NEXT MONTH = ' ||
1121:
1122:
1123: FND_FILE.PUT_LINE(FND_FILE.LOG, 'BILL ON = ' ||
1124: to_char(P_bill_On));
1125: FND_FILE.PUT_LINE(FND_FILE.LOG, 'NEXT DAY = ' ||
1126: to_char(Next_day));
1127: FND_FILE.PUT_LINE(FND_FILE.LOG, 'NEXT MONTH = ' ||
1128: to_char(Next_Month));
1129: FND_FILE.PUT_LINE(FND_FILE.LOG, 'NEXT YEAR = ' ||
1123: FND_FILE.PUT_LINE(FND_FILE.LOG, 'BILL ON = ' ||
1124: to_char(P_bill_On));
1125: FND_FILE.PUT_LINE(FND_FILE.LOG, 'NEXT DAY = ' ||
1126: to_char(Next_day));
1127: FND_FILE.PUT_LINE(FND_FILE.LOG, 'NEXT MONTH = ' ||
1128: to_char(Next_Month));
1129: FND_FILE.PUT_LINE(FND_FILE.LOG, 'NEXT YEAR = ' ||
1130: to_char(Next_Year));
1131:
1125: FND_FILE.PUT_LINE(FND_FILE.LOG, 'NEXT DAY = ' ||
1126: to_char(Next_day));
1127: FND_FILE.PUT_LINE(FND_FILE.LOG, 'NEXT MONTH = ' ||
1128: to_char(Next_Month));
1129: FND_FILE.PUT_LINE(FND_FILE.LOG, 'NEXT YEAR = ' ||
1130: to_char(Next_Year));
1131:
1132: IF ((p_bill_on IS NULL )OR (p_bill_on = 0)) THEN
1133: NULL ;
1160: temp_date := p_bill_on ||'-' || (Next_Month + 1) ||'-' || Next_year;
1161: P_Next_Bill_Date := TO_DATE( temp_date, 'DD-MM-YYYY');
1162: END IF;
1163: /*
1164: FND_FILE.PUT_LINE( FND_FILE.LOG,
1165: 'Next Bill Date IS = ' || to_char(P_Next_Bill_Date));
1166: FND_FILE.PUT_LINE( FND_FILE.LOG,' ');
1167: */
1168:
1162: END IF;
1163: /*
1164: FND_FILE.PUT_LINE( FND_FILE.LOG,
1165: 'Next Bill Date IS = ' || to_char(P_Next_Bill_Date));
1166: FND_FILE.PUT_LINE( FND_FILE.LOG,' ');
1167: */
1168:
1169: FND_FILE.PUT_LINE(FND_FILE.LOG, 'NEXT BILL_DATE = ' ||
1170: to_char(p_Next_Bill_Date));
1165: 'Next Bill Date IS = ' || to_char(P_Next_Bill_Date));
1166: FND_FILE.PUT_LINE( FND_FILE.LOG,' ');
1167: */
1168:
1169: FND_FILE.PUT_LINE(FND_FILE.LOG, 'NEXT BILL_DATE = ' ||
1170: to_char(p_Next_Bill_Date));
1171: EXCEPTION
1172: WHEN OTHERS THEN
1173: Current_error_Code := to_Char(SQLCODE);
1171: EXCEPTION
1172: WHEN OTHERS THEN
1173: Current_error_Code := to_Char(SQLCODE);
1174: p_Next_Bill_Date := NULL;
1175: FND_FILE.PUT_LINE( FND_FILE.LOG, 'Error in Actual Next Bill Date' );
1176: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLERRM );
1177: END Calc_Actual_Next_Bill_date;
1178:
1179:
1172: WHEN OTHERS THEN
1173: Current_error_Code := to_Char(SQLCODE);
1174: p_Next_Bill_Date := NULL;
1175: FND_FILE.PUT_LINE( FND_FILE.LOG, 'Error in Actual Next Bill Date' );
1176: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLERRM );
1177: END Calc_Actual_Next_Bill_date;
1178:
1179:
1180:
1226:
1227: EXCEPTION
1228: WHEN OTHERS THEN
1229: Current_error_Code := to_Char(SQLCODE);
1230: FND_FILE.PUT_LINE( FND_FILE.LOG, 'Error in Get Final Adjust' );
1231: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLERRM );
1232: RETURN(Adjusted_Amount);
1233:
1234: END Get_Final_Adjustment;
1227: EXCEPTION
1228: WHEN OTHERS THEN
1229: Current_error_Code := to_Char(SQLCODE);
1230: FND_FILE.PUT_LINE( FND_FILE.LOG, 'Error in Get Final Adjust' );
1231: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLERRM );
1232: RETURN(Adjusted_Amount);
1233:
1234: END Get_Final_Adjustment;
1235:
1253: day_unit varchar2(5);
1254: BEGIN
1255: /*
1256:
1257: FND_FILE.PUT_LINE(FND_FILE.LOG,
1258: 'Service Amount =' || to_char(p_service_amount));
1259: FND_FILE.PUT_LINE(FND_FILE.LOG,
1260: 'Service Duration=' || to_char(p_service_duration));
1261: FND_FILE.PUT_LINE(FND_FILE.LOG,
1255: /*
1256:
1257: FND_FILE.PUT_LINE(FND_FILE.LOG,
1258: 'Service Amount =' || to_char(p_service_amount));
1259: FND_FILE.PUT_LINE(FND_FILE.LOG,
1260: 'Service Duration=' || to_char(p_service_duration));
1261: FND_FILE.PUT_LINE(FND_FILE.LOG,
1262: 'inventory_Item_Id =' || to_char(p_inventory_item_id));
1263: FND_FILE.PUT_LINE(FND_FILE.LOG,
1257: FND_FILE.PUT_LINE(FND_FILE.LOG,
1258: 'Service Amount =' || to_char(p_service_amount));
1259: FND_FILE.PUT_LINE(FND_FILE.LOG,
1260: 'Service Duration=' || to_char(p_service_duration));
1261: FND_FILE.PUT_LINE(FND_FILE.LOG,
1262: 'inventory_Item_Id =' || to_char(p_inventory_item_id));
1263: FND_FILE.PUT_LINE(FND_FILE.LOG,
1264: 'Service Period=' || p_service_period);
1265: FND_FILE.PUT_LINE(FND_FILE.LOG,
1259: FND_FILE.PUT_LINE(FND_FILE.LOG,
1260: 'Service Duration=' || to_char(p_service_duration));
1261: FND_FILE.PUT_LINE(FND_FILE.LOG,
1262: 'inventory_Item_Id =' || to_char(p_inventory_item_id));
1263: FND_FILE.PUT_LINE(FND_FILE.LOG,
1264: 'Service Period=' || p_service_period);
1265: FND_FILE.PUT_LINE(FND_FILE.LOG,
1266: 'p_bill_frequency =' || p_bill_frequency);
1267:
1261: FND_FILE.PUT_LINE(FND_FILE.LOG,
1262: 'inventory_Item_Id =' || to_char(p_inventory_item_id));
1263: FND_FILE.PUT_LINE(FND_FILE.LOG,
1264: 'Service Period=' || p_service_period);
1265: FND_FILE.PUT_LINE(FND_FILE.LOG,
1266: 'p_bill_frequency =' || p_bill_frequency);
1267:
1268: */
1269: Average_amount := Calculate_Average_Amount (
1334:
1335:
1336: IF p_conc_program = 'Y'THEN
1337: if v_retcode = 0 THEN
1338: FND_FILE.PUT_LINE( FND_FILE.LOG,
1339: 'Transaction Amount calculated ');
1340: FND_FILE.PUT_LINE( FND_FILE.LOG,' ');
1341: elsif v_retcode = 1 THEN
1342: FND_FILE.PUT_LINE( FND_FILE.LOG,
1336: IF p_conc_program = 'Y'THEN
1337: if v_retcode = 0 THEN
1338: FND_FILE.PUT_LINE( FND_FILE.LOG,
1339: 'Transaction Amount calculated ');
1340: FND_FILE.PUT_LINE( FND_FILE.LOG,' ');
1341: elsif v_retcode = 1 THEN
1342: FND_FILE.PUT_LINE( FND_FILE.LOG,
1343: 'Txn End Date must be greater than tx start date ');
1344: FND_FILE.PUT_LINE( FND_FILE.LOG,' ');
1338: FND_FILE.PUT_LINE( FND_FILE.LOG,
1339: 'Transaction Amount calculated ');
1340: FND_FILE.PUT_LINE( FND_FILE.LOG,' ');
1341: elsif v_retcode = 1 THEN
1342: FND_FILE.PUT_LINE( FND_FILE.LOG,
1343: 'Txn End Date must be greater than tx start date ');
1344: FND_FILE.PUT_LINE( FND_FILE.LOG,' ');
1345: elsif v_retcode = 2 THEN
1346: FND_FILE.PUT_LINE( FND_FILE.LOG,
1340: FND_FILE.PUT_LINE( FND_FILE.LOG,' ');
1341: elsif v_retcode = 1 THEN
1342: FND_FILE.PUT_LINE( FND_FILE.LOG,
1343: 'Txn End Date must be greater than tx start date ');
1344: FND_FILE.PUT_LINE( FND_FILE.LOG,' ');
1345: elsif v_retcode = 2 THEN
1346: FND_FILE.PUT_LINE( FND_FILE.LOG,
1347: 'Negative converted duration ');
1348: FND_FILE.PUT_LINE( FND_FILE.LOG,' ');
1342: FND_FILE.PUT_LINE( FND_FILE.LOG,
1343: 'Txn End Date must be greater than tx start date ');
1344: FND_FILE.PUT_LINE( FND_FILE.LOG,' ');
1345: elsif v_retcode = 2 THEN
1346: FND_FILE.PUT_LINE( FND_FILE.LOG,
1347: 'Negative converted duration ');
1348: FND_FILE.PUT_LINE( FND_FILE.LOG,' ');
1349: elsif v_retcode = 3 THEN
1350: FND_FILE.PUT_LINE( FND_FILE.LOG,
1344: FND_FILE.PUT_LINE( FND_FILE.LOG,' ');
1345: elsif v_retcode = 2 THEN
1346: FND_FILE.PUT_LINE( FND_FILE.LOG,
1347: 'Negative converted duration ');
1348: FND_FILE.PUT_LINE( FND_FILE.LOG,' ');
1349: elsif v_retcode = 3 THEN
1350: FND_FILE.PUT_LINE( FND_FILE.LOG,
1351: 'Negative average amount ');
1352: FND_FILE.PUT_LINE( FND_FILE.LOG,' ');
1346: FND_FILE.PUT_LINE( FND_FILE.LOG,
1347: 'Negative converted duration ');
1348: FND_FILE.PUT_LINE( FND_FILE.LOG,' ');
1349: elsif v_retcode = 3 THEN
1350: FND_FILE.PUT_LINE( FND_FILE.LOG,
1351: 'Negative average amount ');
1352: FND_FILE.PUT_LINE( FND_FILE.LOG,' ');
1353: End if;
1354: END IF;
1348: FND_FILE.PUT_LINE( FND_FILE.LOG,' ');
1349: elsif v_retcode = 3 THEN
1350: FND_FILE.PUT_LINE( FND_FILE.LOG,
1351: 'Negative average amount ');
1352: FND_FILE.PUT_LINE( FND_FILE.LOG,' ');
1353: End if;
1354: END IF;
1355:
1356: RETURN (Transaction_Amount);
1360: EXCEPTION
1361: WHEN OTHERS THEN
1362: Current_error_Code := to_Char(SQLCODE);
1363: IF p_conc_program = 'Y'THEN
1364: FND_FILE.PUT_LINE( FND_FILE.LOG,
1365: 'Error in Calculate Transaction Amount' );
1366: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLERRM );
1367: END IF;
1368: RETURN (Transaction_Amount);
1362: Current_error_Code := to_Char(SQLCODE);
1363: IF p_conc_program = 'Y'THEN
1364: FND_FILE.PUT_LINE( FND_FILE.LOG,
1365: 'Error in Calculate Transaction Amount' );
1366: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLERRM );
1367: END IF;
1368: RETURN (Transaction_Amount);
1369:
1370:
1427:
1428:
1429: --DBMS_OUTPUT.PUT_LINE('AVERAGE_AMOUNT : ' || to_char(average_amount));
1430: IF (P_Conc_Program = 'Y')THEN
1431: FND_FILE.PUT_LINE( FND_FILE.LOG,
1432: 'Average Amount = ' || to_char(average_amount));
1433: FND_FILE.PUT_LINE( FND_FILE.LOG,' ');
1434: END IF;
1435:
1429: --DBMS_OUTPUT.PUT_LINE('AVERAGE_AMOUNT : ' || to_char(average_amount));
1430: IF (P_Conc_Program = 'Y')THEN
1431: FND_FILE.PUT_LINE( FND_FILE.LOG,
1432: 'Average Amount = ' || to_char(average_amount));
1433: FND_FILE.PUT_LINE( FND_FILE.LOG,' ');
1434: END IF;
1435:
1436:
1437:
1441: EXCEPTION
1442: WHEN OTHERS THEN
1443: Current_error_Code := to_Char(SQLCODE);
1444: IF (P_Conc_Program = 'Y')THEN
1445: FND_FILE.PUT_LINE( FND_FILE.LOG,
1446: 'Error in Calculate Average Amount' );
1447: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLERRM );
1448: END IF;
1449: RETURN (Average_Amount);
1443: Current_error_Code := to_Char(SQLCODE);
1444: IF (P_Conc_Program = 'Y')THEN
1445: FND_FILE.PUT_LINE( FND_FILE.LOG,
1446: 'Error in Calculate Average Amount' );
1447: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLERRM );
1448: END IF;
1449: RETURN (Average_Amount);
1450:
1451: END Calculate_Average_Amount;
1464: ) RETURN NUMBER IS
1465: Converted_Duration Number;
1466: BEGIN
1467: /*
1468: FND_FILE.Put_Line (FND_FILE.LOG,'Service Duration = '||
1469: to_char(p_service_duration));
1470: FND_FILE.Put_Line (FND_FILE.LOG,'From_Unit = '||p_from_unit);
1471: FND_FILE.Put_Line (FND_FILE.LOG,'To_Unit = '||p_to_unit);
1472: */
1466: BEGIN
1467: /*
1468: FND_FILE.Put_Line (FND_FILE.LOG,'Service Duration = '||
1469: to_char(p_service_duration));
1470: FND_FILE.Put_Line (FND_FILE.LOG,'From_Unit = '||p_from_unit);
1471: FND_FILE.Put_Line (FND_FILE.LOG,'To_Unit = '||p_to_unit);
1472: */
1473: IF (p_from_unit = p_to_unit) then
1474: Converted_Duration := p_service_duration ;
1467: /*
1468: FND_FILE.Put_Line (FND_FILE.LOG,'Service Duration = '||
1469: to_char(p_service_duration));
1470: FND_FILE.Put_Line (FND_FILE.LOG,'From_Unit = '||p_from_unit);
1471: FND_FILE.Put_Line (FND_FILE.LOG,'To_Unit = '||p_to_unit);
1472: */
1473: IF (p_from_unit = p_to_unit) then
1474: Converted_Duration := p_service_duration ;
1475: ELSE
1485: END IF;
1486:
1487:
1488: IF (P_Conc_Program = 'Y')THEN
1489: FND_FILE.PUT_LINE( FND_FILE.LOG,'Converted Duration is ='||
1490: to_char(Converted_Duration));
1491: FND_FILE.PUT_LINE( FND_FILE.LOG,' ');
1492: END IF;
1493:
1487:
1488: IF (P_Conc_Program = 'Y')THEN
1489: FND_FILE.PUT_LINE( FND_FILE.LOG,'Converted Duration is ='||
1490: to_char(Converted_Duration));
1491: FND_FILE.PUT_LINE( FND_FILE.LOG,' ');
1492: END IF;
1493:
1494:
1495: RETURN ( Converted_Duration);
1498: EXCEPTION
1499: WHEN OTHERS THEN
1500: Current_error_Code := to_Char(SQLCODE);
1501: IF (P_Conc_Program = 'Y')THEN
1502: FND_FILE.PUT_LINE( FND_FILE.LOG,
1503: 'Error in Convert Duration' );
1504: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLERRM );
1505: END IF;
1506: RETURN (Converted_Duration);
1500: Current_error_Code := to_Char(SQLCODE);
1501: IF (P_Conc_Program = 'Y')THEN
1502: FND_FILE.PUT_LINE( FND_FILE.LOG,
1503: 'Error in Convert Duration' );
1504: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLERRM );
1505: END IF;
1506: RETURN (Converted_Duration);
1507:
1508: END Convert_Duration;
1520: then
1521: null;
1522: elsif l_count = 1
1523: then
1524: FND_FILE.PUT_LINE( FND_FILE.LOG, l_msg);
1525: else
1526: For I in 1..l_count
1527: loop
1528: l_msg := fnd_msg_pub.get(I,'F');
1525: else
1526: For I in 1..l_count
1527: loop
1528: l_msg := fnd_msg_pub.get(I,'F');
1529: FND_FILE.PUT_LINE( FND_FILE.LOG, l_msg);
1530: end loop;
1531: end if;
1532: FND_MSG_PUB.initialize;
1533: Exception
1531: end if;
1532: FND_MSG_PUB.initialize;
1533: Exception
1534: when others then
1535: FND_FILE.PUT_LINE( FND_FILE.LOG, SQLERRM );
1536: End Print_Error;
1537: END CS_CONTRACT_BILLING;
1538: