1: PACKAGE body hxc_timekeeper AS
2: /* $Header: hxctimekeeper.pkb 120.21.12020000.2 2013/02/14 11:43:55 asrajago ship $ */
3:
4: g_package varchar2(50) := 'HXC_TIMEKEEPER';
5: ---
1: PACKAGE body hxc_timekeeper AS
2: /* $Header: hxctimekeeper.pkb 120.21.12020000.2 2013/02/14 11:43:55 asrajago ship $ */
3:
4: g_package varchar2(50) := 'HXC_TIMEKEEPER';
5: ---
6: ----
7: ----
8: Procedure remove_blank_attribute_rows
212: --
213: fnd_msg_pub.initialize;
214: /*
215: IF g_debug THEN
216: hxc_debug_timecard.writeTimecard(p_blocks,p_attributes,'HXC_TIMEKEEPER',10);
217: END IF;
218: */
219:
220: g_debug := hr_utility.debug_enabled;
242: );
243: /*
244: -- debug
245: IF g_debug THEN
246: hxc_debug_timecard.writeMessages(p_messages,'HXC_TIMEKEEPER',20);
247: END IF;
248: */
249: hxc_timecard_message_helper.processerrors
250: (p_messages => p_messages);
268: );
269: /*
270: -- debug
271: IF g_debug THEN
272: hxc_debug_timecard.writeMessages(p_messages,'HXC_TIMEKEEPER',30);
273: END IF;
274: */
275: hxc_timecard_message_helper.processerrors
276: (p_messages => p_messages);
301: );
302: /*
303: -- debug
304: IF g_debug THEN
305: hxc_debug_timecard.writeMessages(p_messages,'HXC_TIMEKEEPER',40);
306: END IF;
307: */
308: hxc_timecard_message_helper.processerrors
309: (p_messages => p_messages);
335: );
336: /*
337: -- debug
338: IF g_debug THEN
339: hxc_debug_timecard.writeMessages(p_messages,'HXC_TIMEKEEPER',50);
340: END IF;
341: */
342: hxc_timecard_message_helper.processerrors
343: (p_messages => p_messages);
375: );
376:
377: -- debug
378: IF g_debug THEN
379: hxc_debug_timecard.writeMessages(p_messages,'HXC_TIMEKEEPER',60);
380: END IF;
381:
382: hxc_timecard_message_helper.processerrors
383: (p_messages => p_messages);
905: (p_messages => p_messages);
906:
907:
908: IF g_debug THEN
909: hr_utility.trace('PA-PAY> In hxc_timekeeper.save_timecard');
910: hr_utility.trace('PA-PAY> calling hxc_proj_pay_dep_validation.verify_proj_pay_setup');
911: END IF;
912:
913: hxc_proj_pay_dep_validation.verify_proj_pay_setup
1118:
1119: /*
1120: -- debug
1121: IF g_debug THEN
1122: hxc_debug_timecard.writeMessages(p_messages,'HXC_TIMEKEEPER',70);
1123: END IF;
1124: */
1125: hxc_timekeeper_errors.rollback_tc_or_set_err_status
1126: (p_message_table => p_messages
1121: IF g_debug THEN
1122: hxc_debug_timecard.writeMessages(p_messages,'HXC_TIMEKEEPER',70);
1123: END IF;
1124: */
1125: hxc_timekeeper_errors.rollback_tc_or_set_err_status
1126: (p_message_table => p_messages
1127: ,p_blocks => p_blocks
1128: ,p_attributes => p_attributes
1129: ,p_rollback => l_rollback
1183: if (c_previous_timecard%found) then
1184:
1185: --Cancel notifications for TK Audit
1186:
1187: hxc_timekeeper_wf_pkg.cancel_previous_notifications
1188: ( p_tk_audit_item_type => l_previous_tk_item_type
1189: ,p_tk_audit_item_key => l_previous_tk_item_key
1190: );
1191:
1192: end if;
1193: close c_previous_timecard;
1194:
1195: l_item_key :=
1196: hxc_timekeeper_wf_pkg.begin_audit_process
1197: (p_timecard_id => p_timecard_id
1198: ,p_timecard_ovn => p_timecard_ovn
1199: ,p_resource_id => p_blocks(hxc_timecard_block_utils.find_active_timecard_index(p_blocks)).resource_id
1200: ,p_timekeeper_id => p_timekeeper_id
1234:
1235:
1236: hr_utility.trace('Calling maintain_errors');
1237:
1238: hxc_timekeeper_errors.maintain_errors
1239: (p_messages => p_messages
1240: ,p_timecard_id => p_timecard_id
1241: ,p_timecard_ovn => p_timecard_ovn);
1242:
1251: IF (nvl(fnd_profile.value('HR_ABS_OTL_INTEGRATION'), 'N') = 'Y') THEN
1252: IF (p_timecard_id > 0 and hxc_timecard_message_helper.noerrors) THEN
1253:
1254: IF g_debug THEN
1255: hr_utility.trace('ABS:Initiated Online Retrieval from HXC_TIMEKEEPER.SAVE_TIMECARD');
1256: END IF;
1257:
1258: l_abs_ret_messages:= HXC_MESSAGE_TABLE_TYPE();
1259:
1279: END IF;
1280:
1281: rollback to TK_SAVE_SAVEPOINT;
1282:
1283: hxc_timekeeper_errors.maintain_errors
1284: (p_messages => l_abs_ret_messages
1285: ,p_timecard_id => p_timecard_id
1286: ,p_timecard_ovn => p_timecard_ovn);
1287:
1538: --set process/changed flag to 'Y'.
1539:
1540: IF p_messages.count > 0 THEN
1541:
1542: hxc_timekeeper_utilities.check_msg_set_process_flag
1543: ( p_blocks => p_blocks
1544: ,p_attributes => p_attributes
1545: ,p_messages => p_messages
1546: );
1621:
1622: /*
1623: -- debug
1624: IF g_debug THEN
1625: hxc_debug_timecard.writeMessages(p_messages,'HXC_TIMEKEEPER',70);
1626: END IF;
1627: */
1628:
1629:
2102: (p_messages => p_messages);
2103:
2104:
2105: IF g_debug THEN
2106: hr_utility.trace('PA-PAY> In hxc_timekeeper.save_timecard');
2107: hr_utility.trace('PA-PAY> calling hxc_proj_pay_dep_validation.verify_proj_pay_setup');
2108: END IF;
2109:
2110: hxc_proj_pay_dep_validation.verify_proj_pay_setup
2284: -- svg end
2285:
2286:
2287:
2288: hxc_timekeeper_errors.rollback_tc_or_set_err_status
2289: (p_message_table => p_messages
2290: ,p_blocks => p_blocks
2291: ,p_attributes => p_attributes
2292: ,p_rollback => l_rollback
2338: if (c_previous_timecard%found) then
2339:
2340: --Cancel notifications for TK Audit
2341:
2342: hxc_timekeeper_wf_pkg.cancel_previous_notifications
2343: ( p_tk_audit_item_type => l_previous_tk_item_type
2344: ,p_tk_audit_item_key => l_previous_tk_item_key
2345: );
2346:
2347: end if;
2348: close c_previous_timecard;
2349:
2350: tk_item_key :=
2351: hxc_timekeeper_wf_pkg.begin_audit_process
2352: (p_timecard_id => p_timecard_id
2353: ,p_timecard_ovn => p_timecard_ovn
2354: ,p_resource_id => p_blocks(hxc_timecard_block_utils.find_active_timecard_index(p_blocks)).resource_id
2355: ,p_timekeeper_id => p_timekeeper_id
2426: );
2427:
2428: hr_utility.trace('Calling maintain_errors');
2429:
2430: hxc_timekeeper_errors.maintain_errors
2431: (p_messages => p_messages
2432: ,p_timecard_id => p_timecard_id
2433: ,p_timecard_ovn => p_timecard_ovn);
2434:
2433: ,p_timecard_ovn => p_timecard_ovn);
2434:
2435: /*
2436: if g_debug THEN
2437: hxc_debug_timecard.writeMessages(p_messages,'HXC_TIMEKEEPER',80);
2438: end if;
2439: */
2440:
2441: -- OTL-Absences Integration (Bug 8779478)
2445:
2446: l_abs_ret_messages:= HXC_MESSAGE_TABLE_TYPE();
2447:
2448: IF g_debug THEN
2449: hr_utility.trace('ABS:Initiated Online Retrieval from HXC_TIMEKEEPER.SUBMIT_TIMECARD');
2450: END IF;
2451:
2452: l_resource_id := p_blocks(l_timecard_index).resource_id;
2453: l_tc_start := fnd_date.canonical_to_date(p_blocks(l_timecard_index).start_time);
2471: END IF;
2472:
2473: rollback to TK_SUB_SAVEPOINT;
2474:
2475: hxc_timekeeper_errors.maintain_errors
2476: (p_messages => l_abs_ret_messages
2477: ,p_timecard_id => p_timecard_id
2478: ,p_timecard_ovn => p_timecard_ovn);
2479:
2583: fnd_message.raise_error;
2584: else
2585:
2586: --Cancel notifications for TK Audit
2587: hxc_timekeeper_wf_pkg.cancel_previous_notifications
2588: ( p_tk_audit_item_type => l_previous_tk_item_type
2589: ,p_tk_audit_item_key => l_previous_tk_item_key
2590: );
2591: close c_previous_timecard;
2687: l_messages := hxc_timecard_message_helper.getMessages;
2688: /*
2689: -- debug
2690: IF g_debug THEN
2691: hxc_debug_timecard.writeMessages(p_messages,'HXC_TIMEKEEPER',70);
2692: END IF;
2693: */
2694:
2695: --svg start Bug 9181950
2703: -- svg end
2704:
2705:
2706:
2707: hxc_timekeeper_errors.rollback_tc_or_set_err_status
2708: (p_message_table => l_messages
2709: ,p_blocks => l_blocks
2710: ,p_attributes => l_attributes
2711: ,p_rollback => l_rollback
2764: hr_utility.trace('Calling maintain_errors');
2765:
2766: hxc_timecard_message_helper.prepareErrors;
2767:
2768: hxc_timekeeper_errors.maintain_errors
2769: (p_messages => l_messages
2770: ,p_timecard_id => p_timecard_id
2771: ,p_timecard_ovn => l_timecard_ovn);
2772:
2775: -- get all the errors
2776: --l_messages := hxc_timecard_message_helper.getMessages;
2777: /*
2778: if g_debug THEN
2779: hxc_debug_timecard.writeMessages(p_messages,'HXC_TIMEKEEPER',80);
2780: end if;
2781: */
2782:
2783: -- OTL-Absences Integration (Bug 8779478)
2785: IF (nvl(fnd_profile.value('HR_ABS_OTL_INTEGRATION'), 'N') = 'Y') THEN
2786: IF (p_timecard_id > 0 and hxc_timecard_message_helper.noerrors) THEN
2787:
2788: IF g_debug THEN
2789: hr_utility.trace('ABS:Initiated Online Retrieval from HXC_TIMEKEEPER.DELETE_TIMECARD');
2790: END IF;
2791:
2792: l_abs_ret_messages:= HXC_MESSAGE_TABLE_TYPE();
2793:
2813: END IF;
2814:
2815: rollback to TK_DEL_SAVEPOINT;
2816:
2817: hxc_timekeeper_errors.maintain_errors
2818: (p_messages => l_abs_ret_messages
2819: ,p_timecard_id => p_timecard_id
2820: ,p_timecard_ovn => l_timecard_ovn);
2821:
2838: End delete_timecard;
2839:
2840:
2841:
2842: END hxc_timekeeper;