The following lines contain the word 'select', 'insert', 'update' or 'delete':
| PUBLIC PROCEDURE SELECT_WF_PROCESS
|
| DESCRIPTION
| This process selects the process to run.
|
| PSEUDO CODE/LOGIC
|
| PARAMETERS
| P_PARAM1 IN Standard in parameter
| X_PARAM2 OUT NOCOPY Standard out parameter
|
| KNOWN ISSUES
| None
|
| NOTES
|
| MODIFICATION HISTORY
| Date Author Description of Changes
| 17-Jan-2006 GBELLARY Created
| 17-Apr-2007 MBOLLI Modified- Bug#5923205
|
*=======================================================================*/
/*=======================================================================+
| Package Global Constants
+=======================================================================*/
G_PKG_NAME CONSTANT VARCHAR2(30):= 'LNS_FUNDING_PUB';
SELECT loan_type.loan_type_id loan_type_id
,loan_type.loan_class_code loan_class_code
,loan_type.loan_type_name loan_type_name
,loan_type.multiple_funding_flag multiple_funding_flag
,loan_type.open_to_term_flag open_to_term_flag
,loan_type.credit_review_flag credit_review_flag
,loan_product.loan_product_id loan_product_id
,loan_product.loan_product_name loan_product_name
,loan_product.loan_term loan_term
,loan_product.loan_term_period loan_term_period
,loan_product.max_loan_term max_loan_term
,loan_product.max_loan_term_period max_loan_term_period
,loan_product.loan_currency loan_currency
,loan_product.requested_amount requested_amount
,loan_product.max_requested_amount max_requested_amount
,loan_product.index_rate_id index_rate_id
,loan_product.rate_type rate_type
,loan_product.spread spread
,loan_product.floor_rate floor_rate
,loan_product.ceiling_rate ceiling_rate
,loan_product.interest_compounding_freq interest_compounding_freq
,loan_product.loan_payment_frequency loan_payment_frequency
,loan_product.loan_subtype loan_subtype
,loan_product.collateral_percent collateral_percent
,loan_product.allow_interest_only_flag allow_interest_only_flag
,loan_product.reamortize_over_payment reamortize_over_payment
,loan_product.org_id org_id
,loan_product.legal_entity_id legal_entity_id
,loan_product.rate_change_frequency rate_change_frequency
,loan_type.payment_application_order payment_application_order
,loan_type.pmt_appl_order_scope pmt_appl_order_scope
,loan_product.open_floor_rate open_floor_rate
,loan_product.open_ceiling_rate open_ceiling_rate
,loan_product.reamortize_under_payment reamortize_under_payment
,loan_product.percent_increase percent_increase
,loan_product.percent_increase_life percent_increase_life
,loan_product.first_percent_increase first_percent_increase
,loan_product.open_percent_increase open_percent_increase
,loan_product.open_percent_increase_life open_percent_increase_life
,loan_product.open_first_percent_increase
open_first_percent_increase
,loan_product.open_spread open_spread
,loan_product.credit_review_type credit_review_type
,loan_product.guarantor_review_type guarantor_review_type
,loan_product.party_type party_type
,loan_product.open_loan_term open_loan_term
,loan_product.open_loan_term_period open_loan_term_period
,loan_product.open_max_loan_term open_max_loan_term
,loan_product.open_max_loan_term_period open_max_loan_term_period
,loan_product.interest_calculation_method interest_calculation_method
,loan_product.day_count_method day_count_method
FROM lns_loan_types loan_type
,lns_loan_products loan_product
WHERE loan_product.loan_product_id = p_product_id
AND loan_type.loan_type_id = loan_product.loan_type_id
AND loan_type.status = 'COMPLETE'
AND loan_type.start_date_active <= sysdate
AND (loan_type.end_date_active is null OR
loan_type.end_date_active >= sysdate)
AND loan_product.status = 'COMPLETE'
AND loan_product.start_date_active <= sysdate
AND (loan_product.end_date_active is null OR
loan_product.end_date_active >= sysdate);
SELECT LEGAL_ENTITY_ID_TBL.flag LEGAL_ENTITY_ID_OVR
,LOAN_TERM_TBL.flag LOAN_TERM_OVR
,LOAN_TERM_PERIOD_TBL.flag LOAN_TERM_PERIOD_OVR
,INDEX_RATE_ID_TBL.flag INDEX_RATE_ID_OVR
,RATE_TYPE_TBL.flag RATE_TYPE_OVR
,INTEREST_COMPOUNDING_FREQ_TBL.flag
INTEREST_COMPOUNDING_FREQ_OVR
,OPEN_SPREAD_TBL.flag OPEN_SPREAD_OVR
,OPEN_FLOOR_RATE_TBL.flag OPEN_FLOOR_RATE_OVR
,OPEN_CEILING_RATE_TBL.flag OPEN_CEILING_RATE_OVR
,OPEN_PERCENT_INCREASE_TBL.flag OPEN_PERCENT_INCREASE_OVR
,OPEN_PERCENT_INCREASE_LIFE_TBL.flag
OPEN_PERCENT_INCREASE_LIFE_OVR
,SPREAD_TBL.flag SPREAD_OVR
,FLOOR_RATE_TBL.flag FLOOR_RATE_OVR
,CEILING_RATE_TBL.flag CEILING_RATE_OVR
,PERCENT_INCREASE_TBL.flag PERCENT_INCREASE_OVR
,PERCENT_INCREASE_LIFE_TBL.flag PERCENT_INCREASE_LIFE_OVR
,LOAN_PAYMENT_FREQUENCY_TBL.flag LOAN_PAYMENT_FREQ_OVR
,LOAN_SUBTYPE_TBL.flag LOAN_SUBTYPE_OVR
,REAMORTIZE_OVER_PAYMENT_TBL.flag REAMORTIZE_OVER_PAYMENT_OVR
FROM (SELECT DECODE(COUNT(*),0,'Y','N') flag
FROM LNS_LOAN_PRODUCT_FLAGS
WHERE loan_product_id = p_product_id
AND READONLY_COLUMN_NAME = 'LEGAL_ENTITY_ID'
) LEGAL_ENTITY_ID_TBL,
(SELECT DECODE(COUNT(*),0,'Y','N') flag
FROM LNS_LOAN_PRODUCT_FLAGS
WHERE loan_product_id = p_product_id
AND READONLY_COLUMN_NAME = 'LOAN_TERM'
) LOAN_TERM_TBL,
(SELECT DECODE(COUNT(*),0,'Y','N') flag
FROM LNS_LOAN_PRODUCT_FLAGS
WHERE loan_product_id = p_product_id
AND READONLY_COLUMN_NAME = 'LOAN_TERM_PERIOD'
) LOAN_TERM_PERIOD_TBL,
(SELECT DECODE(COUNT(*),0,'Y','N') flag
FROM LNS_LOAN_PRODUCT_FLAGS
WHERE loan_product_id = p_product_id
AND READONLY_COLUMN_NAME = 'INDEX_RATE_ID'
) INDEX_RATE_ID_TBL,
(SELECT DECODE(COUNT(*),0,'Y','N') flag
FROM LNS_LOAN_PRODUCT_FLAGS
WHERE loan_product_id = p_product_id
AND READONLY_COLUMN_NAME = 'RATE_TYPE'
) RATE_TYPE_TBL,
(SELECT DECODE(COUNT(*),0,'Y','N') flag
FROM LNS_LOAN_PRODUCT_FLAGS
WHERE loan_product_id = p_product_id
AND READONLY_COLUMN_NAME = 'INTEREST_COMPOUNDING_FREQ'
) INTEREST_COMPOUNDING_FREQ_TBL,
(SELECT DECODE(COUNT(*),0,'Y','N') flag
FROM LNS_LOAN_PRODUCT_FLAGS
WHERE loan_product_id = p_product_id
AND READONLY_COLUMN_NAME = 'OPEN_SPREAD'
) OPEN_SPREAD_TBL,
(SELECT DECODE(COUNT(*),0,'Y','N') flag
FROM LNS_LOAN_PRODUCT_FLAGS
WHERE loan_product_id = p_product_id
AND READONLY_COLUMN_NAME = 'OPEN_FLOOR_RATE'
) OPEN_FLOOR_RATE_TBL,
(SELECT DECODE(COUNT(*),0,'Y','N') flag
FROM LNS_LOAN_PRODUCT_FLAGS
WHERE loan_product_id = p_product_id
AND READONLY_COLUMN_NAME = 'OPEN_CEILING_RATE'
) OPEN_CEILING_RATE_TBL,
(SELECT DECODE(COUNT(*),0,'Y','N') flag
FROM LNS_LOAN_PRODUCT_FLAGS
WHERE loan_product_id = p_product_id
AND READONLY_COLUMN_NAME = 'OPEN_PERCENT_INCREASE'
) OPEN_PERCENT_INCREASE_TBL,
(SELECT DECODE(COUNT(*),0,'Y','N') flag
FROM LNS_LOAN_PRODUCT_FLAGS
WHERE loan_product_id = p_product_id
AND READONLY_COLUMN_NAME = 'OPEN_PERCENT_INCREASE_LIFE'
) OPEN_PERCENT_INCREASE_LIFE_TBL,
(SELECT DECODE(COUNT(*),0,'Y','N') flag
FROM LNS_LOAN_PRODUCT_FLAGS
WHERE loan_product_id = p_product_id
AND READONLY_COLUMN_NAME = 'SPREAD'
) SPREAD_TBL,
(SELECT DECODE(COUNT(*),0,'Y','N') flag
FROM LNS_LOAN_PRODUCT_FLAGS
WHERE loan_product_id = p_product_id
AND READONLY_COLUMN_NAME = 'FLOOR_RATE'
) FLOOR_RATE_TBL,
(SELECT DECODE(COUNT(*),0,'Y','N') flag
FROM LNS_LOAN_PRODUCT_FLAGS
WHERE loan_product_id = p_product_id
AND READONLY_COLUMN_NAME = 'CEILING_RATE'
) CEILING_RATE_TBL,
(SELECT DECODE(COUNT(*),0,'Y','N') flag
FROM LNS_LOAN_PRODUCT_FLAGS
WHERE loan_product_id = p_product_id
AND READONLY_COLUMN_NAME = 'PERCENT_INCREASE'
) PERCENT_INCREASE_TBL,
(SELECT DECODE(COUNT(*),0,'Y','N') flag
FROM LNS_LOAN_PRODUCT_FLAGS
WHERE loan_product_id = p_product_id
AND READONLY_COLUMN_NAME = 'PERCENT_INCREASE_LIFE'
) PERCENT_INCREASE_LIFE_TBL,
(SELECT DECODE(COUNT(*),0,'Y','N') flag
FROM LNS_LOAN_PRODUCT_FLAGS
WHERE loan_product_id = p_product_id
AND READONLY_COLUMN_NAME = 'LOAN_PAYMENT_FREQUENCY'
) LOAN_PAYMENT_FREQUENCY_TBL,
(SELECT DECODE(COUNT(*),0,'Y','N') flag
FROM LNS_LOAN_PRODUCT_FLAGS
WHERE loan_product_id = p_product_id
AND READONLY_COLUMN_NAME = 'LOAN_SUBTYPE'
) LOAN_SUBTYPE_TBL,
(SELECT DECODE(COUNT(*),0,'Y','N') flag
FROM LNS_LOAN_PRODUCT_FLAGS
WHERE loan_product_id = p_product_id
AND READONLY_COLUMN_NAME = 'REAMORTIZE_OVER_PAYMENT'
) REAMORTIZE_OVER_PAYMENT_TBL;
| PRIVATE PROCEDURE InsertErrors
|
| DESCRIPTION
| This procedure logs debug messages to db and to CM log
|
| CALLED FROM PROCEDURES/FUNCTIONS (local to this package body)
|
| CALLS PROCEDURES/FUNCTIONS (local to this package body)
| None
|
| PARAMETERS
| p_msg_level IN Debug msg level
| p_msg IN Debug msg itself
|
| KNOWN ISSUES
| None
|
|
| NOTES
| Any interesting aspect of the code in the package body which needs
| to be stated.
|
| MODIFICATION HISTORY
| Date Author Description of Changes
| 17-Jan-2006 GBELLARY Created
|
*=======================================================================*/
Procedure InsertErrors
IS
BEGIN
FORALL i in 1..g_errors_rec.COUNT
insert into LNS_LOAN_API_ERRORS_GT
VALUES
g_errors_rec(i);
error_while_insert EXCEPTION;
l_header_insert_success VARCHAR2(1);
l_part_insert_success VARCHAR2(1);
l_line_insert_success VARCHAR2(1);
l_term_insert_success VARCHAR2(1);
l_term_update_success VARCHAR2(1);
g_errors_rec.delete;
SELECT 'Y'
INTO l_dummy
FROM jtf_rs_resource_extns res
WHERE res.resource_id = P_Loan_Details_Rec.loan_assigned_to
AND res.category = 'EMPLOYEE'
AND res.start_date_active <= SYSDATE
AND (res.end_date_active is null or res.end_date_active >= SYSDATE);
SELECT 'Y'
INTO l_dummy
FROM xle_entity_profiles xep
WHERE xep.legal_entity_id = P_Loan_Details_Rec.legal_entity_id;
SELECT 'Y'
INTO l_dummy
FROM hz_parties hzp
WHERE hzp.party_id = P_Loan_Details_Rec.primary_borrower_party_id
AND hzp.party_type = l_product_rec.party_type
AND hzp.status = 'A';
SELECT 'Y'
INTO l_dummy
FROM hz_cust_accounts_all hzca
WHERE hzca.cust_account_id = P_Loan_Details_Rec.cust_account_id
AND hzca.party_id = P_Loan_Details_Rec.primary_borrower_party_id
AND hzca.status = 'A';
SELECT 'Y'
INTO l_dummy
FROM hz_cust_accounts_all account,
hz_cust_site_uses acc_site_use,
hz_cust_acct_sites_all acct_site
WHERE account.cust_account_id = acct_site.cust_account_id
AND acc_site_use.cust_acct_site_id = acct_site.cust_acct_site_id
AND acc_site_use.site_use_code = 'BILL_TO'
AND acct_site.cust_acct_site_id =
P_Loan_Details_Rec.bill_to_acct_site_id
AND acct_site.cust_account_id = P_Loan_Details_Rec.cust_account_id
AND acc_site_use.status = 'A';
SELECT rel.subject_id
INTO l_contact_person_party_id
FROM hz_relationships rel,
hz_parties rel_party,
ar_lookups lkup,
hz_relationship_types rel_type
WHERE rel.party_id = P_Loan_Details_Rec.contact_rel_party_id
AND rel.object_id = P_Loan_Details_Rec.primary_borrower_party_id
AND rel.relationship_code = rel_type.forward_rel_code
AND rel_type.create_party_flag = 'Y'
AND rel_type.subject_type = 'PERSON'
AND rel_type.object_type = l_product_rec.party_type
AND rel.relationship_type = rel_type.relationship_type
AND rel_type.role = lkup.lookup_code
AND lkup.lookup_type = 'HZ_RELATIONSHIP_ROLE'
AND rel.party_id = rel_party.party_id
AND rel.status = 'A'
AND rel_party.status = 'A';
SELECT 'Y'
INTO l_dummy
FROM lns_lookups llk
WHERE llk.lookup_code = P_Loan_Details_Rec.loan_purpose_code
AND llk.lookup_type = 'LOAN_PURPOSE';
SELECT 'Y'
INTO l_dummy
FROM gl_daily_conversion_types gdct
WHERE gdct.conversion_type = P_Loan_Details_Rec.exchange_rate_type;
SELECT 'Y'
INTO l_dummy
FROM ar_lookups alk
,RA_CUST_TRX_TYPES_ALL rtyp
WHERE rtyp.CUST_TRX_TYPE_ID = P_Loan_Details_Rec.trx_type_id
AND alk.lookup_code = rtyp.type
AND alk.lookup_type = 'INV/CM';
SELECT 'Y'
INTO l_dummy
FROM lns_lookups llk
WHERE llk.lookup_code = P_Loan_Details_Rec.loan_term_period
AND llk.lookup_type = 'PERIOD';
SELECT 'Y'
INTO l_dummy
FROM lns_lookups llk
WHERE llk.lookup_code = P_Loan_Details_Rec.open_loan_term_period
AND llk.lookup_type = 'PERIOD';
SELECT 'Y'
INTO l_dummy
FROM lns_lookups llk
WHERE llk.lookup_code = P_Loan_Details_Rec.balloon_payment_type
AND llk.lookup_type = 'BALLOON_PAYMENT_TYPE';
SELECT 'Y'
INTO l_dummy
FROM lns_lookups llk
WHERE llk.lookup_code = P_Loan_Details_Rec.loan_subtype
AND llk.lookup_type = 'LOAN_SUBTYPE';
SELECT 'Y'
INTO l_dummy
FROM lns_int_rate_headers lirh
WHERE lirh.interest_rate_id = P_Loan_Details_Rec.index_rate_id;
SELECT 'Y'
INTO l_dummy
FROM lns_lookups llk
WHERE llk.lookup_code =
P_Loan_Details_Rec.loan_payment_frequency
AND llk.lookup_type = 'FREQUENCY';
SELECT 'Y'
INTO l_dummy
FROM lns_lookups llk
WHERE llk.lookup_code = P_Loan_Details_Rec.open_to_term_event
AND llk.lookup_type = 'OPEN_TO_TERM_EVENT';
select pmt_sch.customer_trx_id
,pmt_sch.trx_number
,pmt_sch.amount_due_remaining
,pmt_sch.terms_sequence_number
INTO v_customer_trx_id(j)
,v_reference_number(j)
,v_remaining_balance(j)
,v_installment_number(j)
FROM
ar_payment_schedules_all pmt_sch,
hz_cust_accounts account,
RA_CUST_TRX_TYPES trx_type,
ar_lookups trx_type_lkup,
ar_lookups trx_class_lkup
WHERE
pmt_sch.class in ('INV','DM') and
pmt_sch.status = 'OP' and
pmt_sch.amount_due_remaining > 0 and
pmt_sch.cust_trx_type_id = trx_type.CUST_TRX_TYPE_ID and
trx_type_lkup.lookup_type = 'INV/CM' and
trx_type_lkup.lookup_code = trx_type.type and
trx_class_lkup.lookup_type = 'INV/CM' and
trx_class_lkup.lookup_code = pmt_sch.class and
pmt_sch.customer_id = account.cust_account_id and
account.party_id = P_Loan_Details_Rec.primary_borrower_party_id and
pmt_sch.INVOICE_CURRENCY_CODE = l_product_rec.loan_currency and
pmt_sch.payment_schedule_id = v_PAYMENT_SCHEDULE_ID(j);
/* INITIALIZE AND DEFAULT VALUES TO BE INSERTED INTO HEADERS, LINES,
PARTICIAPNTS, TERMS and RATESCHEDULES */
IF g_error_count = 0 THEN
-- Initialize all rowtype variables
g_loan_rec := null;
select LNS_LOAN_HEADERS_S.nextval
into g_loan_rec.loan_id
from dual;
/* Not needed since LNS_LOAN_HEADER_PUB API will be used for inserting
-- Who Columns
g_loan_rec.last_update_date := sysdate;
g_loan_rec.last_updated_by := -1;
select 'L' || LNS_LOAN_NUMBER_S.nextval
into g_loan_rec.loan_number
from dual;
select LNS_TERMS_S.nextval
into g_term_rec.term_id
from dual;
SELECT LNS_RATE_SCHEDULES_S.nextval
INTO g_rate_term_rec.rate_id
FROM dual;
g_rate_term_rec.last_update_date := sysdate;
g_rate_term_rec.last_updated_by := lns_utility_pub.created_by;
g_rate_term_rec.created_by := lns_utility_pub.last_updated_by;
SELECT LNS_RATE_SCHEDULES_S.nextval
INTO g_rate_open_rec.rate_id
FROM dual;
g_rate_open_rec.last_update_date := sysdate;
g_rate_open_rec.last_updated_by := lns_utility_pub.last_updated_by;
SAVEPOINT before_insert;
,x_return_status => l_header_insert_success
,x_msg_count => l_message_count
,x_msg_data => l_message_data
);
IF l_header_insert_success <> 'S' THEN
LogErrors(p_message_name=>'LNS_LCREATE_INS_ERR_HEADER'
,p_token1 => l_message_data);
rollback to SAVEPOINT before_insert;
raise error_while_insert;
,x_return_status => l_part_insert_success
,x_msg_count => l_message_count
,x_msg_data => l_message_data
);
IF l_part_insert_success <> 'S' THEN
LogErrors(p_message_name=>'LNS_LCREATE_INS_ERR_PART'
,p_token1 =>l_message_data);
rollback to SAVEPOINT before_insert;
raise error_while_insert;
INSERT INTO LNS_LOAN_LINES
(
LOAN_LINE_ID
,LOAN_ID
,LAST_UPDATE_DATE
,LAST_UPDATED_BY
,CREATION_DATE
,CREATED_BY
,OBJECT_VERSION_NUMBER
,REFERENCE_TYPE
,REFERENCE_ID
,REFERENCE_NUMBER
,REFERENCE_DESCRIPTION
,REFERENCE_AMOUNT
,REQUESTED_AMOUNT
,PAYMENT_SCHEDULE_ID
,INSTALLMENT_NUMBER
)
VALUES
(
LNS_LOAN_LINE_S.nextval
,g_loan_rec.loan_id
,sysdate
,lns_utility_pub.created_by
,sysdate
,lns_utility_pub.created_by
,1
,'RECEIVABLE'
,v_customer_trx_id(i)
,v_reference_number(i)
,v_DESCRIPTION(i)
,v_remaining_balance(i)
,v_requested_amount(i)
,v_PAYMENT_SCHEDULE_ID(i)
,v_installment_number(i)
);
rollback to SAVEPOINT before_insert;
raise error_while_insert;
UPDATE lns_loan_headers_all
SET requested_amount = l_ers_requested_amount
,object_version_number = 2
WHERE loan_id = g_loan_rec.loan_id;
,x_return_status => l_term_insert_success
,x_msg_count => l_message_count
,x_msg_data => l_message_data
);
IF l_term_insert_success <> 'S' THEN
LogErrors(p_message_name=>'LNS_LCREATE_INS_ERR_TERM'
,p_token1 =>l_message_data);
rollback to SAVEPOINT before_insert;
raise error_while_insert;
insert into LNS_RATE_SCHEDULES
(RATE_ID
,TERM_ID
,INDEX_RATE
,SPREAD
,CURRENT_INTEREST_RATE
,START_DATE_ACTIVE
,END_DATE_ACTIVE
,CREATED_BY
,CREATION_DATE
,LAST_UPDATED_BY
,LAST_UPDATE_DATE
,LAST_UPDATE_LOGIN
,OBJECT_VERSION_NUMBER
,INDEX_DATE
,BEGIN_INSTALLMENT_NUMBER
,END_INSTALLMENT_NUMBER
,INTEREST_ONLY_FLAG
,PHASE
,FLOATING_FLAG)
VALUES
(g_rate_term_rec.RATE_ID
,g_rate_term_rec.TERM_ID
,g_rate_term_rec.INDEX_RATE
,g_rate_term_rec.SPREAD
,g_rate_term_rec.CURRENT_INTEREST_RATE
,g_rate_term_rec.START_DATE_ACTIVE
,g_rate_term_rec.END_DATE_ACTIVE
,g_rate_term_rec.CREATED_BY
,g_rate_term_rec.CREATION_DATE
,g_rate_term_rec.LAST_UPDATED_BY
,g_rate_term_rec.LAST_UPDATE_DATE
,g_rate_term_rec.LAST_UPDATE_LOGIN
,g_rate_term_rec.OBJECT_VERSION_NUMBER
,g_rate_term_rec.INDEX_DATE
,g_rate_term_rec.BEGIN_INSTALLMENT_NUMBER
,g_rate_term_rec.END_INSTALLMENT_NUMBER
,g_rate_term_rec.INTEREST_ONLY_FLAG
,g_rate_term_rec.PHASE
,g_rate_term_rec.FLOATING_FLAG);
rollback to SAVEPOINT before_insert;
raise error_while_insert;
insert into LNS_RATE_SCHEDULES
(RATE_ID
,TERM_ID
,INDEX_RATE
,SPREAD
,CURRENT_INTEREST_RATE
,START_DATE_ACTIVE
,END_DATE_ACTIVE
,CREATED_BY
,CREATION_DATE
,LAST_UPDATED_BY
,LAST_UPDATE_DATE
,LAST_UPDATE_LOGIN
,OBJECT_VERSION_NUMBER
,INDEX_DATE
,BEGIN_INSTALLMENT_NUMBER
,END_INSTALLMENT_NUMBER
,INTEREST_ONLY_FLAG
,PHASE
,FLOATING_FLAG)
VALUES
(g_rate_open_rec.RATE_ID
,g_rate_open_rec.TERM_ID
,g_rate_open_rec.INDEX_RATE
,g_rate_open_rec.SPREAD
,g_rate_open_rec.CURRENT_INTEREST_RATE
,g_rate_open_rec.START_DATE_ACTIVE
,g_rate_open_rec.END_DATE_ACTIVE
,g_rate_open_rec.CREATED_BY
,g_rate_open_rec.CREATION_DATE
,g_rate_open_rec.LAST_UPDATED_BY
,g_rate_open_rec.LAST_UPDATE_DATE
,g_rate_open_rec.LAST_UPDATE_LOGIN
,g_rate_open_rec.OBJECT_VERSION_NUMBER
,g_rate_open_rec.INDEX_DATE
,g_rate_open_rec.BEGIN_INSTALLMENT_NUMBER
,g_rate_open_rec.END_INSTALLMENT_NUMBER
,g_rate_open_rec.INTEREST_ONLY_FLAG
,g_rate_open_rec.PHASE
,g_rate_open_rec.FLOATING_FLAG);
rollback to SAVEPOINT before_insert;
raise error_while_insert;
,x_return_status => l_term_update_success
,x_msg_count => l_message_count
,x_msg_data => l_message_data
);
IF l_term_update_success <> 'S' THEN
LogErrors(p_message_name=>'LNS_LCREATE_UPD_ERR_TERM'
,p_token1 =>l_message_data);
rollback to SAVEPOINT before_insert;
raise error_while_insert;
InsertErrors;
InsertErrors;
WHEN error_while_insert THEN
InsertErrors;
InsertErrors;