The following lines contain the word 'select', 'insert', 'update' or 'delete':
Procedure update_dependent_attributes
(p_attributes in out nocopy hxc_attribute_table_type
,p_building_block_id in number
) is
l_index number;
End update_dependent_attributes;
update_dependent_attributes(p_attributes,p_blocks(p_block_list(l_index)).time_building_block_id);
p_deleted_blocks in out nocopy hxc_timecard.block_list,
p_transaction_info in out nocopy hxc_timecard.transaction_info,
p_messages in out nocopy hxc_message_table_type
) is
l_object_version_number hxc_time_building_blocks.object_version_number%type;
hxc_building_block_api.delete_building_block
(p_object_version_number => l_object_version_number
,p_time_building_block_id => p_block.time_building_block_id
,p_effective_date => sysdate
,p_application_set_id => p_block.application_set_id
);
p_deleted_blocks(p_block.time_building_block_id) := p_block.object_version_number;
p_deleted_blocks in out nocopy hxc_timecard.block_list,
p_transaction_info in out nocopy hxc_timecard.transaction_info,
p_messages in out nocopy hxc_message_table_type
) is
l_index NUMBER;
deposit_old_block(l_block,l_old_ovn,l_new_ovn,p_deleted_blocks,p_transaction_info,p_messages);
p_deleted_blocks in out nocopy hxc_timecard.block_list,
p_transaction_info in out nocopy hxc_timecard.transaction_info,
p_messages in out nocopy hxc_message_table_type,
p_timecard_id in number,
p_timecard_ovn in number
) is
l_index NUMBER;
deposit_old_block(l_block,l_old_ovn,l_new_ovn,p_deleted_blocks,p_transaction_info,p_messages);
l_det_tab_bb.delete;
p_deleted_blocks in out nocopy hxc_timecard.block_list,
p_transaction_info in out nocopy hxc_timecard.transaction_info,
p_messages in out nocopy hxc_message_table_type,
p_timecard_id in number,
p_timecard_ovn in number
) is
l_index NUMBER;
hxc_retrieve_absences.update_co_absences(p_old_bb_id => l_old_bb_id,
p_new_bb_id => l_new_bb_id,
p_start_time=> FND_DATE.CANONICAL_TO_DATE(l_block.start_time),
p_stop_time => FND_DATE.CANONICAL_TO_DATE(l_block.stop_time),
p_element_id => l_element);
deposit_old_block(l_block,l_old_ovn,l_new_ovn,p_deleted_blocks,p_transaction_info,p_messages);
hxc_retrieve_absences.update_co_absences_ovn(p_old_bb_id => l_block.time_building_block_id,
p_new_ovn => l_new_ovn,
p_start_time => FND_DATE.CANONICAL_TO_DATE(l_block.start_time),
p_stop_time => FND_DATE.CANONICAL_TO_DATE(l_block.stop_time),
p_element_id => l_element);
SELECT normal_hours/p_dividing_factor
FROM per_all_assignments_f
WHERE person_id =p_reource_id
AND assignment_type in ('E','C')
AND primary_flag = 'Y'
AND TRUNC(p_evaluation_date) BETWEEN effective_start_date AND effective_end_Date;
p_deleted_blocks in out nocopy hxc_timecard.block_list,
p_blocks in out nocopy hxc_block_table_type,
p_transaction_info in out nocopy hxc_timecard.transaction_info
) is
l_index number;
l_update boolean := false;
l_block_updated number := -999;
l_updated_blocks hxc_timecard.block_list;
and not l_updated_blocks.exists(l_attribute.BUILDING_BLOCK_ID) then
--When the block/atribute not touched, but the value of the Preference changed like
--Time Category chnaged from NULL => TC1 or TC1=> NULL or TC1=>TC2, so in this case
--we need to process the block/attribute to take the new value of preference.
IF hxc_time_category_utils_pkg.chk_tc_bb_ok ( l_attribute.BUILDING_BLOCK_ID )
AND nvl(l_attribute.ATTRIBUTE26,1) <> l_conversion_factor then
l_update := true;
l_update := true;
and not l_updated_blocks.exists(l_attribute.BUILDING_BLOCK_ID)
then
--When the Time category is changed from TC1 => NULL, although the block is not touched
--we must resubmit the block.
l_update := true;
IF l_update THEN
l_update:= false;
l_updated_blocks(l_attribute.BUILDING_BLOCK_ID) := 1;
deposit_old_block(l_block,l_old_ovn,l_new_ovn,p_deleted_blocks,p_transaction_info,p_messages);
(not p_deleted_blocks.exists(l_attribute.building_block_id))
) then
hxc_time_attributes_api.create_attribute
(P_ATTRIBUTE_CATEGORY => l_attribute.ATTRIBUTE_CATEGORY,
P_ATTRIBUTE1 => l_attribute.ATTRIBUTE1,
P_ATTRIBUTE2 => l_attribute.ATTRIBUTE2,
P_ATTRIBUTE3 => l_attribute.ATTRIBUTE3,
P_ATTRIBUTE4 => l_attribute.ATTRIBUTE4,
P_ATTRIBUTE5 => l_attribute.ATTRIBUTE5,
P_ATTRIBUTE6 => l_attribute.ATTRIBUTE6,
P_ATTRIBUTE7 => l_attribute.ATTRIBUTE7,
P_ATTRIBUTE8 => l_attribute.ATTRIBUTE8,
P_ATTRIBUTE9 => l_attribute.ATTRIBUTE9,
P_ATTRIBUTE10 => l_attribute.ATTRIBUTE10,
P_ATTRIBUTE11 => l_attribute.ATTRIBUTE11,
P_ATTRIBUTE12 => l_attribute.ATTRIBUTE12,
P_ATTRIBUTE13 => l_attribute.ATTRIBUTE13,
P_ATTRIBUTE14 => l_attribute.ATTRIBUTE14,
P_ATTRIBUTE15 => l_attribute.ATTRIBUTE15,
P_ATTRIBUTE16 => l_attribute.ATTRIBUTE16,
P_ATTRIBUTE17 => l_attribute.ATTRIBUTE17,
P_ATTRIBUTE18 => l_attribute.ATTRIBUTE18,
P_ATTRIBUTE19 => l_attribute.ATTRIBUTE19,
P_ATTRIBUTE20 => l_attribute.ATTRIBUTE20,
P_ATTRIBUTE21 => l_attribute.ATTRIBUTE21,
P_ATTRIBUTE22 => l_attribute.ATTRIBUTE22,
P_ATTRIBUTE23 => l_attribute.ATTRIBUTE23,
P_ATTRIBUTE24 => l_attribute.ATTRIBUTE24,
P_ATTRIBUTE25 => l_attribute.ATTRIBUTE25,
P_ATTRIBUTE26 => l_attribute.ATTRIBUTE26,
P_ATTRIBUTE27 => l_attribute.ATTRIBUTE27,
P_ATTRIBUTE28 => l_attribute.ATTRIBUTE28,
P_ATTRIBUTE29 => l_attribute.ATTRIBUTE29,
P_ATTRIBUTE30 => l_attribute.ATTRIBUTE30,
P_TIME_BUILDING_BLOCK_ID => l_attribute.BUILDING_BLOCK_ID,
P_TBB_OVN => l_attribute.BUILDING_BLOCK_OVN,
P_BLD_BLK_INFO_TYPE_ID => nvl(l_attribute.BLD_BLK_INFO_TYPE_ID,
hxc_timecard_attribute_utils.get_bld_blk_info_type_id(l_attribute.bld_blk_info_type)),
P_TIME_ATTRIBUTE_ID => l_time_attribute_id,
P_OBJECT_VERSION_NUMBER => l_object_version_number
);
select data_set_id
from hxc_time_building_blocks
where time_building_block_id = p_tbb_id
and object_version_number = p_tbb_ovn;
l_deleted_blocks hxc_timecard.block_list;
SELECT business_group_id,
organization_id
FROM per_all_assignments_f
WHERE person_id = p_person_id
AND assignment_type IN('E', 'C')
AND primary_flag = 'Y'
AND p_timecard_start_date BETWEEN effective_start_date AND effective_end_date;
l_deleted_blocks.delete;
hxc_retrieve_absences.g_detail_trans_tab.DELETE;
deposit_timecard_blocks(p_blocks,p_attributes,p_timecard_blocks,p_day_blocks,l_deleted_blocks,p_transaction_info,p_messages);
deposit_day_blocks(p_blocks,p_attributes,p_day_blocks,p_detail_blocks,l_deleted_blocks,p_transaction_info,p_messages,l_timecard_id,l_timecard_ovn);
deposit_detail_blocks(p_blocks,p_attributes,p_detail_blocks,l_deleted_blocks,p_transaction_info,p_messages,l_timecard_id,l_timecard_ovn);
deposit_attributes(p_attributes,p_messages,l_timecard_id,l_timecard_ovn,l_deleted_blocks,
p_blocks, p_transaction_info);