3: g_pkg_name CONSTANT VARCHAR2(30) := 'JTF_TASK_DEPENDENCY_PUB';
4:
5: PROCEDURE create_task_dependency (
6: p_api_version IN NUMBER,
7: p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false,
8: p_commit IN VARCHAR2 DEFAULT fnd_api.g_false,
9: p_validation_level IN VARCHAR2 DEFAULT fnd_api.g_valid_level_full,
10: p_task_id IN NUMBER DEFAULT NULL,
11: p_task_number IN VARCHAR2 DEFAULT NULL,
4:
5: PROCEDURE create_task_dependency (
6: p_api_version IN NUMBER,
7: p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false,
8: p_commit IN VARCHAR2 DEFAULT fnd_api.g_false,
9: p_validation_level IN VARCHAR2 DEFAULT fnd_api.g_valid_level_full,
10: p_task_id IN NUMBER DEFAULT NULL,
11: p_task_number IN VARCHAR2 DEFAULT NULL,
12: p_dependent_on_task_id IN NUMBER DEFAULT NULL,
5: PROCEDURE create_task_dependency (
6: p_api_version IN NUMBER,
7: p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false,
8: p_commit IN VARCHAR2 DEFAULT fnd_api.g_false,
9: p_validation_level IN VARCHAR2 DEFAULT fnd_api.g_valid_level_full,
10: p_task_id IN NUMBER DEFAULT NULL,
11: p_task_number IN VARCHAR2 DEFAULT NULL,
12: p_dependent_on_task_id IN NUMBER DEFAULT NULL,
13: p_dependent_on_task_number IN VARCHAR2 DEFAULT NULL,
50: l_adjustment_time_uom jtf_task_depends.adjustment_time_uom%TYPE := p_adjustment_time_uom;
51: x CHAR;
52: BEGIN
53: SAVEPOINT create_task_dependency_pub;
54: x_return_status := fnd_api.g_ret_sts_success;
55:
56: IF NOT fnd_api.compatible_api_call (l_api_version, p_api_version, l_api_name, g_pkg_name)
57: THEN
58: RAISE fnd_api.g_exc_unexpected_error;
52: BEGIN
53: SAVEPOINT create_task_dependency_pub;
54: x_return_status := fnd_api.g_ret_sts_success;
55:
56: IF NOT fnd_api.compatible_api_call (l_api_version, p_api_version, l_api_name, g_pkg_name)
57: THEN
58: RAISE fnd_api.g_exc_unexpected_error;
59: END IF;
60:
54: x_return_status := fnd_api.g_ret_sts_success;
55:
56: IF NOT fnd_api.compatible_api_call (l_api_version, p_api_version, l_api_name, g_pkg_name)
57: THEN
58: RAISE fnd_api.g_exc_unexpected_error;
59: END IF;
60:
61: IF fnd_api.to_boolean (p_init_msg_list)
62: THEN
57: THEN
58: RAISE fnd_api.g_exc_unexpected_error;
59: END IF;
60:
61: IF fnd_api.to_boolean (p_init_msg_list)
62: THEN
63: fnd_msg_pub.initialize;
64: END IF;
65:
62: THEN
63: fnd_msg_pub.initialize;
64: END IF;
65:
66: --- Validate if the template flag is in the following fnd_api.g_true , fnd_api.g_false , NULL
67: jtf_task_utl.validate_flag (
68: p_api_name => l_api_name,
69: p_init_msg_list => fnd_api.g_false,
70: x_return_status => x_return_status,
65:
66: --- Validate if the template flag is in the following fnd_api.g_true , fnd_api.g_false , NULL
67: jtf_task_utl.validate_flag (
68: p_api_name => l_api_name,
69: p_init_msg_list => fnd_api.g_false,
70: x_return_status => x_return_status,
71: p_flag_name => 'Template Flag',
72: p_flag_value => l_template_flag
73: );
71: p_flag_name => 'Template Flag',
72: p_flag_value => l_template_flag
73: );
74:
75: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
76: THEN
77: x_return_status := fnd_api.g_ret_sts_unexp_error;
78: RAISE fnd_api.g_exc_unexpected_error;
79: END IF;
73: );
74:
75: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
76: THEN
77: x_return_status := fnd_api.g_ret_sts_unexp_error;
78: RAISE fnd_api.g_exc_unexpected_error;
79: END IF;
80:
81:
74:
75: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
76: THEN
77: x_return_status := fnd_api.g_ret_sts_unexp_error;
78: RAISE fnd_api.g_exc_unexpected_error;
79: END IF;
80:
81:
82:
90: p_task_number => l_task_number,
91: x_task_id => l_task_id
92: );
93:
94: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
95: THEN
96: x_return_status := fnd_api.g_ret_sts_unexp_error;
97: RAISE fnd_api.g_exc_unexpected_error;
98: END IF;
92: );
93:
94: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
95: THEN
96: x_return_status := fnd_api.g_ret_sts_unexp_error;
97: RAISE fnd_api.g_exc_unexpected_error;
98: END IF;
99:
100: IF l_task_id IS NULL
93:
94: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
95: THEN
96: x_return_status := fnd_api.g_ret_sts_unexp_error;
97: RAISE fnd_api.g_exc_unexpected_error;
98: END IF;
99:
100: IF l_task_id IS NULL
101: THEN
98: END IF;
99:
100: IF l_task_id IS NULL
101: THEN
102: x_return_status := fnd_api.g_ret_sts_unexp_error;
103: fnd_message.set_name ('JTF', 'JTF_TASK_MISSING_TEMP');
104: fnd_message.set_token ('P_TASK_TEMPLATE_ID', l_task_id);
105: fnd_msg_pub.add;
106: RAISE fnd_api.g_exc_unexpected_error;
102: x_return_status := fnd_api.g_ret_sts_unexp_error;
103: fnd_message.set_name ('JTF', 'JTF_TASK_MISSING_TEMP');
104: fnd_message.set_token ('P_TASK_TEMPLATE_ID', l_task_id);
105: fnd_msg_pub.add;
106: RAISE fnd_api.g_exc_unexpected_error;
107: END IF;
108:
109: jtf_task_utl.validate_task_template (
110: x_return_status => x_return_status,
112: p_task_number => l_dependent_on_task_number,
113: x_task_id => l_dependent_on_task_id
114: );
115:
116: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
117: THEN
118: x_return_status := fnd_api.g_ret_sts_unexp_error;
119: RAISE fnd_api.g_exc_unexpected_error;
120: END IF;
114: );
115:
116: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
117: THEN
118: x_return_status := fnd_api.g_ret_sts_unexp_error;
119: RAISE fnd_api.g_exc_unexpected_error;
120: END IF;
121:
122: IF l_dependent_on_task_id IS NULL
115:
116: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
117: THEN
118: x_return_status := fnd_api.g_ret_sts_unexp_error;
119: RAISE fnd_api.g_exc_unexpected_error;
120: END IF;
121:
122: IF l_dependent_on_task_id IS NULL
123: THEN
120: END IF;
121:
122: IF l_dependent_on_task_id IS NULL
123: THEN
124: x_return_status := fnd_api.g_ret_sts_unexp_error;
125: fnd_message.set_name ('JTF', 'JTF_TASK_MISSING_TEMP');
126: fnd_message.set_token ('P_TASK_TEMPLATE_ID', l_task_id);
127: RAISE fnd_api.g_exc_unexpected_error;
128: END IF;
123: THEN
124: x_return_status := fnd_api.g_ret_sts_unexp_error;
125: fnd_message.set_name ('JTF', 'JTF_TASK_MISSING_TEMP');
126: fnd_message.set_token ('P_TASK_TEMPLATE_ID', l_task_id);
127: RAISE fnd_api.g_exc_unexpected_error;
128: END IF;
129: ELSE
130: jtf_task_utl.validate_task (
131: x_return_status => x_return_status,
133: p_task_number => l_task_number,
134: x_task_id => l_task_id
135: );
136:
137: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
138: THEN
139: x_return_status := fnd_api.g_ret_sts_unexp_error;
140: RAISE fnd_api.g_exc_unexpected_error;
141: END IF;
135: );
136:
137: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
138: THEN
139: x_return_status := fnd_api.g_ret_sts_unexp_error;
140: RAISE fnd_api.g_exc_unexpected_error;
141: END IF;
142:
143: IF l_task_id IS NULL
136:
137: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
138: THEN
139: x_return_status := fnd_api.g_ret_sts_unexp_error;
140: RAISE fnd_api.g_exc_unexpected_error;
141: END IF;
142:
143: IF l_task_id IS NULL
144: THEN
141: END IF;
142:
143: IF l_task_id IS NULL
144: THEN
145: x_return_status := fnd_api.g_ret_sts_unexp_error;
146: fnd_message.set_name ('JTF', 'JTF_TASK_MISSING_TASK');
147: fnd_message.set_token ('P_TASK_TEMPLATE_ID', l_task_id);
148: fnd_msg_pub.add;
149: RAISE fnd_api.g_exc_unexpected_error;
145: x_return_status := fnd_api.g_ret_sts_unexp_error;
146: fnd_message.set_name ('JTF', 'JTF_TASK_MISSING_TASK');
147: fnd_message.set_token ('P_TASK_TEMPLATE_ID', l_task_id);
148: fnd_msg_pub.add;
149: RAISE fnd_api.g_exc_unexpected_error;
150: END IF;
151:
152:
153: jtf_task_utl.validate_task (
156: p_task_number => l_dependent_on_task_number,
157: x_task_id => l_dependent_on_task_id
158: );
159:
160: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
161: THEN
162: x_return_status := fnd_api.g_ret_sts_unexp_error;
163: RAISE fnd_api.g_exc_unexpected_error;
164: END IF;
158: );
159:
160: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
161: THEN
162: x_return_status := fnd_api.g_ret_sts_unexp_error;
163: RAISE fnd_api.g_exc_unexpected_error;
164: END IF;
165:
166: IF l_dependent_on_task_id IS NULL
159:
160: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
161: THEN
162: x_return_status := fnd_api.g_ret_sts_unexp_error;
163: RAISE fnd_api.g_exc_unexpected_error;
164: END IF;
165:
166: IF l_dependent_on_task_id IS NULL
167: THEN
164: END IF;
165:
166: IF l_dependent_on_task_id IS NULL
167: THEN
168: x_return_status := fnd_api.g_ret_sts_unexp_error;
169: fnd_message.set_name ('JTF', 'JTF_TASK_MISSING_TASK');
170: fnd_message.set_token ('P_TASK_TEMPLATE_ID', l_task_id);
171: RAISE fnd_api.g_exc_unexpected_error;
172: END IF;
167: THEN
168: x_return_status := fnd_api.g_ret_sts_unexp_error;
169: fnd_message.set_name ('JTF', 'JTF_TASK_MISSING_TASK');
170: fnd_message.set_token ('P_TASK_TEMPLATE_ID', l_task_id);
171: RAISE fnd_api.g_exc_unexpected_error;
172: END IF;
173:
174: END IF;
175:
174: END IF;
175:
176: IF NOT jtf_task_utl.validate_dependency_code (l_dependency_type_code)
177: THEN
178: x_return_status := fnd_api.g_ret_sts_unexp_error;
179: RAISE fnd_api.g_exc_unexpected_error;
180: END IF;
181:
182: jtf_task_utl.validate_effort (x_return_status => x_return_status, p_effort => l_adjustment_time, p_effort_uom => l_adjustment_time_uom);
175:
176: IF NOT jtf_task_utl.validate_dependency_code (l_dependency_type_code)
177: THEN
178: x_return_status := fnd_api.g_ret_sts_unexp_error;
179: RAISE fnd_api.g_exc_unexpected_error;
180: END IF;
181:
182: jtf_task_utl.validate_effort (x_return_status => x_return_status, p_effort => l_adjustment_time, p_effort_uom => l_adjustment_time_uom);
183:
180: END IF;
181:
182: jtf_task_utl.validate_effort (x_return_status => x_return_status, p_effort => l_adjustment_time, p_effort_uom => l_adjustment_time_uom);
183:
184: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
185: THEN
186: x_return_status := fnd_api.g_ret_sts_unexp_error;
187: RAISE fnd_api.g_exc_unexpected_error;
188: END IF;
182: jtf_task_utl.validate_effort (x_return_status => x_return_status, p_effort => l_adjustment_time, p_effort_uom => l_adjustment_time_uom);
183:
184: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
185: THEN
186: x_return_status := fnd_api.g_ret_sts_unexp_error;
187: RAISE fnd_api.g_exc_unexpected_error;
188: END IF;
189:
190:
183:
184: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
185: THEN
186: x_return_status := fnd_api.g_ret_sts_unexp_error;
187: RAISE fnd_api.g_exc_unexpected_error;
188: END IF;
189:
190:
191:
190:
191:
192: jtf_task_dependency_pvt.create_task_dependency (
193: p_api_version => 1.0,
194: p_init_msg_list => fnd_api.g_false,
195: p_commit => fnd_api.g_false,
196: p_task_id => l_task_id,
197: p_dependent_on_task_id => l_dependent_on_task_id,
198: p_dependency_type_code => l_dependency_type_code,
191:
192: jtf_task_dependency_pvt.create_task_dependency (
193: p_api_version => 1.0,
194: p_init_msg_list => fnd_api.g_false,
195: p_commit => fnd_api.g_false,
196: p_task_id => l_task_id,
197: p_dependent_on_task_id => l_dependent_on_task_id,
198: p_dependency_type_code => l_dependency_type_code,
199: p_template_flag => l_template_flag,
221: p_attribute15 => p_attribute15,
222: p_attribute_category => p_attribute_category
223: );
224:
225: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
226: THEN
227: x_return_status := fnd_api.g_ret_sts_unexp_error;
228: RAISE fnd_api.g_exc_unexpected_error;
229: END IF;
223: );
224:
225: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
226: THEN
227: x_return_status := fnd_api.g_ret_sts_unexp_error;
228: RAISE fnd_api.g_exc_unexpected_error;
229: END IF;
230:
231: IF fnd_api.to_boolean (p_commit)
224:
225: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
226: THEN
227: x_return_status := fnd_api.g_ret_sts_unexp_error;
228: RAISE fnd_api.g_exc_unexpected_error;
229: END IF;
230:
231: IF fnd_api.to_boolean (p_commit)
232: THEN
227: x_return_status := fnd_api.g_ret_sts_unexp_error;
228: RAISE fnd_api.g_exc_unexpected_error;
229: END IF;
230:
231: IF fnd_api.to_boolean (p_commit)
232: THEN
233: COMMIT WORK;
234: END IF;
235:
234: END IF;
235:
236: fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
237: EXCEPTION
238: WHEN fnd_api.g_exc_unexpected_error
239: THEN
240: ROLLBACK TO create_task_dependency_pub;
241: x_return_status := fnd_api.g_ret_sts_unexp_error;
242: fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
237: EXCEPTION
238: WHEN fnd_api.g_exc_unexpected_error
239: THEN
240: ROLLBACK TO create_task_dependency_pub;
241: x_return_status := fnd_api.g_ret_sts_unexp_error;
242: fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
243: WHEN OTHERS
244: THEN
245: ROLLBACK TO create_task_dependency_pub;
244: THEN
245: ROLLBACK TO create_task_dependency_pub;
246: fnd_message.set_name ('JTF', 'JTF_TASK_UNKNOWN_ERROR');
247: fnd_message.set_token ('P_TEXT', SQLCODE || SQLERRM);
248: x_return_status := fnd_api.g_ret_sts_unexp_error;
249: fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
250: END;
251:
252: /**********************************************************************************************************
255: ***********************************************************************************************************
256: ***********************************************************************************************************/
257: PROCEDURE lock_task_dependency (
258: p_api_version IN NUMBER,
259: p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false,
260: p_commit IN VARCHAR2 DEFAULT fnd_api.g_false,
261: p_dependency_id IN NUMBER,
262: p_object_version_number IN NUMBER,
263: x_return_status OUT NOCOPY VARCHAR2,
256: ***********************************************************************************************************/
257: PROCEDURE lock_task_dependency (
258: p_api_version IN NUMBER,
259: p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false,
260: p_commit IN VARCHAR2 DEFAULT fnd_api.g_false,
261: p_dependency_id IN NUMBER,
262: p_object_version_number IN NUMBER,
263: x_return_status OUT NOCOPY VARCHAR2,
264: x_msg_data OUT NOCOPY VARCHAR2,
274:
275: begin
276: SAVEPOINT lock_task_depends_pub;
277:
278: x_return_status := fnd_api.g_ret_sts_success;
279:
280: IF NOT fnd_api.compatible_api_call (l_api_version, p_api_version, l_api_name, g_pkg_name)
281: THEN
282: RAISE fnd_api.g_exc_unexpected_error;
276: SAVEPOINT lock_task_depends_pub;
277:
278: x_return_status := fnd_api.g_ret_sts_success;
279:
280: IF NOT fnd_api.compatible_api_call (l_api_version, p_api_version, l_api_name, g_pkg_name)
281: THEN
282: RAISE fnd_api.g_exc_unexpected_error;
283: END IF;
284:
278: x_return_status := fnd_api.g_ret_sts_success;
279:
280: IF NOT fnd_api.compatible_api_call (l_api_version, p_api_version, l_api_name, g_pkg_name)
281: THEN
282: RAISE fnd_api.g_exc_unexpected_error;
283: END IF;
284:
285: IF fnd_api.to_boolean (p_init_msg_list)
286: THEN
281: THEN
282: RAISE fnd_api.g_exc_unexpected_error;
283: END IF;
284:
285: IF fnd_api.to_boolean (p_init_msg_list)
286: THEN
287: fnd_msg_pub.initialize;
288: END IF;
289:
286: THEN
287: fnd_msg_pub.initialize;
288: END IF;
289:
290: x_return_status := fnd_api.g_ret_sts_success;
291:
292: jtf_task_depends_pkg.lock_row(
293: x_dependency_id => p_dependency_id ,
294: x_object_version_number => p_object_version_number );
300: WHEN Resource_Locked then
301: ROLLBACK TO lock_task_depends_pub;
302: fnd_message.set_name ('JTF', 'JTF_TASK_RESOURCE_LOCKED');
303: fnd_message.set_token ('P_LOCKED_RESOURCE', 'Contacts');
304: x_return_status := fnd_api.g_ret_sts_unexp_error;
305: fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
306:
307: WHEN fnd_api.g_exc_unexpected_error
308: THEN
303: fnd_message.set_token ('P_LOCKED_RESOURCE', 'Contacts');
304: x_return_status := fnd_api.g_ret_sts_unexp_error;
305: fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
306:
307: WHEN fnd_api.g_exc_unexpected_error
308: THEN
309: ROLLBACK TO lock_task_depends_pub;
310: x_return_status := fnd_api.g_ret_sts_unexp_error;
311: fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
306:
307: WHEN fnd_api.g_exc_unexpected_error
308: THEN
309: ROLLBACK TO lock_task_depends_pub;
310: x_return_status := fnd_api.g_ret_sts_unexp_error;
311: fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
312: WHEN OTHERS
313: THEN
314: ROLLBACK TO lock_task_depends_pub;
313: THEN
314: ROLLBACK TO lock_task_depends_pub;
315: fnd_message.set_name ('JTF', 'JTF_TASK_UNKNOWN_ERROR');
316: fnd_message.set_token ('P_TEXT', SQLCODE || SQLERRM);
317: x_return_status := fnd_api.g_ret_sts_unexp_error;
318: fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
319: END;
320: /**********************************************************************************************************
321: ***********************************************************************************************************
323: ***********************************************************************************************************
324: ***********************************************************************************************************/
325: PROCEDURE update_task_dependency (
326: p_api_version IN NUMBER,
327: p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false,
328: p_commit IN VARCHAR2 DEFAULT fnd_api.g_false,
329: p_object_version_number in out nocopy number ,
330: p_dependency_id IN NUMBER,
331: p_task_id IN NUMBER DEFAULT fnd_api.g_miss_num,
324: ***********************************************************************************************************/
325: PROCEDURE update_task_dependency (
326: p_api_version IN NUMBER,
327: p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false,
328: p_commit IN VARCHAR2 DEFAULT fnd_api.g_false,
329: p_object_version_number in out nocopy number ,
330: p_dependency_id IN NUMBER,
331: p_task_id IN NUMBER DEFAULT fnd_api.g_miss_num,
332: p_dependent_on_task_id IN NUMBER DEFAULT fnd_api.g_miss_num,
327: p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false,
328: p_commit IN VARCHAR2 DEFAULT fnd_api.g_false,
329: p_object_version_number in out nocopy number ,
330: p_dependency_id IN NUMBER,
331: p_task_id IN NUMBER DEFAULT fnd_api.g_miss_num,
332: p_dependent_on_task_id IN NUMBER DEFAULT fnd_api.g_miss_num,
333: p_dependent_on_task_number IN VARCHAR2 DEFAULT fnd_api.g_miss_char,
334: p_dependency_type_code IN VARCHAR2 DEFAULT fnd_api.g_miss_char,
335: p_adjustment_time IN NUMBER DEFAULT fnd_api.g_miss_num,
328: p_commit IN VARCHAR2 DEFAULT fnd_api.g_false,
329: p_object_version_number in out nocopy number ,
330: p_dependency_id IN NUMBER,
331: p_task_id IN NUMBER DEFAULT fnd_api.g_miss_num,
332: p_dependent_on_task_id IN NUMBER DEFAULT fnd_api.g_miss_num,
333: p_dependent_on_task_number IN VARCHAR2 DEFAULT fnd_api.g_miss_char,
334: p_dependency_type_code IN VARCHAR2 DEFAULT fnd_api.g_miss_char,
335: p_adjustment_time IN NUMBER DEFAULT fnd_api.g_miss_num,
336: p_adjustment_time_uom IN VARCHAR2 DEFAULT fnd_api.g_miss_char,
329: p_object_version_number in out nocopy number ,
330: p_dependency_id IN NUMBER,
331: p_task_id IN NUMBER DEFAULT fnd_api.g_miss_num,
332: p_dependent_on_task_id IN NUMBER DEFAULT fnd_api.g_miss_num,
333: p_dependent_on_task_number IN VARCHAR2 DEFAULT fnd_api.g_miss_char,
334: p_dependency_type_code IN VARCHAR2 DEFAULT fnd_api.g_miss_char,
335: p_adjustment_time IN NUMBER DEFAULT fnd_api.g_miss_num,
336: p_adjustment_time_uom IN VARCHAR2 DEFAULT fnd_api.g_miss_char,
337: p_validated_flag IN VARCHAR2 DEFAULT jtf_task_utl.g_no,
330: p_dependency_id IN NUMBER,
331: p_task_id IN NUMBER DEFAULT fnd_api.g_miss_num,
332: p_dependent_on_task_id IN NUMBER DEFAULT fnd_api.g_miss_num,
333: p_dependent_on_task_number IN VARCHAR2 DEFAULT fnd_api.g_miss_char,
334: p_dependency_type_code IN VARCHAR2 DEFAULT fnd_api.g_miss_char,
335: p_adjustment_time IN NUMBER DEFAULT fnd_api.g_miss_num,
336: p_adjustment_time_uom IN VARCHAR2 DEFAULT fnd_api.g_miss_char,
337: p_validated_flag IN VARCHAR2 DEFAULT jtf_task_utl.g_no,
338: x_return_status OUT NOCOPY VARCHAR2,
331: p_task_id IN NUMBER DEFAULT fnd_api.g_miss_num,
332: p_dependent_on_task_id IN NUMBER DEFAULT fnd_api.g_miss_num,
333: p_dependent_on_task_number IN VARCHAR2 DEFAULT fnd_api.g_miss_char,
334: p_dependency_type_code IN VARCHAR2 DEFAULT fnd_api.g_miss_char,
335: p_adjustment_time IN NUMBER DEFAULT fnd_api.g_miss_num,
336: p_adjustment_time_uom IN VARCHAR2 DEFAULT fnd_api.g_miss_char,
337: p_validated_flag IN VARCHAR2 DEFAULT jtf_task_utl.g_no,
338: x_return_status OUT NOCOPY VARCHAR2,
339: x_msg_count OUT NOCOPY NUMBER,
332: p_dependent_on_task_id IN NUMBER DEFAULT fnd_api.g_miss_num,
333: p_dependent_on_task_number IN VARCHAR2 DEFAULT fnd_api.g_miss_char,
334: p_dependency_type_code IN VARCHAR2 DEFAULT fnd_api.g_miss_char,
335: p_adjustment_time IN NUMBER DEFAULT fnd_api.g_miss_num,
336: p_adjustment_time_uom IN VARCHAR2 DEFAULT fnd_api.g_miss_char,
337: p_validated_flag IN VARCHAR2 DEFAULT jtf_task_utl.g_no,
338: x_return_status OUT NOCOPY VARCHAR2,
339: x_msg_count OUT NOCOPY NUMBER,
340: x_msg_data OUT NOCOPY VARCHAR2,
370:
371: CURSOR c_jtf_task_depends
372: IS
373: SELECT
374: DECODE (p_task_id, fnd_api.g_miss_num, task_id, p_task_id) task_id,
375: DECODE (p_dependent_on_task_id, fnd_api.g_miss_num, dependent_on_task_id, p_dependent_on_task_id) dependent_on_task_id,
376: DECODE (p_dependency_type_code, fnd_api.g_miss_char, dependency_type_code, p_dependency_type_code) dependency_type_code,
377: template_flag,
378: DECODE (p_adjustment_time, fnd_api.g_miss_num, adjustment_time, p_adjustment_time) adjustment_time,
371: CURSOR c_jtf_task_depends
372: IS
373: SELECT
374: DECODE (p_task_id, fnd_api.g_miss_num, task_id, p_task_id) task_id,
375: DECODE (p_dependent_on_task_id, fnd_api.g_miss_num, dependent_on_task_id, p_dependent_on_task_id) dependent_on_task_id,
376: DECODE (p_dependency_type_code, fnd_api.g_miss_char, dependency_type_code, p_dependency_type_code) dependency_type_code,
377: template_flag,
378: DECODE (p_adjustment_time, fnd_api.g_miss_num, adjustment_time, p_adjustment_time) adjustment_time,
379: DECODE (p_adjustment_time_uom, fnd_api.g_miss_char, adjustment_time_uom, p_adjustment_time_uom) adjustment_time_uom,
372: IS
373: SELECT
374: DECODE (p_task_id, fnd_api.g_miss_num, task_id, p_task_id) task_id,
375: DECODE (p_dependent_on_task_id, fnd_api.g_miss_num, dependent_on_task_id, p_dependent_on_task_id) dependent_on_task_id,
376: DECODE (p_dependency_type_code, fnd_api.g_miss_char, dependency_type_code, p_dependency_type_code) dependency_type_code,
377: template_flag,
378: DECODE (p_adjustment_time, fnd_api.g_miss_num, adjustment_time, p_adjustment_time) adjustment_time,
379: DECODE (p_adjustment_time_uom, fnd_api.g_miss_char, adjustment_time_uom, p_adjustment_time_uom) adjustment_time_uom,
380: decode( p_attribute1 , fnd_api.g_miss_char , attribute1 , p_attribute1 ) attribute1 ,
374: DECODE (p_task_id, fnd_api.g_miss_num, task_id, p_task_id) task_id,
375: DECODE (p_dependent_on_task_id, fnd_api.g_miss_num, dependent_on_task_id, p_dependent_on_task_id) dependent_on_task_id,
376: DECODE (p_dependency_type_code, fnd_api.g_miss_char, dependency_type_code, p_dependency_type_code) dependency_type_code,
377: template_flag,
378: DECODE (p_adjustment_time, fnd_api.g_miss_num, adjustment_time, p_adjustment_time) adjustment_time,
379: DECODE (p_adjustment_time_uom, fnd_api.g_miss_char, adjustment_time_uom, p_adjustment_time_uom) adjustment_time_uom,
380: decode( p_attribute1 , fnd_api.g_miss_char , attribute1 , p_attribute1 ) attribute1 ,
381: decode( p_attribute2 , fnd_api.g_miss_char , attribute2 , p_attribute2 ) attribute2 ,
382: decode( p_attribute3 , fnd_api.g_miss_char , attribute3 , p_attribute3 ) attribute3 ,
375: DECODE (p_dependent_on_task_id, fnd_api.g_miss_num, dependent_on_task_id, p_dependent_on_task_id) dependent_on_task_id,
376: DECODE (p_dependency_type_code, fnd_api.g_miss_char, dependency_type_code, p_dependency_type_code) dependency_type_code,
377: template_flag,
378: DECODE (p_adjustment_time, fnd_api.g_miss_num, adjustment_time, p_adjustment_time) adjustment_time,
379: DECODE (p_adjustment_time_uom, fnd_api.g_miss_char, adjustment_time_uom, p_adjustment_time_uom) adjustment_time_uom,
380: decode( p_attribute1 , fnd_api.g_miss_char , attribute1 , p_attribute1 ) attribute1 ,
381: decode( p_attribute2 , fnd_api.g_miss_char , attribute2 , p_attribute2 ) attribute2 ,
382: decode( p_attribute3 , fnd_api.g_miss_char , attribute3 , p_attribute3 ) attribute3 ,
383: decode( p_attribute4 , fnd_api.g_miss_char , attribute4 , p_attribute4 ) attribute4 ,
376: DECODE (p_dependency_type_code, fnd_api.g_miss_char, dependency_type_code, p_dependency_type_code) dependency_type_code,
377: template_flag,
378: DECODE (p_adjustment_time, fnd_api.g_miss_num, adjustment_time, p_adjustment_time) adjustment_time,
379: DECODE (p_adjustment_time_uom, fnd_api.g_miss_char, adjustment_time_uom, p_adjustment_time_uom) adjustment_time_uom,
380: decode( p_attribute1 , fnd_api.g_miss_char , attribute1 , p_attribute1 ) attribute1 ,
381: decode( p_attribute2 , fnd_api.g_miss_char , attribute2 , p_attribute2 ) attribute2 ,
382: decode( p_attribute3 , fnd_api.g_miss_char , attribute3 , p_attribute3 ) attribute3 ,
383: decode( p_attribute4 , fnd_api.g_miss_char , attribute4 , p_attribute4 ) attribute4 ,
384: decode( p_attribute5 , fnd_api.g_miss_char , attribute5 , p_attribute5 ) attribute5 ,
377: template_flag,
378: DECODE (p_adjustment_time, fnd_api.g_miss_num, adjustment_time, p_adjustment_time) adjustment_time,
379: DECODE (p_adjustment_time_uom, fnd_api.g_miss_char, adjustment_time_uom, p_adjustment_time_uom) adjustment_time_uom,
380: decode( p_attribute1 , fnd_api.g_miss_char , attribute1 , p_attribute1 ) attribute1 ,
381: decode( p_attribute2 , fnd_api.g_miss_char , attribute2 , p_attribute2 ) attribute2 ,
382: decode( p_attribute3 , fnd_api.g_miss_char , attribute3 , p_attribute3 ) attribute3 ,
383: decode( p_attribute4 , fnd_api.g_miss_char , attribute4 , p_attribute4 ) attribute4 ,
384: decode( p_attribute5 , fnd_api.g_miss_char , attribute5 , p_attribute5 ) attribute5 ,
385: decode( p_attribute6 , fnd_api.g_miss_char , attribute6 , p_attribute6 ) attribute6 ,
378: DECODE (p_adjustment_time, fnd_api.g_miss_num, adjustment_time, p_adjustment_time) adjustment_time,
379: DECODE (p_adjustment_time_uom, fnd_api.g_miss_char, adjustment_time_uom, p_adjustment_time_uom) adjustment_time_uom,
380: decode( p_attribute1 , fnd_api.g_miss_char , attribute1 , p_attribute1 ) attribute1 ,
381: decode( p_attribute2 , fnd_api.g_miss_char , attribute2 , p_attribute2 ) attribute2 ,
382: decode( p_attribute3 , fnd_api.g_miss_char , attribute3 , p_attribute3 ) attribute3 ,
383: decode( p_attribute4 , fnd_api.g_miss_char , attribute4 , p_attribute4 ) attribute4 ,
384: decode( p_attribute5 , fnd_api.g_miss_char , attribute5 , p_attribute5 ) attribute5 ,
385: decode( p_attribute6 , fnd_api.g_miss_char , attribute6 , p_attribute6 ) attribute6 ,
386: decode( p_attribute7 , fnd_api.g_miss_char , attribute7 , p_attribute7 ) attribute7 ,
379: DECODE (p_adjustment_time_uom, fnd_api.g_miss_char, adjustment_time_uom, p_adjustment_time_uom) adjustment_time_uom,
380: decode( p_attribute1 , fnd_api.g_miss_char , attribute1 , p_attribute1 ) attribute1 ,
381: decode( p_attribute2 , fnd_api.g_miss_char , attribute2 , p_attribute2 ) attribute2 ,
382: decode( p_attribute3 , fnd_api.g_miss_char , attribute3 , p_attribute3 ) attribute3 ,
383: decode( p_attribute4 , fnd_api.g_miss_char , attribute4 , p_attribute4 ) attribute4 ,
384: decode( p_attribute5 , fnd_api.g_miss_char , attribute5 , p_attribute5 ) attribute5 ,
385: decode( p_attribute6 , fnd_api.g_miss_char , attribute6 , p_attribute6 ) attribute6 ,
386: decode( p_attribute7 , fnd_api.g_miss_char , attribute7 , p_attribute7 ) attribute7 ,
387: decode( p_attribute8 , fnd_api.g_miss_char , attribute8 , p_attribute8 ) attribute8 ,
380: decode( p_attribute1 , fnd_api.g_miss_char , attribute1 , p_attribute1 ) attribute1 ,
381: decode( p_attribute2 , fnd_api.g_miss_char , attribute2 , p_attribute2 ) attribute2 ,
382: decode( p_attribute3 , fnd_api.g_miss_char , attribute3 , p_attribute3 ) attribute3 ,
383: decode( p_attribute4 , fnd_api.g_miss_char , attribute4 , p_attribute4 ) attribute4 ,
384: decode( p_attribute5 , fnd_api.g_miss_char , attribute5 , p_attribute5 ) attribute5 ,
385: decode( p_attribute6 , fnd_api.g_miss_char , attribute6 , p_attribute6 ) attribute6 ,
386: decode( p_attribute7 , fnd_api.g_miss_char , attribute7 , p_attribute7 ) attribute7 ,
387: decode( p_attribute8 , fnd_api.g_miss_char , attribute8 , p_attribute8 ) attribute8 ,
388: decode( p_attribute9 , fnd_api.g_miss_char , attribute9 , p_attribute9 ) attribute9 ,
381: decode( p_attribute2 , fnd_api.g_miss_char , attribute2 , p_attribute2 ) attribute2 ,
382: decode( p_attribute3 , fnd_api.g_miss_char , attribute3 , p_attribute3 ) attribute3 ,
383: decode( p_attribute4 , fnd_api.g_miss_char , attribute4 , p_attribute4 ) attribute4 ,
384: decode( p_attribute5 , fnd_api.g_miss_char , attribute5 , p_attribute5 ) attribute5 ,
385: decode( p_attribute6 , fnd_api.g_miss_char , attribute6 , p_attribute6 ) attribute6 ,
386: decode( p_attribute7 , fnd_api.g_miss_char , attribute7 , p_attribute7 ) attribute7 ,
387: decode( p_attribute8 , fnd_api.g_miss_char , attribute8 , p_attribute8 ) attribute8 ,
388: decode( p_attribute9 , fnd_api.g_miss_char , attribute9 , p_attribute9 ) attribute9 ,
389: decode( p_attribute10 , fnd_api.g_miss_char , attribute10 , p_attribute10 ) attribute10 ,
382: decode( p_attribute3 , fnd_api.g_miss_char , attribute3 , p_attribute3 ) attribute3 ,
383: decode( p_attribute4 , fnd_api.g_miss_char , attribute4 , p_attribute4 ) attribute4 ,
384: decode( p_attribute5 , fnd_api.g_miss_char , attribute5 , p_attribute5 ) attribute5 ,
385: decode( p_attribute6 , fnd_api.g_miss_char , attribute6 , p_attribute6 ) attribute6 ,
386: decode( p_attribute7 , fnd_api.g_miss_char , attribute7 , p_attribute7 ) attribute7 ,
387: decode( p_attribute8 , fnd_api.g_miss_char , attribute8 , p_attribute8 ) attribute8 ,
388: decode( p_attribute9 , fnd_api.g_miss_char , attribute9 , p_attribute9 ) attribute9 ,
389: decode( p_attribute10 , fnd_api.g_miss_char , attribute10 , p_attribute10 ) attribute10 ,
390: decode( p_attribute11 , fnd_api.g_miss_char , attribute11 , p_attribute11 ) attribute11 ,
383: decode( p_attribute4 , fnd_api.g_miss_char , attribute4 , p_attribute4 ) attribute4 ,
384: decode( p_attribute5 , fnd_api.g_miss_char , attribute5 , p_attribute5 ) attribute5 ,
385: decode( p_attribute6 , fnd_api.g_miss_char , attribute6 , p_attribute6 ) attribute6 ,
386: decode( p_attribute7 , fnd_api.g_miss_char , attribute7 , p_attribute7 ) attribute7 ,
387: decode( p_attribute8 , fnd_api.g_miss_char , attribute8 , p_attribute8 ) attribute8 ,
388: decode( p_attribute9 , fnd_api.g_miss_char , attribute9 , p_attribute9 ) attribute9 ,
389: decode( p_attribute10 , fnd_api.g_miss_char , attribute10 , p_attribute10 ) attribute10 ,
390: decode( p_attribute11 , fnd_api.g_miss_char , attribute11 , p_attribute11 ) attribute11 ,
391: decode( p_attribute12 , fnd_api.g_miss_char , attribute12 , p_attribute12 ) attribute12 ,
384: decode( p_attribute5 , fnd_api.g_miss_char , attribute5 , p_attribute5 ) attribute5 ,
385: decode( p_attribute6 , fnd_api.g_miss_char , attribute6 , p_attribute6 ) attribute6 ,
386: decode( p_attribute7 , fnd_api.g_miss_char , attribute7 , p_attribute7 ) attribute7 ,
387: decode( p_attribute8 , fnd_api.g_miss_char , attribute8 , p_attribute8 ) attribute8 ,
388: decode( p_attribute9 , fnd_api.g_miss_char , attribute9 , p_attribute9 ) attribute9 ,
389: decode( p_attribute10 , fnd_api.g_miss_char , attribute10 , p_attribute10 ) attribute10 ,
390: decode( p_attribute11 , fnd_api.g_miss_char , attribute11 , p_attribute11 ) attribute11 ,
391: decode( p_attribute12 , fnd_api.g_miss_char , attribute12 , p_attribute12 ) attribute12 ,
392: decode( p_attribute13 , fnd_api.g_miss_char , attribute13 , p_attribute13 ) attribute13 ,
385: decode( p_attribute6 , fnd_api.g_miss_char , attribute6 , p_attribute6 ) attribute6 ,
386: decode( p_attribute7 , fnd_api.g_miss_char , attribute7 , p_attribute7 ) attribute7 ,
387: decode( p_attribute8 , fnd_api.g_miss_char , attribute8 , p_attribute8 ) attribute8 ,
388: decode( p_attribute9 , fnd_api.g_miss_char , attribute9 , p_attribute9 ) attribute9 ,
389: decode( p_attribute10 , fnd_api.g_miss_char , attribute10 , p_attribute10 ) attribute10 ,
390: decode( p_attribute11 , fnd_api.g_miss_char , attribute11 , p_attribute11 ) attribute11 ,
391: decode( p_attribute12 , fnd_api.g_miss_char , attribute12 , p_attribute12 ) attribute12 ,
392: decode( p_attribute13 , fnd_api.g_miss_char , attribute13 , p_attribute13 ) attribute13 ,
393: decode( p_attribute14 , fnd_api.g_miss_char , attribute14 , p_attribute14 ) attribute14 ,
386: decode( p_attribute7 , fnd_api.g_miss_char , attribute7 , p_attribute7 ) attribute7 ,
387: decode( p_attribute8 , fnd_api.g_miss_char , attribute8 , p_attribute8 ) attribute8 ,
388: decode( p_attribute9 , fnd_api.g_miss_char , attribute9 , p_attribute9 ) attribute9 ,
389: decode( p_attribute10 , fnd_api.g_miss_char , attribute10 , p_attribute10 ) attribute10 ,
390: decode( p_attribute11 , fnd_api.g_miss_char , attribute11 , p_attribute11 ) attribute11 ,
391: decode( p_attribute12 , fnd_api.g_miss_char , attribute12 , p_attribute12 ) attribute12 ,
392: decode( p_attribute13 , fnd_api.g_miss_char , attribute13 , p_attribute13 ) attribute13 ,
393: decode( p_attribute14 , fnd_api.g_miss_char , attribute14 , p_attribute14 ) attribute14 ,
394: decode( p_attribute15 , fnd_api.g_miss_char , attribute15 , p_attribute15 ) attribute15 ,
387: decode( p_attribute8 , fnd_api.g_miss_char , attribute8 , p_attribute8 ) attribute8 ,
388: decode( p_attribute9 , fnd_api.g_miss_char , attribute9 , p_attribute9 ) attribute9 ,
389: decode( p_attribute10 , fnd_api.g_miss_char , attribute10 , p_attribute10 ) attribute10 ,
390: decode( p_attribute11 , fnd_api.g_miss_char , attribute11 , p_attribute11 ) attribute11 ,
391: decode( p_attribute12 , fnd_api.g_miss_char , attribute12 , p_attribute12 ) attribute12 ,
392: decode( p_attribute13 , fnd_api.g_miss_char , attribute13 , p_attribute13 ) attribute13 ,
393: decode( p_attribute14 , fnd_api.g_miss_char , attribute14 , p_attribute14 ) attribute14 ,
394: decode( p_attribute15 , fnd_api.g_miss_char , attribute15 , p_attribute15 ) attribute15 ,
395: decode( p_attribute_category,fnd_api.g_miss_char,attribute_category,p_attribute_category) attribute_category
388: decode( p_attribute9 , fnd_api.g_miss_char , attribute9 , p_attribute9 ) attribute9 ,
389: decode( p_attribute10 , fnd_api.g_miss_char , attribute10 , p_attribute10 ) attribute10 ,
390: decode( p_attribute11 , fnd_api.g_miss_char , attribute11 , p_attribute11 ) attribute11 ,
391: decode( p_attribute12 , fnd_api.g_miss_char , attribute12 , p_attribute12 ) attribute12 ,
392: decode( p_attribute13 , fnd_api.g_miss_char , attribute13 , p_attribute13 ) attribute13 ,
393: decode( p_attribute14 , fnd_api.g_miss_char , attribute14 , p_attribute14 ) attribute14 ,
394: decode( p_attribute15 , fnd_api.g_miss_char , attribute15 , p_attribute15 ) attribute15 ,
395: decode( p_attribute_category,fnd_api.g_miss_char,attribute_category,p_attribute_category) attribute_category
396: FROM jtf_task_depends
389: decode( p_attribute10 , fnd_api.g_miss_char , attribute10 , p_attribute10 ) attribute10 ,
390: decode( p_attribute11 , fnd_api.g_miss_char , attribute11 , p_attribute11 ) attribute11 ,
391: decode( p_attribute12 , fnd_api.g_miss_char , attribute12 , p_attribute12 ) attribute12 ,
392: decode( p_attribute13 , fnd_api.g_miss_char , attribute13 , p_attribute13 ) attribute13 ,
393: decode( p_attribute14 , fnd_api.g_miss_char , attribute14 , p_attribute14 ) attribute14 ,
394: decode( p_attribute15 , fnd_api.g_miss_char , attribute15 , p_attribute15 ) attribute15 ,
395: decode( p_attribute_category,fnd_api.g_miss_char,attribute_category,p_attribute_category) attribute_category
396: FROM jtf_task_depends
397: WHERE dependency_id = p_dependency_id;
390: decode( p_attribute11 , fnd_api.g_miss_char , attribute11 , p_attribute11 ) attribute11 ,
391: decode( p_attribute12 , fnd_api.g_miss_char , attribute12 , p_attribute12 ) attribute12 ,
392: decode( p_attribute13 , fnd_api.g_miss_char , attribute13 , p_attribute13 ) attribute13 ,
393: decode( p_attribute14 , fnd_api.g_miss_char , attribute14 , p_attribute14 ) attribute14 ,
394: decode( p_attribute15 , fnd_api.g_miss_char , attribute15 , p_attribute15 ) attribute15 ,
395: decode( p_attribute_category,fnd_api.g_miss_char,attribute_category,p_attribute_category) attribute_category
396: FROM jtf_task_depends
397: WHERE dependency_id = p_dependency_id;
398:
391: decode( p_attribute12 , fnd_api.g_miss_char , attribute12 , p_attribute12 ) attribute12 ,
392: decode( p_attribute13 , fnd_api.g_miss_char , attribute13 , p_attribute13 ) attribute13 ,
393: decode( p_attribute14 , fnd_api.g_miss_char , attribute14 , p_attribute14 ) attribute14 ,
394: decode( p_attribute15 , fnd_api.g_miss_char , attribute15 , p_attribute15 ) attribute15 ,
395: decode( p_attribute_category,fnd_api.g_miss_char,attribute_category,p_attribute_category) attribute_category
396: FROM jtf_task_depends
397: WHERE dependency_id = p_dependency_id;
398:
399: task_depends c_jtf_task_depends%ROWTYPE;
399: task_depends c_jtf_task_depends%ROWTYPE;
400: BEGIN
401:
402: SAVEPOINT update_task_dependency_pub;
403: x_return_status := fnd_api.g_ret_sts_success;
404:
405: IF NOT fnd_api.compatible_api_call (l_api_version, p_api_version, l_api_name, g_pkg_name)
406: THEN
407: RAISE fnd_api.g_exc_unexpected_error;
401:
402: SAVEPOINT update_task_dependency_pub;
403: x_return_status := fnd_api.g_ret_sts_success;
404:
405: IF NOT fnd_api.compatible_api_call (l_api_version, p_api_version, l_api_name, g_pkg_name)
406: THEN
407: RAISE fnd_api.g_exc_unexpected_error;
408: END IF;
409:
403: x_return_status := fnd_api.g_ret_sts_success;
404:
405: IF NOT fnd_api.compatible_api_call (l_api_version, p_api_version, l_api_name, g_pkg_name)
406: THEN
407: RAISE fnd_api.g_exc_unexpected_error;
408: END IF;
409:
410: IF fnd_api.to_boolean (p_init_msg_list)
411: THEN
406: THEN
407: RAISE fnd_api.g_exc_unexpected_error;
408: END IF;
409:
410: IF fnd_api.to_boolean (p_init_msg_list)
411: THEN
412: fnd_msg_pub.initialize;
413: END IF;
414:
416: IF (l_dependency_id IS NULL)
417: THEN
418: fnd_message.set_name ('JTF', 'JTF_TASK_MISSING_DEPENDENCY_ID');
419: fnd_msg_pub.add;
420: x_return_status := fnd_api.g_ret_sts_unexp_error;
421: RAISE fnd_api.g_exc_unexpected_error;
422: END IF;
423:
424: OPEN c_jtf_task_depends;
417: THEN
418: fnd_message.set_name ('JTF', 'JTF_TASK_MISSING_DEPENDENCY_ID');
419: fnd_msg_pub.add;
420: x_return_status := fnd_api.g_ret_sts_unexp_error;
421: RAISE fnd_api.g_exc_unexpected_error;
422: END IF;
423:
424: OPEN c_jtf_task_depends;
425: FETCH c_jtf_task_depends INTO task_depends;
428: THEN
429: fnd_message.set_name ('JTF', 'JTF_TASK_INVALID_DEPENDS_ID');
430: fnd_message.set_token ('P_DEPENDENCY_ID', p_dependency_id);
431: fnd_msg_pub.add;
432: x_return_status := fnd_api.g_ret_sts_unexp_error;
433: RAISE fnd_api.g_exc_unexpected_error;
434: END IF;
435:
436: --- if template_flag is NOT input, then assign it the value from the table.
429: fnd_message.set_name ('JTF', 'JTF_TASK_INVALID_DEPENDS_ID');
430: fnd_message.set_token ('P_DEPENDENCY_ID', p_dependency_id);
431: fnd_msg_pub.add;
432: x_return_status := fnd_api.g_ret_sts_unexp_error;
433: RAISE fnd_api.g_exc_unexpected_error;
434: END IF;
435:
436: --- if template_flag is NOT input, then assign it the value from the table.
437: l_template_flag := task_depends.template_flag;
438: l_task_id := task_depends.task_id;
439:
440: --------------------
441: --------------------
442: IF NOT ( p_dependent_on_task_id = fnd_api.g_miss_num
443: AND p_dependent_on_task_number = fnd_api.g_miss_char)
444: THEN
445: SELECT DECODE (p_dependent_on_task_id, fnd_api.g_miss_num, NULL, p_dependent_on_task_id)
446: INTO l_dependent_on_task_id
439:
440: --------------------
441: --------------------
442: IF NOT ( p_dependent_on_task_id = fnd_api.g_miss_num
443: AND p_dependent_on_task_number = fnd_api.g_miss_char)
444: THEN
445: SELECT DECODE (p_dependent_on_task_id, fnd_api.g_miss_num, NULL, p_dependent_on_task_id)
446: INTO l_dependent_on_task_id
447: FROM dual;
441: --------------------
442: IF NOT ( p_dependent_on_task_id = fnd_api.g_miss_num
443: AND p_dependent_on_task_number = fnd_api.g_miss_char)
444: THEN
445: SELECT DECODE (p_dependent_on_task_id, fnd_api.g_miss_num, NULL, p_dependent_on_task_id)
446: INTO l_dependent_on_task_id
447: FROM dual;
448: SELECT DECODE (p_dependent_on_task_number, fnd_api.g_miss_char, NULL, p_dependent_on_task_number)
449: INTO l_dependent_on_task_number
444: THEN
445: SELECT DECODE (p_dependent_on_task_id, fnd_api.g_miss_num, NULL, p_dependent_on_task_id)
446: INTO l_dependent_on_task_id
447: FROM dual;
448: SELECT DECODE (p_dependent_on_task_number, fnd_api.g_miss_char, NULL, p_dependent_on_task_number)
449: INTO l_dependent_on_task_number
450: FROM dual;
451:
452: IF NOT (l_template_flag = fnd_api.g_true)
448: SELECT DECODE (p_dependent_on_task_number, fnd_api.g_miss_char, NULL, p_dependent_on_task_number)
449: INTO l_dependent_on_task_number
450: FROM dual;
451:
452: IF NOT (l_template_flag = fnd_api.g_true)
453: THEN
454: ---- Here the task id is assigned null, if the task id is NOT input,
455: --- because then task number could be input.
456:
469: x_task_id => l_dependent_on_task_id
470: );
471: END IF;
472:
473: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
474: THEN
475: x_return_status := fnd_api.g_ret_sts_unexp_error;
476: RAISE fnd_api.g_exc_unexpected_error;
477: END IF;
471: END IF;
472:
473: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
474: THEN
475: x_return_status := fnd_api.g_ret_sts_unexp_error;
476: RAISE fnd_api.g_exc_unexpected_error;
477: END IF;
478:
479: IF l_dependent_on_task_id IS NULL
472:
473: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
474: THEN
475: x_return_status := fnd_api.g_ret_sts_unexp_error;
476: RAISE fnd_api.g_exc_unexpected_error;
477: END IF;
478:
479: IF l_dependent_on_task_id IS NULL
480: THEN
477: END IF;
478:
479: IF l_dependent_on_task_id IS NULL
480: THEN
481: x_return_status := fnd_api.g_ret_sts_unexp_error;
482: fnd_message.set_name ('JTF', 'JTF_TASK_MISSING_TASK');
483: fnd_msg_pub.add;
484: RAISE fnd_api.g_exc_unexpected_error;
485: END IF;
480: THEN
481: x_return_status := fnd_api.g_ret_sts_unexp_error;
482: fnd_message.set_name ('JTF', 'JTF_TASK_MISSING_TASK');
483: fnd_msg_pub.add;
484: RAISE fnd_api.g_exc_unexpected_error;
485: END IF;
486: ELSE
487: l_dependent_on_task_id := task_depends.dependent_on_task_id;
488: END IF;
488: END IF;
489:
490: -------------------
491: -------------------
492: IF l_dependency_type_code = fnd_api.g_miss_char
493: THEN
494: --- if the dependency type code is supplied then
495: --- check if it exists
496: l_dependency_type_code := task_depends.dependency_type_code;
496: l_dependency_type_code := task_depends.dependency_type_code;
497: ELSE
498: IF NOT jtf_task_utl.validate_dependency_code (l_dependency_type_code)
499: THEN
500: x_return_status := fnd_api.g_ret_sts_unexp_error;
501: RAISE fnd_api.g_exc_unexpected_error;
502: END IF;
503: END IF;
504:
497: ELSE
498: IF NOT jtf_task_utl.validate_dependency_code (l_dependency_type_code)
499: THEN
500: x_return_status := fnd_api.g_ret_sts_unexp_error;
501: RAISE fnd_api.g_exc_unexpected_error;
502: END IF;
503: END IF;
504:
505: jtf_task_dependency_pvt.update_task_dependency (
503: END IF;
504:
505: jtf_task_dependency_pvt.update_task_dependency (
506: p_api_version => 1.0,
507: p_init_msg_list => fnd_api.g_false,
508: p_commit => fnd_api.g_false,
509: p_object_version_number => p_object_version_number,
510: p_dependency_id => p_dependency_id,
511: p_task_id => l_task_id,
504:
505: jtf_task_dependency_pvt.update_task_dependency (
506: p_api_version => 1.0,
507: p_init_msg_list => fnd_api.g_false,
508: p_commit => fnd_api.g_false,
509: p_object_version_number => p_object_version_number,
510: p_dependency_id => p_dependency_id,
511: p_task_id => l_task_id,
512: p_dependent_on_task_id => l_dependent_on_task_id,
534: p_attribute15 => task_depends.attribute15 ,
535: p_attribute_category => task_depends.attribute_category
536: );
537:
538: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
539: THEN
540: x_return_status := fnd_api.g_ret_sts_unexp_error;
541: RAISE fnd_api.g_exc_unexpected_error;
542: END IF;
536: );
537:
538: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
539: THEN
540: x_return_status := fnd_api.g_ret_sts_unexp_error;
541: RAISE fnd_api.g_exc_unexpected_error;
542: END IF;
543:
544: IF fnd_api.to_boolean (p_commit)
537:
538: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
539: THEN
540: x_return_status := fnd_api.g_ret_sts_unexp_error;
541: RAISE fnd_api.g_exc_unexpected_error;
542: END IF;
543:
544: IF fnd_api.to_boolean (p_commit)
545: THEN
540: x_return_status := fnd_api.g_ret_sts_unexp_error;
541: RAISE fnd_api.g_exc_unexpected_error;
542: END IF;
543:
544: IF fnd_api.to_boolean (p_commit)
545: THEN
546: COMMIT WORK;
547: END IF;
548:
554: fnd_msg_pub.count_and_get (
555: p_count => x_msg_count,
556: p_data => x_msg_data);
557: EXCEPTION
558: WHEN fnd_api.g_exc_unexpected_error
559: THEN
560: ROLLBACK TO update_task_dependency_pub;
561:
562: IF c_jtf_task_depends%ISOPEN
563: THEN
564: CLOSE c_jtf_task_depends;
565: END IF;
566:
567: x_return_status := fnd_api.g_ret_sts_unexp_error;
568: fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
569: WHEN OTHERS
570: THEN
571: IF c_jtf_task_depends%ISOPEN
575:
576: ROLLBACK TO update_task_dependency_pub;
577: fnd_message.set_name ('JTF', 'JTF_TASK_UNKNOWN_ERROR');
578: fnd_message.set_token ('P_TEXT', SQLCODE || SQLERRM);
579: x_return_status := fnd_api.g_ret_sts_unexp_error;
580: fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
581: END;
582:
583: PROCEDURE delete_task_dependency (
581: END;
582:
583: PROCEDURE delete_task_dependency (
584: p_api_version IN NUMBER,
585: p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false,
586: p_commit IN VARCHAR2 DEFAULT fnd_api.g_false,
587: p_object_version_number in number ,
588: p_dependency_id IN NUMBER,
589: x_return_status OUT NOCOPY VARCHAR2,
582:
583: PROCEDURE delete_task_dependency (
584: p_api_version IN NUMBER,
585: p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false,
586: p_commit IN VARCHAR2 DEFAULT fnd_api.g_false,
587: p_object_version_number in number ,
588: p_dependency_id IN NUMBER,
589: x_return_status OUT NOCOPY VARCHAR2,
590: x_msg_count OUT NOCOPY NUMBER,
592: )
593: IS
594: l_api_version CONSTANT NUMBER := 1.0;
595: l_api_name CONSTANT VARCHAR2(30) := 'DELETE_TASK_DEPENDENCY';
596: l_return_status VARCHAR2(1) := fnd_api.g_ret_sts_success;
597: l_msg_data VARCHAR2(2000);
598: l_msg_count NUMBER;
599: l_dependency_id jtf_task_depends.dependency_id%TYPE := p_dependency_id;
600:
607: x CHAR;
608: BEGIN
609:
610: SAVEPOINT delete_task_dependency_pub;
611: x_return_status := fnd_api.g_ret_sts_success;
612:
613: IF NOT fnd_api.compatible_api_call (l_api_version, p_api_version, l_api_name, g_pkg_name)
614: THEN
615: RAISE fnd_api.g_exc_unexpected_error;
609:
610: SAVEPOINT delete_task_dependency_pub;
611: x_return_status := fnd_api.g_ret_sts_success;
612:
613: IF NOT fnd_api.compatible_api_call (l_api_version, p_api_version, l_api_name, g_pkg_name)
614: THEN
615: RAISE fnd_api.g_exc_unexpected_error;
616: END IF;
617:
611: x_return_status := fnd_api.g_ret_sts_success;
612:
613: IF NOT fnd_api.compatible_api_call (l_api_version, p_api_version, l_api_name, g_pkg_name)
614: THEN
615: RAISE fnd_api.g_exc_unexpected_error;
616: END IF;
617:
618: IF fnd_api.to_boolean (p_init_msg_list)
619: THEN
614: THEN
615: RAISE fnd_api.g_exc_unexpected_error;
616: END IF;
617:
618: IF fnd_api.to_boolean (p_init_msg_list)
619: THEN
620: fnd_msg_pub.initialize;
621: END IF;
622:
627: THEN
628:
629: fnd_message.set_name ('JTF', 'JTF_TASK_MISSING_DEPENDS');
630: fnd_msg_pub.add;
631: x_return_status := fnd_api.g_ret_sts_unexp_error;
632: RAISE fnd_api.g_exc_unexpected_error;
633: END IF;
634:
635: ---- if the dependency is NOT valid, then it is an error
628:
629: fnd_message.set_name ('JTF', 'JTF_TASK_MISSING_DEPENDS');
630: fnd_msg_pub.add;
631: x_return_status := fnd_api.g_ret_sts_unexp_error;
632: RAISE fnd_api.g_exc_unexpected_error;
633: END IF;
634:
635: ---- if the dependency is NOT valid, then it is an error
636: OPEN c_jtf_task_depends;
640: THEN
641: fnd_message.set_name ('JTF', 'JTF_TASK_INVALID_DEPENDS_ID');
642: fnd_message.set_token('P_DEPENDENCY_ID',P_DEPENDENCY_ID);
643: fnd_msg_pub.add;
644: x_return_status := fnd_api.g_ret_sts_unexp_error;
645: RAISE fnd_api.g_exc_unexpected_error;
646: ELSE
647: jtf_task_dependency_pvt.delete_task_dependency (
648: p_api_version => l_api_version,
641: fnd_message.set_name ('JTF', 'JTF_TASK_INVALID_DEPENDS_ID');
642: fnd_message.set_token('P_DEPENDENCY_ID',P_DEPENDENCY_ID);
643: fnd_msg_pub.add;
644: x_return_status := fnd_api.g_ret_sts_unexp_error;
645: RAISE fnd_api.g_exc_unexpected_error;
646: ELSE
647: jtf_task_dependency_pvt.delete_task_dependency (
648: p_api_version => l_api_version,
649: p_init_msg_list => fnd_api.g_false,
645: RAISE fnd_api.g_exc_unexpected_error;
646: ELSE
647: jtf_task_dependency_pvt.delete_task_dependency (
648: p_api_version => l_api_version,
649: p_init_msg_list => fnd_api.g_false,
650: p_commit => fnd_api.g_false,
651: p_object_version_number => p_object_version_number,
652: p_dependency_id => l_dependency_id,
653: x_return_status => l_return_status,
646: ELSE
647: jtf_task_dependency_pvt.delete_task_dependency (
648: p_api_version => l_api_version,
649: p_init_msg_list => fnd_api.g_false,
650: p_commit => fnd_api.g_false,
651: p_object_version_number => p_object_version_number,
652: p_dependency_id => l_dependency_id,
653: x_return_status => l_return_status,
654: x_msg_count => l_msg_count,
654: x_msg_count => l_msg_count,
655: x_msg_data => l_msg_data
656: );
657:
658: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
659: THEN
660: x_return_status := fnd_api.g_ret_sts_unexp_error;
661: RAISE fnd_api.g_exc_unexpected_error;
662: END IF;
656: );
657:
658: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
659: THEN
660: x_return_status := fnd_api.g_ret_sts_unexp_error;
661: RAISE fnd_api.g_exc_unexpected_error;
662: END IF;
663:
664: END IF;
657:
658: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
659: THEN
660: x_return_status := fnd_api.g_ret_sts_unexp_error;
661: RAISE fnd_api.g_exc_unexpected_error;
662: END IF;
663:
664: END IF;
665:
667: THEN
668: CLOSE c_jtf_task_depends;
669: END IF;
670:
671: IF fnd_api.to_boolean (p_commit)
672: THEN
673: COMMIT WORK;
674: END IF;
675:
674: END IF;
675:
676: fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
677: EXCEPTION
678: WHEN fnd_api.g_exc_error
679: THEN
680:
681:
682: ROLLBACK TO delete_task_dependency_pub;
685: THEN
686: CLOSE c_jtf_task_depends;
687: END IF;
688:
689: x_return_status := fnd_api.g_ret_sts_error;
690: fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
691: WHEN fnd_api.g_exc_unexpected_error
692: THEN
693:
687: END IF;
688:
689: x_return_status := fnd_api.g_ret_sts_error;
690: fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
691: WHEN fnd_api.g_exc_unexpected_error
692: THEN
693:
694:
695: ROLLBACK TO delete_task_dependency_pub;
698: THEN
699: CLOSE c_jtf_task_depends;
700: END IF;
701:
702: x_return_status := fnd_api.g_ret_sts_unexp_error;
703: fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
704: WHEN OTHERS
705: THEN
706:
712: END IF;
713:
714: fnd_message.set_name ('JTF', 'JTF_TASK_UNKNOWN_ERROR');
715: fnd_message.set_token ('P_TEXT', SQLCODE || SQLERRM);
716: x_return_status := fnd_api.g_ret_sts_unexp_error;
717: fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
718: END; -- Delete Task dependency
719: END;