The following lines contain the word 'select', 'insert', 'update' or 'delete':
ar_cmgt_util.debug (p_message_name, 'ar.cmgt.plsql.OCM_CREDIT_REQUEST_UPDATE_PUB' );
PROCEDURE UPDATE_CREDIT_REQUEST (
p_api_version IN NUMBER,
p_init_msg_list IN VARCHAR2 ,
p_commit IN VARCHAR2,
p_validation_level IN VARCHAR2,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2,
p_credit_request_rec IN credit_request_rec ) IS
l_conc_request_id NUMBER;
debug ( 'OCM_CREDIT_REQUEST_UPDATE_PUB.UPDATE_CREDIT_REQUEST(+)');
SAVEPOINT UPDATE_CREDIT_REQ_PVT;
SELECT STATUS
INTO l_credit_request_status
FROM ar_cmgt_credit_requests
WHERE credit_request_id = p_credit_request_rec.credit_request_id;
UPDATE ar_cmgt_credit_requests
SET trx_amount = nvl(p_credit_request_rec.trx_amount, trx_amount),
limit_amount = nvl(p_credit_request_rec.requested_amount, limit_amount),
requestor_id = nvl(p_credit_request_rec.requestor_id, requestor_id),
last_updated_by = fnd_global.user_id,
last_update_date = sysdate
WHERE credit_request_id = p_credit_request_rec.credit_request_id;
-- Need to update the workflow attributes.
-- first check whether workflow is initiated
BEGIN
WF_ENGINE.ItemStatus(
itemType => 'ARCMGTAP',
itemkey => p_credit_request_rec.credit_request_id,
status => l_status,
result => l_resultout);
p_called_from => 'OCM_UPDATE_CREDIT_REQUEST',
p_conc_request_id => l_conc_request_id );
SELECT 'x' INTO l_check_flag
FROM PER_ALL_PEOPLE_F
WHERE sysdate between effective_start_date and effective_end_date
and current_employee_flag = 'Y'
and person_id = p_credit_request_rec.requestor_id;
SELECT 'x' INTO l_check_flag
FROM fnd_user
WHERE user_id = p_credit_request_rec.requestor_id;
SELECT lookup_code INTO l_check_flag
FROM ar_lookups
WHERE lookup_type = 'AR_CMGT_CREDIT_TYPE'
AND lookup_code = p_credit_request_rec.credit_type;
UPDATE ar_cmgt_credit_requests
SET trx_amount = nvl(p_credit_request_rec.trx_amount, trx_amount),
limit_amount = nvl(p_credit_request_rec.requested_amount, limit_amount),
requestor_id = nvl(p_credit_request_rec.requestor_id, requestor_id),
last_updated_by = fnd_global.user_id,
last_update_date = sysdate,
review_type = nvl(p_credit_request_rec.review_type, review_type),
credit_classification = nvl(p_credit_request_rec.credit_classification, credit_classification),
limit_currency = nvl( p_credit_request_rec.requested_currency, limit_currency),
trx_currency = nvl( p_credit_request_rec.trx_currency, trx_currency),
credit_type = nvl( p_credit_request_rec.credit_type, credit_type ),
term_length = nvl( p_credit_request_rec.term_length, term_length ),
credit_check_rule_id = nvl( p_credit_request_rec.credit_check_rule_id, credit_check_rule_id ),
party_id = nvl( p_credit_request_rec.party_id, party_id),
cust_account_id = nvl( p_credit_request_rec.cust_account_id, cust_account_id ),
cust_acct_site_id = nvl( p_credit_request_rec.cust_acct_site_id, cust_acct_site_id ),
site_use_id = nvl( p_credit_request_rec.site_use_id, site_use_id ),
contact_party_id = nvl( p_credit_request_rec.contact_party_id, contact_party_id ),
notes = nvl( p_credit_request_rec.notes, notes),
source_org_id = nvl( p_credit_request_rec.source_org_id, source_org_id),
source_user_id = nvl( p_credit_request_rec.source_user_id, source_user_id),
source_resp_id = nvl( p_credit_request_rec.source_resp_id, source_resp_id),
source_resp_appln_id = nvl( p_credit_request_rec.source_resp_appln_id, source_resp_appln_id),
source_security_group_id = nvl( p_credit_request_rec.source_security_group_id, source_security_group_id),
source_name = nvl( p_credit_request_rec.source_name, source_name),
source_column1 = nvl( p_credit_request_rec.source_column1, source_column1),
source_column2 = nvl( p_credit_request_rec.source_column2, source_column2),
source_column3 = nvl( p_credit_request_rec.source_column3, source_column3),
review_cycle = nvl( p_credit_request_rec.review_cycle,review_cycle),
stock_exchange = nvl( p_credit_request_rec.stock_exchange, stock_exchange),
current_stock_price = nvl( p_credit_request_rec.current_stock_price, current_stock_price),
stock_currency = nvl( p_credit_request_rec.stock_currency,stock_currency),
market_capitalization = nvl( p_credit_request_rec.market_capitalization,market_capitalization),
market_cap_monetary_unit = nvl( p_credit_request_rec.market_cap_monetary_unit,market_cap_monetary_unit),
pending_litigations = nvl( p_credit_request_rec.pending_litigations,pending_litigations),
bond_rating = nvl( p_credit_request_rec.bond_rating,bond_rating),
legal_entity_name = nvl( p_credit_request_rec.legal_entity_name,legal_entity_name),
entity_type = nvl( p_credit_request_rec.entity_type,entity_type),
RECOMMENDATION_NAME = nvl( p_credit_request_rec.RECOMMENDATION_NAME,RECOMMENDATION_NAME)
WHERE credit_request_id = p_credit_request_rec.credit_request_id
AND status IN ('SAVE', 'IN_PROCESS');
debug ( 'OCM_CREDIT_REQUEST_UPDATE_PUB.UPDATE_CREDIT_REQUEST(-)');
ROLLBACK TO UPDATE_CREDIT_REQ_PVT;
FND_MESSAGE.SET_TOKEN('GENERIC_TEXT','UPDATE_CREDIT_REQUEST : '||SQLERRM);
debug ( 'OCM_CREDIT_REQUEST_UPDATE_PUB.GET_CREDIT_REQUEST_REC(+)');
SELECT credit_request_id,
APPLICATION_NUMBER,
APPLICATION_DATE,
REQUESTOR_TYPE,
REQUESTOR_ID,
REVIEW_TYPE,
CREDIT_CLASSIFICATION,
CHECK_LIST_ID,
CREDIT_ANALYST_ID,
LIMIT_AMOUNT,
LIMIT_CURRENCY,
TRX_AMOUNT,
TRX_CURRENCY,
CREDIT_CHECK_RULE_ID,
TERM_LENGTH,
CREDIT_TYPE,
PARTY_ID,
CUST_ACCOUNT_ID,
CUST_ACCT_SITE_ID,
SITE_USE_ID,
CONTACT_PARTY_ID,
STOCK_EXCHANGE,
CURRENT_STOCK_PRICE,
STOCK_CURRENCY,
MARKET_CAPITALIZATION,
MARKET_CAP_MONETARY_UNIT,
PENDING_LITIGATIONS,
BOND_RATING,
LEGAL_ENTITY_NAME,
ENTITY_TYPE,
CASE_FOLDER_NUMBER,
SCORE_MODEL_ID,
STATUS,
SOURCE_NAME,
SOURCE_USER_ID,
SOURCE_RESP_ID,
SOURCE_RESP_APPLN_ID,
SOURCE_SECURITY_GROUP_ID,
SOURCE_ORG_ID,
SOURCE_COLUMN1,
SOURCE_COLUMN2,
SOURCE_COLUMN3,
NOTES,
REVIEW_CYCLE
INTO l_credit_request_id,
l_APPLICATION_NUMBER,
l_APPLICATION_DATE,
l_REQUESTOR_TYPE,
l_REQUESTOR_ID,
l_REVIEW_TYPE,
l_CREDIT_CLASSIFICATION,
l_CHECK_LIST_ID,
l_CREDIT_ANALYST_ID,
l_LIMIT_AMOUNT,
l_LIMIT_CURRENCY,
l_TRX_AMOUNT,
l_TRX_CURRENCY,
l_CREDIT_CHECK_RULE_ID,
l_TERM_LENGTH,
l_CREDIT_TYPE,
l_PARTY_ID,
l_CUST_ACCOUNT_ID,
l_CUST_ACCT_SITE_ID,
l_SITE_USE_ID,
l_CONTACT_PARTY_ID,
l_STOCK_EXCHANGE,
l_CURRENT_STOCK_PRICE,
l_STOCK_CURRENCY,
l_MARKET_CAPITALIZATION,
l_MARKET_CAP_MONETARY_UNIT,
l_PENDING_LITIGATIONS,
l_BOND_RATING,
l_LEGAL_ENTITY_NAME,
l_ENTITY_TYPE,
l_CASE_FOLDER_NUMBER,
l_SCORE_MODEL_ID,
l_STATUS,
l_SOURCE_NAME,
l_SOURCE_USER_ID,
l_SOURCE_RESP_ID,
l_SOURCE_RESP_APPLN_ID,
l_SOURCE_SECURITY_GROUP_ID,
l_SOURCE_ORG_ID,
l_SOURCE_COLUMN1,
l_SOURCE_COLUMN2,
l_SOURCE_COLUMN3,
l_NOTES,
l_REVIEW_CYCLE
FROM ar_cmgt_credit_requests
WHERE credit_request_id = p_credit_request_id;
debug ('OCM_CREDIT_REQUEST_UPDATE_PUB.GET_CREDIT_REQUEST_REC (+)' );
debug ( 'OCM_CREDIT_REQUEST_UPDATE_PUB.GET_CREDIT_REQUEST_REC(-)');
p_error_msg := 'OCM_CREDIT_REQUEST_UPDATE_PUB.GET_CREDIT_REQUEST_REC '|| sqlerrm;
PROCEDURE update_credit_request_status (
p_api_version IN NUMBER,
p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_TRUE,
p_commit IN VARCHAR2,
p_validation_level IN VARCHAR2,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2,
p_credit_request_id IN NUMBER,
p_credit_request_status IN VARCHAR2 DEFAULT 'SUBMIT') IS
l_status ar_cmgt_credit_requests.status%type;
SELECT credit_request_id
FROM ar_cmgt_credit_requests
WHERE parent_credit_request_id = p_credit_request_id
AND status = 'SAVE';
SELECT gd.datapoint_id, -- unique key
gd.credit_request_id, gd.review_type, gd.credit_classification,
gd.guaranteed_amount, gd.currency, gd.party_id,
gd.contact_party_id, gd.notes,
pr.source_org_id, pr.source_user_id,
pr.source_resp_id, pr.source_resp_appln_id,
pr.source_security_group_id,
pr.source_name parent_source_name,
pr.application_date parent_application_date,
pr.requestor_type, pr.requestor_id
FROM ar_cmgt_guarantor_data gd,
ar_cmgt_credit_requests pr
WHERE gd.credit_request_id = cp_credit_request_id
AND gd.credit_request_id = pr.credit_request_id
AND gd.guarantor_credit_request_id IS NULL; -- prevents duplics
debug ( 'OCM_CREDIT_REQUEST_UPDATE_PUB.update_credit_request_status(+)');
SAVEPOINT UPDATE_CREDIT_REQ_STATUS;
SELECT status
INTO l_status
FROM ar_cmgt_credit_requests
WHERE credit_request_id = p_credit_request_id;
UPDATE ar_cmgt_credit_requests
SET status = 'SUBMIT',
last_updated_by = fnd_global.user_id,
last_update_date = sysdate
WHERE credit_request_id = p_credit_request_id;
ROLLBACK TO UPDATE_CREDIT_REQ_STATUS;
/* Now update ar_cmgt_guarantor_data to set
guarantor_credit_request_id */
IF i > 0
THEN
/* 6956789 - Only execute update if there are rows
to process */
FORALL x in datapoint_t.FIRST..datapoint_t.LAST
UPDATE ar_cmgt_guarantor_data
SET guarantor_credit_request_id = guarcredreq_t(x)
WHERE datapoint_id = datapoint_t(x);
UPDATE ar_cmgt_credit_requests
SET status = 'SUBMIT',
last_updated_by = fnd_global.user_id,
last_update_date = sysdate
WHERE credit_request_id = cCreditRequestsRec.credit_request_id;
debug ( 'OCM_CREDIT_REQUEST_UPDATE_PUB.update_credit_request_status(-)');
ROLLBACK TO UPDATE_CREDIT_REQ_STATUS;