30: -- p_copy_task_dates IN VARCHAR2 optional
31:
32: -----------------------------------------------------------------------------------------------------
33: PROCEDURE create_mass_tasks( p_api_version IN NUMBER,
34: p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false,
35: p_commit IN VARCHAR2 DEFAULT fnd_api.g_true,
36: x_msg_count OUT NOCOPY NUMBER,
37: x_msg_data OUT NOCOPY VARCHAR2,
38: x_return_status OUT NOCOPY VARCHAR2,
31:
32: -----------------------------------------------------------------------------------------------------
33: PROCEDURE create_mass_tasks( p_api_version IN NUMBER,
34: p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false,
35: p_commit IN VARCHAR2 DEFAULT fnd_api.g_true,
36: x_msg_count OUT NOCOPY NUMBER,
37: x_msg_data OUT NOCOPY VARCHAR2,
38: x_return_status OUT NOCOPY VARCHAR2,
39: p_resource_type IN VARCHAR2,
41: p_task_id IN NUMBER,
42: p_task_number IN VARCHAR2,
43: p_keep_record IN VARCHAR2 DEFAULT NULL,
44: p_keep_resource_id IN NUMBER DEFAULT NULL,
45: p_copy_notes IN VARCHAR2 DEFAULT fnd_api.g_false,
46: p_copy_task_assignments IN VARCHAR2 DEFAULT fnd_api.g_false,
47: p_copy_task_rsc_reqs IN VARCHAR2 DEFAULT fnd_api.g_false,
48: p_copy_task_depends IN VARCHAR2 DEFAULT fnd_api.g_false,
49: p_create_recurrences IN VARCHAR2 DEFAULT fnd_api.g_false,
42: p_task_number IN VARCHAR2,
43: p_keep_record IN VARCHAR2 DEFAULT NULL,
44: p_keep_resource_id IN NUMBER DEFAULT NULL,
45: p_copy_notes IN VARCHAR2 DEFAULT fnd_api.g_false,
46: p_copy_task_assignments IN VARCHAR2 DEFAULT fnd_api.g_false,
47: p_copy_task_rsc_reqs IN VARCHAR2 DEFAULT fnd_api.g_false,
48: p_copy_task_depends IN VARCHAR2 DEFAULT fnd_api.g_false,
49: p_create_recurrences IN VARCHAR2 DEFAULT fnd_api.g_false,
50: p_copy_task_references IN VARCHAR2 DEFAULT fnd_api.g_false,
43: p_keep_record IN VARCHAR2 DEFAULT NULL,
44: p_keep_resource_id IN NUMBER DEFAULT NULL,
45: p_copy_notes IN VARCHAR2 DEFAULT fnd_api.g_false,
46: p_copy_task_assignments IN VARCHAR2 DEFAULT fnd_api.g_false,
47: p_copy_task_rsc_reqs IN VARCHAR2 DEFAULT fnd_api.g_false,
48: p_copy_task_depends IN VARCHAR2 DEFAULT fnd_api.g_false,
49: p_create_recurrences IN VARCHAR2 DEFAULT fnd_api.g_false,
50: p_copy_task_references IN VARCHAR2 DEFAULT fnd_api.g_false,
51: p_copy_task_dates IN VARCHAR2 DEFAULT fnd_api.g_false) IS
44: p_keep_resource_id IN NUMBER DEFAULT NULL,
45: p_copy_notes IN VARCHAR2 DEFAULT fnd_api.g_false,
46: p_copy_task_assignments IN VARCHAR2 DEFAULT fnd_api.g_false,
47: p_copy_task_rsc_reqs IN VARCHAR2 DEFAULT fnd_api.g_false,
48: p_copy_task_depends IN VARCHAR2 DEFAULT fnd_api.g_false,
49: p_create_recurrences IN VARCHAR2 DEFAULT fnd_api.g_false,
50: p_copy_task_references IN VARCHAR2 DEFAULT fnd_api.g_false,
51: p_copy_task_dates IN VARCHAR2 DEFAULT fnd_api.g_false) IS
52:
45: p_copy_notes IN VARCHAR2 DEFAULT fnd_api.g_false,
46: p_copy_task_assignments IN VARCHAR2 DEFAULT fnd_api.g_false,
47: p_copy_task_rsc_reqs IN VARCHAR2 DEFAULT fnd_api.g_false,
48: p_copy_task_depends IN VARCHAR2 DEFAULT fnd_api.g_false,
49: p_create_recurrences IN VARCHAR2 DEFAULT fnd_api.g_false,
50: p_copy_task_references IN VARCHAR2 DEFAULT fnd_api.g_false,
51: p_copy_task_dates IN VARCHAR2 DEFAULT fnd_api.g_false) IS
52:
53:
46: p_copy_task_assignments IN VARCHAR2 DEFAULT fnd_api.g_false,
47: p_copy_task_rsc_reqs IN VARCHAR2 DEFAULT fnd_api.g_false,
48: p_copy_task_depends IN VARCHAR2 DEFAULT fnd_api.g_false,
49: p_create_recurrences IN VARCHAR2 DEFAULT fnd_api.g_false,
50: p_copy_task_references IN VARCHAR2 DEFAULT fnd_api.g_false,
51: p_copy_task_dates IN VARCHAR2 DEFAULT fnd_api.g_false) IS
52:
53:
54: --
47: p_copy_task_rsc_reqs IN VARCHAR2 DEFAULT fnd_api.g_false,
48: p_copy_task_depends IN VARCHAR2 DEFAULT fnd_api.g_false,
49: p_create_recurrences IN VARCHAR2 DEFAULT fnd_api.g_false,
50: p_copy_task_references IN VARCHAR2 DEFAULT fnd_api.g_false,
51: p_copy_task_dates IN VARCHAR2 DEFAULT fnd_api.g_false) IS
52:
53:
54: --
55: -- Declare a ref cursor
85:
86: --
87: -- initialize API return status to success
88: --
89: x_return_status := fnd_api.g_ret_sts_success;
90:
91: --
92: -- Standard call to check for call compatibility
93: --
90:
91: --
92: -- Standard call to check for call compatibility
93: --
94: IF NOT fnd_api.compatible_api_call (
95: l_api_version,
96: p_api_version,
97: l_api_name,
98: g_pkg_name
97: l_api_name,
98: g_pkg_name
99: )
100: THEN
101: RAISE fnd_api.g_exc_unexpected_error;
102: END IF;
103:
104: --
105: -- Initialize message list if p_init_msg_list is set to TRUE
103:
104: --
105: -- Initialize message list if p_init_msg_list is set to TRUE
106: --
107: IF fnd_api.to_boolean (p_init_msg_list)
108: THEN
109: fnd_msg_pub.initialize;
110: END IF;
111:
117: p_task_id => p_task_id,
118: p_task_number => p_task_number,
119: x_task_id => l_task_id);
120:
121: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
122: THEN
123: x_return_status := fnd_api.g_ret_sts_unexp_error;
124: RAISE fnd_api.g_exc_unexpected_error;
125: END IF;
119: x_task_id => l_task_id);
120:
121: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
122: THEN
123: x_return_status := fnd_api.g_ret_sts_unexp_error;
124: RAISE fnd_api.g_exc_unexpected_error;
125: END IF;
126:
127: --
120:
121: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
122: THEN
123: x_return_status := fnd_api.g_ret_sts_unexp_error;
124: RAISE fnd_api.g_exc_unexpected_error;
125: END IF;
126:
127: --
128: -- Check if the passed resource_id and resource_type are not null
189: p_init_msg_list => p_init_msg_list,
190: p_commit => p_commit,
191: p_source_task_id => p_task_id,
192: p_source_task_number => p_task_number,
193: p_copy_task_references => fnd_api.g_true,
194: x_return_status => x_return_status,
195: p_copy_notes => p_copy_notes,
196: p_copy_task_assignments => fnd_api.g_false,
197: p_resource_id => l_task_resource_id,
192: p_source_task_number => p_task_number,
193: p_copy_task_references => fnd_api.g_true,
194: x_return_status => x_return_status,
195: p_copy_notes => p_copy_notes,
196: p_copy_task_assignments => fnd_api.g_false,
197: p_resource_id => l_task_resource_id,
198: p_resource_type => l_resource_type,
199: x_msg_count => x_msg_count,
200: x_msg_data => x_msg_data,
198: p_resource_type => l_resource_type,
199: x_msg_count => x_msg_count,
200: x_msg_data => x_msg_data,
201: x_task_id => l_task_id,
202: p_copy_task_contacts => fnd_api.g_true,
203: p_copy_task_contact_points => fnd_api.g_true
204: );
205:
206: --dbms_output.put_line('task_id :' ||l_task_id);
199: x_msg_count => x_msg_count,
200: x_msg_data => x_msg_data,
201: x_task_id => l_task_id,
202: p_copy_task_contacts => fnd_api.g_true,
203: p_copy_task_contact_points => fnd_api.g_true
204: );
205:
206: --dbms_output.put_line('task_id :' ||l_task_id);
207:
204: );
205:
206: --dbms_output.put_line('task_id :' ||l_task_id);
207:
208: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
209: THEN
210: x_return_status := fnd_api.g_ret_sts_unexp_error;
211: RAISE fnd_api.g_exc_unexpected_error;
212: END IF;
206: --dbms_output.put_line('task_id :' ||l_task_id);
207:
208: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
209: THEN
210: x_return_status := fnd_api.g_ret_sts_unexp_error;
211: RAISE fnd_api.g_exc_unexpected_error;
212: END IF;
213:
214: END LOOP;
207:
208: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
209: THEN
210: x_return_status := fnd_api.g_ret_sts_unexp_error;
211: RAISE fnd_api.g_exc_unexpected_error;
212: END IF;
213:
214: END LOOP;
215: --
235: END IF;
236:
237: EXCEPTION
238:
239: WHEN fnd_api.g_exc_unexpected_error
240: THEN
241: ROLLBACK TO create_mass_tasks;
242: x_return_status := fnd_api.g_ret_sts_unexp_error;
243: fnd_msg_pub.count_and_get (
238:
239: WHEN fnd_api.g_exc_unexpected_error
240: THEN
241: ROLLBACK TO create_mass_tasks;
242: x_return_status := fnd_api.g_ret_sts_unexp_error;
243: fnd_msg_pub.count_and_get (
244: p_count => x_msg_count,
245: p_data => x_msg_data
246: );
265: THEN
266: ROLLBACK TO create_mass_tasks;
267: fnd_message.set_name ('JTF', 'JTF_TASK_UNKNOWN_ERROR');
268: fnd_message.set_token ('P_TEXT', SQLCODE || SQLERRM);
269: x_return_status := fnd_api.g_ret_sts_unexp_error;
270: fnd_msg_pub.count_and_get (
271: p_count => x_msg_count,
272: p_data => x_msg_data
273: );
318:
319: --
320: -- initialize API return status to success
321: --
322: x_return_status := fnd_api.g_ret_sts_success;
323:
324: --
325: -- Fetch the resource_id into a local variable
326: --
331: --
332: -- Check if the resource_id exists
333: --
334: If l_resource_id is null then
335: x_return_status := fnd_api.g_ret_sts_unexp_error;
336: fnd_message.set_name ('JTF', 'JTF_TASK_INVALID_OWNER_ID');
337: fnd_message.set_token ('P_OWNER_ID', p_resource_type_id);
338: fnd_msg_pub.add;
339: RAISE fnd_api.g_exc_unexpected_error;
335: x_return_status := fnd_api.g_ret_sts_unexp_error;
336: fnd_message.set_name ('JTF', 'JTF_TASK_INVALID_OWNER_ID');
337: fnd_message.set_token ('P_OWNER_ID', p_resource_type_id);
338: fnd_msg_pub.add;
339: RAISE fnd_api.g_exc_unexpected_error;
340: end if;
341:
342: --
343: --Close the cursor
348: END IF;
349:
350: exception
351:
352: WHEN fnd_api.g_exc_unexpected_error THEN
353: x_return_status := fnd_api.g_ret_sts_unexp_error;
354: fnd_msg_pub.count_and_get (
355: p_count => x_msg_count,
356: p_data => x_msg_data
349:
350: exception
351:
352: WHEN fnd_api.g_exc_unexpected_error THEN
353: x_return_status := fnd_api.g_ret_sts_unexp_error;
354: fnd_msg_pub.count_and_get (
355: p_count => x_msg_count,
356: p_data => x_msg_data
357: );
364: CLOSE c_resource;
365: END IF;
366:
367: WHEN OTHERS THEN
368: x_return_status := fnd_api.g_ret_sts_unexp_error;
369: fnd_message.set_name ('JTF', 'JTF_TASK_INVALID_OWNER_ID');
370: fnd_message.set_token ('P_OWNER_ID', p_resource_type_id);
371: fnd_msg_pub.add;
372: RAISE fnd_api.g_exc_unexpected_error;
368: x_return_status := fnd_api.g_ret_sts_unexp_error;
369: fnd_message.set_name ('JTF', 'JTF_TASK_INVALID_OWNER_ID');
370: fnd_message.set_token ('P_OWNER_ID', p_resource_type_id);
371: fnd_msg_pub.add;
372: RAISE fnd_api.g_exc_unexpected_error;
373:
374: End validate_resource;
375:
376: END;