The following lines contain the word 'select', 'insert', 'update' or 'delete':
SELECT PAYMENT_SCHEDULE_ID
FROM FA_LEASE_SCHEDULES
WHERE PAYMENT_SCHEDULE_NAME = P_PAYMENT_SCHEDULE_NAME;
SELECT CURRENCY_CODE INTO L_CURRENCY_CODE
FROM
FND_CURRENCIES_VL
WHERE CURRENCY_CODE = P_CURRENCY_CODE
AND ENABLED_FLAG = 'Y';
SELECT LOOKUP_CODE
INTO L_FRQUENCY
FROM FA_LOOKUPS
WHERE LOOKUP_TYPE ='LEASE FREQUENCY'
AND LOOKUP_CODE=UPPER(P_FREQUENCY);
SELECT LOOKUP_CODE
FROM FA_LOOKUPS
WHERE LOOKUP_CODE = L_PERIOD AND
LOOKUP_TYPE = 'LEASE PAYMENT TYPE';
SELECT FREQUENCY,CURRENCY_CODE
FROM FA_LEASE_SCHEDULES
WHERE PAYMENT_SCHEDULE_ID = P_PAYMENT_SCHEDULE_ID;
SELECT (POWER((1 + P_RATE_PER_PERIOD), P_NUM_PERIODS))
INTO RATE_FACTOR
FROM DUAL;
SELECT (POWER((1 + P_INTEREST_RATE), P_NUMBER_PAYMENTS)) INTO H_DENOMINATOR FROM DUAL;
SELECT (POWER((1 + P_INTEREST_RATE), P_NUMBER_PAYMENTS)) INTO H_SUBDENOMINATOR FROM DUAL;
--THE FOLLOWING STATEMENT DOES NOT WORK. SO THE SELECT ST. IS NECESSARY
-- H_SUBDENOMINATOR := ((1 + P_INTEREST_RATE) ** (P_NUMBER_PAYMENTS - 1));
SELECT (POWER((1 + P_INTEREST_RATE), (P_NUMBER_PAYMENTS - 1)))
INTO H_SUBDENOMINATOR FROM DUAL;
SELECT LEASE_INCEPTION_DATE,PRESENT_VALUE
FROM FA_LEASE_SCHEDULES
WHERE PAYMENT_SCHEDULE_ID = P_PAYMENT_SCHEDULE_ID
FOR UPDATE OF PRESENT_VALUE;
SELECT START_DATE,PAYMENT_AMOUNT,NUMBER_OF_PAYMENTS
FROM FA_LEASE_PAYMENTS
WHERE PAYMENT_SCHEDULE_ID = P_PAYMENT_SCHEDULE_ID
ORDER BY PAYMENT_LINE_NUMBER
FOR UPDATE OF ROW_PRESENT_VALUE;
UPDATE FA_LEASE_PAYMENTS
SET ROW_PRESENT_VALUE = L_ROW_PRESENT_VALUE
WHERE CURRENT OF C_PAYMENT;
UPDATE FA_LEASE_SCHEDULES
SET PRESENT_VALUE = L_TOTAL_ROW_PRESENT_VALUE
WHERE CURRENT OF C_SCHEDULE;
SELECT
START_DATE,
NUMBER_OF_PAYMENTS,
PAYMENT_AMOUNT
FROM FA_LEASE_PAYMENTS
WHERE PAYMENT_SCHEDULE_ID=P_PAYMENT_SCHEDULE_ID
ORDER BY PAYMENT_LINE_NUMBER;
SELECT AMORTIZATION_LINE_NUM, PAYMENT_DATE, PAYMENT_AMOUNT,
INTEREST, PRINCIPAL, LEASE_OBLIGATION ,
LAST_UPDATE_DATE, LAST_UPDATED_BY, CREATION_DATE,
CREATED_BY, LAST_UPDATE_LOGIN
FROM FA_AMORT_SCHEDULES
WHERE PAYMENT_SCHEDULE_ID = P_PAYMENT_SCHEDULE_ID
ORDER BY PAYMENT_DATE
FOR UPDATE OF AMORTIZATION_LINE_NUM, PAYMENT_DATE, PAYMENT_AMOUNT,
INTEREST, PRINCIPAL, LEASE_OBLIGATION ,
LAST_UPDATE_DATE, LAST_UPDATED_BY, CREATION_DATE,
CREATED_BY, LAST_UPDATE_LOGIN;
SELECT COUNT(*)
INTO L_AMORT_COUNT
FROM FA_AMORT_SCHEDULES
WHERE PAYMENT_SCHEDULE_ID = P_PAYMENT_SCHEDULE_ID;
INSERT INTO FA_AMORT_SCHEDULES
(PAYMENT_SCHEDULE_ID
, AMORTIZATION_LINE_NUM
, PAYMENT_DATE
, PAYMENT_AMOUNT
, INTEREST
, PRINCIPAL
, LEASE_OBLIGATION
, CREATED_BY
,CREATION_DATE
,LAST_UPDATE_LOGIN
,LAST_UPDATE_DATE
,LAST_UPDATED_BY )
VALUES
(P_PAYMENT_SCHEDULE_ID
,L_LINE_NUMBER
,L_CURRENT_PAYMENT_DATE
,L_PAYMENT_AMOUNT
,0
,0
,0
,P_TRANS_REC.WHO_INFO.CREATED_BY
,P_TRANS_REC.WHO_INFO.CREATION_DATE
,P_TRANS_REC.WHO_INFO.LAST_UPDATE_LOGIN
,P_TRANS_REC.WHO_INFO.LAST_UPDATE_DATE
,P_TRANS_REC.WHO_INFO.LAST_UPDATED_BY );
SELECT INTEREST_RATE
,LEASE_INCEPTION_DATE
,PRESENT_VALUE
INTO
L_INTEREST_RATE
,L_LEASE_INCEPTION_DATE
,L_PRESENT_VALUE
FROM FA_LEASE_SCHEDULES
WHERE PAYMENT_SCHEDULE_ID=P_PAYMENT_SCHEDULE_ID;
UPDATE FA_AMORT_SCHEDULES
SET AMORTIZATION_LINE_NUM = AMORTIZATION_LINE_NUM + 100000
WHERE PAYMENT_SCHEDULE_ID = P_PAYMENT_SCHEDULE_ID;
UPDATE FA_AMORT_SCHEDULES
SET AMORTIZATION_LINE_NUM = L_LINE_NUM,
PAYMENT_DATE = REC.PAYMENT_DATE,
PAYMENT_AMOUNT = REC.PAYMENT_AMOUNT,
INTEREST = L_INTEREST_PAID,
PRINCIPAL = L_PRINCIPAL_PAID,
LEASE_OBLIGATION = L_LEASE_OBLIGATION,
LAST_UPDATE_DATE = SYSDATE,
LAST_UPDATED_BY = P_TRANS_REC.WHO_INFO.LAST_UPDATED_BY,
CREATION_DATE = SYSDATE,
CREATED_BY = P_TRANS_REC.WHO_INFO.CREATED_BY,
LAST_UPDATE_LOGIN = P_TRANS_REC.WHO_INFO.LAST_UPDATE_LOGIN
WHERE CURRENT OF C;