17: IF c_alarm%NOTFOUND THEN
18: CLOSE c_alarm;
19: fnd_message.set_name ('JTF', 'JTF_INVALID_TASK_ID');
20: fnd_msg_pub.add;
21: RAISE fnd_api.g_exc_unexpected_error;
22: ELSE
23: CLOSE c_alarm;
24: x_alarm_start := l_alarm.alarm_start;
25: x_planned_start_date := l_alarm.planned_start_date;
65: l_api_version CONSTANT NUMBER := 1.0;
66: l_api_name CONSTANT VARCHAR2(30) := 'CREATE_APPOINTMENT';
67: BEGIN
68: SAVEPOINT create_appointment;
69: x_return_status := fnd_api.g_ret_sts_success;
70:
71: -- call new version, passing defaults for new functionality
72: create_appointment (
73: p_task_name => p_task_name,
87: x_return_status => x_return_status,
88: x_task_id => x_task_id
89: );
90:
91: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
92: THEN
93: x_return_status := fnd_api.g_ret_sts_unexp_error;
94: RAISE fnd_api.g_exc_unexpected_error;
95: END IF;
89: );
90:
91: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
92: THEN
93: x_return_status := fnd_api.g_ret_sts_unexp_error;
94: RAISE fnd_api.g_exc_unexpected_error;
95: END IF;
96:
97: EXCEPTION
90:
91: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
92: THEN
93: x_return_status := fnd_api.g_ret_sts_unexp_error;
94: RAISE fnd_api.g_exc_unexpected_error;
95: END IF;
96:
97: EXCEPTION
98: WHEN fnd_api.g_exc_unexpected_error
94: RAISE fnd_api.g_exc_unexpected_error;
95: END IF;
96:
97: EXCEPTION
98: WHEN fnd_api.g_exc_unexpected_error
99: THEN
100: ROLLBACK TO create_appointment;
101: x_return_status := fnd_api.g_ret_sts_unexp_error;
102: WHEN OTHERS
97: EXCEPTION
98: WHEN fnd_api.g_exc_unexpected_error
99: THEN
100: ROLLBACK TO create_appointment;
101: x_return_status := fnd_api.g_ret_sts_unexp_error;
102: WHEN OTHERS
103: THEN
104: ROLLBACK TO create_appointment;
105: x_return_status := fnd_api.g_ret_sts_unexp_error;
101: x_return_status := fnd_api.g_ret_sts_unexp_error;
102: WHEN OTHERS
103: THEN
104: ROLLBACK TO create_appointment;
105: x_return_status := fnd_api.g_ret_sts_unexp_error;
106: END;
107:
108: PROCEDURE create_appointment (
109: p_task_name IN VARCHAR2,
160: p_entity => 'APPOINTMENT',
161: p_free_busy_type => p_free_busy_type
162: ) ;
163:
164: IF x_return_status = fnd_api.g_ret_sts_success AND p_alarm_start > 0
165: AND is_valid_alarm(p_alarm_start) THEN
166: jtf_cal_wf_pvt.startreminders(
167: p_api_version => 1.0,
168: p_commit => 'T',
201: l_api_version CONSTANT NUMBER := 1.0;
202: l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_APPOINTMENT';
203: BEGIN
204: SAVEPOINT update_appointment;
205: x_return_status := fnd_api.g_ret_sts_success;
206:
207:
208: -- call new version, passing defaults for new functionality
209: update_appointment (
224: p_change_mode => p_change_mode ,
225: x_return_status => x_return_status
226: );
227:
228: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
229: THEN
230: x_return_status := fnd_api.g_ret_sts_unexp_error;
231: RAISE fnd_api.g_exc_unexpected_error;
232: END IF;
226: );
227:
228: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
229: THEN
230: x_return_status := fnd_api.g_ret_sts_unexp_error;
231: RAISE fnd_api.g_exc_unexpected_error;
232: END IF;
233:
234: EXCEPTION
227:
228: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
229: THEN
230: x_return_status := fnd_api.g_ret_sts_unexp_error;
231: RAISE fnd_api.g_exc_unexpected_error;
232: END IF;
233:
234: EXCEPTION
235: WHEN fnd_api.g_exc_unexpected_error
231: RAISE fnd_api.g_exc_unexpected_error;
232: END IF;
233:
234: EXCEPTION
235: WHEN fnd_api.g_exc_unexpected_error
236: THEN
237: ROLLBACK TO update_appointment;
238: x_return_status := fnd_api.g_ret_sts_unexp_error;
239: WHEN OTHERS
234: EXCEPTION
235: WHEN fnd_api.g_exc_unexpected_error
236: THEN
237: ROLLBACK TO update_appointment;
238: x_return_status := fnd_api.g_ret_sts_unexp_error;
239: WHEN OTHERS
240: THEN
241: ROLLBACK TO update_appointment;
242: x_return_status := fnd_api.g_ret_sts_unexp_error;
238: x_return_status := fnd_api.g_ret_sts_unexp_error;
239: WHEN OTHERS
240: THEN
241: ROLLBACK TO update_appointment;
242: x_return_status := fnd_api.g_ret_sts_unexp_error;
243: END;
244:
245:
246: PROCEDURE update_appointment (
294: p_abort_workflow => 'N',
295: p_change_mode => p_change_mode,
296: p_free_busy_type => p_free_busy_type
297: );
298: IF x_return_status = fnd_api.g_ret_sts_success THEN
299: IF (l_alarm_start > 0 and (p_alarm_start = 0 OR p_alarm_start IS NULL)) OR
300: (NOT is_valid_alarm(p_alarm_start)) THEN
301: --kill the old workflow
302: jtf_cal_wf_pvt.updatereminders(