The following lines contain the word 'select', 'insert', 'update' or 'delete':
p_create_or_update IN VARCHAR2 := 'C',
px_cust_account_role_rec IN OUT NOCOPY HZ_CUST_ACCOUNT_ROLE_V2PUB.CUST_ACCOUNT_ROLE_REC_TYPE
);
p_create_or_update IN VARCHAR2 := 'C',
px_cust_account_role_rec IN OUT NOCOPY HZ_CUST_ACCOUNT_ROLE_V2PUB.CUST_ACCOUNT_ROLE_REC_TYPE
) IS
BEGIN
px_cust_account_role_rec.cust_account_role_id := p_cust_acct_contact_id;
IF(p_create_or_update = 'C') THEN
px_cust_account_role_rec.orig_system := p_cust_acct_contact_os;
SELECT ca.cust_account_id, cas.cust_acct_site_id, ca.party_id, p.party_type
FROM HZ_CUST_ACCT_SITES cas, HZ_CUST_ACCOUNTS ca, HZ_PARTIES p
WHERE cas.cust_acct_site_id = l_cas_id
AND cas.cust_account_id = ca.cust_account_id
AND ca.party_id = p.party_id
AND p.status in ('A','I')
AND rownum = 1;
SELECT ca.cust_account_id, ca.party_id, p.party_type
FROM HZ_CUST_ACCOUNTS ca, HZ_PARTIES p
WHERE ca.cust_account_id = l_ca_id
AND ca.party_id = p.party_id
AND p.status in ('A','I')
AND rownum = 1;
SELECT r.party_id
FROM HZ_RELATIONSHIPS r
WHERE r.subject_id = l_per_id
AND r.subject_type = 'PERSON'
AND r.object_id = l_obj_id
AND r.relationship_type = l_rel_type
AND r.relationship_code = l_rel_code
AND sysdate between r.start_date and nvl(r.end_date, sysdate);
SELECT r.party_id
FROM HZ_RELATIONSHIPS r
WHERE r.relationship_id = l_rel_id
AND r.subject_id = l_per_id
AND r.subject_type = 'PERSON'
AND r.object_id = l_obj_id
AND sysdate between r.start_date and nvl(r.end_date, sysdate);
p_create_or_update => 'C',
x_return_status => x_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data);
PROCEDURE update_cust_acct_contact_bo(
p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
p_cust_acct_contact_obj IN HZ_CUST_ACCT_CONTACT_BO,
p_created_by_module IN VARCHAR2,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2,
x_cust_acct_contact_id OUT NOCOPY NUMBER,
x_cust_acct_contact_os OUT NOCOPY VARCHAR2,
x_cust_acct_contact_osr OUT NOCOPY VARCHAR2
)IS
l_cac_obj HZ_CUST_ACCT_CONTACT_BO;
do_update_cac_bo(
p_init_msg_list => p_init_msg_list,
p_cust_acct_contact_obj => l_cac_obj,
p_created_by_module => p_created_by_module,
p_obj_source => null,
x_return_status => x_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data,
x_cust_acct_contact_id => x_cust_acct_contact_id,
x_cust_acct_contact_os => x_cust_acct_contact_os,
x_cust_acct_contact_osr => x_cust_acct_contact_osr,
p_parent_os => NULL
);
END update_cust_acct_contact_bo;
PROCEDURE update_cust_acct_contact_bo(
p_cust_acct_contact_obj IN HZ_CUST_ACCT_CONTACT_BO,
p_created_by_module IN VARCHAR2,
p_obj_source IN VARCHAR2 := null,
p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
x_return_status OUT NOCOPY VARCHAR2,
x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
x_return_obj OUT NOCOPY HZ_CUST_ACCT_CONTACT_BO,
x_cust_acct_contact_id OUT NOCOPY NUMBER,
x_cust_acct_contact_os OUT NOCOPY VARCHAR2,
x_cust_acct_contact_osr OUT NOCOPY VARCHAR2
)IS
l_msg_data VARCHAR2(2000);
do_update_cac_bo(
p_init_msg_list => fnd_api.g_true,
p_cust_acct_contact_obj => l_cac_obj,
p_created_by_module => p_created_by_module,
p_obj_source => p_obj_source,
x_return_status => x_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data,
x_cust_acct_contact_id => x_cust_acct_contact_id,
x_cust_acct_contact_os => x_cust_acct_contact_os,
x_cust_acct_contact_osr => x_cust_acct_contact_osr,
p_parent_os => NULL
);
END update_cust_acct_contact_bo;
PROCEDURE do_update_cac_bo(
p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
p_cust_acct_contact_obj IN OUT NOCOPY HZ_CUST_ACCT_CONTACT_BO,
p_created_by_module IN VARCHAR2,
p_obj_source IN VARCHAR2 := null,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2,
x_cust_acct_contact_id OUT NOCOPY NUMBER,
x_cust_acct_contact_os OUT NOCOPY VARCHAR2,
x_cust_acct_contact_osr OUT NOCOPY VARCHAR2,
p_parent_os IN VARCHAR2
)IS
l_debug_prefix VARCHAR2(30) := '';
l_create_update_flag VARCHAR2(1);
SELECT r.object_version_number, r.party_id, r.cust_account_id, r.cust_acct_site_id
FROM HZ_CUST_ACCOUNT_ROLES r
WHERE r.cust_account_role_id = l_car_id;
SAVEPOINT do_update_cac_bo_pub;
hz_utility_v2pub.debug(p_message=>'do_update_cac_bo(+)',
p_prefix=>l_debug_prefix,
p_msg_level=>fnd_log.level_procedure);
p_create_or_update => 'U',
x_return_status => x_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data);
p_create_or_update => 'U',
px_cust_account_role_rec => l_cust_acct_role_rec
);
HZ_CUST_ACCOUNT_ROLE_V2PUB.update_cust_account_role(
p_cust_account_role_rec => l_cust_acct_role_rec,
p_object_version_number => l_car_ovn,
x_return_status => x_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data
);
hz_utility_v2pub.debug(p_message=>'do_update_cac_bo(-)',
p_prefix=>l_debug_prefix,
p_msg_level=>fnd_log.level_procedure);
ROLLBACK TO do_update_cac_bo_pub;
hz_utility_v2pub.debug(p_message=>'do_update_cac_bo(-)',
p_prefix=>l_debug_prefix,
p_msg_level=>fnd_log.level_procedure);
ROLLBACK TO do_update_cac_bo_pub;
hz_utility_v2pub.debug(p_message=>'do_update_cac_bo(-)',
p_prefix=>l_debug_prefix,
p_msg_level=>fnd_log.level_procedure);
ROLLBACK TO do_update_cac_bo_pub;
hz_utility_v2pub.debug(p_message=>'do_update_cac_bo(-)',
p_prefix=>l_debug_prefix,
p_msg_level=>fnd_log.level_procedure);
END do_update_cac_bo;
l_create_update_flag VARCHAR2(1);
l_create_update_flag := HZ_REGISTRY_VALIDATE_BO_PVT.check_bo_op(
p_entity_id => x_cust_acct_contact_id,
p_entity_os => x_cust_acct_contact_os,
p_entity_osr => x_cust_acct_contact_osr,
p_entity_type => 'HZ_CUST_ACCOUNT_ROLES',
p_parent_id => px_parent_id,
p_parent_obj_type => px_parent_obj_type
);
IF(l_create_update_flag = 'E') THEN
FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
IF(l_create_update_flag = 'C') THEN
do_create_cac_bo(
p_init_msg_list => fnd_api.g_false,
p_validate_bo_flag => p_validate_bo_flag,
p_cust_acct_contact_obj => p_cust_acct_contact_obj,
p_created_by_module => p_created_by_module,
p_obj_source => p_obj_source,
x_return_status => x_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data,
x_cust_acct_contact_id => x_cust_acct_contact_id,
x_cust_acct_contact_os => x_cust_acct_contact_os,
x_cust_acct_contact_osr => x_cust_acct_contact_osr,
px_parent_id => px_parent_id,
px_parent_os => px_parent_os,
px_parent_osr => px_parent_osr,
px_parent_obj_type => px_parent_obj_type
);
ELSIF(l_create_update_flag = 'U') THEN
do_update_cac_bo(
p_init_msg_list => fnd_api.g_false,
p_cust_acct_contact_obj => p_cust_acct_contact_obj,
p_created_by_module => p_created_by_module,
p_obj_source => p_obj_source,
x_return_status => x_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data,
x_cust_acct_contact_id => x_cust_acct_contact_id,
x_cust_acct_contact_os => x_cust_acct_contact_os,
x_cust_acct_contact_osr => x_cust_acct_contact_osr,
p_parent_os => px_parent_os
);
-- extraction validation logic is same as update
l_cust_acct_contact_id := p_cust_acct_contact_id;