The following lines contain the word 'select', 'insert', 'update' or 'delete':
/* Query to select the Period Start Date and Period End Date */
BEGIN
SELECT
MAX(CASE GP.period_name WHEN P_PERIOD_FROM THEN
TO_DATE(TO_CHAR(GP.start_date,'DD-MON-YYYY')
||' 00:00:00','DD-MM-YYYY HH24:MI:SS') END)
,MAX(CASE GP.period_name WHEN P_PERIOD_TO THEN
TO_DATE(TO_CHAR(GP.end_date,'DD-MON-YYYY')
||' 23:59:59','DD-MM-YYYY HH24:MI:SS') END)
INTO P_PERIOD_START_DATE,P_PERIOD_END_DATE
FROM gl_periods GP
,gl_ledgers GLL
WHERE GLL.ledger_id=P_LEDGER_ID
AND GP.period_set_name =GLL.period_set_name
AND GP.period_name IN (P_PERIOD_FROM,P_PERIOD_TO);
/* Query to select the ledger name and the ledger currency.*/
BEGIN
SELECT currency_code
INTO P_LEDGER_CURRENCY
FROM gl_ledgers_public_v
WHERE ledger_id=P_LEDGER_ID;
SELECT effective_period_num
INTO P_PERIOD_NUM_FROM
FROM gl_period_statuses GPS
WHERE GPS.period_name=P_PERIOD_FROM
AND GPS.application_id=101
AND GPS.ledger_id=P_LEDGER_ID;
SELECT effective_period_num
INTO P_PERIOD_NUM_TO
FROM gl_period_statuses GPS
WHERE GPS.period_name=P_PERIOD_TO
AND GPS.application_id=101
AND GPS.ledger_id=P_LEDGER_ID;
SELECT period_name
INTO P_AC_PERIOD_FROM
FROM gl_period_statuses
WHERE effective_period_num=(
SELECT MIN(GPS.effective_period_num)
FROM gl_period_statuses GPS, xla_control_balances XCB
WHERE GPS.effective_period_num BETWEEN P_PERIOD_NUM_FROM
AND P_PERIOD_NUM_TO
AND XCB.period_name=GPS.period_name
AND XCB.ledger_id=GPS.ledger_id
AND XCB.application_id=GPS.application_id
AND GPS.application_id=P_RESP_APPLICATION_ID
AND GPS.ledger_id=P_LEDGER_ID)
AND ledger_id=P_LEDGER_ID
AND application_id=P_RESP_APPLICATION_ID;
SELECT period_name
INTO P_AC_PERIOD_TO
FROM gl_period_statuses
WHERE effective_period_num=(
SELECT MAX(GPS.effective_period_num)
FROM gl_period_statuses GPS, xla_control_balances XCB
WHERE GPS.effective_period_num
BETWEEN P_PERIOD_NUM_FROM
AND P_PERIOD_NUM_TO
AND XCB.period_name=GPS.period_name
AND XCB.ledger_id=GPS.ledger_id
AND XCB.application_id=GPS.application_id
AND GPS.application_id=P_RESP_APPLICATION_ID
AND GPS.ledger_id=P_LEDGER_ID)
AND ledger_id=P_LEDGER_ID
AND application_id=P_RESP_APPLICATION_ID;
P_BEG_DATE_RANGE:= 'SELECT 0 beg_date_range_act_dr
,0 beg_date_range_act_cr
FROM SYS.DUAL ';
P_BEG_DATE_RANGE:= 'SELECT NVL(SUM(XAL.accounted_dr),0) beg_date_range_act_dr
,NVL(SUM(XAL.accounted_cr),0) beg_date_range_act_cr
FROM xla_ae_lines XAL
WHERE XAL.party_id= :party_id
AND XAL.party_site_id= :party_site_id
AND XAL.application_id= :P_RESP_APPLICATION_ID
AND XAL.ledger_id= :P_LEDGER_ID
AND XAL.code_combination_id= :code_combination_id
AND XAL.control_balance_flag=''Y''
AND XAL.accounting_date >= :P_PERIOD_START_DATE
AND XAL.accounting_date < :P_ACCOUNT_DATE_FROM ';
P_PER_DATE_RANGE:= 'SELECT 0 per_date_range_act_dr
,0 per_date_range_act_cr
FROM SYS.DUAL ';
P_PER_DATE_RANGE:= 'SELECT NVL(SUM(XAL.accounted_dr),0) per_date_range_act_dr
,NVL(SUM(XAL.accounted_cr),0) per_date_range_act_cr
FROM xla_ae_lines XAL
WHERE XAL.party_id= :party_id
AND XAL.party_site_id= :party_site_id
AND XAL.application_id= :P_RESP_APPLICATION_ID
AND XAL.ledger_id= :P_LEDGER_ID
AND XAL.code_combination_id= :code_combination_id
AND XAL.control_balance_flag=''Y''
AND XAL.accounting_date > :P_ACCOUNT_DATE_TO
AND XAL.accounting_date <= :P_PERIOD_END_DATE ';
SELECT MIN(p_period_num)
INTO ln_actual_per_num
FROM gl_period_statuses GPS
WHERE GPS.effective_period_num
BETWEEN P_PERIOD_NUM_FROM
AND P_PERIOD_NUM_TO
AND GPS.application_id=P_RESP_APPLICATION_ID
AND GPS.ledger_id=P_LEDGER_ID;
SELECT MAX(p_period_num)
INTO ln_actual_per_num
FROM gl_period_statuses GPS
WHERE GPS.effective_period_num
BETWEEN P_PERIOD_NUM_FROM
AND P_PERIOD_NUM_TO
AND GPS.application_id=P_RESP_APPLICATION_ID
AND GPS.ledger_id=P_LEDGER_ID;