1: PACKAGE BODY CE_CSH_FCST_POP AS
2: /* $Header: cefpcelb.pls 120.73.12020000.3 2012/07/16 22:46:16 ckansara ship $ */
3:
4: FUNCTION body_revision RETURN VARCHAR2 IS
5: BEGIN
232: new_end_date DATE;
233: fid NUMBER;
234:
235: BEGIN
236: cep_standard.debug('>>CE_CSH_FCST_POP.populate_aging_buckets');
237: cep_standard.debug('CE_CASH_FCST.G_transaction_calendar_id='
238: ||CE_CASH_FCST.G_transaction_calendar_id);
239: cep_standard.debug('CE_CSH_FCST_POP.G_calendar_start='
240: ||to_char(CE_CSH_FCST_POP.G_calendar_start,'dd-mon-yyyy hh24:mi:ss'));
235: BEGIN
236: cep_standard.debug('>>CE_CSH_FCST_POP.populate_aging_buckets');
237: cep_standard.debug('CE_CASH_FCST.G_transaction_calendar_id='
238: ||CE_CASH_FCST.G_transaction_calendar_id);
239: cep_standard.debug('CE_CSH_FCST_POP.G_calendar_start='
240: ||to_char(CE_CSH_FCST_POP.G_calendar_start,'dd-mon-yyyy hh24:mi:ss'));
241: cep_standard.debug('CE_CSH_FCST_POP.G_calendar_end='
242: ||to_char(CE_CSH_FCST_POP.G_calendar_end,'dd-mon-yyyy hh24:mi:ss'));
243:
236: cep_standard.debug('>>CE_CSH_FCST_POP.populate_aging_buckets');
237: cep_standard.debug('CE_CASH_FCST.G_transaction_calendar_id='
238: ||CE_CASH_FCST.G_transaction_calendar_id);
239: cep_standard.debug('CE_CSH_FCST_POP.G_calendar_start='
240: ||to_char(CE_CSH_FCST_POP.G_calendar_start,'dd-mon-yyyy hh24:mi:ss'));
241: cep_standard.debug('CE_CSH_FCST_POP.G_calendar_end='
242: ||to_char(CE_CSH_FCST_POP.G_calendar_end,'dd-mon-yyyy hh24:mi:ss'));
243:
244: -- debug statements added for bug 14164001
237: cep_standard.debug('CE_CASH_FCST.G_transaction_calendar_id='
238: ||CE_CASH_FCST.G_transaction_calendar_id);
239: cep_standard.debug('CE_CSH_FCST_POP.G_calendar_start='
240: ||to_char(CE_CSH_FCST_POP.G_calendar_start,'dd-mon-yyyy hh24:mi:ss'));
241: cep_standard.debug('CE_CSH_FCST_POP.G_calendar_end='
242: ||to_char(CE_CSH_FCST_POP.G_calendar_end,'dd-mon-yyyy hh24:mi:ss'));
243:
244: -- debug statements added for bug 14164001
245: cep_standard.debug('-- bug 14164001 ----------------------------------------------------------');
238: ||CE_CASH_FCST.G_transaction_calendar_id);
239: cep_standard.debug('CE_CSH_FCST_POP.G_calendar_start='
240: ||to_char(CE_CSH_FCST_POP.G_calendar_start,'dd-mon-yyyy hh24:mi:ss'));
241: cep_standard.debug('CE_CSH_FCST_POP.G_calendar_end='
242: ||to_char(CE_CSH_FCST_POP.G_calendar_end,'dd-mon-yyyy hh24:mi:ss'));
243:
244: -- debug statements added for bug 14164001
245: cep_standard.debug('-- bug 14164001 ----------------------------------------------------------');
246: cep_standard.debug('CEFC_VIEW_CONST.GET_MIN_COL='||CEFC_VIEW_CONST.GET_MIN_COL);
334: FETCH C1 INTO fid, start_date, end_date;
335: END LOOP;
336: CLOSE C1;
337:
338: cep_standard.debug('<
340: WHEN OTHERS THEN
341: IF C1%ISOPEN THEN
342: CLOSE C1;
351: where context_value = 'A' and
352: forecast_request_id = CE_CASH_FCST.G_forecast_id and
353: conversion_rate = CE_CASH_FCST.G_forecast_row_id;
354:
355: cep_standard.debug('<
357: WHEN OTHERS THEN
358: cep_standard.debug('EXCEPTION:clear_aging_buckets');
359: raise;
982: forecast_rowid VARCHAR2(30);
983: counter number;
984: final_query VARCHAR2(5000);
985: BEGIN
986: cep_standard.debug('>>CE_CSH_FCST_POP.Execute_Main_Query');
987:
988: populate_aging_buckets;
989:
990: cursor_id := DBMS_SQL.open_cursor;
1081: l_end_of_day NUMBER;
1082: l_ptd_range NUMBER;
1083: l_period_name GL_PERIODS.period_name%TYPE;
1084: BEGIN
1085: cep_standard.debug('>>CE_CSH_FCST_POP.Use_Avg_Bal_Pos');
1086: --
1087: -- Get number of days from start of the period
1088: --
1089: BEGIN
1165: AND glcc.summary_flag = 'N'
1166: AND glcc.code_combination_id = p_ccid
1167: AND org.enable_average_balances_flag = 'Y';
1168:
1169: cep_standard.debug('<
1171: EXCEPTION
1172: WHEN NO_DATA_FOUND THEN
1173: RETURN(0);
1406: l_prior_day_cflow NUMBER;
1407: error_msg FND_NEW_MESSAGES.message_text%TYPE;
1408:
1409: BEGIN
1410: cep_standard.debug('>>CE_CSH_FCST_POP.Populate_Opening_Bal');
1411:
1412: IF (CE_CASH_FCST.G_rp_view_by in ('BANK','ALL')) THEN
1413: IF (CE_CASH_FCST.G_aging_type = 'D') THEN
1414: l_fc_start_date := trunc(CE_CASH_FCST.G_rp_forecast_start_date);
1841: END LOOP;
1842: END IF;
1843: END IF;
1844:
1845: cep_standard.debug('<
1847: WHEN OTHERS THEN
1848: CEP_STANDARD.DEBUG('EXCEPTION:Populate_Opening_Bal');
1849: raise;
2075:
2076: main_query := select_clause || from_clause || where_clause;
2077:
2078: Execute_Main_Query (main_query);
2079: cep_standard.debug('<
2081: WHEN OTHERS THEN
2082: CEP_STANDARD.DEBUG('EXCEPTION:Build_AP_Pay_Query');
2083: raise;
2136: main_query := select_clause || from_clause || where_clause;
2137:
2138: Execute_Main_Query (main_query);
2139:
2140: cep_standard.debug('<
2142: WHEN OTHERS THEN
2143: CEP_STANDARD.DEBUG('EXCEPTION:Build_AP_Project_Inv_Query');
2144: raise;
2213: IF (CE_CASH_FCST.G_rp_project_id IS NOT NULL) THEN
2214: Build_AP_Project_Inv_Query;
2215: END IF;
2216:
2217: cep_standard.debug('<
2219: WHEN OTHERS THEN
2220: CEP_STANDARD.DEBUG('EXCEPTION:Build_AP_Invoice_Query');
2221: raise;
2304: main_query := select_clause || from_clause || where_clause;
2305:
2306: Execute_Main_Query (main_query);
2307:
2308: cep_standard.debug('<
2310: WHEN OTHERS THEN
2311: cep_standard.debug('EXCEPTION:OTHERS-Build_PA_Invoice_Query');
2312: RAISE;
2396: IF (CE_CASH_FCST.G_use_average_payment_days = 'Y') THEN
2397: where_clause := Get_Where_Clause || ' AND
2398: nvl(src.invoice_date, src.trx_date) + decode(src.invoice_date, null, '
2399: || to_char(CE_CASH_FCST.G_lead_time)
2400: || ', nvl( CE_CSH_FCST_POP.Get_Average_Payment_Days (src.customer_id, src.site_use_id, '
2401: || ' src.currency_code, '
2402: || to_char(CE_CASH_FCST.G_apd_period)
2403: || '), (src.trx_date - src.invoice_date + '
2404: || to_char(CE_CASH_FCST.G_lead_time)
2433: IF (CE_CASH_FCST.G_rp_project_id IS NOT NULL) THEN
2434: Build_PA_Invoice_Query;
2435: END IF;
2436:
2437: cep_standard.debug('<
2439: WHEN OTHERS THEN
2440: cep_standard.debug('EXCEPTION:OTHERS-Build_AR_Invoice_Query');
2441: RAISE;
2581:
2582: commit;
2583:
2584: Execute_Main_Query (main_query);
2585: cep_standard.debug('<
2587: WHEN OTHERS THEN
2588: cep_standard.debug('EXCEPTION-OTHERS:Build_AR_Receipt_Query');
2589: RAISE;
2860: main_query := select_clause || from_clause || where_clause;
2861:
2862: Execute_Main_Query (main_query);
2863:
2864: cep_standard.debug('<
2866: END Build_Pay_Exp_Query;
2867:
2868:
3832: zero_fill_cells;
3833: END IF;
3834: END IF;
3835: END IF;
3836: cep_standard.debug('<
3838: WHEN OTHERS THEN
3839: CEP_STANDARD.DEBUG('EXCEPTION:Build_PO_Orders_Query');
3840: raise;
4216:
4217: END IF;
4218: END IF;
4219:
4220: cep_standard.debug('<
4222: WHEN OTHERS THEN
4223: CEP_STANDARD.DEBUG('EXCEPTION:Build_PO_req_Query');
4224: raise;
4265:
4266: main_query := select_clause || from_clause || where_clause;
4267: Execute_Main_Query (main_query);
4268:
4269: cep_standard.debug('<
4271: WHEN OTHERS THEN
4272: cep_standard.debug('EXCEPTION:OTHERS-Build_Sales_Fcst_Query');
4273: raise;
4703: ELSE
4704: Execute_Main_Query (main_query_1);
4705: END IF;
4706:
4707: cep_standard.debug('<
4709: WHEN OTHERS THEN
4710: CEP_STANDARD.DEBUG('EXCEPTION:Build_Sales_Order_Query');
4711: raise;
5036: AND project_id = CE_CASH_FCST.G_rp_project_id
5037: AND budget_type_code = CE_CASH_FCST.G_budget_type;
5038:
5039: BEGIN
5040: cep_standard.debug('>>CE_CSH_FCST_POP.Build_PA_Budget_Query');
5041: -- initialize min_col and max_col
5042: populate_aging_buckets;
5043:
5044: cep_standard.debug('CE_CSH_FCST_POP.G_rp_project_id='||CE_CASH_FCST.G_rp_project_id
5040: cep_standard.debug('>>CE_CSH_FCST_POP.Build_PA_Budget_Query');
5041: -- initialize min_col and max_col
5042: populate_aging_buckets;
5043:
5044: cep_standard.debug('CE_CSH_FCST_POP.G_rp_project_id='||CE_CASH_FCST.G_rp_project_id
5045: ||', CE_CASH_FCST.G_rp_src_curr_type='||CE_CASH_FCST.G_rp_src_curr_type
5046: ||', CE_CASH_FCST.G_rp_src_currency='||CE_CASH_FCST.G_rp_src_currency
5047: ||', CE_CASH_FCST.G_org_id='||CE_CASH_FCST.G_org_id
5048: ||', CE_CASH_FCST.G_rp_exchange_rate='||CE_CASH_FCST.G_rp_exchange_rate
5217: END LOOP;
5218:
5219: clear_aging_buckets;
5220: zero_fill_cells;
5221: cep_standard.debug('>>CE_CSH_FCST_POP.Build_PA_Budget_Query');
5222:
5223: EXCEPTION
5224: WHEN OTHERS THEN
5225: cep_standard.debug('EXCEPTION:OTHERS-Build_PA_Budget_Query');
5486: FOR i IN 1 .. amount_table.count LOOP
5487: IF (CE_CASH_FCST.G_trx_type = ''OII'') THEN
5488: cep_standard.debug(''insert column_id = ''||to_char(amount_table(i).forecast_column_id)||'' with amount ''||
5489: to_char(amount_table(i).forecast_amount));
5490: CE_CSH_FCST_POP.Insert_Fcast_Cell(null, amount_table(i).currency_code, null, amount_table(i).trx_date, amount_table(i).bank_account_id, amount_table(i).forecast_amount, amount_table(i).trx_amount, amount_table(i).forecast_column_id);
5491: ELSE
5492: cep_standard.debug(''insert column_id = ''||to_char(amount_table(i).forecast_column_id)||'' with amount ''||
5493: to_char(-(amount_table(i).forecast_amount)));
5494: CE_CSH_FCST_POP.Insert_Fcast_Cell(null, amount_table(i).currency_code, null, amount_table(i).trx_date, amount_table(i).bank_account_id, -(amount_table(i).forecast_amount), -(amount_table(i).trx_amount), amount_table(i).forecast_column_id);
5490: CE_CSH_FCST_POP.Insert_Fcast_Cell(null, amount_table(i).currency_code, null, amount_table(i).trx_date, amount_table(i).bank_account_id, amount_table(i).forecast_amount, amount_table(i).trx_amount, amount_table(i).forecast_column_id);
5491: ELSE
5492: cep_standard.debug(''insert column_id = ''||to_char(amount_table(i).forecast_column_id)||'' with amount ''||
5493: to_char(-(amount_table(i).forecast_amount)));
5494: CE_CSH_FCST_POP.Insert_Fcast_Cell(null, amount_table(i).currency_code, null, amount_table(i).trx_date, amount_table(i).bank_account_id, -(amount_table(i).forecast_amount), -(amount_table(i).trx_amount), amount_table(i).forecast_column_id);
5495: END IF;
5496: END LOOP;
5497: CE_CSH_FCST_POP.Zero_Fill_Cells;
5498: ELSIF( error_code = -1 )THEN
5493: to_char(-(amount_table(i).forecast_amount)));
5494: CE_CSH_FCST_POP.Insert_Fcast_Cell(null, amount_table(i).currency_code, null, amount_table(i).trx_date, amount_table(i).bank_account_id, -(amount_table(i).forecast_amount), -(amount_table(i).trx_amount), amount_table(i).forecast_column_id);
5495: END IF;
5496: END LOOP;
5497: CE_CSH_FCST_POP.Zero_Fill_Cells;
5498: ELSIF( error_code = -1 )THEN
5499: cep_standard.debug(''Remote error: missing view'');
5500: FND_MESSAGE.set_name(''CE'', ''CE_FC_RMT_MISSING_VIEW_EXPT'');
5501: error_msg := FND_MESSAGE.get;
5538: END;
5539:
5540: clear_aging_buckets;
5541:
5542: cep_standard.debug('<
5544: WHEN OTHERS THEN
5545: clear_aging_buckets;
5546: cep_standard.debug('EXCEPTION:Build_Remote_Query');
5575: --
5576: -- Based on the source_trx_type call the different procedures
5577: -- to build the queries dynamically
5578: --
5579: cep_standard.debug('>>CE_CSH_FCST_POP.Populate_Cells');
5580: IF (CE_CASH_FCST.G_trx_type = 'API')
5581: THEN
5582: Build_AP_Invoice_Query;
5583: ELSIF (CE_CASH_FCST.G_trx_type = 'APP' AND CE_CASH_FCST.G_rp_project_id IS NULL)
5693: THEN
5694: Zero_Fill_Cells;
5695: END IF;
5696:
5697: cep_standard.debug('<
5699:
5700:
5701: END CE_CSH_FCST_POP;
5697: cep_standard.debug('<
5699:
5700:
5701: END CE_CSH_FCST_POP;