The following lines contain the word 'select', 'insert', 'update' or 'delete':
NegStatusUpdateException EXCEPTION;
SELECT message_text
FROM fnd_new_messages m, fnd_application a
WHERE p_msg_name = m.message_name
AND p_lang = m.language_code
AND G_APP_NAME = a.application_short_name
AND m.application_id = a.application_id;
SELECT contract_number,contract_number_modifier
FROM okc_k_headers_all_b
WHERE id = p_contract_id;
SELECT meaning
FROM FND_LOOKUPS
WHERE lookup_code = p_lookup_code
AND lookup_type = p_lookup_type;
SELECT wf_item_key
FROM oks_k_headers_b
WHERE chr_id = p_contract_id;
SELECT user_name
FROM fnd_user fndu
WHERE fndu.user_id = p_user_id;
SELECT b.party_name
FROM OKC_K_PARTY_ROLES_B a, hz_parties b
WHERE a.dnz_chr_id = p_chr_id
AND a.object1_id1 = b.party_id;
SELECT contract_number,contract_number_modifier,
to_char(OKS_EXTWAR_UTIL_PVT.round_currency_amt(estimated_amount,currency_code),
fnd_currency.get_format_mask(currency_code, 50)
) estimated_amount, currency_code
FROM okc_k_headers_all_b
WHERE id = p_chr_id;
SELECT language_code
FROM fnd_languages
WHERE installed_flag = 'B';
x_contract_update_status => x_email_attr_rec.contract_status,
x_return_status => x_return_status,
x_msg_data => x_msg_data,
x_msg_count => x_msg_count
);
' x_contract_update_status ='||x_email_attr_rec.contract_status);
SELECT '1'
FROM wf_item_activity_statuses wias, wf_process_activities wpa
WHERE wias.item_type = p_item_type
AND wias.item_key = p_item_key
AND wias.process_activity = wpa.instance_id
AND wpa.ACTIVITY_ITEM_TYPE = p_item_type
AND wpa.activity_name = p_activity_name
AND wias.activity_status = 'NOTIFIED';
SELECT ACTIVITY_NAME
FROM wf_item_activity_statuses wias, wf_process_activities wpa
WHERE wias.item_type = p_item_type
AND wias.item_key = p_item_key
AND wias.process_activity = wpa.instance_id
AND wpa.ACTIVITY_ITEM_TYPE = p_item_type
AND wias.activity_status = 'NOTIFIED';
UPDATE oks_k_headers_b
SET renewal_status = p_process_status ,
-- commented and replaced following 2 lines. Accepted by and date accepted were getting cleared
-- accepted_by = DECODE(p_process_status,G_NEG_STS_QUOTE_ACPTD,FND_GLOBAL.USER_ID,accepted_by),
-- date_accepted = DECODE(p_process_status,G_NEG_STS_QUOTE_ACPTD,sysdate,date_accepted),
accepted_by = DECODE(p_process_status,G_NEG_STS_QUOTE_ACPTD,NVL(accepted_by,FND_GLOBAL.USER_ID),accepted_by),
date_accepted = DECODE(p_process_status,G_NEG_STS_QUOTE_ACPTD,NVL(date_accepted,sysdate),date_accepted),
object_version_number = object_version_number + 1,
last_update_date = SYSDATE,
last_updated_by = FND_GLOBAL.USER_ID,
last_update_login = FND_GLOBAL.LOGIN_ID
WHERE chr_id = p_contract_id;
UPDATE okc_k_vers_numbers
SET minor_version = minor_version + 1,
object_version_number = object_version_number + 1,
last_update_date = SYSDATE,
last_updated_by = FND_GLOBAL.USER_ID,
last_update_login = FND_GLOBAL.LOGIN_ID
WHERE chr_id = p_contract_id;
SELECT renewal_status
FROM oks_k_headers_b
WHERE chr_id = l_contract_id;
SELECT 'Y'
FROM wf_items
WHERE item_type = p_workflow_name
AND item_key = p_contract_number || p_contract_number_modifier
AND end_date IS NULL;
SELECT id
FROM okc_k_headers_all_b
WHERE contract_number = p_contract_number
AND contract_number_modifier = p_contract_number_modifier;
SELECT quote_to_email_id
FROM oks_k_headers_b
WHERE chr_id = l_contract_id;
SELECT email_address
FROM hz_contact_points
WHERE contact_point_id = p_contactPoint_id
AND content_source_type = 'USER_ENTERED';
SELECT b.party_name
FROM OKC_K_PARTY_ROLES_B a, hz_parties b
WHERE a.dnz_chr_id = p_chr_id
AND a.object1_id1 = b.party_id;
SELECT okch.contract_number,okch.contract_number_modifier,
to_char(OKS_EXTWAR_UTIL_PVT.round_currency_amt(okch.estimated_amount,okch.currency_code),
fnd_currency.get_format_mask(okch.currency_code, 50)
) estimated_amount,okch.currency_code,hro.name,okch.short_description
FROM okc_k_headers_all_v okch, hr_all_organization_units hro
WHERE okch.id = p_chr_id
AND hro.organization_id = okch.authoring_org_id;
SELECT source_name
FROM jtf_rs_resource_extns
WHERE user_name = p_user_name;
SELECT fu.user_name
FROM oks_k_headers_b ks, fnd_user fu
WHERE ks.chr_id = p_chr_id
AND fu.person_party_id = ks.person_party_id;
select SUBSTRB(P.PERSON_LAST_NAME,1,50) || ', ' || SUBSTRB(P.PERSON_FIRST_NAME,1,40) name
FROM OKS_K_HEADERS_B OKSH,
HZ_CUST_ACCOUNT_ROLES CAR,
HZ_PARTIES P,
HZ_RELATIONSHIPS R
WHERE OKSH.quote_to_contact_id = car.CUST_ACCOUNT_ROLE_ID
AND CAR.ROLE_TYPE = 'CONTACT'
AND R.PARTY_ID = CAR.PARTY_ID
AND R.CONTENT_SOURCE_TYPE = 'USER_ENTERED'
AND P.PARTY_ID = R.SUBJECT_ID
AND R.DIRECTIONAL_FLAG = 'F'
AND oksh.chr_id = p_chr_id;
SELECT decode(kh.contract_number_modifier,NULL,kh.contract_number, kh.contract_number||' - '|| kh.contract_number_modifier)
FROM okc_operation_lines ol,
okc_operation_instances oi,
okc_class_operations co,
okc_k_headers_all_b kh
WHERE co.cls_code = 'SERVICE'
AND co.opn_code = 'RENEWAL'
AND co.id = oi.cop_id
AND ol.oie_id = oi.id
AND ol.subject_chr_id = p_chr_id
AND ol.object_chr_id IS NOT NULL
AND ol.object_cle_id IS NULL
AND ol.subject_cle_id IS NULL
AND ol.process_flag = 'P'
AND ol.object_chr_id = kh.id;
SELECT source_email
FROM jtf_rs_resource_extns
WHERE user_id = p_user_id;
SELECT user_name
FROM fnd_user fndu
WHERE fndu.user_id = p_user_id;
SELECT b.party_name
FROM OKC_K_PARTY_ROLES_B a, hz_parties b
WHERE a.dnz_chr_id = p_chr_id
AND a.object1_id1 = b.party_id;
SELECT contract_number,contract_number_modifier,
to_char(OKS_EXTWAR_UTIL_PVT.round_currency_amt(estimated_amount,currency_code),
fnd_currency.get_format_mask(currency_code, 50)
) estimated_amount, currency_code
FROM okc_k_headers_all_b
WHERE id = p_chr_id;
SELECT language_code
FROM fnd_languages
WHERE installed_flag = 'B';
x_contract_update_status => l_contract_status,
x_return_status => x_return_status,
x_msg_data => x_msg_data,
x_msg_count => x_msg_count
);
' x_contract_update_status ='||l_contract_status);
SELECT fndl.meaning
FROM okc_k_headers_all_b okch,
oks_k_headers_b oksh,
fnd_lookups fndl
WHERE okch.id = oksh.chr_id
AND oksh.chr_id = p_chr_id
AND fndl.lookup_code = DECODE(oksh.payment_type, NULL, okch.payment_instruction_type)
AND fndl.lookup_type = G_LKUP_TYPE_PAY_TYPES;
SELECT text_value
FROM wf_item_attribute_values
WHERE item_type=G_ITEM_TYPE
AND item_key=p_item_key
AND name = 'CC_EMAIL';
SELECT cc_email_address
FROM oks_k_headers_b
WHERE chr_id=p_chr_id;
SELECT STS_CODE
FROM OKC_K_HEADERS_ALL_B okck,
OKC_STATUSES_B sts
WHERE sts.ste_code = 'ENTERED'
AND id = p_contract_id
AND sts.code = okck.sts_code;
SELECT CODE FROM okc_statuses_b
WHERE ste_code = 'CANCELLED'
AND default_yn = 'Y'
AND sysdate BETWEEN START_DATE AND NVL(end_date,SYSDATE+1);
SELECT text_value
FROM wf_item_attribute_values
WHERE item_type=G_ITEM_TYPE
AND item_key=p_item_key
AND name = 'CC_EMAIL';
SELECT cc_email_address
FROM oks_k_headers_b
WHERE chr_id=p_chr_id;
'OKS_CHANGE_STATUS_PVT.UPDATE_HEADER_STATUS(p_id= '||p_contract_id||
' p_old_sts_code ='||l_old_sts||' p_comments ='||substr(p_comments,1,250)||
' p_canc_reason_code ='||p_reason_code||')');
OKS_CHANGE_STATUS_PVT.UPDATE_HEADER_STATUS (
x_return_status => x_return_status,
x_msg_data => x_msg_data,
x_msg_count => x_msg_count,
p_init_msg_list => G_FALSE,
p_id => p_contract_id,
p_new_sts_code => l_new_sts,
p_old_sts_code => l_old_sts,
p_canc_reason_code => p_reason_code,
p_comments => p_comments,
p_term_cancel_source => G_PERFORMED_BY_CUST,
p_date_cancelled => SYSDATE,
p_validate_status => 'N') ;
'OKS_CHANGE_STATUS_PVT.UPDATE_HEADER_STATUS(x_return_status= '||x_return_status||
' x_msg_count ='||x_msg_count||')');
API name : update_negotiation_status
Type : Private.
Function : This procedure updates renewal status in OKS_K_HEADERS_B
and bumps up the version.
Pre-reqs : None.
Parameters :
IN : p_api_version IN NUMBER Required
Api version
: p_init_msg_list IN VARCHAR2 Required
Initialize message stack parameter
: p_chr_id IN NUMBER Required
Contract header Id
: p_negotiation_status IN VARCHAR2 Required
New negotiation status that is to be updated.
OUT : x_return_status OUT VARCHAR2(1)
Api return status
: x_msg_count OUT NUMBER
Count of message on error stack
: x_msg_data OUT VARCHAR2
Actual error messages on error stack
Note :
=========================================================================*/
PROCEDURE update_negotiation_status
(
p_api_version IN NUMBER,
p_init_msg_list IN VARCHAR2,
p_commit IN VARCHAR2 DEFAULT 'F',
p_chr_id IN NUMBER,
p_negotiation_status IN VARCHAR2,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2
) IS
l_api_version CONSTANT NUMBER := 1.0;
l_api_name CONSTANT VARCHAR2(30) := 'update_negotiation_status';
UPDATE oks_k_headers_b
SET renewal_status = p_negotiation_status,
object_version_number = object_version_number + 1,
last_update_date = SYSDATE,
last_updated_by = FND_GLOBAL.USER_ID,
last_update_login = FND_GLOBAL.LOGIN_ID,
/* Added by sjanakir for Bug# 7639337 */
quote_sent_flag = DECODE(p_negotiation_status,G_NEG_STS_QUOTE_SENT,'Y',quote_sent_flag)
WHERE chr_id = p_chr_id;
UPDATE okc_k_vers_numbers
SET minor_version = minor_version + 1,
object_version_number = object_version_number + 1,
last_update_date = SYSDATE,
last_updated_by = FND_GLOBAL.USER_ID,
last_update_login = FND_GLOBAL.LOGIN_ID
WHERE chr_id = p_chr_id;
END update_negotiation_status;
select user_id from fnd_user
where user_name=p_name;
SELECT contract_number, contract_number_modifier
FROM okc_k_headers_all_b
WHERE id = l_contract_id;
SELECT ITEM_TYPE
FROM WF_ITEMS
WHERE item_key = p_wf_item_key;
UPDATE oks_k_headers_b
SET wf_item_key = l_item_key,
renewal_status = nvl(p_wf_attributes.negotiation_status, 'DRAFT'),
object_version_number = object_version_number + 1,
last_update_date = SYSDATE,
last_updated_by = FND_GLOBAL.USER_ID,
last_update_login = FND_GLOBAL.LOGIN_ID
WHERE chr_id = p_wf_attributes.contract_id;
UPDATE okc_k_vers_numbers
SET minor_version = minor_version + 1,
object_version_number = object_version_number + 1,
last_update_date = SYSDATE,
last_updated_by = FND_GLOBAL.USER_ID,
last_update_login = FND_GLOBAL.LOGIN_ID
WHERE chr_id = p_wf_attributes.contract_id;
Function : This procedure will be invoked during delete contract
operation which will abort the workflow instance and remove
all references to it.
Pre-reqs : None.
Parameters :
IN : p_api_version IN NUMBER Required
Api version
: p_init_msg_list IN VARCHAR2 Required
Initialize message stack parameter
: p_contract_id IN NUMBER Required
Contract header Id
: p_item_key IN VARCHAR2 Required
Contract process workflow's item key.
OUT : x_return_status OUT VARCHAR2(1)
Api return status
: x_msg_count OUT NUMBER
Count of message on error stack
: x_msg_data OUT VARCHAR2
Actual error messages on error stack
Note :
=========================================================================*/
PROCEDURE clean_wf
(
p_api_version IN NUMBER,
p_init_msg_list IN VARCHAR2,
p_commit IN VARCHAR2 DEFAULT 'F',
p_contract_id IN NUMBER,
p_item_key IN VARCHAR2,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_data OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER
) IS
l_api_version CONSTANT NUMBER := 1.0;
SELECT count(1)
INTO l_count
FROM wf_items
WHERE item_type = G_ITEM_TYPE
AND item_key = to_char(p_item_key);
docommit => FALSE, -- Bug 4730775; We want to commit explicitly (below or in delete api)
SELECT oksh.renewal_type_used, fndu.user_name
FROM oks_k_headers_b oksh, fnd_user fndu
WHERE oksh.chr_id = p_chr_id
AND oksh.renewal_notification_to = fndu.user_id(+);
SELECT wiav.name attr_name,
wiav.number_value attr_value
FROM wf_item_attribute_values wiav,
wf_item_attributes wia
WHERE wiav.item_type = 'OKSARENW'
AND wiav.item_key = p_chr_id
AND wia.item_type = wiav.item_type
AND wia.name = wiav.name
AND wia.type <> 'EVENT'
AND wiav.name IN ('USER_ID','RESP_ID','SECURITY_GROUP_ID');
SELECT application_id
FROM fnd_responsibility
WHERE responsibility_id = p_resp_id;
update_negotiation_status
(
p_api_version => 1.0,
p_init_msg_list => G_TRUE,
p_chr_id => l_contract_id,
p_negotiation_status => G_NEG_STS_PEND_PUBLISH,
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data
);
SELECT 'Y' FROM okc_k_headers_all_b
WHERE id =p_chr_id AND
Upper(conversion_type) ='USER'
AND conversion_rate_date NOT BETWEEN start_date AND end_date;
SELECT renewal_status FROM oks_k_headers_b
WHERE chr_id = p_chr_id;
update oks_k_headers_b set renewal_status = G_NEG_STS_QUOTE_SENT
where chr_id = p_contract_id;
SELECT contract_number, contract_number_modifier, qcl_id,
authoring_org_id, inv_organization_id
FROM okc_k_headers_all_b
WHERE id = p_chr_id;
update_negotiation_status
(
p_api_version => 1.0,
p_init_msg_list => G_TRUE,
p_chr_id => l_contract_id,
p_negotiation_status => l_negotiation_status,
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data
);
update_negotiation_status
(
p_api_version => 1.0,
p_init_msg_list => G_FALSE,
p_chr_id => l_contract_id,
p_negotiation_status => G_NEG_STS_QUOTE_ACPTD,
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data
);
Function : This procedure updates renewal status in OKS_K_HEADERS_B
and bumps up the version. This is invoked from the workflow.
Pre-reqs : None.
Parameters :
IN : itemtype IN VARCHAR2 Required
Workflow item type parameter
: itemkey IN VARCHAR2 Required
Workflow item key parameter
: actid IN VARCHAR2 Required
Workflow actid parameter
: funcmode IN VARCHAR2 Required
Workflow function mode parameter
OUT : resultout OUT VARCHAR2(1)
Workflow standard out parameter
Note :
=========================================================================*/
PROCEDURE process_negotiation_status
(
itemtype IN VARCHAR2,
itemkey IN VARCHAR2,
actid IN NUMBER,
funcmode IN VARCHAR2,
resultout OUT nocopy VARCHAR2
) IS
l_api_name CONSTANT VARCHAR2(30) := 'process_negotiation_status';
update_negotiation_status
(
p_api_version => 1.0,
p_init_msg_list => G_TRUE,
p_chr_id => l_contract_id,
p_negotiation_status => l_negotiation_status,
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data
);
RAISE NegStatusUpdateException;
WHEN NegStatusUpdateException THEN
l_msg_data := get_fnd_message;
'Leaving '||G_PKG_NAME ||'.'||l_api_name||'.NegStatusUpdateException'
||' Itemtype: '||NVL(itemtype,'NULL')||' Itemkey: '||NVL(itemkey,'NULL'));
New negotiation status that is to be updated.
OUT : x_return_status OUT VARCHAR2(1)
Api return status
: x_msg_count OUT NUMBER
Count of message on error stack
: x_msg_data OUT VARCHAR2
Actual error messages on error stack
Note :
=========================================================================*/
PROCEDURE launch_approval_wf
(
itemtype IN VARCHAR2,
itemkey IN VARCHAR2,
actid IN NUMBER,
funcmode IN VARCHAR2,
resultout OUT nocopy VARCHAR2
) IS
l_api_name CONSTANT VARCHAR2(50) := 'launch_approval_wf';
SELECT pdf_id
FROM okc_k_processes kp, okc_process_defs_b pd
WHERE kp.chr_id=p_chr_id and kp.pdf_id=pd.id and pd.usage='APPROVE';
update_negotiation_status
(
p_api_version => l_api_version,
p_init_msg_list => G_FALSE,
p_chr_id => l_contract_id,
p_negotiation_status => G_NEG_STS_IA_FAIL,
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data
);
UPDATE oks_k_headers_b
SET renewal_status = G_NEG_STS_QUOTE_CNCLD,
accepted_by = NULL,
date_accepted = NULL,
object_version_number = object_version_number + 1,
last_update_date = SYSDATE,
last_updated_by = FND_GLOBAL.USER_ID,
last_update_login = FND_GLOBAL.LOGIN_ID
WHERE chr_id = p_contract_id;
'Updated Contract and Process Aborted '||G_PKG_NAME ||'.'||l_api_name);
update_negotiation_status
(
p_api_version => l_api_version,
p_init_msg_list => G_FALSE,
p_chr_id => l_contract_id,
p_negotiation_status => G_NEG_STS_IA_FAIL,
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data
);
update_negotiation_status
(
p_api_version => l_api_version,
p_init_msg_list => G_FALSE,
p_chr_id => l_contract_id,
p_negotiation_status => G_NEG_STS_IA_FAIL,
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data
);
SELECT oksk.CHR_ID CHR_ID,
nvl(oksk.RENEWAL_TYPE_USED, G_RENEW_TYPE_MANUAL) RENEWAL_TYPE_USED,
nvl(oksk.APPROVAL_TYPE_USED, G_IRR_FLAG_REQD) APPROVAL_TYPE_USED,
okck.CONTRACT_NUMBER CONTRACT_NUMBER,
nvl(okck.CONTRACT_NUMBER_MODIFIER, FND_API.G_MISS_CHAR) CONTRACT_NUMBER_MODIFIER,
nvl(oksk.RENEWAL_STATUS, G_NEG_STS_DRAFT) RENEWAL_STATUS
FROM OKS_K_HEADERS_B oksk,
OKC_K_HEADERS_ALL_B okck,
OKC_STATUSES_B sts
WHERE oksk.chr_id = okck.id
AND sts.ste_code = 'ENTERED'
AND sts.code = okck.sts_code
AND okck.template_yn = 'N'
--no active approval workflow exists
AND NOT EXISTS
(SELECT 1
FROM WF_ITEMS WF,
OKC_PROCESS_DEFS_B KPDF
WHERE WF.item_key = okck.contract_number || okck.contract_number_modifier
AND WF.end_date IS NULL
AND WF.item_type = KPDF.wf_name
AND KPDF.pdf_type = 'WPS')
--for an ENTERED status contract, no active base workflow exists
AND NOT EXISTS
(SELECT 1
FROM WF_ITEMS WF
WHERE WF.item_key = oksk.wf_item_key
AND WF.end_date IS NULL
AND WF.item_type = G_ITEM_TYPE);
p_update_item_key => 'Y',
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data);
l_wf_attributes_tbl.DELETE;
p_update_item_key : Y|N indicating if oks_k_headers_b and oks_k_headers_bh are to be
updated with the passed item keys
Rules for input record fiels
1. Contract_id must be passed, if not passed the record is ignored
2. Contract number and modifier must be passed, they are set as item attributes for the
workflow
3. Process_type and irr_flag are optional, they are stamped as workflow item
attributes. Defaulted as - procees_type = NSR and irr_flag = Y
4. Negotiation_status is optional, if NULL or PREDRAFT, it is defaulted as DRAFT. It is
stamped as workflow item attribute.
5. Item_key is optional, if not passed it is defaulted as
contract_id || to_char(sysdate, 'YYYYMMDDHH24MISS').
*/
PROCEDURE launch_k_process_wf_blk
(
p_api_version IN NUMBER DEFAULT 1.0,
p_init_msg_list IN VARCHAR2 DEFAULT 'F',
p_commit IN VARCHAR2 DEFAULT 'F',
p_wf_attributes_tbl IN WF_ATTR_DETAILS_TBL,
p_update_item_key IN VARCHAR2 DEFAULT 'Y',
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2
)
IS
l_api_name CONSTANT VARCHAR2(30) := 'launch_k_process_wf_blk';
FND_LOG.string(FND_LOG.level_procedure, l_mod_name || '.begin', 'p_api_version=' || p_api_version ||' ,p_commit='|| p_commit ||' ,p_wf_attributes_tbl.count='|| p_wf_attributes_tbl.count||' ,p_update_item_key='||p_update_item_key);
IF ( nvl(p_update_item_key, 'N') = 'Y' ) THEN
IF (FND_LOG.level_statement >= FND_LOG.g_current_runtime_level) THEN
FND_LOG.string(FND_LOG.level_statement, l_mod_name || '.update', ',upating oks_k_headers_b');
UPDATE oks_k_headers_b
SET wf_item_key = l_item_keys(i),
renewal_status = nvl(renewal_status,G_NEG_STS_DRAFT),
object_version_number = object_version_number + 1,
last_update_date = SYSDATE,
last_updated_by = FND_GLOBAL.USER_ID,
last_update_login = FND_GLOBAL.LOGIN_ID
WHERE chr_id = l_contract_id_values(i);
UPDATE oks_k_headers_bh
SET wf_item_key = l_item_keys(i),
object_version_number = object_version_number + 1,
renewal_status = nvl(renewal_status,G_NEG_STS_DRAFT),
last_update_date = SYSDATE,
last_updated_by = FND_GLOBAL.USER_ID,
last_update_login = FND_GLOBAL.LOGIN_ID
WHERE chr_id = l_contract_id_values(i);