1: PACKAGE BODY CE_CSH_FCST_POP AS
2: /* $Header: cefpcelb.pls 120.69.12010000.4 2008/11/20 05:19:27 csutaria ship $ */
3:
4: FUNCTION body_revision RETURN VARCHAR2 IS
5: BEGIN
204: new_start_date DATE;
205: new_end_date DATE;
206: fid NUMBER;
207: BEGIN
208: cep_standard.debug('>>ce_csh_fcST_POP.populate_aging_buckets');
209:
210: OPEN C1;
211: FETCH C1 INTO fid, start_date, end_date;
212: LOOP
275: FETCH C1 INTO fid, start_date, end_date;
276: END LOOP;
277: CLOSE C1;
278:
279: cep_standard.debug('<
281: WHEN OTHERS THEN
282: IF C1%ISOPEN THEN CLOSE C1; END IF;
283: CEP_STANDARD.DEBUG('EXCEPTION:populate_aging_buckets');
289: delete from ce_forecast_ext_temp
290: where context_value = 'A' and
291: forecast_request_id = CE_CASH_FCST.G_forecast_id and
292: conversion_rate = CE_CASH_FCST.G_forecast_row_id;
293: cep_standard.debug('<
295: WHEN OTHERS THEN
296: CEP_STANDARD.DEBUG('EXCEPTION:clear_aging_buckets');
297: raise;
914: forecast_rowid VARCHAR2(30);
915: counter number;
916: final_query VARCHAR2(5000);
917: BEGIN
918: cep_standard.debug('>>CE_CSH_FCST_POP.Execute_Main_Query');
919:
920: populate_aging_buckets;
921:
922: cursor_id := DBMS_SQL.open_cursor;
1013: l_end_of_day NUMBER;
1014: l_ptd_range NUMBER;
1015: l_period_name GL_PERIODS.period_name%TYPE;
1016: BEGIN
1017: cep_standard.debug('>>CE_CSH_FCST_POP.Use_Avg_Bal_Pos');
1018: --
1019: -- Get number of days from start of the period
1020: --
1021: BEGIN
1097: AND glcc.summary_flag = 'N'
1098: AND glcc.code_combination_id = p_ccid
1099: AND org.enable_average_balances_flag = 'Y';
1100:
1101: cep_standard.debug('<
1103: EXCEPTION
1104: WHEN NO_DATA_FOUND THEN
1105: RETURN(0);
1337: l_prior_day_cflow NUMBER;
1338: error_msg FND_NEW_MESSAGES.message_text%TYPE;
1339:
1340: BEGIN
1341: cep_standard.debug('>>CE_CSH_FCST_POP.Populate_Opening_Bal');
1342:
1343: IF (CE_CASH_FCST.G_rp_view_by in ('BANK','ALL')) THEN
1344: IF (CE_CASH_FCST.G_aging_type = 'D') THEN
1345: l_fc_start_date := trunc(CE_CASH_FCST.G_rp_forecast_start_date);
1772: END LOOP;
1773: END IF;
1774: END IF;
1775:
1776: cep_standard.debug('<
1778: WHEN OTHERS THEN
1779: CEP_STANDARD.DEBUG('EXCEPTION:Populate_Opening_Bal');
1780: raise;
2006:
2007: main_query := select_clause || from_clause || where_clause;
2008:
2009: Execute_Main_Query (main_query);
2010: cep_standard.debug('<
2012: WHEN OTHERS THEN
2013: CEP_STANDARD.DEBUG('EXCEPTION:Build_AP_Pay_Query');
2014: raise;
2067: main_query := select_clause || from_clause || where_clause;
2068:
2069: Execute_Main_Query (main_query);
2070:
2071: cep_standard.debug('<
2073: WHEN OTHERS THEN
2074: CEP_STANDARD.DEBUG('EXCEPTION:Build_AP_Project_Inv_Query');
2075: raise;
2140: IF (CE_CASH_FCST.G_rp_project_id IS NOT NULL) THEN
2141: Build_AP_Project_Inv_Query;
2142: END IF;
2143:
2144: cep_standard.debug('<
2146: WHEN OTHERS THEN
2147: CEP_STANDARD.DEBUG('EXCEPTION:Build_AP_Invoice_Query');
2148: raise;
2231: main_query := select_clause || from_clause || where_clause;
2232:
2233: Execute_Main_Query (main_query);
2234:
2235: cep_standard.debug('<
2237: WHEN OTHERS THEN
2238: cep_standard.debug('EXCEPTION:OTHERS-Build_PA_Invoice_Query');
2239: RAISE;
2323: IF (CE_CASH_FCST.G_use_average_payment_days = 'Y') THEN
2324: where_clause := Get_Where_Clause || ' AND
2325: nvl(src.invoice_date, src.trx_date) + decode(src.invoice_date, null, '
2326: || to_char(CE_CASH_FCST.G_lead_time)
2327: || ', nvl( CE_CSH_FCST_POP.Get_Average_Payment_Days (src.customer_id, src.site_use_id, '
2328: || ' src.currency_code, '
2329: || to_char(CE_CASH_FCST.G_apd_period)
2330: || '), (src.trx_date - src.invoice_date + '
2331: || to_char(CE_CASH_FCST.G_lead_time)
2360: IF (CE_CASH_FCST.G_rp_project_id IS NOT NULL) THEN
2361: Build_PA_Invoice_Query;
2362: END IF;
2363:
2364: cep_standard.debug('<
2366: WHEN OTHERS THEN
2367: cep_standard.debug('EXCEPTION:OTHERS-Build_AR_Invoice_Query');
2368: RAISE;
2505:
2506: commit;
2507:
2508: Execute_Main_Query (main_query);
2509: cep_standard.debug('<
2511: WHEN OTHERS THEN
2512: cep_standard.debug('EXCEPTION-OTHERS:Build_AR_Receipt_Query');
2513: RAISE;
2784: main_query := select_clause || from_clause || where_clause;
2785:
2786: Execute_Main_Query (main_query);
2787:
2788: cep_standard.debug('<
2790: END Build_Pay_Exp_Query;
2791:
2792:
3756: zero_fill_cells;
3757: END IF;
3758: END IF;
3759: END IF;
3760: cep_standard.debug('<
3762: WHEN OTHERS THEN
3763: CEP_STANDARD.DEBUG('EXCEPTION:Build_PO_Orders_Query');
3764: raise;
4140:
4141: END IF;
4142: END IF;
4143:
4144: cep_standard.debug('<
4146: WHEN OTHERS THEN
4147: CEP_STANDARD.DEBUG('EXCEPTION:Build_PO_req_Query');
4148: raise;
4189:
4190: main_query := select_clause || from_clause || where_clause;
4191: Execute_Main_Query (main_query);
4192:
4193: cep_standard.debug('<
4195: WHEN OTHERS THEN
4196: cep_standard.debug('EXCEPTION:OTHERS-Build_Sales_Fcst_Query');
4197: raise;
4627: ELSE
4628: Execute_Main_Query (main_query_1);
4629: END IF;
4630:
4631: cep_standard.debug('<
4633: WHEN OTHERS THEN
4634: CEP_STANDARD.DEBUG('EXCEPTION:Build_Sales_Order_Query');
4635: raise;
5335: FOR i IN 1 .. amount_table.count LOOP
5336: IF (CE_CASH_FCST.G_trx_type = ''OII'') THEN
5337: cep_standard.debug(''insert column_id = ''||to_char(amount_table(i).forecast_column_id)||'' with amount ''||
5338: to_char(amount_table(i).forecast_amount));
5339: 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);
5340: ELSE
5341: cep_standard.debug(''insert column_id = ''||to_char(amount_table(i).forecast_column_id)||'' with amount ''||
5342: to_char(-(amount_table(i).forecast_amount)));
5343: 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);
5339: 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);
5340: ELSE
5341: cep_standard.debug(''insert column_id = ''||to_char(amount_table(i).forecast_column_id)||'' with amount ''||
5342: to_char(-(amount_table(i).forecast_amount)));
5343: 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);
5344: END IF;
5345: END LOOP;
5346: CE_CSH_FCST_POP.Zero_Fill_Cells;
5347: ELSIF( error_code = -1 )THEN
5342: to_char(-(amount_table(i).forecast_amount)));
5343: 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);
5344: END IF;
5345: END LOOP;
5346: CE_CSH_FCST_POP.Zero_Fill_Cells;
5347: ELSIF( error_code = -1 )THEN
5348: cep_standard.debug(''Remote error: missing view'');
5349: FND_MESSAGE.set_name(''CE'', ''CE_FC_RMT_MISSING_VIEW_EXPT'');
5350: error_msg := FND_MESSAGE.get;
5387: END;
5388:
5389: clear_aging_buckets;
5390:
5391: cep_standard.debug('<
5393: WHEN OTHERS THEN
5394: clear_aging_buckets;
5395: cep_standard.debug('EXCEPTION:Build_Remote_Query');
5424: -- Based on the source_trx_type call the different procedures
5425: -- to build the queries dynamically
5426: --
5427:
5428: cep_standard.debug('>>CE_CSH_FCST_POP.Populate_Cells');
5429: IF (CE_CASH_FCST.G_trx_type = 'API') THEN
5430: Build_AP_Invoice_Query;
5431: ELSIF (CE_CASH_FCST.G_trx_type = 'APP' AND CE_CASH_FCST.G_rp_project_id IS NULL) THEN
5432: Build_AP_Pay_Query;
5505: ELSIF (CE_CASH_FCST.G_trx_type = 'UDO') THEN
5506: Zero_Fill_Cells;
5507: END IF;
5508:
5509: cep_standard.debug('<
5511:
5512:
5513: END CE_CSH_FCST_POP;
5509: cep_standard.debug('<
5511:
5512:
5513: END CE_CSH_FCST_POP;