The following lines contain the word 'select', 'insert', 'update' or 'delete':
SELECT decode(count(ar_receivable_applications.apply_date), 0, 0,
round(sum(ar_receivable_applications.apply_date -
ar_payment_schedules.trx_date) /
count(ar_receivable_applications.apply_date)))
INTO l_ave_pay_days
FROM ar_receivable_applications_all ar_receivable_applications,
ar_payment_schedules_all ar_payment_schedules
WHERE ar_receivable_applications.applied_payment_schedule_id =
ar_payment_schedules.payment_schedule_id
AND ar_payment_schedules.customer_id = X_customer_id
AND ar_payment_schedules.customer_site_use_id = X_site_use_id
AND ar_payment_schedules.invoice_currency_code = X_currency_code
AND ar_receivable_applications.apply_date between
add_months(sysdate, - X_period) and sysdate
AND ar_receivable_applications.status = 'APP'
AND ar_receivable_applications.display = 'Y'
AND NVL(ar_payment_schedules.receipt_confirmed_flag,'Y') = 'Y';
SELECT forecast_column_id, column_number, days_from, days_to
FROM ce_forecast_columns
WHERE forecast_header_id = CE_CASH_FCST.G_rp_forecast_header_id;
SELECT gps.period_name
INTO history_period
FROM gl_periods gps,
gl_periods gp,
gl_period_types gpt
WHERE gps.period_num = DECODE(LEAST(gp.period_num-CE_CASH_FCST.G_roll_forward_period,1),
1,gp.period_num - CE_CASH_FCST.G_roll_forward_period,
gpt.number_per_fiscal_year + mod(gp.period_num-CE_CASH_FCST.G_roll_forward_period,
gpt.number_per_fiscal_year))
AND gps.period_year = gp.period_year +
DECODE(LEAST(gp.period_num-CE_CASH_FCST.G_roll_forward_period,1),
1,0,
DECODE(mod(gp.period_num-CE_CASH_FCST.G_roll_forward_period,gpt.number_per_fiscal_year),
0, FLOOR((gp.period_num -CE_CASH_FCST.G_roll_forward_period)/gpt.number_per_fiscal_year)-1,
FLOOR((gp.period_num -CE_CASH_FCST.G_roll_forward_period)/gpt.number_per_fiscal_year)))
AND gp.period_set_name = gps.period_set_name
AND gps.period_type = gp.period_type
AND gpt.period_type = gp.period_type
AND gp.period_name = CE_CASH_FCST.G_rp_forecast_start_period
AND gp.period_set_name = CEFC_VIEW_CONST.get_period_set_name;
CE_FORECAST_ERRORS_PKG.insert_row(
CE_CASH_FCST.G_forecast_id,
CE_CASH_FCST.G_rp_forecast_header_id,
CE_CASH_FCST.G_forecast_row_id,'CE_FC_COLUMN_NOT_IN_RANGE',
error_msg);
select forecast_column_id,
to_date(start_date,'J'),
to_date(end_date,'J')
from ce_fc_aging_buckets_v;
select max(transaction_date)+1
into new_start_date
from gl_transaction_dates
where transaction_calendar_id = CE_CASH_FCST.G_transaction_calendar_id
and transaction_date < start_date
and business_day_flag = 'Y';
select max(transaction_date)
into new_end_date
from gl_transaction_dates
where transaction_calendar_id = CE_CASH_FCST.G_transaction_calendar_id
and transaction_date <= end_date
and business_day_flag = 'Y';
cep_standard.debug('insert into CE_FORECAST_EXT_TEMP ...');
INSERT INTO CE_FORECAST_EXT_TEMP
(context_value, forecast_request_id, start_date, end_date,
forecast_column_id, conversion_rate)
VALUES ('A', CE_CASH_FCST.G_forecast_id, new_start_date, new_end_date,
fid, CE_CASH_FCST.G_forecast_row_id);
delete from ce_forecast_ext_temp
where context_value = 'A' and
forecast_request_id = CE_CASH_FCST.G_forecast_id and
conversion_rate = CE_CASH_FCST.G_forecast_row_id;
| Get Select Clause |
| |
| DESCRIPTION |
| Builds Select clause and returns it to calling procedure |
| CALLED BY |
| Build_XXX_Query |
| REQUIRES |
| |
| HISTORY |
| 19-AUG-1996 Created Bidemi Carrol |
--------------------------------------------------------------------- */
FUNCTION Get_Select_Clause RETURN VARCHAR2 IS
select_clause VARCHAR2(1500);
select_clause := '
SELECT CE_FORECAST_TRX_CELLS_S.nextval,
'||CE_CASH_FCST.G_forecast_id||',
'||CE_CASH_FCST.G_rp_forecast_header_id||',
'||CE_CASH_FCST.G_forecast_row_id||',
''Y'',
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
cab.forecast_column_id,
src.reference_id,
src.currency_code,
to_number(hr_ou.ORGANIZATION_ID),
src.trx_date +'
||to_char(CE_CASH_FCST.G_lead_time)|| ',
'||clause_string||',
'||trx_amount_string;
return select_clause;
END Get_Select_Clause;
AND (src.set_of_books_id IN (SELECT DISTINCT(set_of_books_id)
FROM GL_SETS_OF_BOOKS
WHERE set_of_books_id = '||to_char(CE_CASH_FCST.G_set_of_books_id)||' )) ';
AND (src.org_id IS NULL OR src.org_id IN (SELECT DISTINCT(org_id)
FROM CE_FORECAST_ORGS_V
WHERE set_of_books_id = '||to_char(CE_CASH_FCST.G_set_of_books_id)||' )) ';
| Insert_Fcast_Cell |
| |
| DESCRIPTION |
| This procedure inserts a row into the CE_FORECAST_TRX_CELLS |
| CALLED BY |
| Build_Remote_Query |
| REQUIRES |
| forecast_amount, column_id, reference_id, currency_code, |
| org_id, trx_date, bank_account_id |
| HISTORY |
| 19-AUG-1996 Created Bidemi Carrol |
--------------------------------------------------------------------- */
PROCEDURE Insert_Fcast_Cell( p_reference_id VARCHAR2,
p_currency_code VARCHAR2,
p_org_id NUMBER,
p_trx_date DATE,
p_bank_account_id NUMBER,
p_forecast_amount NUMBER,
p_trx_amount NUMBER,
p_forecast_column_id NUMBER) IS
forecast_rowid VARCHAR2(30):=NULL;
SELECT ccid.asset_code_combination_id
INTO l_code_combination_id
FROM ce_gl_accounts_ccid ccid, ce_bank_acct_uses_all bau
WHERE bau.bank_account_id = p_bank_account_id
and bau.org_id = p_org_id
and ccid.bank_acct_use_id = bau.bank_acct_use_id;
select bau.asset_code_combination_id
into l_code_combination_id
from ce_bank_accounts bau
where bau.bank_account_id = p_bank_account_id ;
CE_FORECAST_TRX_CELLS_PKG.insert_row(
X_rowid =>forecast_rowid,
X_FORECAST_CELL_ID =>forecast_cell_id,
X_FORECAST_ID =>CE_CASH_FCST.G_forecast_id,
X_FORECAST_HEADER_ID =>CE_CASH_FCST.G_rp_forecast_header_id,
X_FORECAST_ROW_ID =>CE_CASH_FCST.G_forecast_row_id,
X_FORECAST_COLUMN_ID =>p_forecast_column_id,
X_AMOUNT =>round(NVL(p_forecast_amount,0), CE_CASH_FCST.G_precision),
X_TRX_AMOUNT =>p_trx_amount,
X_REFERENCE_ID =>p_reference_id,
X_CURRENCY_CODE =>p_currency_code,
X_ORG_ID => p_org_id,
X_INCLUDE_FLAG =>'Y',
X_TRX_DATE =>p_trx_date,
X_BANK_ACCOUNT_ID =>p_bank_account_id,
X_CODE_COMBINATION_ID =>l_code_combination_id,
X_CREATED_BY =>nvl(fnd_global.user_id,-1),
X_CREATION_DATE =>sysdate,
X_LAST_UPDATED_BY =>nvl(fnd_global.user_id,-1),
X_LAST_UPDATE_DATE =>sysdate,
X_LAST_UPDATE_LOGIN =>nvl(fnd_global.user_id,-1));
cep_standard.debug('EXCEPTION:OTHERS- Insert_Fcast_Cell');
END Insert_Fcast_Cell;
| This procedure inserts a row into the CE_FORECAST_TRX_CELLS table |
| for those columns for which the view produces a null row |
| CALLED BY |
| Execute_Main_Query, |
| REQUIRES |
| |
| HISTORY |
| 19-AUG-1996 Created Bidemi Carrol |
---------------------------------------------------------------------*/
PROCEDURE Zero_Fill_Cells IS
column_id CE_FORECAST_COLUMNS.forecast_column_id%TYPE;
CURSOR zero_fill_c IS SELECT cfc.forecast_column_id
FROM ce_forecast_columns cfc
WHERE cfc.forecast_header_id = CE_CASH_FCST.G_rp_forecast_header_id;
Insert_Fcast_Cell(null, null, null, null, null, 0, to_number(null), column_id);
| executed - directly inserts into ce_forecast_trx_cells |
| from select statement |
| CALLED BY |
| Build_XX_Query |
| REQUIRES |
| main_query |
| HISTORY |
| 29-APR-2003 Created Sunil Poonen |
--------------------------------------------------------------------- */
PROCEDURE Execute_Main_Query (main_query VARCHAR2) IS
cursor_id INTEGER;
final_query := 'INSERT INTO CE_FORECAST_TRX_CELLS(
FORECAST_CELL_ID,
FORECAST_ID,
FORECAST_HEADER_ID,
FORECAST_ROW_ID,
INCLUDE_FLAG,
CREATED_BY,
CREATION_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATE_LOGIN,
FORECAST_COLUMN_ID,
REFERENCE_ID,
CURRENCY_CODE,
ORG_ID,
TRX_DATE,
BANK_ACCOUNT_ID,
CODE_COMBINATION_ID,
AMOUNT,
TRX_AMOUNT)
' || main_query;
DELETE from ce_forecast_trx_cells
WHERE forecast_id = CE_CASH_FCST.G_forecast_id
AND forecast_row_id = CE_CASH_FCST.G_forecast_row_id
AND forecast_column_id = CE_CASH_FCST.G_overdue_column_id;
DELETE from ce_forecast_trx_cells
WHERE forecast_id = CE_CASH_FCST.G_forecast_id
AND forecast_row_id = CE_CASH_FCST.G_forecast_row_id
AND forecast_column_id = CE_CASH_FCST.G_overdue_column_id;
DELETE from ce_forecast_trx_cells
WHERE forecast_id = CE_CASH_FCST.G_forecast_id
AND forecast_row_id = CE_CASH_FCST.G_forecast_row_id
AND forecast_column_id = CE_CASH_FCST.G_overdue_column_id;
SELECT period_name,
(CE_CASH_FCST.G_rp_forecast_start_date - start_date +1)
INTO l_period_name,
l_ptd_range
FROM gl_periods
WHERE CE_CASH_FCST.G_rp_forecast_start_date BETWEEN start_date and end_date
AND period_set_name = CE_CASH_FCST.G_rp_calendar_name;
SELECT SUM(DECODE(l_ptd_range, 1, NVL(PERIOD_AGGREGATE1,0),
2, NVL(PERIOD_AGGREGATE2,0)- NVL(PERIOD_AGGREGATE1,0),
3, NVL(PERIOD_AGGREGATE3,0)-NVL(PERIOD_AGGREGATE2,0),
4, NVL(PERIOD_AGGREGATE4,0)-NVL(PERIOD_AGGREGATE3,0),
5, NVL(PERIOD_AGGREGATE5,0)-NVL(PERIOD_AGGREGATE4,0),
6, NVL(PERIOD_AGGREGATE6,0)-NVL(PERIOD_AGGREGATE5,0),
7, NVL(PERIOD_AGGREGATE7,0)-NVL(PERIOD_AGGREGATE6,0),
8, NVL(PERIOD_AGGREGATE8,0)-NVL(PERIOD_AGGREGATE7,0),
9, NVL(PERIOD_AGGREGATE9,0)-NVL(PERIOD_AGGREGATE8,0),
10, NVL(PERIOD_AGGREGATE10,0)-NVL(PERIOD_AGGREGATE9,0),
11, NVL(PERIOD_AGGREGATE11,0)-NVL(PERIOD_AGGREGATE10,0),
12, NVL(PERIOD_AGGREGATE12,0)-NVL(PERIOD_AGGREGATE11,0),
13, NVL(PERIOD_AGGREGATE13,0)-NVL(PERIOD_AGGREGATE12,0),
14, NVL(PERIOD_AGGREGATE14,0)-NVL(PERIOD_AGGREGATE13,0),
15, NVL(PERIOD_AGGREGATE15,0)-NVL(PERIOD_AGGREGATE14,0),
16, NVL(PERIOD_AGGREGATE16,0)-NVL(PERIOD_AGGREGATE15,0),
17, NVL(PERIOD_AGGREGATE17,0)-NVL(PERIOD_AGGREGATE16,0),
18, NVL(PERIOD_AGGREGATE18,0)-NVL(PERIOD_AGGREGATE17,0),
19, NVL(PERIOD_AGGREGATE19,0)-NVL(PERIOD_AGGREGATE18,0),
20, NVL(PERIOD_AGGREGATE20,0)-NVL(PERIOD_AGGREGATE19,0),
21, NVL(PERIOD_AGGREGATE21,0)-NVL(PERIOD_AGGREGATE20,0),
22, NVL(PERIOD_AGGREGATE22,0)-NVL(PERIOD_AGGREGATE21,0),
23, NVL(PERIOD_AGGREGATE23,0)-NVL(PERIOD_AGGREGATE22,0),
24, NVL(PERIOD_AGGREGATE24,0)-NVL(PERIOD_AGGREGATE23,0),
25, NVL(PERIOD_AGGREGATE25,0)-NVL(PERIOD_AGGREGATE24,0),
26, NVL(PERIOD_AGGREGATE26,0)-NVL(PERIOD_AGGREGATE25,0),
27, NVL(PERIOD_AGGREGATE27,0)-NVL(PERIOD_AGGREGATE26,0),
28, NVL(PERIOD_AGGREGATE28,0)-NVL(PERIOD_AGGREGATE27,0),
29, NVL(PERIOD_AGGREGATE29,0)-NVL(PERIOD_AGGREGATE28,0),
30, NVL(PERIOD_AGGREGATE30,0)-NVL(PERIOD_AGGREGATE29,0),
31, NVL(PERIOD_AGGREGATE31,0)-NVL(PERIOD_AGGREGATE30,0),
32, NVL(PERIOD_AGGREGATE32,0)-NVL(PERIOD_AGGREGATE31,0),
33, NVL(PERIOD_AGGREGATE33,0)-NVL(PERIOD_AGGREGATE32,0),
34, NVL(PERIOD_AGGREGATE34,0)-NVL(PERIOD_AGGREGATE33,0),
35, NVL(PERIOD_AGGREGATE35,0)-NVL(PERIOD_AGGREGATE34,0),0)*
DECODE(CE_CASH_FCST.G_rp_exchange_type,'User',CE_CASH_FCST.G_rp_exchange_rate,curr.exchange_rate))
INTO l_end_of_day
FROM gl_daily_balances gdb,
gl_sets_of_books org,
gl_code_combinations glcc,
ce_currency_rates_temp curr
WHERE curr.forecast_request_id = CE_CASH_FCST.G_forecast_id
AND curr.currency_code = gdb.currency_code
AND gdb.period_name = l_period_name
AND gdb.currency_code = org.currency_code
AND gdb.currency_type = DECODE(CE_CASH_FCST.G_rp_src_curr_type, 'A', 'U',
'E','C',
'F','U')
AND gdb.code_combination_id = glcc.code_combination_id
AND gdb.actual_flag = 'A'
AND gdb.ledger_id = org.set_of_books_id
AND glcc.template_id IS NULL
AND glcc.summary_flag = 'N'
AND glcc.code_combination_id = p_ccid
AND org.enable_average_balances_flag = 'Y';
SELECT src.period_name,
nvl(SUM((nvl(src.begin_balance_dr,0)-nvl(src.begin_balance_cr,0))*
DECODE(CE_CASH_FCST.G_rp_exchange_type, 'User', CE_CASH_FCST.G_rp_exchange_rate, curr.exchange_rate)),0)
INTO begin_period,
begin_cash_bal
FROM gl_balances src,
gl_sets_of_books org,
gl_periods gp,
gl_code_combinations glcc,
ce_currency_rates_temp curr
WHERE curr.forecast_request_id = CE_CASH_FCST.G_forecast_id
AND curr.currency_code = src.currency_code
AND src.period_name = gp.period_name
AND src.currency_code = DECODE(CE_CASH_FCST.G_rp_src_curr_type,
'A',src.currency_code,
'E',CE_CASH_FCST.G_rp_src_currency,
org.currency_code)
AND NVL(src.translated_flag,'R') = 'R'
AND src.ledger_id = org.set_of_books_id
AND src.actual_flag = 'A'
AND glcc.template_id is NULL
AND glcc.summary_flag = 'N'
AND src.code_combination_id = glcc.code_combination_id
AND glcc.code_combination_id = p_ccid
AND CE_CASH_FCST.G_rp_forecast_start_date BETWEEN gp.start_date AND gp.end_date
AND gp.period_set_name = org.period_set_name
AND gp.period_set_name = CE_CASH_FCST.G_rp_calendar_name
AND nvl(org.enable_average_balances_flag,'N') = 'N'
AND gp.adjustment_period_flag ='N' -- Bug 14272804 Added Where Clause
GROUP BY src.period_name;
SELECT nvl(SUM((nvl(jl.entered_dr,0) - nvl(jl.entered_cr,0))*
DECODE(CE_CASH_FCST.G_rp_exchange_type, 'User', CE_CASH_FCST.G_rp_exchange_rate, curr.exchange_rate)),0)
INTO bal_to_date
FROM gl_je_lines jl,
gl_je_headers jh,
gl_sets_of_books org,
gl_code_combinations glcc,
ce_currency_rates_temp curr
WHERE curr.forecast_request_id = CE_CASH_FCST.G_forecast_id
AND curr.currency_code = jh.currency_code
AND jl.effective_date <= CE_CASH_FCST.G_rp_forecast_start_date
AND jl.status = 'P'
AND jl.period_name = begin_period
AND jh.currency_code = DECODE(CE_CASH_FCST.G_rp_src_curr_type,'E',CE_CASH_FCST.G_rp_src_currency,
jh.currency_code)
AND jl.ledger_id = org.set_of_books_id
AND jl.je_header_id = jh.je_header_id
AND glcc.template_id is NULL
AND glcc.summary_flag = 'N'
AND jl.code_combination_id = glcc.code_combination_id
AND glcc.code_combination_id = p_ccid
AND nvl(org.enable_average_balances_flag,'N') = 'N';
SELECT SUM((nvl(src.begin_balance_dr,0)-nvl(src.begin_balance_cr,0))*
DECODE(CE_CASH_FCST.G_rp_exchange_type, 'User', CE_CASH_FCST.G_rp_exchange_rate, curr.exchange_rate))
INTO initial_cash_pos
FROM gl_balances src,
gl_sets_of_books org,
gl_code_combinations glcc,
ce_currency_rates_temp curr
WHERE curr.forecast_request_id = CE_CASH_FCST.G_forecast_id
AND curr.currency_code = src.currency_code
AND src.period_name = CE_CASH_FCST.G_rp_forecast_start_period
AND org.period_set_name = CE_CASH_FCST.G_rp_calendar_name
AND src.actual_flag = 'A'
AND src.currency_code = DECODE(CE_CASH_FCST.G_rp_src_curr_type,
'A',src.currency_code,
'E',CE_CASH_FCST.G_rp_src_currency,
org.currency_code)
AND NVL(src.translated_flag,'R') = 'R'
AND src.ledger_id = org.set_of_books_id
AND glcc.template_id IS NULL
AND glcc.code_combination_id = src.code_combination_id
AND glcc.code_combination_id = p_ccid;
CURSOR C_bank is SELECT DISTINCT bank_account_id
FROM ce_forecast_trx_cells
WHERE bank_account_id is not null
AND forecast_id = CE_CASH_FCST.G_forecast_id
AND forecast_row_id = CE_CASH_FCST.G_forecast_row_id;
CURSOR C_glcp is SELECT DISTINCT code_combination_id
FROM ce_forecast_trx_cells
WHERE code_combination_id is not null
AND forecast_id = CE_CASH_FCST.G_forecast_id
AND forecast_row_id = CE_CASH_FCST.G_forecast_row_id;
SELECT nvl(ledger_balance,0) ledger_balance,
nvl(cashflow_balance,0) cashflow_balance,
nvl(int_calc_balance,0) int_calc_balance,
nvl(one_day_float,0) one_day_float,
nvl(two_day_float,0) two_day_float,
statement_date+1 balance_date,
currency_code,
account_number,
legal_entity_id
FROM ce_cp_sub_open_bal_v
WHERE trunc(statement_date) < p_fc_start_date
AND trunc(next_stmt_date) >= p_fc_start_date
AND legal_entity_id = nvl(p_le_id, legal_entity_id);
select trunc(start_date)
into l_fc_start_date
from gl_periods
where period_set_name = CE_CASH_FCST.G_rp_calendar_name
and period_name = CE_CASH_FCST.G_rp_forecast_start_period;
SELECT count(1)
INTO counter
FROM ce_forecast_opening_bal
WHERE forecast_id = CE_CASH_FCST.G_forecast_id
AND bank_account_id = p_bank.bank_account_id;
SELECT bank_account_name,
account_owner_org_id
INTO l_bank_acc_name,
l_legal_entity_id
FROM ce_bank_accounts ba
WHERE ba.bank_account_id = p_bank.bank_account_id;
SELECT count(1)
INTO counter2
FROM ce_cp_open_bal_v
WHERE bank_account_id = p_bank.bank_account_id
AND trunc(statement_date) < l_fc_start_date;
SELECT nvl(ledger_balance,0),
nvl(cashflow_balance,0),
nvl(int_calc_balance,0),
nvl(one_day_float,0),
nvl(two_day_float,0),
statement_date+1,
currency_code
INTO l_stmt_balance,
l_cflow_balance,
l_int_calc_balance,
l_one_day_float,
l_two_day_float,
l_balance_date,
l_bank_acc_curr
FROM ce_cp_open_bal_v
WHERE bank_account_id = p_bank.bank_account_id
AND trunc(statement_date) < l_fc_start_date
AND trunc(next_stmt_date) >= l_fc_start_date;
select exchange_rate
into l_exchange_rate
from ce_currency_rates_temp
where currency_code = l_bank_acc_curr
and to_currency = CE_CASH_FCST.G_rp_forecast_currency
and forecast_request_id = CE_CASH_FCST.G_forecast_id;
UPDATE ce_forecasts
SET error_status = 'X'
WHERE forecast_id = CE_CASH_FCST.G_forecast_id;
CE_FORECAST_ERRORS_PKG.insert_row(
CE_CASH_FCST.G_forecast_id,
CE_CASH_FCST.G_rp_forecast_header_id,
CE_CASH_FCST.G_forecast_row_id,
'CE_FC_NO_BANK_EXCH_RATE',
error_msg);
UPDATE ce_forecasts
SET error_status = 'X'
WHERE forecast_id = CE_CASH_FCST.G_forecast_id;
CE_FORECAST_ERRORS_PKG.insert_row(
CE_CASH_FCST.G_forecast_id,
CE_CASH_FCST.G_rp_forecast_header_id,
CE_CASH_FCST.G_forecast_row_id,
'CE_FC_PD_OD_OVERLAP',
error_msg);
SELECT SUM(amount*CE_CASH_FCST.G_rp_exchange_rate)
INTO l_app_cflow
FROM ce_ap_fc_payments_v
WHERE bank_account_id = p_bank.bank_account_id
AND payment_date >= l_balance_date
AND payment_date < l_fc_start_date;
SELECT SUM(amount*CE_CASH_FCST.G_rp_exchange_rate)
INTO l_arr_cflow
FROM ce_ar_fc_receipts_v
WHERE bank_account_id = p_bank.bank_account_id
AND cash_activity_date >= l_balance_date
AND cash_activity_date < l_fc_start_date;
SELECT SUM(amount*CE_CASH_FCST.G_rp_exchange_rate)
INTO l_xtr_cflow
FROM ce_xtr_cashflows_v
WHERE bank_account_id = p_bank.bank_account_id
AND trx_date >= l_balance_date
AND trx_date < l_fc_start_date;
SELECT SUM(amount)
INTO l_pay_cflow
FROM ce_pay_fc_payroll_v
WHERE bank_account_id = p_bank.bank_account_id
AND trx_date >= l_balance_date
AND trx_date < l_fc_start_date;
SELECT SUM(src.amount*curr.exchange_rate)
INTO l_app_cflow
FROM ce_ap_fc_payments_v src,
ce_currency_rates_temp curr
WHERE src.bank_account_id = p_bank.bank_account_id
AND src.payment_date >= l_balance_date
AND src.payment_date < l_fc_start_date
AND curr.forecast_request_id = CE_CASH_FCST.G_forecast_id
AND curr.to_currency = CE_CASH_FCST.G_rp_forecast_currency
AND curr.currency_code = src.currency_code;
SELECT SUM(src.amount*curr.exchange_rate)
INTO l_arr_cflow
FROM ce_ar_fc_receipts_v src,
ce_currency_rates_temp curr
WHERE src.bank_account_id = p_bank.bank_account_id
AND src.cash_activity_date >= l_balance_date
AND src.cash_activity_date < l_fc_start_date
AND curr.forecast_request_id = CE_CASH_FCST.G_forecast_id
AND curr.to_currency = CE_CASH_FCST.G_rp_forecast_currency
AND curr.currency_code = src.currency_code;
SELECT SUM(src.amount*curr.exchange_rate)
INTO l_xtr_cflow
FROM ce_xtr_cashflows_v src,
ce_currency_rates_temp curr
WHERE src.bank_account_id = p_bank.bank_account_id
AND src.trx_date >= l_balance_date
AND src.trx_date < l_fc_start_date
AND curr.forecast_request_id = CE_CASH_FCST.G_forecast_id
AND curr.to_currency = CE_CASH_FCST.G_rp_forecast_currency
AND curr.currency_code = src.currency_code;
SELECT SUM(src.amount*curr.exchange_rate)
INTO l_pay_cflow
FROM ce_pay_fc_payroll_v src,
ce_currency_rates_temp curr
WHERE src.bank_account_id = p_bank.bank_account_id
AND src.trx_date >= l_balance_date
AND src.trx_date < l_fc_start_date
AND curr.forecast_request_id = CE_CASH_FCST.G_forecast_id
AND curr.to_currency = CE_CASH_FCST.G_rp_forecast_currency
AND curr.currency_code = src.currency_code;
UPDATE ce_forecasts
SET error_status = 'X'
WHERE forecast_id = CE_CASH_FCST.G_forecast_id;
CE_FORECAST_ERRORS_PKG.insert_row(
CE_CASH_FCST.G_forecast_id,
CE_CASH_FCST.G_rp_forecast_header_id,
CE_CASH_FCST.G_forecast_row_id,
'CE_FC_NO_BANK_BALANCE',
error_msg);
INSERT INTO ce_forecast_opening_bal
(balance_id,
forecast_id,
balance_type,
bank_account_id,
code_combination_id,
opening_balance,
balance_date,
prior_day_cflow,
legal_entity_id,
created_by,
creation_date,
last_updated_by,
last_update_date,
last_update_login)
VALUES
(CE_FORECAST_OPENING_BAL_S.nextval,
CE_CASH_FCST.G_forecast_id,
'BANK',
p_bank.bank_account_id,
null,
l_opening_balance,
l_balance_date,
l_prior_day_cflow,
l_legal_entity_id,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1));
SELECT count(1)
INTO counter
FROM ce_forecast_opening_bal
WHERE forecast_id = CE_CASH_FCST.G_forecast_id
AND bank_account_id = -2
AND legal_entity_id = nvl(CE_CASH_FCST.G_legal_entity_id,-1);
select exchange_rate
into l_exchange_rate
from ce_currency_rates_temp
where currency_code = p_sub_acct.currency_code
and to_currency = CE_CASH_FCST.G_rp_forecast_currency
and forecast_request_id = CE_CASH_FCST.G_forecast_id;
UPDATE ce_forecasts
SET error_status = 'X'
WHERE forecast_id = CE_CASH_FCST.G_forecast_id;
CE_FORECAST_ERRORS_PKG.insert_row(
CE_CASH_FCST.G_forecast_id,
CE_CASH_FCST.G_rp_forecast_header_id,
CE_CASH_FCST.G_forecast_row_id,
'CE_FC_NO_SUB_EXCH_RATE',
error_msg);
INSERT INTO ce_forecast_opening_bal
(balance_id,
forecast_id,
balance_type,
bank_account_id,
code_combination_id,
opening_balance,
balance_date,
prior_day_cflow,
legal_entity_id,
created_by,
creation_date,
last_updated_by,
last_update_date,
last_update_login)
VALUES
(CE_FORECAST_OPENING_BAL_S.nextval,
CE_CASH_FCST.G_forecast_id,
'BANK',
-2,
null,
l_opening_balance,
p_sub_acct.balance_date,
null,
p_sub_acct.legal_entity_id,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1));
SELECT count(1)
INTO counter
FROM ce_forecast_opening_bal
WHERE forecast_id = CE_CASH_FCST.G_forecast_id
AND code_combination_id = p_glcp.code_combination_id;
INSERT INTO ce_forecast_opening_bal
(balance_id,
forecast_id,
balance_type,
bank_account_id,
code_combination_id,
opening_balance,
legal_entity_id,
created_by,
creation_date,
last_updated_by,
last_update_date,
last_update_login)
VALUES
(CE_FORECAST_OPENING_BAL_S.nextval,
CE_CASH_FCST.G_forecast_id,
'GLCP',
null,
p_glcp.code_combination_id,
l_opening_balance,
null,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1));
select_clause varchar2(2000);
UPDATE ce_forecasts
SET error_status = 'E'
WHERE forecast_id = CE_CASH_FCST.G_forecast_id;
CE_FORECAST_ERRORS_PKG.insert_row(
CE_CASH_FCST.G_forecast_id,
CE_CASH_FCST.G_rp_forecast_header_id,
CE_CASH_FCST.G_forecast_row_id,
'CE_NO_HIST_START_PERIOD',
error_msg);
select_clause := '
SELECT CE_FORECAST_TRX_CELLS_S.nextval,
'||CE_CASH_FCST.G_forecast_id||',
'||CE_CASH_FCST.G_rp_forecast_header_id||',
'||CE_CASH_FCST.G_forecast_row_id||',
''Y'',
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
cab.forecast_column_id,
src.reference_id,
src.currency_code,
to_number(hr_ou.ORGANIZATION_ID),
NVL(src.actual_value_date, src.cleared_date),
src.bank_account_id,
nvl(ccid.ap_asset_ccid, ccid.asset_code_combination_id),
round(nvl(-src.amount,0)*'
||CE_CASH_FCST.G_rp_exchange_rate
||','||CE_CASH_FCST.G_precision||'),
-src.amount';
select_clause := '
SELECT CE_FORECAST_TRX_CELLS_S.nextval,
'||CE_CASH_FCST.G_forecast_id||',
'||CE_CASH_FCST.G_rp_forecast_header_id||',
'||CE_CASH_FCST.G_forecast_row_id||',
''Y'',
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
cab.forecast_column_id,
src.reference_id,
src.currency_code,
to_number(hr_ou.ORGANIZATION_ID),
NVL(src.actual_value_date, src.cleared_date),
src.bank_account_id,
nvl(ccid.ap_asset_ccid, ccid.asset_code_combination_id),
round(nvl(-src.amount,0)*curr.exchange_rate'
||','||CE_CASH_FCST.G_precision||'),
-src.amount';
cep_standard.debug('Built Select Clause');
select_clause := '
SELECT CE_FORECAST_TRX_CELLS_S.nextval,
'||CE_CASH_FCST.G_forecast_id||',
'||CE_CASH_FCST.G_rp_forecast_header_id||',
'||CE_CASH_FCST.G_forecast_row_id||',
''Y'',
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
cab.forecast_column_id,
src.reference_id,
src.currency_code,
to_number(hr_ou.ORGANIZATION_ID),
src.cleared_date,
src.bank_account_id,
nvl(ccid.ap_asset_ccid, ccid.asset_code_combination_id),
round(nvl(-src.amount,0)*'
||CE_CASH_FCST.G_rp_exchange_rate
||','||CE_CASH_FCST.G_precision||'),
-src.amount';
select_clause := '
SELECT CE_FORECAST_TRX_CELLS_S.nextval,
'||CE_CASH_FCST.G_forecast_id||',
'||CE_CASH_FCST.G_rp_forecast_header_id||',
'||CE_CASH_FCST.G_forecast_row_id||',
''Y'',
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
cab.forecast_column_id,
src.reference_id,
src.currency_code,
to_number(hr_ou.ORGANIZATION_ID),
src.cleared_date,
src.bank_account_id,
nvl(ccid.ap_asset_ccid, ccid.asset_code_combination_id),
round(nvl(-src.amount,0)*curr.exchange_rate'
||','||CE_CASH_FCST.G_precision||'),
-src.amount';
cep_standard.debug('Built Select Clause');
select_clause := '
SELECT CE_FORECAST_TRX_CELLS_S.nextval,
'||CE_CASH_FCST.G_forecast_id||',
'||CE_CASH_FCST.G_rp_forecast_header_id||',
'||CE_CASH_FCST.G_forecast_row_id||',
''Y'',
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
cab.forecast_column_id,
src.reference_id,
src.currency_code,
to_number(hr_ou.ORGANIZATION_ID),
NVL(src.actual_value_date,NVL(src.anticipated_value_date,NVL(src.maturity_date,src.payment_date))) +'
||to_char(CE_CASH_FCST.G_lead_time) || ',
src.bank_account_id,
nvl(ccid.ap_asset_ccid, ccid.asset_code_combination_id),
round(nvl(-src.amount,0)*'||CE_CASH_FCST.G_rp_exchange_rate
||','||CE_CASH_FCST.G_precision||'),
-src.amount';
select_clause := '
SELECT CE_FORECAST_TRX_CELLS_S.nextval,
'||CE_CASH_FCST.G_forecast_id||',
'||CE_CASH_FCST.G_rp_forecast_header_id||',
'||CE_CASH_FCST.G_forecast_row_id||',
''Y'',
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
cab.forecast_column_id,
src.reference_id,
src.currency_code,
to_number(hr_ou.ORGANIZATION_ID),
NVL(src.actual_value_date,NVL(src.anticipated_value_date,NVL(src.maturity_date,src.payment_date))) +'
||to_char(CE_CASH_FCST.G_lead_time) || ',
src.bank_account_id,
nvl(ccid.ap_asset_ccid, ccid.asset_code_combination_id),
round(nvl(-src.amount,0)*curr.exchange_rate'
||','||CE_CASH_FCST.G_precision||'),
-src.amount';
cep_standard.debug('Built Select Clause');
main_query := select_clause || from_clause || where_clause;
select_clause varchar2(1500);
select_clause := Get_Select_Clause;
cep_standard.debug('Built Select Clause');
main_query := select_clause || from_clause || where_clause;
| 17-Feb-2010 Bug 9252881 Changed the value for select_clause|
| so that the value ccid.asset_code_combination_id|
| is modified to |
| nvl(ccid.ar_asset_ccid, ccid.asset_code_combination_id) |
--------------------------------------------------------------------- */
PROCEDURE Build_AP_Invoice_Query IS
from_clause VARCHAR2(500);
select_clause varchar2(1500);
select_clause := Get_Select_Clause;
cep_standard.debug('Built Select Clause');
AND src.invoice_id NOT IN ( select invoice_id
from ap_invoice_distributions_all
where project_id = ' || to_char(CE_CASH_FCST.G_rp_project_id) || ')';
main_query := select_clause || from_clause || where_clause;
select_clause varchar2(1500);
select_clause := '
SELECT CE_FORECAST_TRX_CELLS_S.nextval,
'||CE_CASH_FCST.G_forecast_id||',
'||CE_CASH_FCST.G_rp_forecast_header_id||',
'||CE_CASH_FCST.G_forecast_row_id||',
''Y'',
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
cab.forecast_column_id,
''PA'' || src.project_id || ''X'' || src.trx_number
|| ''X'' || src.line_num,
src.currency_code,
to_number(hr_ou.ORGANIZATION_ID),
src.trx_date,
null,
null,
round(nvl(src.amount,0)*'
||CE_CASH_FCST.G_rp_exchange_rate
||','||CE_CASH_FCST.G_precision||'),
src.amount';
select_clause := '
SELECT CE_FORECAST_TRX_CELLS_S.nextval,
'||CE_CASH_FCST.G_forecast_id||',
'||CE_CASH_FCST.G_rp_forecast_header_id||',
'||CE_CASH_FCST.G_forecast_row_id||',
''Y'',
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
cab.forecast_column_id,
''PA'' || src.project_id || ''X'' || src.trx_number
|| ''X'' || src.line_num,
src.currency_code,
to_number(hr_ou.ORGANIZATION_ID),
src.trx_date,
null,
null,
round(nvl(src.amount,0)*curr.exchange_rate'
||','||CE_CASH_FCST.G_precision||'),
src.amount';
main_query := select_clause || from_clause || where_clause;
select_clause varchar2(1500);
select_clause := ' SELECT CE_FORECAST_TRX_CELLS_S.nextval,
'||CE_CASH_FCST.G_forecast_id||',
'||CE_CASH_FCST.G_rp_forecast_header_id||',
'||CE_CASH_FCST.G_forecast_row_id||',
''Y'',
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
cab.forecast_column_id,
src.reference_id,
src.currency_code,
to_number(hr_ou.ORGANIZATION_ID),
src.trx_date +'
||to_char(CE_CASH_FCST.G_lead_time)|| ',
null,
null,
round((nvl(src.amount,0)-nvl(src.dispute_amount,0))*'
||CE_CASH_FCST.G_rp_exchange_rate
||','||CE_CASH_FCST.G_precision||'),
src.amount-src.dispute_amount';
select_clause := ' SELECT CE_FORECAST_TRX_CELLS_S.nextval,
'||CE_CASH_FCST.G_forecast_id||',
'||CE_CASH_FCST.G_rp_forecast_header_id||',
'||CE_CASH_FCST.G_forecast_row_id||',
''Y'',
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
cab.forecast_column_id,
src.reference_id,
src.currency_code,
to_number(hr_ou.ORGANIZATION_ID),
src.trx_date +'
||to_char(CE_CASH_FCST.G_lead_time)|| ',
null,
null,
round((nvl(src.amount,0)-nvl(src.dispute_amount,0))*curr.exchange_rate'
||','||CE_CASH_FCST.G_precision||'),
src.amount-src.dispute_amount';
select_clause := Get_Select_Clause;
cep_standard.debug('Built Select Clause');
AND src.customer_trx_id IN (select ctl.customer_trx_id
from ra_customer_trx_lines_all ctl,
pa_projects_all pa
where ctl.interface_line_attribute1 = pa.segment1
and pa.project_id = ' || to_char(CE_CASH_FCST.G_rp_project_id) || ')';
main_query := select_clause || from_clause || where_clause;
| 17-Feb-2010 Bug 9252881 Changed the value for select_clause|
| ,ccid.asset_code_combination_id value is replace with |
| nvl(ccid.ar_asset_ccid, ccid.asset_code_combination_id)|
--------------------------------------------------------------------- */
PROCEDURE Build_AR_Receipt_Query IS
from_clause VARCHAR2(500);
select_clause varchar2(1500);
UPDATE ce_forecasts
SET error_status = 'E'
WHERE forecast_id = CE_CASH_FCST.G_forecast_id;
CE_FORECAST_ERRORS_PKG.insert_row(
CE_CASH_FCST.G_forecast_id,
CE_CASH_FCST.G_rp_forecast_header_id,
CE_CASH_FCST.G_forecast_row_id,
'CE_NO_HIST_START_PERIOD',
error_msg);
select_clause := 'SELECT CE_FORECAST_TRX_CELLS_S.nextval,
'||CE_CASH_FCST.G_forecast_id||',
'||CE_CASH_FCST.G_rp_forecast_header_id||',
'||CE_CASH_FCST.G_forecast_row_id||',
''Y'',
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
cab.forecast_column_id,
src.reference_id,
src.currency_code,
to_number(hr_ou.ORGANIZATION_ID),
'||trx_date_clause||'+'
||to_char(CE_CASH_FCST.G_lead_time)|| ',
src.bank_account_id,
nvl(ccid.ar_asset_ccid, ccid.asset_code_combination_id),
round(nvl(src.amount,0)*'
||CE_CASH_FCST.G_rp_exchange_rate
||','
||CE_CASH_FCST.G_precision||'),
src.amount';
select_clause := 'SELECT CE_FORECAST_TRX_CELLS_S.nextval,
'||CE_CASH_FCST.G_forecast_id||',
'||CE_CASH_FCST.G_rp_forecast_header_id||',
'||CE_CASH_FCST.G_forecast_row_id||',
''Y'',
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
cab.forecast_column_id,
src.reference_id,
src.currency_code,
to_number(hr_ou.ORGANIZATION_ID),
'||trx_date_clause||'+'
||to_char(CE_CASH_FCST.G_lead_time)|| ',
src.bank_account_id,
nvl(ccid.ar_asset_ccid, ccid.asset_code_combination_id),
round(nvl(src.amount,0)*curr.exchange_rate,'
||CE_CASH_FCST.G_precision||'),
src.amount';
cep_standard.debug('Built Select Clause');
main_query := select_clause || from_clause || where_clause;
main_query := ' SELECT CE_FORECAST_TRX_CELLS_S.nextval,
'||CE_CASH_FCST.G_forecast_id||',
'||CE_CASH_FCST.G_rp_forecast_header_id||',
'||CE_CASH_FCST.G_forecast_row_id||',
''Y'',
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
cab.forecast_column_id,
null,
src.currency_code,
null,
gp.start_date,
null,
null,
round((nvl(src.period_net_dr,0)-nvl(src.period_net_cr,0))*'||CE_CASH_FCST.G_rp_exchange_rate
||','||CE_CASH_FCST.G_precision||'),
(nvl(src.period_net_dr,0)-nvl(src.period_net_cr,0))'; --bug4495616
main_query := ' SELECT CE_FORECAST_TRX_CELLS_S.nextval,
'||CE_CASH_FCST.G_forecast_id||',
'||CE_CASH_FCST.G_rp_forecast_header_id||',
'||CE_CASH_FCST.G_forecast_row_id||',
''Y'',
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
cab.forecast_column_id,
null,
src.currency_code,
null,
gp.start_date,
null,
null,
round((nvl(src.period_net_dr,0)-nvl(src.period_net_cr,0))*curr.exchange_rate '
||','||CE_CASH_FCST.G_precision||'),
(nvl(src.period_net_dr,0)-nvl(src.period_net_cr,0))'; --bug4495616
select_clause varchar2(1500);
select_clause := Get_Select_Clause;
cep_standard.debug('Built Select Clause');
UPDATE ce_forecasts
SET error_status = 'E'
WHERE forecast_id = CE_CASH_FCST.G_forecast_id;
CE_FORECAST_ERRORS_PKG.insert_row(
CE_CASH_FCST.G_forecast_id,
CE_CASH_FCST.G_rp_forecast_header_id,
CE_CASH_FCST.G_forecast_row_id,
'CE_NO_HIST_START_PERIOD',
error_msg);
main_query := select_clause || from_clause || where_clause;
select_clause_1 varchar2(2000);
select_clause_2 varchar2(2000);
select_clause_3 varchar2(2000);
SELECT start_date,
end_date,
forecast_column_id
FROM ce_forecast_ext_temp
WHERE context_value = 'A'
AND forecast_request_id = CE_CASH_FCST.G_forecast_id
AND conversion_rate = CE_CASH_FCST.G_forecast_row_id;
SELECT 1
FROM CE_FORECAST_ORGS_V
WHERE set_of_books_id = CE_CASH_FCST.G_set_of_books_id
AND org_id = p_org_id;
SELECT exchange_rate
FROM ce_currency_rates_temp
WHERE forecast_request_id = CE_CASH_FCST.G_forecast_id
AND to_currency = CE_CASH_FCST.G_rp_forecast_currency
AND currency_code = p_currency_code;
(SELECT reference_id,
currency_code,
org_id,
status,
payment_priority,
paygroup,
vendor_type,
amount,
due_amount,
term_id,
decode(end_date,null,(trunc(l_max_end_date)-trunc(start_date)+1),
(trunc(end_date)-trunc(start_date)+1)) total_dates,
decode(end_date, null, (nvl(decode(src.due_amount, 0,
0,
src.due_amount),(nvl(src.amount,0) * (nvl(src.due_percent,100)/100))))/(trunc(l_max_end_date)-trunc(start_date)+1),
(nvl(decode(src.due_amount, 0,
0,
src.due_amount),(nvl(src.amount,0) * (nvl(src.due_percent,100)/100))))/(trunc(end_date)-trunc(start_date)+1)) per_day_amount,
start_date,
nvl(end_date, l_max_end_date)end_date,
end_date trx_end_date
FROM ce_po_fc_orders_terms_temp_v src
WHERE start_date <= p_end_date
AND (end_date >= p_start_date
OR end_date is NULL)
UNION ALL
SELECT reference_id,
currency_code,
org_id,
status,
payment_priority,
paygroup,
vendor_type,
null,
null,
null,
null,
decode(end_date, null, (nvl(amount,0)/(trunc(l_max_end_date)-trunc(start_date)+1)),
(nvl(amount,0)/(trunc(end_date)-trunc(start_date)+1))) per_day_amount,
start_date,
nvl(end_date, l_max_end_date)end_date,
end_date trx_end_date
FROM ce_po_fc_no_terms_temp_v
WHERE start_date <= p_end_date
AND (end_date >= p_start_date
OR end_date is NULL));
SELECT reference_id,
currency_code,
org_id,
status,
payment_priority,
paygroup,
vendor_type,
decode(end_date, null, (nvl(amount,0)/(trunc(l_max_end_date)-trunc(start_date)+1)),
(nvl(amount,0)/(trunc(end_date)-trunc(start_date)+1))) per_day_amount,
start_date,
nvl(end_date, l_max_end_date)end_date,
end_date trx_end_date
FROM ce_po_fc_orders_temp_v
WHERE start_date <= p_end_date
AND (end_date >= p_start_date
OR end_date is NULL);
(SELECT reference_id,
currency_code,
org_id,
status,
payment_priority,
paygroup,
vendor_type,
amount,
due_amount,
term_id,
decode(end_date,null,(trunc(l_max_end_date)-trunc(start_date)+1),
(trunc(end_date)-trunc(start_date)+1)) total_dates,
decode(end_date, null, (nvl(decode(src.due_amount, 0,
0,
src.due_amount),(nvl(src.amount,0) * (nvl(src.due_percent,100)/100))))/(trunc(l_max_end_date)-trunc(start_date)+1),
(nvl(decode(src.due_amount, 0,
0,
src.due_amount),(nvl(src.amount,0) * (nvl(src.due_percent,100)/100))))/(trunc(end_date)-trunc(start_date)+1)) per_day_amount,
start_date,
nvl(end_date, l_max_end_date)end_date,
end_date trx_end_date
FROM ce_po_fc_orders_terms_temp_v src
WHERE start_date <= p_end_date
AND (end_date >= p_start_date
OR end_date is NULL)
AND project_id = CE_CASH_FCST.G_rp_project_id
UNION ALL
SELECT reference_id,
currency_code,
org_id,
status,
payment_priority,
paygroup,
vendor_type,
null,
null,
null,
null,
decode(end_date, null, (nvl(amount,0)/(trunc(l_max_end_date)-trunc(start_date)+1)),
(nvl(amount,0)/(trunc(end_date)-trunc(start_date)+1))) per_day_amount,
start_date,
nvl(end_date, l_max_end_date)end_date,
end_date trx_end_date
FROM ce_po_fc_no_terms_temp_v
WHERE start_date <= p_end_date
AND (end_date >= p_start_date
OR end_date is NULL)
AND project_id = CE_CASH_FCST.G_rp_project_id);
SELECT reference_id,
currency_code,
org_id,
status,
payment_priority,
paygroup,
vendor_type,
decode(end_date, null, (nvl(amount,0)/(trunc(l_max_end_date)-trunc(start_date)+1)),
(nvl(amount,0)/(trunc(end_date)-trunc(start_date)+1))) per_day_amount,
start_date,
nvl(end_date, l_max_end_date)end_date,
end_date trx_end_date
FROM ce_po_fc_orders_temp_v
WHERE start_date <= p_end_date
AND (end_date >= p_start_date
OR end_date is NULL)
AND project_id = CE_CASH_FCST.G_rp_project_id;
select_clause_2 := 'SELECT CE_FORECAST_TRX_CELLS_S.nextval,
'||CE_CASH_FCST.G_forecast_id||',
'||CE_CASH_FCST.G_rp_forecast_header_id||',
'||CE_CASH_FCST.G_forecast_row_id||',
''Y'',
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
cab.forecast_column_id,
src.reference_id,
src.currency_code,
to_number(hr_ou.ORGANIZATION_ID),
decode(src.fixed_due_date, null,
decode(src.due_days, null,
decode(src.due_months_forward, null, src.trx_date,
(TRUNC(ADD_MONTHS(src.trx_date, src.due_months_forward),
''MONTH'')
+ src.due_day_of_month - 1)),
src.trx_date + src.due_days),
src.fixed_due_date) + '
||to_char(CE_CASH_FCST.G_lead_time)|| ',
null,
null,
round(-(nvl(decode(src.due_amount, 0,
(select nvl(src.amount,0) - sum(t.due_amount) from ap_terms_lines t where t.term_id = src.term_id),
src.due_amount),(nvl(src.amount,0) * (nvl(src.due_percent,100)/100)))) * ' || CE_CASH_FCST.G_rp_exchange_rate
||','||CE_CASH_FCST.G_precision||'),
-(nvl(decode(src.due_amount, 0,
(select nvl(src.amount,0) - sum(t.due_amount) from ap_terms_lines t where t.term_id = src.term_id),
src.due_amount),(nvl(src.amount,0) * (nvl(src.due_percent,100)/100))))';
select_clause_2 := 'SELECT CE_FORECAST_TRX_CELLS_S.nextval,
'||CE_CASH_FCST.G_forecast_id||',
'||CE_CASH_FCST.G_rp_forecast_header_id||',
'||CE_CASH_FCST.G_forecast_row_id||',
''Y'',
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
cab.forecast_column_id,
src.reference_id,
src.currency_code,
to_number(hr_ou.ORGANIZATION_ID),
decode(src.fixed_due_date, null,
decode(src.due_days, null,
decode(src.due_months_forward, null, src.trx_date,
(TRUNC(ADD_MONTHS(src.trx_date, src.due_months_forward),
''MONTH'')
+ src.due_day_of_month - 1)),
src.trx_date + src.due_days),
src.fixed_due_date) + '
||to_char(CE_CASH_FCST.G_lead_time)|| ',
null,
null,
round(-(nvl(decode(src.due_amount, 0,
(select nvl(src.amount,0) - sum(t.due_amount) from ap_terms_lines t where t.term_id = src.term_id),
src.due_amount),(nvl(src.amount,0) * (nvl(src.due_percent,100)/100))) * curr.exchange_rate)'
||','||CE_CASH_FCST.G_precision||'),
-(nvl(decode(src.due_amount, 0,
(select nvl(src.amount,0) - sum(t.due_amount) from ap_terms_lines t where t.term_id = src.term_id),
src.due_amount),(nvl(src.amount,0) * (nvl(src.due_percent,100)/100))))';
select_clause_3 := Get_Select_Clause;
main_query_2 := select_clause_2 || from_clause_2 || where_clause_2;
main_query_3 := select_clause_3 || from_clause_3 || where_clause_3;
select_clause_1 := Get_Select_Clause;
main_query_1 := select_clause_1 || from_clause_1 || where_clause_1;
SELECT max(end_date)
INTO l_max_end_date
FROM ce_forecast_ext_temp
WHERE context_value = 'A'
AND forecast_request_id = CE_CASH_FCST.G_forecast_id
AND conversion_rate = CE_CASH_FCST.G_forecast_row_id;
select nvl(C_req_rec.amount,0) - sum(t.due_amount)
INTO remain_amount
from ap_terms_lines t
where t.term_id = C_req_rec.term_id;
SELECT to_number(ORGANIZATION_ID)
INTO l_legal_entity_id
FROM hr_operating_units
WHERE organization_id = C_req_rec.org_id;
UPDATE ce_forecasts
SET error_status = 'X'
WHERE forecast_id = CE_CASH_FCST.G_forecast_id;
CE_FORECAST_ERRORS_PKG.insert_row(
CE_CASH_FCST.G_forecast_id,
CE_CASH_FCST.G_rp_forecast_header_id,
CE_CASH_FCST.G_forecast_row_id,
'CE_FC_POP_NO_END_DATE',
error_msg);
Insert_Fcast_Cell(C_req_rec.reference_id, C_req_rec.currency_code, l_legal_entity_id, null, null, -(l_amount*l_rate), -(l_amount), C_rec.forecast_column_id);
SELECT to_number(ORGANIZATION_ID)
INTO l_legal_entity_id
FROM hr_operating_units
WHERE organization_id = C_req_rec.org_id;
UPDATE ce_forecasts
SET error_status = 'X'
WHERE forecast_id = CE_CASH_FCST.G_forecast_id;
CE_FORECAST_ERRORS_PKG.insert_row(
CE_CASH_FCST.G_forecast_id,
CE_CASH_FCST.G_rp_forecast_header_id,
CE_CASH_FCST.G_forecast_row_id,
'CE_FC_POP_NO_END_DATE',
error_msg);
Insert_Fcast_Cell(C_req_rec.reference_id, C_req_rec.currency_code, l_legal_entity_id, null, null, -(l_amount*l_rate), -(l_amount), C_rec.forecast_column_id);
select nvl(C_req_rec.amount,0) - sum(t.due_amount)
INTO remain_amount
from ap_terms_lines t
where t.term_id = C_req_rec.term_id;
SELECT to_number(ORGANIZATION_ID)
INTO l_legal_entity_id
FROM hr_operating_units
WHERE organization_id = C_req_rec.org_id;
UPDATE ce_forecasts
SET error_status = 'X'
WHERE forecast_id = CE_CASH_FCST.G_forecast_id;
CE_FORECAST_ERRORS_PKG.insert_row(
CE_CASH_FCST.G_forecast_id,
CE_CASH_FCST.G_rp_forecast_header_id,
CE_CASH_FCST.G_forecast_row_id,
'CE_FC_POP_NO_END_DATE',
error_msg);
Insert_Fcast_Cell(C_req_rec.reference_id, C_req_rec.currency_code, l_legal_entity_id, null, null, -(l_amount*l_rate), -(l_amount), C_rec.forecast_column_id);
SELECT to_number(ORGANIZATION_ID)
INTO l_legal_entity_id
FROM hr_operating_units
WHERE organization_id = C_req_rec.org_id;
UPDATE ce_forecasts
SET error_status = 'X'
WHERE forecast_id = CE_CASH_FCST.G_forecast_id;
CE_FORECAST_ERRORS_PKG.insert_row(
CE_CASH_FCST.G_forecast_id,
CE_CASH_FCST.G_rp_forecast_header_id,
CE_CASH_FCST.G_forecast_row_id,
'CE_FC_POP_NO_END_DATE',
error_msg);
Insert_Fcast_Cell(C_req_rec.reference_id, C_req_rec.currency_code, l_legal_entity_id, null, null, -(l_amount*l_rate), -(l_amount), C_rec.forecast_column_id);
select_clause varchar2(1500);
SELECT start_date,
end_date,
forecast_column_id
FROM ce_forecast_ext_temp
WHERE context_value = 'A'
AND forecast_request_id = CE_CASH_FCST.G_forecast_id
AND conversion_rate = CE_CASH_FCST.G_forecast_row_id;
SELECT 1
FROM CE_FORECAST_ORGS_V
WHERE set_of_books_id = CE_CASH_FCST.G_set_of_books_id
AND org_id = p_org_id;
SELECT exchange_rate
FROM ce_currency_rates_temp
WHERE forecast_request_id = CE_CASH_FCST.G_forecast_id
AND to_currency = CE_CASH_FCST.G_rp_forecast_currency
AND currency_code = p_currency_code;
SELECT reference_id,
currency_code,
org_id,
status,
decode(end_date, null, (nvl(amount,0)/(trunc(l_max_end_date)-trunc(start_date)+1)),
(nvl(amount,0)/(trunc(end_date)-trunc(start_date)+1))) per_day_amount,
start_date,
nvl(end_date, l_max_end_date)end_date,
end_date trx_end_date
FROM ce_po_fc_requisitions_temp_v
WHERE start_date <= p_end_date
AND (end_date >= p_start_date
OR end_date is NULL);
SELECT reference_id,
currency_code,
org_id,
status,
decode(trunc(end_date), null, (nvl(amount,0)/(trunc(l_max_end_date)-trunc(start_date)+1)),
(nvl(amount,0)/(trunc(end_date)-trunc(start_date+1)))) per_day_amount,
start_date,
nvl(end_date, l_max_end_date)end_date,
end_date trx_end_date
FROM ce_po_fc_requisitions_temp_v
WHERE start_date <= p_end_date
AND (end_date >= p_start_date
OR end_date is NULL)
AND project_id = CE_CASH_FCST.G_rp_project_id;
select_clause := Get_Select_Clause;
cep_standard.debug('Built Select Clause');
main_query := select_clause || from_clause || where_clause;
SELECT trunc(max(end_date))
INTO l_max_end_date
FROM ce_forecast_ext_temp
WHERE context_value = 'A'
AND forecast_request_id = CE_CASH_FCST.G_forecast_id
AND conversion_rate = CE_CASH_FCST.G_forecast_row_id;
SELECT to_number(ORGANIZATION_ID)
INTO l_legal_entity_id
FROM hr_operating_units
WHERE organization_id = C_req_rec.org_id;
UPDATE ce_forecasts
SET error_status = 'X'
WHERE forecast_id = CE_CASH_FCST.G_forecast_id;
CE_FORECAST_ERRORS_PKG.insert_row(
CE_CASH_FCST.G_forecast_id,
CE_CASH_FCST.G_rp_forecast_header_id,
CE_CASH_FCST.G_forecast_row_id,
'CE_FC_POR_NO_END_DATE',
error_msg);
Insert_Fcast_Cell(C_req_rec.reference_id, C_req_rec.currency_code, l_legal_entity_id, null, null, -(l_amount*l_rate), -(l_amount), C_rec.forecast_column_id);
cep_standard.debug('INSERT_FCAST_CELL');
SELECT to_number(ORGANIZATION_ID)
INTO l_legal_entity_id
FROM hr_operating_units
WHERE organization_id = C_req_rec.org_id;
UPDATE ce_forecasts
SET error_status = 'X'
WHERE forecast_id = CE_CASH_FCST.G_forecast_id;
CE_FORECAST_ERRORS_PKG.insert_row(
CE_CASH_FCST.G_forecast_id,
CE_CASH_FCST.G_rp_forecast_header_id,
CE_CASH_FCST.G_forecast_row_id,
'CE_FC_POR_NO_END_DATE',
error_msg);
Insert_Fcast_Cell(C_req_rec.reference_id, C_req_rec.currency_code, l_legal_entity_id, null, null, -(l_amount*l_rate), -(l_amount), C_rec.forecast_column_id);
cep_standard.debug('INSERT_FCAST_CELL_proj');
select_clause varchar2(1500);
select_clause := Get_Select_Clause;
cep_standard.debug('Built Select Clause');
main_query := select_clause || from_clause || where_clause;
select_clause_1 varchar2(2000);
select_clause_2 varchar2(2000);
select_clause_3 varchar2(2000);
select_clause_2 := '
SELECT /*+ USE_MERGE(o3,hr_ou) +*/ CE_FORECAST_TRX_CELLS_S.nextval,
'||CE_CASH_FCST.G_forecast_id||',
'||CE_CASH_FCST.G_rp_forecast_header_id||',
'||CE_CASH_FCST.G_forecast_row_id||',
''Y'',
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
cab.forecast_column_id,
src.reference_id,
src.currency_code,
to_number(hr_ou.ORGANIZATION_ID),
decode(src.term_due_date, null,
decode(src.term_due_days, null,
decode(src.term_due_months_forward, null, src.date_requested,
(TRUNC(ADD_MONTHS(src.date_requested, src.term_due_months_forward),
''MONTH'')+ src.term_due_day_of_month - 1)),
src.date_requested + src.term_due_days),
src.term_due_date) + '
||to_char(CE_CASH_FCST.G_lead_time)|| ',
null,
null,
round(nvl(src.amount,0) * (nvl(src.relative_amount,100)/100)
*'||CE_CASH_FCST.G_rp_exchange_rate
||','||CE_CASH_FCST.G_precision||'),
nvl(src.amount,0) * (nvl(src.relative_amount,100)/100)';
select_clause_2 := '
SELECT /*+ USE_MERGE(o3,hr_ou) +*/ CE_FORECAST_TRX_CELLS_S.nextval,
'||CE_CASH_FCST.G_forecast_id||',
'||CE_CASH_FCST.G_rp_forecast_header_id||',
'||CE_CASH_FCST.G_forecast_row_id||',
''Y'',
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
cab.forecast_column_id,
src.reference_id,
src.currency_code,
to_number(hr_ou.ORGANIZATION_ID),
decode(src.term_due_date, null,
decode(src.term_due_days, null,
decode(src.term_due_months_forward, null, src.date_requested,
(TRUNC(ADD_MONTHS(src.date_requested, src.term_due_months_forward),
''MONTH'')+ src.term_due_day_of_month - 1)),
src.date_requested + src.term_due_days),
src.term_due_date) + '
||to_char(CE_CASH_FCST.G_lead_time)|| ',
null,
null,
round(nvl(src.amount,0) * (nvl(src.relative_amount,100)/100) * curr.exchange_rate'
||','||CE_CASH_FCST.G_precision||'),
nvl(src.amount,0) * (nvl(src.relative_amount,100)/100)';
select_clause_2 := '
SELECT /*+ USE_MERGE(o3,hr_ou) +*/ CE_FORECAST_TRX_CELLS_S.nextval,
'||CE_CASH_FCST.G_forecast_id||',
'||CE_CASH_FCST.G_rp_forecast_header_id||',
'||CE_CASH_FCST.G_forecast_row_id||',
''Y'',
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
cab.forecast_column_id,
src.reference_id,
src.currency_code,
to_number(hr_ou.ORGANIZATION_ID),
decode(src.term_due_date, null,
decode(src.term_due_days, null,
decode(src.term_due_months_forward, null, src.date_ordered,
TRUNC(ADD_MONTHS(src.date_ordered, src.term_due_months_forward),
''MONTH'')+ src.term_due_day_of_month - 1),
src.date_ordered + src.term_due_days),
src.term_due_date) + '
||to_char(CE_CASH_FCST.G_lead_time)|| ',
null,
null,
round(nvl(src.amount,0)*(nvl(src.relative_amount,100)/100)*'
||CE_CASH_FCST.G_rp_exchange_rate
||','||CE_CASH_FCST.G_precision||'),
nvl(src.amount,0) * (nvl(src.relative_amount,100)/100)';
select_clause_2 := '
SELECT /*+ USE_MERGE(o3,hr_ou) +*/ CE_FORECAST_TRX_CELLS_S.nextval,
'||CE_CASH_FCST.G_forecast_id||',
'||CE_CASH_FCST.G_rp_forecast_header_id||',
'||CE_CASH_FCST.G_forecast_row_id||',
''Y'',
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
cab.forecast_column_id,
src.reference_id,
src.currency_code,
to_number(hr_ou.ORGANIZATION_ID),
decode(src.term_due_date, null,
decode(src.term_due_days, null,
decode(src.term_due_months_forward, null, src.date_ordered,
TRUNC(ADD_MONTHS(src.date_ordered, src.term_due_months_forward),
''MONTH'')+ src.term_due_day_of_month - 1),
src.date_ordered + src.term_due_days),
src.term_due_date) + '
||to_char(CE_CASH_FCST.G_lead_time)|| ',
null,
null,
round(nvl(src.amount,0)*(nvl(src.relative_amount,100)/100)*curr.exchange_rate'
||','||CE_CASH_FCST.G_precision||'),
nvl(src.amount,0) * (nvl(src.relative_amount,100)/100)';
select_clause_1 := '
SELECT CE_FORECAST_TRX_CELLS_S.nextval,
'||CE_CASH_FCST.G_forecast_id||',
'||CE_CASH_FCST.G_rp_forecast_header_id||',
'||CE_CASH_FCST.G_forecast_row_id||',
''Y'',
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
cab.forecast_column_id,
src.reference_id,
src.currency_code,
to_number(hr_ou.ORGANIZATION_ID),
src.date_requested +'
||to_char(CE_CASH_FCST.G_lead_time)|| ',
null,
null,
round(nvl(src.amount,0)*'||CE_CASH_FCST.G_rp_exchange_rate
||','||CE_CASH_FCST.G_precision||'),
src.amount';
select_clause_1 := '
SELECT CE_FORECAST_TRX_CELLS_S.nextval,
'||CE_CASH_FCST.G_forecast_id||',
'||CE_CASH_FCST.G_rp_forecast_header_id||',
'||CE_CASH_FCST.G_forecast_row_id||',
''Y'',
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
cab.forecast_column_id,
src.reference_id,
src.currency_code,
to_number(hr_ou.ORGANIZATION_ID),
src.date_requested +'
||to_char(CE_CASH_FCST.G_lead_time)|| ',
null,
null,
round(nvl(src.amount,0)*curr.exchange_rate'
||','||CE_CASH_FCST.G_precision||'),
src.amount';
select_clause_1 := '
SELECT CE_FORECAST_TRX_CELLS_S.nextval,
'||CE_CASH_FCST.G_forecast_id||',
'||CE_CASH_FCST.G_rp_forecast_header_id||',
'||CE_CASH_FCST.G_forecast_row_id||',
''Y'',
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
cab.forecast_column_id,
src.reference_id,
src.currency_code,
to_number(hr_ou.ORGANIZATION_ID),
src.date_ordered +'
||to_char(CE_CASH_FCST.G_lead_time)|| ',
null,
null,
round(nvl(src.amount,0)*'||CE_CASH_FCST.G_rp_exchange_rate
||','||CE_CASH_FCST.G_precision||'),
src.amount';
select_clause_1 := '
SELECT CE_FORECAST_TRX_CELLS_S.nextval,
'||CE_CASH_FCST.G_forecast_id||',
'||CE_CASH_FCST.G_rp_forecast_header_id||',
'||CE_CASH_FCST.G_forecast_row_id||',
''Y'',
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
cab.forecast_column_id,
src.reference_id,
src.currency_code,
to_number(hr_ou.ORGANIZATION_ID),
src.date_ordered +'
||to_char(CE_CASH_FCST.G_lead_time)|| ',
null,
null,
round(nvl(src.amount,0)*curr.exchange_rate'
||','||CE_CASH_FCST.G_precision||'),
src.amount';
select_clause_3 := '
SELECT CE_FORECAST_TRX_CELLS_S.nextval,
'||CE_CASH_FCST.G_forecast_id||',
'||CE_CASH_FCST.G_rp_forecast_header_id||',
'||CE_CASH_FCST.G_forecast_row_id||',
''Y'',
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
cab.forecast_column_id,
src.reference_id,
src.currency_code,
to_number(hr_ou.ORGANIZATION_ID),
src.date_requested +'
||to_char(CE_CASH_FCST.G_lead_time)|| ',
null,
null,
round(nvl(src.amount,0)*'||CE_CASH_FCST.G_rp_exchange_rate
||','||CE_CASH_FCST.G_precision||'),
src.amount';
select_clause_3 := '
SELECT CE_FORECAST_TRX_CELLS_S.nextval,
'||CE_CASH_FCST.G_forecast_id||',
'||CE_CASH_FCST.G_rp_forecast_header_id||',
'||CE_CASH_FCST.G_forecast_row_id||',
''Y'',
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
cab.forecast_column_id,
src.reference_id,
src.currency_code,
to_number(hr_ou.ORGANIZATION_ID),
src.date_requested +'
||to_char(CE_CASH_FCST.G_lead_time)|| ',
null,
null,
round(nvl(src.amount,0)*curr.exchange_rate'
||','||CE_CASH_FCST.G_precision||'),
src.amount';
select_clause_3 := '
SELECT CE_FORECAST_TRX_CELLS_S.nextval,
'||CE_CASH_FCST.G_forecast_id||',
'||CE_CASH_FCST.G_rp_forecast_header_id||',
'||CE_CASH_FCST.G_forecast_row_id||',
''Y'',
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
cab.forecast_column_id,
src.reference_id,
src.currency_code,
to_number(hr_ou.ORGANIZATION_ID),
src.date_ordered +'
||to_char(CE_CASH_FCST.G_lead_time)|| ',
null,
null,
round(nvl(src.amount,0)*'||CE_CASH_FCST.G_rp_exchange_rate
||','||CE_CASH_FCST.G_precision||'),
src.amount';
select_clause_3 := '
SELECT CE_FORECAST_TRX_CELLS_S.nextval,
'||CE_CASH_FCST.G_forecast_id||',
'||CE_CASH_FCST.G_rp_forecast_header_id||',
'||CE_CASH_FCST.G_forecast_row_id||',
''Y'',
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
cab.forecast_column_id,
src.reference_id,
src.currency_code,
to_number(hr_ou.ORGANIZATION_ID),
src.date_ordered +'
||to_char(CE_CASH_FCST.G_lead_time)|| ',
null,
null,
round(nvl(src.amount,0)*curr.exchange_rate'
||','||CE_CASH_FCST.G_precision||'),
src.amount';
cep_standard.debug('Built Select Clause');
main_query_1 := select_clause_1 || from_clause_1 || where_clause_1;
main_query_2 := select_clause_2 || from_clause_2 || where_clause_2;
main_query_3 := select_clause_3 || from_clause_3 || where_clause_3;
select_clause varchar2(1500);
select_clause := '
SELECT CE_FORECAST_TRX_CELLS_S.nextval,
'||CE_CASH_FCST.G_forecast_id||',
'||CE_CASH_FCST.G_rp_forecast_header_id||',
'||CE_CASH_FCST.G_forecast_row_id||',
''Y'',
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
cab.forecast_column_id,
src.expenditure_item_id,
src.currency_code,
to_number(hr_ou.ORGANIZATION_ID),
src.trx_date,
null,
null,
round(nvl(-src.amount,0)*'
||CE_CASH_FCST.G_rp_exchange_rate
||','||CE_CASH_FCST.G_precision||'),
-src.amount';
select_clause := '
SELECT CE_FORECAST_TRX_CELLS_S.nextval,
'||CE_CASH_FCST.G_forecast_id||',
'||CE_CASH_FCST.G_rp_forecast_header_id||',
'||CE_CASH_FCST.G_forecast_row_id||',
''Y'',
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
cab.forecast_column_id,
src.expenditure_item_id,
src.currency_code,
to_number(hr_ou.ORGANIZATION_ID),
src.trx_date,
null,
null,
round(nvl(-src.amount,0)*curr.exchange_rate'
||','||CE_CASH_FCST.G_precision||'),
-src.amount';
main_query := select_clause || from_clause || where_clause;
select_clause varchar2(1500);
select_clause := Get_Select_Clause;
main_query := select_clause || from_clause || where_clause;
select_clause varchar2(1500);
select_clause := Get_Select_Clause;
main_query := select_clause || from_clause || where_clause;
select_clause varchar2(1500);
select_clause := '
SELECT CE_FORECAST_TRX_CELLS_S.nextval,
'||CE_CASH_FCST.G_forecast_id||',
'||CE_CASH_FCST.G_rp_forecast_header_id||',
'||CE_CASH_FCST.G_forecast_row_id||',
''Y'',
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
cab.forecast_column_id,
src.project_id || ''X'' || src.event_num,
src.currency_code,
to_number(hr_ou.ORGANIZATION_ID),
src.trx_date,
null,
null,
round(nvl(src.amount,0)*'
||CE_CASH_FCST.G_rp_exchange_rate
||','||CE_CASH_FCST.G_precision||'),
src.amount';
select_clause := '
SELECT CE_FORECAST_TRX_CELLS_S.nextval,
'||CE_CASH_FCST.G_forecast_id||',
'||CE_CASH_FCST.G_rp_forecast_header_id||',
'||CE_CASH_FCST.G_forecast_row_id||',
''Y'',
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
cab.forecast_column_id,
src.project_id || ''X'' || src.event_num,
src.currency_code,
to_number(hr_ou.ORGANIZATION_ID),
src.trx_date,
null,
null,
round(nvl(src.amount,0)*curr.exchange_rate'
||','||CE_CASH_FCST.G_precision||'),
src.amount';
main_query := select_clause || from_clause || where_clause;
SELECT start_date, end_date, forecast_column_id
FROM ce_forecast_ext_temp
WHERE context_value = 'A'
AND forecast_request_id = CE_CASH_FCST.G_forecast_id
AND conversion_rate = CE_CASH_FCST.G_forecast_row_id;
SELECT 1
FROM CE_FORECAST_ORGS_V
WHERE set_of_books_id = CE_CASH_FCST.G_set_of_books_id
AND org_id = p_org_id;
SELECT exchange_rate
FROM ce_currency_rates_temp
WHERE forecast_request_id = CE_CASH_FCST.G_forecast_id
AND to_currency = CE_CASH_FCST.G_rp_forecast_currency
AND currency_code = p_currency_code;
SELECT trim(resource_assignment_id||'X'||to_char(start_date,'DD-MON-YY')) reference_id, --bug 7345336
--resource_assignment_id||'X'||trunc(start_date) reference_id,
projfunc_currency_code,
nvl(raw_cost,0)/(trunc(end_date)-trunc(start_date)+1) per_day_raw_cost,
nvl(revenue,0)/(trunc(end_date)-trunc(start_date)+1) per_day_revenue,
start_date,
end_date
FROM pa_ce_integration_budgets_v
WHERE decode(CE_CASH_FCST.G_budget_version,
'C',current_flag,
'O',current_original_flag) = 'Y'
AND end_date >= p_start_date
AND start_date <= p_end_date
AND project_id = CE_CASH_FCST.G_rp_project_id
AND budget_type_code = CE_CASH_FCST.G_budget_type;
SELECT org_id
INTO l_org_id
FROM pa_projects_all
WHERE project_id = CE_CASH_FCST.G_rp_project_id;
SELECT to_number(ORGANIZATION_ID)
INTO l_legal_entity_id
FROM hr_operating_units
WHERE organization_id = l_org_id;
cep_standard.debug('inserting revenue_amount='||l_revenue_amount*l_rate);
Insert_Fcast_Cell(
p_reference_id => C_budget_rec.reference_id,
p_currency_code => C_budget_rec.projfunc_currency_code,
p_org_id => l_legal_entity_id,
p_trx_date => null,
p_bank_account_id => null,
p_forecast_amount => l_revenue_amount*l_rate,
p_trx_amount => l_revenue_amount,
p_forecast_column_id => C_rec.forecast_column_id);
cep_standard.debug('inserting l_cost_amount='||to_char(-(l_cost_amount*l_rate)));
Insert_Fcast_Cell(
p_reference_id => C_budget_rec.reference_id,
p_currency_code => C_budget_rec.projfunc_currency_code,
p_org_id => l_legal_entity_id,
p_trx_date => null,
p_bank_account_id => null,
p_forecast_amount => -(l_cost_amount*l_rate),
p_trx_amount => -l_cost_amount,
p_forecast_column_id => C_rec.forecast_column_id);
select_clause varchar2(1500);
select_clause := '
SELECT CE_FORECAST_TRX_CELLS_S.nextval,
'||CE_CASH_FCST.G_forecast_id||',
'||CE_CASH_FCST.G_rp_forecast_header_id||',
'||CE_CASH_FCST.G_forecast_row_id||',
''Y'',
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
cab.forecast_column_id,
src.reference_id,
src.currency_code,
src.org_id,
src.trx_date +'
||to_char(CE_CASH_FCST.G_lead_time)|| ',
src.bank_account_id,
ccid.asset_code_combination_id,
round(nvl(src.amount,0)*'||CE_CASH_FCST.G_rp_exchange_rate
||','||CE_CASH_FCST.G_precision||'),
src.amount';
select_clause := '
SELECT CE_FORECAST_TRX_CELLS_S.nextval,
'||CE_CASH_FCST.G_forecast_id||',
'||CE_CASH_FCST.G_rp_forecast_header_id||',
'||CE_CASH_FCST.G_forecast_row_id||',
''Y'',
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
sysdate,
nvl(fnd_global.user_id,-1),
cab.forecast_column_id,
src.reference_id,
src.currency_code,
src.org_id,
src.trx_date +'
||to_char(CE_CASH_FCST.G_lead_time)|| ',
src.bank_account_id,
ccid.asset_code_combination_id,
round(nvl(src.amount,0)*curr.exchange_rate'
||','||CE_CASH_FCST.G_precision||'),
src.amount';
main_query := select_clause || from_clause || where_clause;
SELECT external_source_view, db_link_name
INTO source_view, db_link
FROM ce_forecast_ext_views
WHERE external_source_type = CE_CASH_FCST.G_external_source_type;
CE_FORECAST_ERRORS_PKG.insert_row(CE_CASH_FCST.G_forecast_id, CE_CASH_FCST.G_rp_forecast_header_id,
CE_CASH_FCST.G_forecast_row_id, 'CE_FC_EXT_SOURCE_UNDEFINED', error_msg);
CURSOR conversion_cursor IS SELECT currency_code, exchange_rate
FROM ce_currency_rates_temp
WHERE forecast_request_id = CE_CASH_FCST.G_forecast_id; ';
CURSOR aging_cursor IS SELECT forecast_column_id, start_date, end_date
FROM ce_forecast_ext_temp
WHERE context_value = ''A'' and
forecast_request_id = CE_CASH_FCST.G_forecast_id and
conversion_rate = CE_CASH_FCST.G_forecast_row_id; ';
aging_table.delete(counter);
conversion_table.delete(counter);
-- For the amount calculated from the remote database, insert it to
-- the cell table
--
FOR i IN 1 .. amount_table.count LOOP
IF (CE_CASH_FCST.G_trx_type = ''OII'') THEN
cep_standard.debug(''insert column_id = ''||to_char(amount_table(i).forecast_column_id)||'' with amount ''||
to_char(amount_table(i).forecast_amount));
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);
cep_standard.debug(''insert column_id = ''||to_char(amount_table(i).forecast_column_id)||'' with amount ''||
to_char(-(amount_table(i).forecast_amount)));
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);
CE_FORECAST_ERRORS_PKG.insert_row(CE_CASH_FCST.G_forecast_id, CE_CASH_FCST.G_rp_forecast_header_id,
CE_CASH_FCST.G_forecast_row_id, ''CE_FC_RMT_MISSING_VIEW_EXPT'', error_msg);
CE_FORECAST_ERRORS_PKG.insert_row(CE_CASH_FCST.G_forecast_id, CE_CASH_FCST.G_rp_forecast_header_id,
CE_CASH_FCST.G_forecast_row_id, ''CE_FC_RMT_INVALID_VIEW_EXPT'', error_msg);
CE_FORECAST_ERRORS_PKG.insert_row(CE_CASH_FCST.G_forecast_id, CE_CASH_FCST.G_rp_forecast_header_id,
CE_CASH_FCST.G_forecast_row_id, ''CE_FC_RMT_EXCEPTION'', error_msg);
CE_FORECAST_ERRORS_PKG.insert_row(CE_CASH_FCST.G_forecast_id, CE_CASH_FCST.G_rp_forecast_header_id,
CE_CASH_FCST.G_forecast_row_id, 'CE_FC_RMT_DB_EXCEPTION', error_msg);
CE_FORECAST_ERRORS_PKG.insert_row(CE_CASH_FCST.G_forecast_id, CE_CASH_FCST.G_rp_forecast_header_id,
CE_CASH_FCST.G_forecast_row_id, 'CE_FC_RMT_EXCEPTION', error_msg);
UPDATE ce_forecasts
SET error_status = 'X'
WHERE forecast_id = CE_CASH_FCST.G_forecast_id;
CE_FORECAST_ERRORS_PKG.insert_row(
CE_CASH_FCST.G_forecast_id,
CE_CASH_FCST.G_rp_forecast_header_id,
CE_CASH_FCST.G_forecast_row_id,
'CE_FC_NO_PROJECT_RANGE',
error_msg);
UPDATE ce_forecasts
SET error_status = 'X'
WHERE forecast_id = CE_CASH_FCST.G_forecast_id;
CE_FORECAST_ERRORS_PKG.insert_row(
CE_CASH_FCST.G_forecast_id,
CE_CASH_FCST.G_rp_forecast_header_id,
CE_CASH_FCST.G_forecast_row_id,
'CE_FC_NO_PROJECT_RANGE',
error_msg);
UPDATE ce_forecasts
SET error_status = 'X'
WHERE forecast_id = CE_CASH_FCST.G_forecast_id;
CE_FORECAST_ERRORS_PKG.insert_row(
CE_CASH_FCST.G_forecast_id,
CE_CASH_FCST.G_rp_forecast_header_id,
CE_CASH_FCST.G_forecast_row_id,
'CE_FC_NO_PROJECT_RANGE',
error_msg);