470: (p_app_id in hxc_time_building_blocks.time_building_block_id%TYPE,
471: p_block_id in hxc_time_building_blocks.time_building_block_id%TYPE
472: ) is
473: select max(time_building_block_ovn)
474: from hxc_ap_detail_links
475: where application_period_id = p_app_id
476: and time_building_block_id = p_block_id;
477:
478: cursor c_test_translation_key
500: and nvl(tbb1.application_set_id,hr_api.g_number) = nvl(tbb1.application_set_id,hr_api.g_number)
501: and nvl(tbb1.data_set_id,hr_api.g_number) = nvl(tbb1.data_set_id,hr_api.g_number)
502: and nvl(tbb1.translation_display_key,hr_api.g_varchar2) <> nvl(tbb2.translation_display_key,hr_api.g_varchar2);
503:
504: l_block_ovn hxc_ap_detail_links.time_building_block_ovn%type;
505: l_trans_disp_key1 hxc_time_building_blocks.translation_display_key%TYPE; -- Bug 9747521
506: l_trans_disp_key2 hxc_time_building_blocks.translation_display_key%TYPE; -- Bug 9747521
507:
508: Begin
571: ,p_timecard_id IN hxc_time_building_blocks.time_building_block_id%TYPE
572: )
573: IS
574: SELECT count(p_app_id)
575: FROM hxc_ap_detail_links apdetail
576: ,hxc_time_building_blocks days
577: ,hxc_time_building_blocks details
578: WHERE apdetail.application_period_id = p_app_id
579: AND days.parent_building_block_id = p_timecard_id
726: )
727: IS
728: SELECT details.time_building_block_id
729: ,details.object_version_number
730: FROM hxc_ap_detail_links apdetail
731: ,hxc_time_building_blocks details
732: WHERE apdetail.application_period_id = p_app_period
733: AND apdetail.time_building_block_id = details.time_building_block_id
734: AND apdetail.time_building_block_ovn = details.object_version_number
743: LOOP
744: FETCH c_detail_blocks INTO l_detail_id, l_detail_ovn;
745: EXIT WHEN c_detail_blocks%NOTFOUND;
746:
747: delete from hxc_ap_detail_links
748: where time_building_block_id = l_detail_id
749: and time_building_block_ovn = l_detail_ovn
750: and application_period_id = p_app_id;
751:
757: LOOP
758: FETCH c_old_blocks INTO l_detail_id, l_detail_ovn;
759: EXIT WHEN c_old_blocks%NOTFOUND;
760:
761: delete from hxc_ap_detail_links
762: where time_building_block_id = l_detail_id
763: and time_building_block_ovn = l_detail_ovn
764: and application_period_id = p_app_id;
765: END LOOP;
845: --we use this flag to find all the category 0 blocks
846: p_detail_blocks(l_block_index).added := 'Y';
847:
848: --insert a line in hxc_detail_summary;
849: hxc_ap_detail_links_pkg.insert_summary_row(
850: p_app_id
851: ,p_detail_blocks(l_block_index).block_id
852: ,p_detail_blocks(l_block_index).block_ovn
853: );
907: p_detail_blocks(l_block_index).added := 'Y';
908:
909:
910: --insert a line in hxc_detail_summary;
911: hxc_ap_detail_links_pkg.insert_summary_row(
912: p_app_id
913: ,p_detail_blocks(l_block_index).block_id
914: ,p_detail_blocks(l_block_index).block_ovn
915: );
1035:
1036: cursor get_building_blocks(p_app_bb_id in number)
1037: is
1038: select time_building_block_id, time_building_block_ovn
1039: from hxc_ap_detail_links
1040: where application_period_id = p_app_bb_id;
1041:
1042: cursor get_app_period(p_bb_id in number, p_bb_ovn in number ,p_app_bb_id in number)
1043: is
1041:
1042: cursor get_app_period(p_bb_id in number, p_bb_ovn in number ,p_app_bb_id in number)
1043: is
1044: select adl.application_period_id
1045: from hxc_ap_detail_links adl,
1046: hxc_app_period_summary haps
1047: where adl.time_building_block_id = p_bb_id
1048: and adl.time_building_block_ovn = p_bb_ovn
1049: and adl.application_period_id <> p_app_bb_id
1383: )
1384: IS
1385: SELECT time_building_block_id
1386: ,time_building_block_ovn
1387: FROM hxc_ap_detail_links
1388: WHERE application_period_id = p_app_id;
1389:
1390:
1391: l_current_period hxc_app_period_summary%rowtype;
1542: END LOOP;
1543:
1544: CLOSE c_timecards;
1545:
1546: --populating hxc_ap_detail_links
1547: OPEN c_ap_details(
1548: p_app_id => l_period_id
1549: );
1550:
1552: FETCH c_ap_details INTO l_detail_id, l_detail_ovn;
1553:
1554: EXIT WHEN c_ap_details%NOTFOUND;
1555: /*
1556: INSERT INTO hxc_ap_detail_links
1557: (application_period_id,
1558: time_building_block_id,
1559: time_building_block_ovn)
1560: VALUES
1559: time_building_block_ovn)
1560: VALUES
1561: */
1562:
1563: hxc_ap_detail_links_pkg.insert_summary_row
1564: (l_new_appl_bb_id,
1565: l_detail_id,
1566: l_detail_ovn);
1567: END LOOP;
1905: p_app_id IN hxc_time_building_blocks.time_building_block_id%TYPE
1906: )
1907: IS
1908: SELECT details.time_building_block_id
1909: FROM hxc_ap_detail_links details
1910: ,hxc_time_building_blocks blocks
1911: WHERE details.application_period_id = p_app_id
1912: AND details.time_building_block_id = blocks.time_building_block_id
1913: AND details.time_building_block_ovn = blocks.object_version_number
1933: p_blocks out nocopy block_table )
1934: IS
1935: Cursor c_detail_links IS
1936: select time_building_block_id, time_building_block_ovn
1937: from hxc_ap_detail_links
1938: where application_period_id = p_app_id
1939: and time_building_block_id
1940: not in ( select detail.time_building_block_id
1941: from hxc_time_building_blocks detail,
1969: Cursor c_detail_exists (p_app_id hxc_time_building_blocks.time_building_block_id%TYPE,
1970: p_time_building_block_id hxc_time_building_blocks.time_building_block_id%TYPE
1971: ) is
1972: select 1
1973: from hxc_ap_detail_links
1974: where application_period_id = p_app_id
1975: and time_building_block_id = p_time_building_block_id;
1976:
1977: l_block_index BINARY_INTEGER;
1991: fetch c_detail_exists into l_dummy;
1992:
1993: if c_detail_exists%notfound then
1994: --insert a line in hxc_detail_summary;
1995: hxc_ap_detail_links_pkg.insert_summary_row(
1996: p_app_id
1997: ,p_removed_blocks(l_block_index).block_id
1998: ,p_removed_blocks(l_block_index).block_ovn
1999: );
2094: CURSOR c_get_detail_blocks(p_application_period_id in hxc_time_building_blocks.time_building_block_id%type)
2095: is
2096: select adl.time_building_block_id,
2097: adl.time_building_block_ovn
2098: from hxc_ap_detail_links adl
2099: where adl.application_period_id = p_application_period_id;
2100:
2101: cursor get_max_ovn(p_bb_id in hxc_time_building_blocks.time_building_block_id%type)
2102: is
2220:
2221: ELSE
2222: --should also end date them from hxc_time_building_blocks
2223: --remove them from hxc_app_period_summary
2224: --from hxc_tc_ap_links and hxc_ap_detail_links
2225:
2226: hxc_app_period_summary_api.app_period_delete(l_app_id_temp);
2227:
2228: END IF;
2307: hr_utility.trace('changed is false');
2308: end if;
2309:
2310: select count(*) into l_number_of_details
2311: from hxc_ap_detail_links
2312: where application_period_id = l_app_id;
2313:
2314: hr_utility.trace('Count for '||l_app_id||' is:'||l_number_of_details);
2315:
2497:
2498: -- modified this query for bug 8920827
2499: SELECT count(*)
2500: INTO l_active_details
2501: FROM hxc_ap_detail_links apdetail
2502: ,hxc_time_building_blocks detail
2503: ,hxc_latest_details latest
2504: WHERE apdetail.application_period_id = l_app_id
2505: AND apdetail.time_building_block_id = latest.time_building_block_id
2682:
2683: END IF;
2684:
2685: if g_debug then
2686: hr_utility.trace('Populating hxc_ap_detail_links');
2687: end if;
2688: --populate hxc_ap_detail_links
2689: IF l_time_category_id IS NULL
2690: OR l_time_category_id = 0
2684:
2685: if g_debug then
2686: hr_utility.trace('Populating hxc_ap_detail_links');
2687: end if;
2688: --populate hxc_ap_detail_links
2689: IF l_time_category_id IS NULL
2690: OR l_time_category_id = 0
2691: THEN
2692: g_trace := l_proc || '100';
2729: open get_max_ovn(l_tab_type_a(i).p_id);
2730: fetch get_max_ovn into l_max_ovn;
2731: close get_max_ovn;
2732:
2733: hxc_ap_detail_links_pkg.insert_summary_row(l_app_id, l_tab_type_a(i).p_id, l_max_ovn);
2734:
2735: END LOOP;
2736: END IF;
2737: END IF;