78: END IF;
79:
80: -- Initialize message list if p_init_msg_list is set to TRUE.
81: IF fnd_api.to_boolean(p_init_msg_list) THEN
82: fnd_msg_pub.initialize;
83: END IF;
84:
85: -- Initialize API return status to success
86: x_return_status := fnd_api.g_ret_sts_success;
87:
88: l_user_id := get_user_id(p_user_name);
89: IF l_user_id = -1 THEN
90: fnd_message.set_name('QA', 'QA_API_INVALID_USER');
91: fnd_msg_pub.add();
92: raise fnd_api.g_exc_error;
93: END IF;
94:
95: UPDATE qa_device_data_values
105:
106: IF sql%rowcount = 0 THEN
107: fnd_message.set_name('QA', 'QA_DEV_INSERT_FAILED');
108: fnd_message.set_token('DEVNAME',p_device_name);
109: fnd_msg_pub.add();
110: raise fnd_api.g_exc_error;
111: END IF;
112:
113: IF fnd_api.to_boolean(p_commit) THEN
116: EXCEPTION
117:
118: WHEN fnd_api.g_exc_error THEN
119: x_return_status := fnd_api.g_ret_sts_error;
120: fnd_msg_pub.count_and_get(
121: p_count => x_msg_count,
122: p_data => x_msg_data
123: );
124:
123: );
124:
125: WHEN fnd_api.g_exc_unexpected_error THEN
126: x_return_status := fnd_api.g_ret_sts_unexp_error;
127: fnd_msg_pub.count_and_get(
128: p_count => x_msg_count,
129: p_data => x_msg_data
130: );
131:
131:
132: WHEN others THEN
133: fnd_message.set_name('QA', 'QA_DEV_INSERT_FAILED');
134: fnd_message.set_token('DEVNAME',p_device_name);
135: fnd_msg_pub.add();
136: x_return_status := fnd_api.g_ret_sts_error;
137: fnd_msg_pub.count_and_get(
138: p_count => x_msg_count,
139: p_data => x_msg_data
133: fnd_message.set_name('QA', 'QA_DEV_INSERT_FAILED');
134: fnd_message.set_token('DEVNAME',p_device_name);
135: fnd_msg_pub.add();
136: x_return_status := fnd_api.g_ret_sts_error;
137: fnd_msg_pub.count_and_get(
138: p_count => x_msg_count,
139: p_data => x_msg_data
140: );
141:
173: END IF;
174:
175: -- Initialize message list if p_init_msg_list is set to TRUE.
176: IF fnd_api.to_boolean(p_init_msg_list) THEN
177: fnd_msg_pub.initialize;
178: END IF;
179:
180: -- Initialize API return status to success
181: x_return_status := fnd_api.g_ret_sts_success;
182:
183: l_user_id := get_user_id(p_user_name);
184: IF l_user_id = -1 THEN
185: fnd_message.set_name('QA', 'QA_API_INVALID_USER');
186: fnd_msg_pub.add();
187: raise fnd_api.g_exc_error;
188: END IF;
189:
190: -- Check if data for all devices has been passed.
191: IF p_device_name.COUNT <> p_device_data.COUNT
192: OR p_device_name.COUNT <> p_device_event_time.COUNT
193: OR p_device_name.COUNT <> p_quality_code.COUNT THEN
194: fnd_message.set_name('QA', 'QA_DEV_INCOMPLETE_DATA');
195: fnd_msg_pub.add();
196: raise fnd_api.g_exc_error;
197: END IF;
198:
199: FORALL i IN p_device_name.FIRST..p_device_name.LAST SAVE EXCEPTIONS
225:
226: IF l_err_device_names IS NOT NULL THEN
227: fnd_message.set_name('QA', 'QA_DEV_INSERT_FAILED');
228: fnd_message.set_token('DEVNAME',l_err_device_names);
229: fnd_msg_pub.add();
230: raise fnd_api.g_exc_error;
231: END IF;
232: EXCEPTION
233:
232: EXCEPTION
233:
234: WHEN fnd_api.g_exc_error THEN
235: x_return_status := fnd_api.g_ret_sts_error;
236: fnd_msg_pub.count_and_get(
237: p_count => x_msg_count,
238: p_data => x_msg_data
239: );
240:
239: );
240:
241: WHEN fnd_api.g_exc_unexpected_error THEN
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: );
247:
254: END IF;
255: END LOOP;
256: fnd_message.set_name('QA', 'QA_DEV_INSERT_FAILED');
257: fnd_message.set_token('DEVNAME',l_err_device_names);
258: fnd_msg_pub.add();
259: x_return_status := fnd_api.g_ret_sts_error;
260: fnd_msg_pub.count_and_get(
261: p_count => x_msg_count,
262: p_data => x_msg_data
256: fnd_message.set_name('QA', 'QA_DEV_INSERT_FAILED');
257: fnd_message.set_token('DEVNAME',l_err_device_names);
258: fnd_msg_pub.add();
259: x_return_status := fnd_api.g_ret_sts_error;
260: fnd_msg_pub.count_and_get(
261: p_count => x_msg_count,
262: p_data => x_msg_data
263: );
264:
292: END IF;
293:
294: -- Initialize message list if p_init_msg_list is set to TRUE.
295: IF fnd_api.to_boolean(p_init_msg_list) THEN
296: fnd_msg_pub.initialize;
297: END IF;
298:
299: -- Initialize API return status to success
300: x_return_status := fnd_api.g_ret_sts_success;
301:
302: l_user_id := get_user_id(p_user_name);
303: IF l_user_id = -1 THEN
304: fnd_message.set_name('QA', 'QA_API_INVALID_USER');
305: fnd_msg_pub.add();
306: raise fnd_api.g_exc_error;
307: END IF;
308:
309: -- Check if data for all devices has been passed.
308:
309: -- Check if data for all devices has been passed.
310: IF p_device_name.COUNT <> p_device_desc.COUNT OR p_device_name.COUNT <> p_expiration.COUNT THEN
311: fnd_message.set_name('QA', 'QA_DEV_INCOMPLETE_DATA');
312: fnd_msg_pub.add();
313: raise fnd_api.g_exc_error;
314: END IF;
315:
316: FORALL i IN p_device_name.FIRST..p_device_name.LAST SAVE EXCEPTIONS
398: EXCEPTION
399:
400: WHEN fnd_api.g_exc_error THEN
401: x_return_status := fnd_api.g_ret_sts_error;
402: fnd_msg_pub.count_and_get(
403: p_count => x_msg_count,
404: p_data => x_msg_data
405: );
406:
405: );
406:
407: WHEN fnd_api.g_exc_unexpected_error THEN
408: x_return_status := fnd_api.g_ret_sts_unexp_error;
409: fnd_msg_pub.count_and_get(
410: p_count => x_msg_count,
411: p_data => x_msg_data
412: );
413:
443: END IF;
444:
445: -- Initialize message list if p_init_msg_list is set to TRUE.
446: IF fnd_api.to_boolean(p_init_msg_list) THEN
447: fnd_msg_pub.initialize;
448: END IF;
449:
450: -- Initialize API return status to success
451: x_return_status := fnd_api.g_ret_sts_success;
452:
453: l_user_id := get_user_id(p_user_name);
454: IF l_user_id = -1 THEN
455: fnd_message.set_name('QA', 'QA_API_INVALID_USER');
456: fnd_msg_pub.add();
457: raise fnd_api.g_exc_error;
458: END IF;
459:
460: --Disable all required devices
480: EXCEPTION
481:
482: WHEN fnd_api.g_exc_error THEN
483: x_return_status := fnd_api.g_ret_sts_error;
484: fnd_msg_pub.count_and_get(
485: p_count => x_msg_count,
486: p_data => x_msg_data
487: );
488:
487: );
488:
489: WHEN fnd_api.g_exc_unexpected_error THEN
490: x_return_status := fnd_api.g_ret_sts_unexp_error;
491: fnd_msg_pub.count_and_get(
492: p_count => x_msg_count,
493: p_data => x_msg_data
494: );
495: