224:
225: /* Fetch the project currency from the project table */
226:
227: IF g1_debug_mode = 'Y' THEN
228: PA_MCB_INVOICE_PKG.log_message(' Inside Recalculate');
229: END IF;
230:
231: l_invoice_date := pa_billing.GetInvoiceDate;
232:
258: WHERE di.project_id = P_Project_Id
259: AND di.draft_invoice_num = P_Draft_Inv_Num;
260:
261: IF g1_debug_mode = 'Y' THEN
262: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Retention Invoice Flag ' || l_retention_invoice_flag);
263: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Project Currency Code ' || l_project_currency_code);
264: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Project Functional ' || l_func_curr);
265: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' IPC type ' || l_invproc_currency_type);
266: END IF;
259: AND di.draft_invoice_num = P_Draft_Inv_Num;
260:
261: IF g1_debug_mode = 'Y' THEN
262: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Retention Invoice Flag ' || l_retention_invoice_flag);
263: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Project Currency Code ' || l_project_currency_code);
264: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Project Functional ' || l_func_curr);
265: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' IPC type ' || l_invproc_currency_type);
266: END IF;
267:
260:
261: IF g1_debug_mode = 'Y' THEN
262: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Retention Invoice Flag ' || l_retention_invoice_flag);
263: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Project Currency Code ' || l_project_currency_code);
264: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Project Functional ' || l_func_curr);
265: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' IPC type ' || l_invproc_currency_type);
266: END IF;
267:
268: IF l_invproc_currency_type ='PROJECT_CURRENCY' THEN
261: IF g1_debug_mode = 'Y' THEN
262: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Retention Invoice Flag ' || l_retention_invoice_flag);
263: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Project Currency Code ' || l_project_currency_code);
264: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Project Functional ' || l_func_curr);
265: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' IPC type ' || l_invproc_currency_type);
266: END IF;
267:
268: IF l_invproc_currency_type ='PROJECT_CURRENCY' THEN
269:
298:
299: if P_Calling_Module = 'PAIGEN' then
300:
301: IF g1_debug_mode = 'Y' THEN
302: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Selecting Inv Trans Currency COde');
303: END IF;
304:
305: /* for Invoice generation, select currency code and conversion attribute from pa_project_customers. */
306:
326:
327: /*End of code changes for bug 9453939*/
328:
329: IF g1_debug_mode = 'Y' THEN
330: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Invoice by Bill Transaction Currency (BTC) ' || PA_RETN_BILLING_PKG.G_INV_BY_BILL_TRANS_CURRENCY);
331: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Invoice Currency Code ' || l_inv_currency_code);
332: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Invoice rate date ' || l_inv_rate_date);
333: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Invoice rate type ' || l_inv_rate_type);
334: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Invoice exch rate ' || l_inv_exchange_rate);
327: /*End of code changes for bug 9453939*/
328:
329: IF g1_debug_mode = 'Y' THEN
330: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Invoice by Bill Transaction Currency (BTC) ' || PA_RETN_BILLING_PKG.G_INV_BY_BILL_TRANS_CURRENCY);
331: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Invoice Currency Code ' || l_inv_currency_code);
332: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Invoice rate date ' || l_inv_rate_date);
333: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Invoice rate type ' || l_inv_rate_type);
334: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Invoice exch rate ' || l_inv_exchange_rate);
335: END IF;
328:
329: IF g1_debug_mode = 'Y' THEN
330: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Invoice by Bill Transaction Currency (BTC) ' || PA_RETN_BILLING_PKG.G_INV_BY_BILL_TRANS_CURRENCY);
331: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Invoice Currency Code ' || l_inv_currency_code);
332: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Invoice rate date ' || l_inv_rate_date);
333: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Invoice rate type ' || l_inv_rate_type);
334: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Invoice exch rate ' || l_inv_exchange_rate);
335: END IF;
336:
329: IF g1_debug_mode = 'Y' THEN
330: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Invoice by Bill Transaction Currency (BTC) ' || PA_RETN_BILLING_PKG.G_INV_BY_BILL_TRANS_CURRENCY);
331: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Invoice Currency Code ' || l_inv_currency_code);
332: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Invoice rate date ' || l_inv_rate_date);
333: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Invoice rate type ' || l_inv_rate_type);
334: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Invoice exch rate ' || l_inv_exchange_rate);
335: END IF;
336:
337:
330: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Invoice by Bill Transaction Currency (BTC) ' || PA_RETN_BILLING_PKG.G_INV_BY_BILL_TRANS_CURRENCY);
331: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Invoice Currency Code ' || l_inv_currency_code);
332: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Invoice rate date ' || l_inv_rate_date);
333: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Invoice rate type ' || l_inv_rate_type);
334: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Invoice exch rate ' || l_inv_exchange_rate);
335: END IF;
336:
337:
338: else
337:
338: else
339:
340: IF g1_debug_mode = 'Y' THEN
341: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Assign Inv Trans Currency COde');
342: END IF;
343:
344: /* for all other cases , copy the input parameter into local placeholder */
345:
356: and invoice currency is same as project functional currency */
357: then
358:
359: IF g1_debug_mode = 'Y' THEN
360: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' If (l_invproc_currency_code = l_inv_currency_code) AND (l_inv_currency_code = l_func_curr)' );
361: END IF;
362: X_Status := NULL;
363:
364: Update pa_draft_invoices_all
383:
384: IF (l_invproc_currency_code = l_inv_currency_code) THEN
385: X_Status := NULL;
386: IF g1_debug_mode = 'Y' THEN
387: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' If (l_invproc_currency_code = l_inv_currency_code) ');
388: END IF;
389:
390: Update pa_draft_invoices_all
391: set inv_currency_code = l_invproc_currency_code
407: IF (l_inv_currency_code = l_func_curr) THEN
408:
409: X_Status := NULL;
410: IF g1_debug_mode = 'Y' THEN
411: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' If (l_inv_currency_code = l_func_curr) ');
412: END IF;
413:
414: /* The following commented and rewritten for bug#2355135
415: invoice currency = projfunc currency <> invproc currency
446: */
447: IF (l_invproc_currency_code <> l_inv_currency_code) AND (l_inv_currency_code <> l_func_curr) THEN
448:
449: IF g1_debug_mode = 'Y' THEN
450: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' If (l_invproc_currency_code <> l_inv_currency_code) ');
451: END IF;
452:
453: /* Added for Payroll Billing ER #11847630 - Start */
454:
458:
459: for cur_get_std_lines in get_std_lines
460: loop
461: IF g1_debug_mode = 'Y' THEN
462: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Standard INV LINES Loop');
463: END IF;
464:
465: /* Added for Payroll Billing ER #11847630 - Start */
466:
504: P_rate => l_rate,
505: X_status => l_status );
506:
507: IF g1_debug_mode = 'Y' THEN
508: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' After Convert Call status :' || l_status);
509: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' P_denominator : ' || l_denominator);
510: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' P_numerator : ' || l_numerator);
511: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' P_rate : ' || l_rate);
512: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' l_inv_currency_code : ' || l_inv_currency_code);
505: X_status => l_status );
506:
507: IF g1_debug_mode = 'Y' THEN
508: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' After Convert Call status :' || l_status);
509: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' P_denominator : ' || l_denominator);
510: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' P_numerator : ' || l_numerator);
511: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' P_rate : ' || l_rate);
512: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' l_inv_currency_code : ' || l_inv_currency_code);
513: END IF;
506:
507: IF g1_debug_mode = 'Y' THEN
508: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' After Convert Call status :' || l_status);
509: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' P_denominator : ' || l_denominator);
510: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' P_numerator : ' || l_numerator);
511: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' P_rate : ' || l_rate);
512: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' l_inv_currency_code : ' || l_inv_currency_code);
513: END IF;
514: if l_status is not null
507: IF g1_debug_mode = 'Y' THEN
508: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' After Convert Call status :' || l_status);
509: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' P_denominator : ' || l_denominator);
510: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' P_numerator : ' || l_numerator);
511: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' P_rate : ' || l_rate);
512: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' l_inv_currency_code : ' || l_inv_currency_code);
513: END IF;
514: if l_status is not null
515: then
508: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' After Convert Call status :' || l_status);
509: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' P_denominator : ' || l_denominator);
510: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' P_numerator : ' || l_numerator);
511: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' P_rate : ' || l_rate);
512: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' l_inv_currency_code : ' || l_inv_currency_code);
513: END IF;
514: if l_status is not null
515: then
516: X_Status := l_status;
521:
522: /* Update the invoice header 's invoice currency code and
523: conversion attribute */
524: IF g1_debug_mode = 'Y' THEN
525: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Update DI ');
526: END IF;
527: Update pa_draft_invoices_all
528: set inv_currency_code = l_inv_currency_code
529: ,inv_rate_type = l_inv_rate_type
558:
559: end if;
560:
561: IF g1_debug_mode = 'Y' THEN
562: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || 'Invoice Number :' || p_draft_inv_num);
563: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || 'Line Number :' || cur_get_std_lines.line_num);
564: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || 'Invoice Amount :' || l_inv_amt);
565: END IF;
566:
559: end if;
560:
561: IF g1_debug_mode = 'Y' THEN
562: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || 'Invoice Number :' || p_draft_inv_num);
563: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || 'Line Number :' || cur_get_std_lines.line_num);
564: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || 'Invoice Amount :' || l_inv_amt);
565: END IF;
566:
567: l_max_line_num := cur_get_std_lines.line_num;
560:
561: IF g1_debug_mode = 'Y' THEN
562: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || 'Invoice Number :' || p_draft_inv_num);
563: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || 'Line Number :' || cur_get_std_lines.line_num);
564: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || 'Invoice Amount :' || l_inv_amt);
565: END IF;
566:
567: l_max_line_num := cur_get_std_lines.line_num;
568:
572: END IF; /*Added for Payroll Billing Integration Bug# 12383803*/
573:
574: /* Update the line 's invoice currency amount*/
575: IF g1_debug_mode = 'Y' THEN
576: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Update DII ');
577: END IF;
578:
579: update pa_draft_invoice_items
580: set inv_amount = l_inv_amt
601: P_rate => l_rate,
602: X_status => l_status );
603:
604: IF g1_debug_mode = 'Y' THEN
605: PA_MCB_INVOICE_PKG.log_message('recalculATE : ' || ' After Convert Call status :' || l_status);
606: PA_MCB_INVOICE_PKG.log_message('recalculATE : ' || ' P_denominator : ' || l_denominator);
607: PA_MCB_INVOICE_PKG.log_message('recalculATE : ' || ' P_numerator : ' || l_numerator);
608: PA_MCB_INVOICE_PKG.log_message('recalculATE : ' || ' P_rate : ' || l_rate);
609: PA_MCB_INVOICE_PKG.log_message('recalculATE : ' || ' l_inv_currency_code : ' || l_inv_currency_code);
602: X_status => l_status );
603:
604: IF g1_debug_mode = 'Y' THEN
605: PA_MCB_INVOICE_PKG.log_message('recalculATE : ' || ' After Convert Call status :' || l_status);
606: PA_MCB_INVOICE_PKG.log_message('recalculATE : ' || ' P_denominator : ' || l_denominator);
607: PA_MCB_INVOICE_PKG.log_message('recalculATE : ' || ' P_numerator : ' || l_numerator);
608: PA_MCB_INVOICE_PKG.log_message('recalculATE : ' || ' P_rate : ' || l_rate);
609: PA_MCB_INVOICE_PKG.log_message('recalculATE : ' || ' l_inv_currency_code : ' || l_inv_currency_code);
610: END IF;
603:
604: IF g1_debug_mode = 'Y' THEN
605: PA_MCB_INVOICE_PKG.log_message('recalculATE : ' || ' After Convert Call status :' || l_status);
606: PA_MCB_INVOICE_PKG.log_message('recalculATE : ' || ' P_denominator : ' || l_denominator);
607: PA_MCB_INVOICE_PKG.log_message('recalculATE : ' || ' P_numerator : ' || l_numerator);
608: PA_MCB_INVOICE_PKG.log_message('recalculATE : ' || ' P_rate : ' || l_rate);
609: PA_MCB_INVOICE_PKG.log_message('recalculATE : ' || ' l_inv_currency_code : ' || l_inv_currency_code);
610: END IF;
611: if l_status is not null
604: IF g1_debug_mode = 'Y' THEN
605: PA_MCB_INVOICE_PKG.log_message('recalculATE : ' || ' After Convert Call status :' || l_status);
606: PA_MCB_INVOICE_PKG.log_message('recalculATE : ' || ' P_denominator : ' || l_denominator);
607: PA_MCB_INVOICE_PKG.log_message('recalculATE : ' || ' P_numerator : ' || l_numerator);
608: PA_MCB_INVOICE_PKG.log_message('recalculATE : ' || ' P_rate : ' || l_rate);
609: PA_MCB_INVOICE_PKG.log_message('recalculATE : ' || ' l_inv_currency_code : ' || l_inv_currency_code);
610: END IF;
611: if l_status is not null
612: then
605: PA_MCB_INVOICE_PKG.log_message('recalculATE : ' || ' After Convert Call status :' || l_status);
606: PA_MCB_INVOICE_PKG.log_message('recalculATE : ' || ' P_denominator : ' || l_denominator);
607: PA_MCB_INVOICE_PKG.log_message('recalculATE : ' || ' P_numerator : ' || l_numerator);
608: PA_MCB_INVOICE_PKG.log_message('recalculATE : ' || ' P_rate : ' || l_rate);
609: PA_MCB_INVOICE_PKG.log_message('recalculATE : ' || ' l_inv_currency_code : ' || l_inv_currency_code);
610: END IF;
611: if l_status is not null
612: then
613: X_Status := l_status;
618:
619: /* Update the invoice header 's invoice currency code and
620: conversion attribute */
621: IF g1_debug_mode = 'Y' THEN
622: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Update DI ');
623: END IF;
624: Update pa_draft_invoices_all
625: set inv_currency_code = l_inv_currency_code
626: ,inv_rate_type = l_inv_rate_type
656: ((cur_get_ret_lines.retention/100)*
657: l_total_inv_amount),l_inv_currency_code); */
658:
659: IF g1_debug_mode = 'Y' THEN
660: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Update DII for Retention ');
661: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || 'Retention Amount in IPC : ' || cur_get_ret_lines.amt);
662: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || 'Retention Amount in ITC : ' || l_inv_ret_amt);
663: END IF;
664:
657: l_total_inv_amount),l_inv_currency_code); */
658:
659: IF g1_debug_mode = 'Y' THEN
660: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Update DII for Retention ');
661: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || 'Retention Amount in IPC : ' || cur_get_ret_lines.amt);
662: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || 'Retention Amount in ITC : ' || l_inv_ret_amt);
663: END IF;
664:
665: update pa_draft_invoice_items
658:
659: IF g1_debug_mode = 'Y' THEN
660: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Update DII for Retention ');
661: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || 'Retention Amount in IPC : ' || cur_get_ret_lines.amt);
662: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || 'Retention Amount in ITC : ' || l_inv_ret_amt);
663: END IF;
664:
665: update pa_draft_invoice_items
666: set inv_amount = l_inv_ret_amt
689: l_round_off_amt := l_total_inv_amount - l_con_amt;
690:
691:
692: IF g1_debug_mode = 'Y' THEN
693: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Update DII for Adjustment ');
694: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Total Invoice Amount : ' || l_total_inv_amount);
695: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Total Retentn Amount : ' || l_total_retn_amount);
696: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Total Calcul Amount : ' || l_con_amt);
697: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Total Round Off Amt : ' || l_round_off_amt);
690:
691:
692: IF g1_debug_mode = 'Y' THEN
693: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Update DII for Adjustment ');
694: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Total Invoice Amount : ' || l_total_inv_amount);
695: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Total Retentn Amount : ' || l_total_retn_amount);
696: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Total Calcul Amount : ' || l_con_amt);
697: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Total Round Off Amt : ' || l_round_off_amt);
698: END IF;
691:
692: IF g1_debug_mode = 'Y' THEN
693: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Update DII for Adjustment ');
694: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Total Invoice Amount : ' || l_total_inv_amount);
695: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Total Retentn Amount : ' || l_total_retn_amount);
696: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Total Calcul Amount : ' || l_con_amt);
697: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Total Round Off Amt : ' || l_round_off_amt);
698: END IF;
699: /*Added nvl for l_round_off_amt for bug 12604419*/
692: IF g1_debug_mode = 'Y' THEN
693: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Update DII for Adjustment ');
694: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Total Invoice Amount : ' || l_total_inv_amount);
695: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Total Retentn Amount : ' || l_total_retn_amount);
696: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Total Calcul Amount : ' || l_con_amt);
697: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Total Round Off Amt : ' || l_round_off_amt);
698: END IF;
699: /*Added nvl for l_round_off_amt for bug 12604419*/
700: Update PA_DRAFT_INVOICE_ITEMS dii
693: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Update DII for Adjustment ');
694: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Total Invoice Amount : ' || l_total_inv_amount);
695: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Total Retentn Amount : ' || l_total_retn_amount);
696: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Total Calcul Amount : ' || l_con_amt);
697: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Total Round Off Amt : ' || l_round_off_amt);
698: END IF;
699: /*Added nvl for l_round_off_amt for bug 12604419*/
700: Update PA_DRAFT_INVOICE_ITEMS dii
701: SET dii.Inv_amount = pa_currency.round_trans_currency_amt(
706:
707:
708: /* Set invoice currency amount for net zero line to zero */
709: IF g1_debug_mode = 'Y' THEN
710: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Update DII for net zero ');
711: END IF;
712: update pa_draft_invoice_items
713: set inv_amount = 0
714: where project_id = P_Project_Id
719:
720: end if;/* end if for l_inv_currency_code <> l_invproc_currency_code */
721:
722: IF g1_debug_mode = 'Y' THEN
723: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' PFC : ' || l_func_curr);
724: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Inv Trans : ' || l_inv_currency_code);
725: END IF;
726:
727: -- FP_M Changes #1
720: end if;/* end if for l_inv_currency_code <> l_invproc_currency_code */
721:
722: IF g1_debug_mode = 'Y' THEN
723: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' PFC : ' || l_func_curr);
724: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Inv Trans : ' || l_inv_currency_code);
725: END IF;
726:
727: -- FP_M Changes #1
728: IF (l_func_curr <> l_inv_currency_code) and (l_invproc_currency_code <> l_func_curr) THEN
727: -- FP_M Changes #1
728: IF (l_func_curr <> l_inv_currency_code) and (l_invproc_currency_code <> l_func_curr) THEN
729:
730: IF g1_debug_mode = 'Y' THEN
731: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' If (l_func_curr <> l_inv_currency_code) ');
732: END IF;
733:
734: IF l_ProjFunc_Attr_For_AR_Flag <> 'Y' then
735: -- This if condition is added from FP_M changes bug 3693879
824: );
825:
826: --================================
827:
828: PA_MCB_INVOICE_PKG.log_message('recalculATE: If l_ProjFunc_Attr_For_AR_Flag = Y');
829: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_invoice_date ' || l_invoice_date);
830: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_PFC_Exchg_Rate_Date_Code ' || l_PFC_Exchg_Rate_Date_Code);
831: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_projfunc_Exchg_Rate_Date ' || l_projfunc_Exchg_Rate_Date);
832: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_projfunc_Exchg_Rate_type ' || l_projfunc_Exchg_Rate_type);
825:
826: --================================
827:
828: PA_MCB_INVOICE_PKG.log_message('recalculATE: If l_ProjFunc_Attr_For_AR_Flag = Y');
829: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_invoice_date ' || l_invoice_date);
830: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_PFC_Exchg_Rate_Date_Code ' || l_PFC_Exchg_Rate_Date_Code);
831: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_projfunc_Exchg_Rate_Date ' || l_projfunc_Exchg_Rate_Date);
832: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_projfunc_Exchg_Rate_type ' || l_projfunc_Exchg_Rate_type);
833: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_Rate ' || l_Rate);
826: --================================
827:
828: PA_MCB_INVOICE_PKG.log_message('recalculATE: If l_ProjFunc_Attr_For_AR_Flag = Y');
829: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_invoice_date ' || l_invoice_date);
830: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_PFC_Exchg_Rate_Date_Code ' || l_PFC_Exchg_Rate_Date_Code);
831: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_projfunc_Exchg_Rate_Date ' || l_projfunc_Exchg_Rate_Date);
832: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_projfunc_Exchg_Rate_type ' || l_projfunc_Exchg_Rate_type);
833: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_Rate ' || l_Rate);
834: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_Projfunc_Exchange_Rate ' || l_Projfunc_Exchange_Rate);
827:
828: PA_MCB_INVOICE_PKG.log_message('recalculATE: If l_ProjFunc_Attr_For_AR_Flag = Y');
829: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_invoice_date ' || l_invoice_date);
830: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_PFC_Exchg_Rate_Date_Code ' || l_PFC_Exchg_Rate_Date_Code);
831: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_projfunc_Exchg_Rate_Date ' || l_projfunc_Exchg_Rate_Date);
832: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_projfunc_Exchg_Rate_type ' || l_projfunc_Exchg_Rate_type);
833: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_Rate ' || l_Rate);
834: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_Projfunc_Exchange_Rate ' || l_Projfunc_Exchange_Rate);
835:
828: PA_MCB_INVOICE_PKG.log_message('recalculATE: If l_ProjFunc_Attr_For_AR_Flag = Y');
829: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_invoice_date ' || l_invoice_date);
830: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_PFC_Exchg_Rate_Date_Code ' || l_PFC_Exchg_Rate_Date_Code);
831: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_projfunc_Exchg_Rate_Date ' || l_projfunc_Exchg_Rate_Date);
832: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_projfunc_Exchg_Rate_type ' || l_projfunc_Exchg_Rate_type);
833: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_Rate ' || l_Rate);
834: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_Projfunc_Exchange_Rate ' || l_Projfunc_Exchange_Rate);
835:
836: Update pa_draft_invoices_all
829: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_invoice_date ' || l_invoice_date);
830: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_PFC_Exchg_Rate_Date_Code ' || l_PFC_Exchg_Rate_Date_Code);
831: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_projfunc_Exchg_Rate_Date ' || l_projfunc_Exchg_Rate_Date);
832: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_projfunc_Exchg_Rate_type ' || l_projfunc_Exchg_Rate_type);
833: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_Rate ' || l_Rate);
834: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_Projfunc_Exchange_Rate ' || l_Projfunc_Exchange_Rate);
835:
836: Update pa_draft_invoices_all
837: set projfunc_invtrans_rate_type = l_projfunc_Exchg_Rate_type
830: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_PFC_Exchg_Rate_Date_Code ' || l_PFC_Exchg_Rate_Date_Code);
831: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_projfunc_Exchg_Rate_Date ' || l_projfunc_Exchg_Rate_Date);
832: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_projfunc_Exchg_Rate_type ' || l_projfunc_Exchg_Rate_type);
833: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_Rate ' || l_Rate);
834: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_Projfunc_Exchange_Rate ' || l_Projfunc_Exchange_Rate);
835:
836: Update pa_draft_invoices_all
837: set projfunc_invtrans_rate_type = l_projfunc_Exchg_Rate_type
838: ,projfunc_invtrans_rate_date = DECODE(l_PFC_Exchg_Rate_Date_Code,
848: End If; -- of l_ProjFunc_Attr_For_AR_Flag value condition
849: ELSIF (l_func_curr <> l_inv_currency_code) and (l_invproc_currency_code = l_func_curr) THEN
850:
851: IF g1_debug_mode = 'Y' THEN
852: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' If (l_func_curr <> l_inv_currency_code) and (l_invproc_currency_code = l_func_curr) ');
853: END IF;
854:
855: IF (l_invtras_rate_flag) THEN
856:
854:
855: IF (l_invtras_rate_flag) THEN
856:
857: IF g1_debug_mode = 'Y' THEN
858: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || 'Invoice Transaction Rate is available ');
859: END IF;
860:
861: -- FP_M changes
862: -- If the Project is implemented with Project Function Attributes for AR flag is
914: exception
915: when OTHERS
916: then
917: IF g1_debug_mode = 'Y' THEN
918: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Sql Error : ' || sqlerrm);
919: END IF;
920: RAISE;
921: end RECALCULATE;
922:
1184:
1185: /* Added to fix bug 2165379 */
1186:
1187: IF g1_debug_mode = 'Y' THEN
1188: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Inside Update cr memo');
1189: END IF;
1190:
1191: select PROJFUNC_CURRENCY_CODE,
1192: PROJECT_CURRENCY_CODE,
1208: from pa_projects_all
1209: where project_id = P_Project_Id;
1210:
1211: IF g1_debug_mode = 'Y' THEN
1212: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Project Currency Code ' || l_project_currency_code);
1213: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Project Functional ' || l_func_curr);
1214: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' IPC type ' || l_invproc_currency_type);
1215: END IF;
1216:
1209: where project_id = P_Project_Id;
1210:
1211: IF g1_debug_mode = 'Y' THEN
1212: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Project Currency Code ' || l_project_currency_code);
1213: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Project Functional ' || l_func_curr);
1214: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' IPC type ' || l_invproc_currency_type);
1215: END IF;
1216:
1217: IF l_invproc_currency_type ='PROJECT_CURRENCY' THEN
1210:
1211: IF g1_debug_mode = 'Y' THEN
1212: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Project Currency Code ' || l_project_currency_code);
1213: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Project Functional ' || l_func_curr);
1214: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' IPC type ' || l_invproc_currency_type);
1215: END IF;
1216:
1217: IF l_invproc_currency_type ='PROJECT_CURRENCY' THEN
1218:
1268: and invoice currency is same as project functional currency */
1269: then
1270:
1271: IF g1_debug_mode = 'Y' THEN
1272: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' l_invproc_currency_code = l_inv_currency_code = l_func_curr)' );
1273: END IF;
1274:
1275: -- X_Status := NULL;
1276:
1297: /* If invoice currency is same as invoice processing currency */
1298:
1299: -- X_Status := NULL;
1300: IF g1_debug_mode = 'Y' THEN
1301: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' If (l_invproc_currency_code = l_inv_currency_code) ');
1302: END IF;
1303:
1304: Update pa_draft_invoices_all
1305: set inv_currency_code = l_invproc_currency_code
1319: IF (l_inv_currency_code = l_func_curr) THEN
1320: -- If invoice currency is same as project functional currency
1321: -- X_Status := NULL;
1322: IF g1_debug_mode = 'Y' THEN
1323: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' If (l_inv_currency_code = l_func_curr) ');
1324: END IF;
1325:
1326: Update pa_draft_invoices_all
1327: set projfunc_invtrans_rate_type = NULL
1343:
1344: IF (l_invproc_currency_code <> l_inv_currency_code) AND (l_inv_currency_code <> l_func_curr) THEN
1345:
1346: IF g1_debug_mode = 'Y' THEN
1347: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' l_invproc_currency_code <> l_inv_currency_code ');
1348: END IF;
1349:
1350: open get_orig_amt;
1351:
1532: END IF;
1533: END IF;
1534:
1535: IF g1_debug_mode = 'Y' THEN
1536: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' PFC : ' || l_func_curr);
1537: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Inv Trans : ' || l_inv_currency_code);
1538: END IF;
1539:
1540: IF (l_func_curr <> l_inv_currency_code) and (l_invproc_currency_code <> l_func_curr) THEN
1533: END IF;
1534:
1535: IF g1_debug_mode = 'Y' THEN
1536: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' PFC : ' || l_func_curr);
1537: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' Inv Trans : ' || l_inv_currency_code);
1538: END IF;
1539:
1540: IF (l_func_curr <> l_inv_currency_code) and (l_invproc_currency_code <> l_func_curr) THEN
1541:
1539:
1540: IF (l_func_curr <> l_inv_currency_code) and (l_invproc_currency_code <> l_func_curr) THEN
1541:
1542: IF g1_debug_mode = 'Y' THEN
1543: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' l_func_curr <> l_inv_currency_code and l_invproc_currency_code <> l_func_curr ');
1544: END IF;
1545:
1546: IF l_ProjFunc_Attr_For_AR_Flag <> 'Y' then /* Added for bug 7575486*/
1547:
1633: X_status => l_status
1634: );
1635:
1636:
1637: PA_MCB_INVOICE_PKG.log_message('recalculATE: If l_ProjFunc_Attr_For_AR_Flag = Y');
1638: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_invoice_date ' || l_invoice_date);
1639: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_PFC_Exchg_Rate_Date_Code ' || l_PFC_Exchg_Rate_Date_Code);
1640: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_projfunc_Exchg_Rate_Date ' || l_projfunc_Exchg_Rate_Date);
1641: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_projfunc_Exchg_Rate_type ' || l_projfunc_Exchg_Rate_type);
1634: );
1635:
1636:
1637: PA_MCB_INVOICE_PKG.log_message('recalculATE: If l_ProjFunc_Attr_For_AR_Flag = Y');
1638: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_invoice_date ' || l_invoice_date);
1639: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_PFC_Exchg_Rate_Date_Code ' || l_PFC_Exchg_Rate_Date_Code);
1640: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_projfunc_Exchg_Rate_Date ' || l_projfunc_Exchg_Rate_Date);
1641: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_projfunc_Exchg_Rate_type ' || l_projfunc_Exchg_Rate_type);
1642: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_Rate ' || l_Rate);
1635:
1636:
1637: PA_MCB_INVOICE_PKG.log_message('recalculATE: If l_ProjFunc_Attr_For_AR_Flag = Y');
1638: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_invoice_date ' || l_invoice_date);
1639: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_PFC_Exchg_Rate_Date_Code ' || l_PFC_Exchg_Rate_Date_Code);
1640: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_projfunc_Exchg_Rate_Date ' || l_projfunc_Exchg_Rate_Date);
1641: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_projfunc_Exchg_Rate_type ' || l_projfunc_Exchg_Rate_type);
1642: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_Rate ' || l_Rate);
1643: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_Projfunc_Exchange_Rate ' || l_Projfunc_Exchange_Rate);
1636:
1637: PA_MCB_INVOICE_PKG.log_message('recalculATE: If l_ProjFunc_Attr_For_AR_Flag = Y');
1638: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_invoice_date ' || l_invoice_date);
1639: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_PFC_Exchg_Rate_Date_Code ' || l_PFC_Exchg_Rate_Date_Code);
1640: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_projfunc_Exchg_Rate_Date ' || l_projfunc_Exchg_Rate_Date);
1641: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_projfunc_Exchg_Rate_type ' || l_projfunc_Exchg_Rate_type);
1642: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_Rate ' || l_Rate);
1643: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_Projfunc_Exchange_Rate ' || l_Projfunc_Exchange_Rate);
1644:
1637: PA_MCB_INVOICE_PKG.log_message('recalculATE: If l_ProjFunc_Attr_For_AR_Flag = Y');
1638: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_invoice_date ' || l_invoice_date);
1639: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_PFC_Exchg_Rate_Date_Code ' || l_PFC_Exchg_Rate_Date_Code);
1640: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_projfunc_Exchg_Rate_Date ' || l_projfunc_Exchg_Rate_Date);
1641: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_projfunc_Exchg_Rate_type ' || l_projfunc_Exchg_Rate_type);
1642: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_Rate ' || l_Rate);
1643: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_Projfunc_Exchange_Rate ' || l_Projfunc_Exchange_Rate);
1644:
1645: Update pa_draft_invoices_all
1638: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_invoice_date ' || l_invoice_date);
1639: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_PFC_Exchg_Rate_Date_Code ' || l_PFC_Exchg_Rate_Date_Code);
1640: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_projfunc_Exchg_Rate_Date ' || l_projfunc_Exchg_Rate_Date);
1641: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_projfunc_Exchg_Rate_type ' || l_projfunc_Exchg_Rate_type);
1642: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_Rate ' || l_Rate);
1643: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_Projfunc_Exchange_Rate ' || l_Projfunc_Exchange_Rate);
1644:
1645: Update pa_draft_invoices_all
1646: set projfunc_invtrans_rate_type = l_projfunc_Exchg_Rate_type
1639: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_PFC_Exchg_Rate_Date_Code ' || l_PFC_Exchg_Rate_Date_Code);
1640: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_projfunc_Exchg_Rate_Date ' || l_projfunc_Exchg_Rate_Date);
1641: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_projfunc_Exchg_Rate_type ' || l_projfunc_Exchg_Rate_type);
1642: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_Rate ' || l_Rate);
1643: PA_MCB_INVOICE_PKG.log_message('recalculATE: l_Projfunc_Exchange_Rate ' || l_Projfunc_Exchange_Rate);
1644:
1645: Update pa_draft_invoices_all
1646: set projfunc_invtrans_rate_type = l_projfunc_Exchg_Rate_type
1647: ,projfunc_invtrans_rate_date = DECODE(l_PFC_Exchg_Rate_Date_Code,
1655: /* Added for bug 7575486*/
1656: ELSIF (l_func_curr <> l_inv_currency_code) and (l_invproc_currency_code = l_func_curr) THEN
1657:
1658: IF g1_debug_mode = 'Y' THEN
1659: PA_MCB_INVOICE_PKG.log_message('recalculATE: ' || ' l_func_curr <> l_inv_currency_code and l_invproc_currency_code = l_func_curr ');
1660: END IF;
1661:
1662: Update pa_draft_invoices_all
1663: set projfunc_invtrans_rate_type = inv_rate_type
1750:
1751: BEGIN
1752:
1753: IF g1_debug_mode = 'Y' THEN
1754: PA_MCB_INVOICE_PKG.log_message ('Inside recalculate driver');
1755: END IF;
1756:
1757: OPEN UNAPP_INV_CUR;
1758:
1766:
1767: IF l_invoice_class = 'INVOICE'
1768: THEN
1769: IF g1_debug_mode = 'Y' THEN
1770: PA_MCB_INVOICE_PKG.log_message ('Calling Recalculate');
1771: END IF;
1772: PA_INVOICE_CURRENCY.RECALCULATE ( P_Project_Id =>l_project_id,
1773: P_Draft_Inv_Num =>l_draft_invoice_num,
1774: P_Calling_Module =>'PAIGEN',
1782: X_Status =>l_out_status);
1783: IF l_out_status IS NOT NULL
1784: THEN
1785: IF g1_debug_mode = 'Y' THEN
1786: PA_MCB_INVOICE_PKG.log_message ('recalculATE: ' || 'Insert distribution warning ');
1787: END IF;
1788: Insert_Distrbution_Warning ( P_Project_ID =>l_Project_ID,
1789: P_Draft_Invoice_Num =>l_draft_invoice_num,
1790: P_User_ID =>P_User_ID,
1797: IF l_out_status = 'PA_NO_EXCH_RATE_EXISTS' OR l_out_status ='PA_CURR_NOT_VALID'
1798: OR l_out_status = 'PA_USR_RATE_NOT_ALLOWED'
1799: THEN
1800: IF g1_debug_mode = 'Y' THEN
1801: PA_MCB_INVOICE_PKG.log_message ('recalculATE: ' || 'Invoice Generation Error is set....'||l_out_status);
1802: END IF;
1803: UPDATE pa_draft_invoices_all
1804: SET generation_error_flag='Y',
1805: transfer_rejection_reason= (SELECT meaning FROM pa_lookups
1813: END IF;
1814: ELSIF l_invoice_class = 'CREDIT_MEMO'
1815: THEN
1816: IF g1_debug_mode = 'Y' THEN
1817: PA_MCB_INVOICE_PKG.log_message ('recalculATE: ' || 'Calling Upddate_crmemo_invamt ');
1818: END IF;
1819: PA_INVOICE_CURRENCY.Update_CRMemo_Invamt
1820: (P_Project_Id =>l_Project_ID,
1821: P_Draft_Inv_Num =>l_draft_invoice_num,