The following lines contain the word 'select', 'insert', 'update' or 'delete':
* PROCEDURE update_bod
*
* DESCRIPTION
* Update Business Object Definition
*
* EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
*
* ARGUMENTS
* IN:
* p_init_msg_list Initialize message stack if it is set to
* FND_API.G_TRUE. Default is FND_API.G_FALSE.
* p_business_object_code Business Object Code.
* p_child_bo_code Child BO Code.
* p_entity_name Entity Name.
* p_user_mandated_flag User Mandated Flag.
* OUT:
* x_return_status Return status after the call. The status can
* be FND_API.G_RET_STS_SUCCESS (success),
* FND_API.G_RET_STS_ERROR (error),
* FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
* x_msg_count Number of messages in message stack.
* x_msg_data Message text if x_msg_count is 1.
*
*/
PROCEDURE update_bod (
p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
p_business_object_code IN VARCHAR2,
p_child_bo_code IN VARCHAR2,
p_entity_name IN VARCHAR2,
p_user_mandated_flag IN VARCHAR2,
p_object_version_number IN OUT NOCOPY NUMBER,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2
) IS
l_debug_prefix VARCHAR2(30) := '';
SAVEPOINT update_bod_pvt;
hz_utility_v2pub.debug(p_message=>'update_bod (+)',
p_prefix=>l_debug_prefix,
p_msg_level=>fnd_log.level_procedure);
SELECT OBJECT_VERSION_NUMBER,
USER_MANDATED_FLAG,
TCA_MANDATED_FLAG
INTO l_ovn, l_umf, l_tmf
FROM HZ_BUS_OBJ_DEFINITIONS
WHERE business_object_code = p_business_object_code
AND entity_name = p_entity_name
AND nvl(child_bo_code, 'X') = nvl(p_child_bo_code, 'X')
FOR UPDATE NOWAIT;
UPDATE HZ_BUS_OBJ_DEFINITIONS
SET object_version_number = p_object_version_number,
user_mandated_flag = p_user_mandated_flag,
last_update_date = HZ_UTILITY_V2PUB.last_update_date,
last_updated_by = HZ_UTILITY_V2PUB.last_updated_by,
last_update_login = HZ_UTILITY_V2PUB.last_update_login
WHERE business_object_code = p_business_object_code
AND entity_name = p_entity_name
AND nvl(child_bo_code, 'X') = nvl(p_child_bo_code, 'X');
UPDATE HZ_BUS_OBJ_DEFINITIONS
SET bo_version_number = nvl(bo_version_number,1) + 1,
last_update_date = HZ_UTILITY_V2PUB.last_update_date,
last_updated_by = HZ_UTILITY_V2PUB.last_updated_by,
last_update_login = HZ_UTILITY_V2PUB.last_update_login
WHERE business_object_code = l_top_bo
AND root_node_flag = 'Y'
AND child_bo_code IS NULL;
hz_utility_v2pub.debug(p_message=>'update_bod (-)',
p_prefix=>l_debug_prefix,
p_msg_level=>fnd_log.level_procedure);
ROLLBACK TO update_bod_pvt;
hz_utility_v2pub.debug(p_message=>'update_bod (-)',
p_prefix=>l_debug_prefix,
p_msg_level=>fnd_log.level_procedure);
ROLLBACK TO update_bod_pvt;
hz_utility_v2pub.debug(p_message=>'update_bod (-)',
p_prefix=>l_debug_prefix,
p_msg_level=>fnd_log.level_procedure);
ROLLBACK TO update_bod_pvt;
hz_utility_v2pub.debug(p_message=>'update_bod (-)',
p_prefix=>l_debug_prefix,
p_msg_level=>fnd_log.level_procedure);
END update_bod;