59: RETURN VARCHAR2;
60: Function Get_Res_Timezone_Id ( P_Resource_Id IN Number ) RETURN Number;
61: Function ServerDT_To_ResourceDt ( P_Server_DtTime IN date, P_Server_TZ_Id IN Number , p_Resource_TZ_id IN Number ) RETURN date;
62:
63: PROCEDURE check_dangling_tasks(p_resource_tbl IN csf_resource_pub.resource_tbl_type
64: , p_start IN DATE
65: , p_end IN DATE
66: , x_return_status OUT NOCOPY VARCHAR2
67: , x_msg_data OUT NOCOPY VARCHAR2
66: , x_return_status OUT NOCOPY VARCHAR2
67: , x_msg_data OUT NOCOPY VARCHAR2
68: , x_msg_count OUT NOCOPY NUMBER);
69:
70: PROCEDURE check_duplicate_tasks(p_resource_tbl IN csf_resource_pub.resource_tbl_type
71: , p_start IN DATE
72: , p_end IN DATE
73: , x_return_status OUT NOCOPY VARCHAR2
74: , x_msg_data OUT NOCOPY VARCHAR2
72: , p_end IN DATE
73: , x_return_status OUT NOCOPY VARCHAR2
74: , x_msg_data OUT NOCOPY VARCHAR2
75: , x_msg_count OUT NOCOPY NUMBER);
76: PROCEDURE check_multiple_trip_tasks(p_resource_tbl IN csf_resource_pub.resource_tbl_type
77: , p_start IN DATE
78: , p_end IN DATE
79: , x_return_status OUT NOCOPY VARCHAR2
80: , x_msg_data OUT NOCOPY VARCHAR2
128: END format_date;
129:
130: FUNCTION get_resource_info(p_resource_id NUMBER, p_resource_type VARCHAR2)
131: RETURN VARCHAR2 IS
132: l_resource_info csf_resource_pub.resource_rec_type;
133: BEGIN
134: l_resource_info := csf_resource_pub.get_resource_info(p_resource_id, p_resource_type);
135:
136: RETURN l_resource_info.resource_name
130: FUNCTION get_resource_info(p_resource_id NUMBER, p_resource_type VARCHAR2)
131: RETURN VARCHAR2 IS
132: l_resource_info csf_resource_pub.resource_rec_type;
133: BEGIN
134: l_resource_info := csf_resource_pub.get_resource_info(p_resource_id, p_resource_type);
135:
136: RETURN l_resource_info.resource_name
137: || ' ('
138: || csf_resource_pub.get_resource_type_name(l_resource_info.resource_type)
134: l_resource_info := csf_resource_pub.get_resource_info(p_resource_id, p_resource_type);
135:
136: RETURN l_resource_info.resource_name
137: || ' ('
138: || csf_resource_pub.get_resource_type_name(l_resource_info.resource_type)
139: || ', '
140: || l_resource_info.resource_number
141: || ')';
142: END get_resource_info;
140: || l_resource_info.resource_number
141: || ')';
142: END get_resource_info;
143:
144: FUNCTION time_overlaps(p_trip trip_rec_type, p_shift csf_resource_pub.shift_rec_type)
145: RETURN BOOLEAN IS
146: l_api_name CONSTANT VARCHAR2(30) := 'CHECK_TIME_OVERLAPS';
147: l_debug CONSTANT BOOLEAN := g_debug = 'Y';
148: BEGIN
212: , p_action IN VARCHAR2
213: , p_trip_id IN NUMBER
214: , p_start_date IN DATE
215: , p_end_date IN DATE
216: , p_resource_tbl IN csf_resource_pub.resource_tbl_type
217: ) IS
218: l_debug CONSTANT BOOLEAN := g_debug = 'Y';
219: l_success NUMBER;
220: l_failed NUMBER;
298: FETCH c_action_name INTO l_action_name;
299: CLOSE c_action_name;
300:
301: IF p_resource_tbl.COUNT = 1 THEN
302: l_res_name := csf_resource_pub.get_resource_name(p_resource_tbl(1).resource_id, p_resource_tbl(1).resource_type);
303: ELSE
304: l_res_name := '';
305: END IF;
306:
381: END trip_has_active_tasks;
382:
383: -- Returns all the Trips which overlaps with the Passed Timings for the Resource
384: FUNCTION find_trips(
385: p_resource_tbl IN csf_resource_pub.resource_tbl_type
386: , p_start_date_time IN DATE
387: , p_end_date_time IN DATE
388: , p_overtime_flag IN VARCHAR2 DEFAULT NULL
389: ) RETURN trip_tbl_type IS
500: RETURN;
501: END IF;
502:
503: -- Get the Resource's Address for this Date
504: l_address := csf_resource_pub.get_resource_party_address(
505: p_res_id => p_resource_id
506: , p_res_type => p_resource_type
507: , p_date => p_start_date_time
508: , p_res_shift_add => g_res_add_prof
1679: PROCEDURE create_trips(
1680: x_return_status OUT NOCOPY VARCHAR2
1681: , x_msg_data OUT NOCOPY VARCHAR2
1682: , x_msg_count OUT NOCOPY NUMBER
1683: , p_resource_tbl IN csf_resource_pub.resource_tbl_type
1684: , p_start_date IN DATE
1685: , p_end_date IN DATE
1686: , P_SHIFT_TYPE IN VARCHAR2 DEFAULT NULL
1687: , p_delete_trips IN BOOLEAN DEFAULT FALSE
1694: l_res_type jtf_objects_b.object_code%TYPE;
1695: l_start DATE;
1696: l_end DATE;
1697:
1698: l_shifts csf_resource_pub.shift_tbl_type;
1699: l_shift_idx PLS_INTEGER;
1700:
1701: l_trip_idx PLS_INTEGER;
1702: l_new_trip trip_rec_type;
1802: END IF;
1803: END IF;
1804:
1805: -- Get the Resource's Shifts
1806: csf_resource_pub.get_resource_shifts(
1807: p_api_version => 1.0
1808: , x_return_status => x_return_status
1809: , x_msg_count => x_msg_count
1810: , x_msg_data => x_msg_data
2383: PROCEDURE upgrade_to_trips(
2384: x_return_status OUT NOCOPY VARCHAR2
2385: , x_msg_data OUT NOCOPY VARCHAR2
2386: , x_msg_count OUT NOCOPY NUMBER
2387: , p_resource_tbl IN csf_resource_pub.resource_tbl_type
2388: , p_start_date IN DATE
2389: , p_end_date IN DATE
2390: ) IS
2391: l_api_name CONSTANT VARCHAR2(30) := 'UPGRADE_TO_TRIPS';
2623: l_api_version CONSTANT NUMBER := 1.0;
2624: l_debug CONSTANT BOOLEAN := g_debug = 'Y';
2625:
2626: l_trips trip_tbl_type;
2627: l_resource csf_resource_pub.resource_tbl_type;
2628: l_new_trip trip_rec_type;
2629:
2630: l_shift_tasks_exist VARCHAR2(1);
2631:
2658: || to_char(p_start_date_time, 'DD-MON-YYYY HH24:MI:SS') || ' and '
2659: || to_char(p_end_date_time, 'DD-MON-YYYY HH24:MI:SS'), l_api_name, fnd_log.level_procedure);
2660: END IF;
2661:
2662: l_resource := csf_resource_pub.resource_tbl_type();
2663: l_resource.extend();
2664: l_resource(1).resource_id := p_resource_id;
2665: l_resource(1).resource_type := p_resource_type;
2666: l_trips := find_trips(l_resource, p_start_date_time, p_end_date_time);
3111: ) IS
3112: l_api_name CONSTANT VARCHAR2(30) := 'FIND_TRIP';
3113: l_api_version CONSTANT NUMBER := 1.0;
3114: l_debug CONSTANT BOOLEAN := g_debug = 'Y';
3115: l_resource_tbl csf_resource_pub.resource_tbl_type;
3116: l_trips trip_tbl_type;
3117: BEGIN
3118: -- Check for API Compatibility
3119: IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version, l_api_name, g_pkg_name) THEN
3127:
3128: -- Initialize Return Status
3129: x_return_status := fnd_api.g_ret_sts_success;
3130:
3131: l_resource_tbl := csf_resource_pub.resource_tbl_type();
3132: l_resource_tbl.extend();
3133: l_resource_tbl(1).resource_id := p_resource_id;
3134: l_resource_tbl(1).resource_type := p_resource_type;
3135:
3241: , p_init_msg_list IN VARCHAR2
3242: , x_return_status OUT NOCOPY VARCHAR2
3243: , x_msg_data OUT NOCOPY VARCHAR2
3244: , x_msg_count OUT NOCOPY NUMBER
3245: , p_resource_tbl IN csf_resource_pub.resource_tbl_type
3246: , p_start_date_time IN DATE
3247: , p_end_date_time IN DATE
3248: , p_overtime_flag IN VARCHAR2
3249: , x_trips OUT NOCOPY trip_tbl_type
3294: , x_msg_data OUT NOCOPY VARCHAR2
3295: , x_msg_count OUT NOCOPY NUMBER
3296: , p_action IN VARCHAR2
3297: , p_trip_id IN NUMBER
3298: , p_resource_tbl IN csf_resource_pub.resource_tbl_type
3299: , p_shift_type IN VARCHAR2
3300: , p_start_date IN DATE
3301: , p_end_date IN DATE
3302: ) IS
3537: l_end_date DATE;
3538: l_num_days NUMBER;
3539: l_resources_failed NUMBER;
3540: l_resources_success NUMBER;
3541: l_resource csf_resource_pub.resource_tbl_type;
3542: l_resource_info VARCHAR2(500);
3543: l_resource_id_tbl jtf_number_table;
3544: l_resource_type_tbl jtf_varchar2_table_100;
3545: l_shift_type VARCHAR2(100);
3683: /********************* Concurrent Program Execution *********************/
3684: l_resources_failed := 0;
3685: l_resources_success := 0;
3686: IF l_resource_id_tbl IS NOT NULL THEN
3687: l_resource := csf_resource_pub.resource_tbl_type();
3688: l_resource.extend(1);
3689:
3690: FOR i IN 1..l_resource_id_tbl.COUNT LOOP
3691: l_resource(1).resource_id := l_resource_id_tbl(i);
3905: l_api_version CONSTANT NUMBER := 1.0;
3906: l_debug CONSTANT BOOLEAN := g_debug = 'Y';
3907:
3908: l_trips trip_tbl_type;
3909: l_resource csf_resource_pub.resource_tbl_type;
3910: l_new_trip trip_rec_type;
3911:
3912: l_shift_tasks_exist VARCHAR2(1);
3913: l_trip_exist VARCHAR2(1);
3993: , p_shift_type => p_shift_type
3994: , x_trip => l_new_trip
3995: );
3996:
3997: l_resource := csf_resource_pub.resource_tbl_type();
3998: l_resource.extend(1);
3999: l_resource(1).resource_id := p_resource_id;
4000: l_resource(1).resource_type := p_resource_type;
4001:
4708: , p_commit IN VARCHAR2
4709: , x_return_status OUT NOCOPY VARCHAR2
4710: , x_msg_data OUT NOCOPY VARCHAR2
4711: , x_msg_count OUT NOCOPY NUMBER
4712: , p_resource_tbl IN csf_resource_pub.resource_tbl_type
4713: , p_start_date IN DATE
4714: , p_end_date IN DATE
4715: , p_delete_trips IN BOOLEAN DEFAULT FALSE)
4716: IS
4955: Return (l_Res_TimeZone_id);
4956:
4957: End Get_Res_Timezone_Id;
4958:
4959: PROCEDURE check_dangling_tasks(p_resource_tbl IN csf_resource_pub.resource_tbl_type
4960: , p_start IN DATE
4961: , p_end IN DATE
4962: , x_return_status OUT NOCOPY VARCHAR2
4963: , x_msg_data OUT NOCOPY VARCHAR2
5085: END IF;
5086:
5087: END check_dangling_tasks;
5088:
5089: PROCEDURE check_duplicate_tasks(p_resource_tbl IN csf_resource_pub.resource_tbl_type
5090: , p_start IN DATE
5091: , p_end IN DATE
5092: , x_return_status OUT NOCOPY VARCHAR2
5093: , x_msg_data OUT NOCOPY VARCHAR2
5168: END IF;
5169:
5170: END check_duplicate_tasks;
5171:
5172: PROCEDURE check_multiple_trip_tasks(p_resource_tbl IN csf_resource_pub.resource_tbl_type
5173: , p_start IN DATE
5174: , p_end IN DATE
5175: , x_return_status OUT NOCOPY VARCHAR2
5176: , x_msg_data OUT NOCOPY VARCHAR2