1: PACKAGE BODY GMD_RESULTS_PVT AS
2: /* $Header: GMDVRESB.pls 120.1 2006/06/26 12:57:12 ragsriva noship $ */
3:
4: -- Start of comments
5: --+==========================================================================+
7: --| Redwood Shores, CA, USA |
8: --| All rights reserved. |
9: --+==========================================================================+
10: --| File Name : GMDVRESB.pls |
11: --| Package Name : GMD_RESULTS_PVT |
12: --| Type : Private |
13: --| |
14: --| Notes |
15: --| This package contains private layer APIs for Results |
23: -- End of comments
24:
25:
26: FUNCTION insert_row (
27: p_results IN GMD_RESULTS%ROWTYPE
28: , x_results OUT NOCOPY GMD_RESULTS%ROWTYPE) RETURN BOOLEAN IS
29: BEGIN
30:
31: x_results := p_results;
24:
25:
26: FUNCTION insert_row (
27: p_results IN GMD_RESULTS%ROWTYPE
28: , x_results OUT NOCOPY GMD_RESULTS%ROWTYPE) RETURN BOOLEAN IS
29: BEGIN
30:
31: x_results := p_results;
32:
29: BEGIN
30:
31: x_results := p_results;
32:
33: INSERT INTO GMD_RESULTS
34: (
35: RESULT_ID
36: ,SAMPLE_ID
37: ,TEST_ID
178: END IF;
179:
180: EXCEPTION
181: WHEN OTHERS THEN
182: fnd_msg_pub.add_exc_msg ('GMD_RESULTS_PVT', 'INSERT_ROW');
183: RETURN FALSE;
184:
185: END insert_row;
186:
199: BEGIN
200: IF p_result_id IS NOT NULL THEN
201: SELECT 1
202: INTO dummy
203: FROM gmd_results
204: WHERE result_id = p_result_id
205: FOR UPDATE NOWAIT;
206:
207: UPDATE gmd_results
203: FROM gmd_results
204: WHERE result_id = p_result_id
205: FOR UPDATE NOWAIT;
206:
207: UPDATE gmd_results
208: SET delete_mark = 1,
209: last_updated_by = fnd_global.user_id,
210: last_update_date = SYSDATE
211: WHERE result_id = p_result_id
210: last_update_date = SYSDATE
211: WHERE result_id = p_result_id
212: ;
213: ELSE
214: GMD_API_PUB.log_message('GMD_NO_KEYS','TABLE_NAME', 'GMD_RESULTS');
215: RETURN FALSE;
216: END IF;
217:
218: IF (SQL%FOUND) THEN
217:
218: IF (SQL%FOUND) THEN
219: RETURN TRUE;
220: ELSE
221: GMD_API_PUB.log_message('GMD_NO_DATA_FOUND','TABLE_NAME', 'GMD_RESULTS');
222: RETURN FALSE;
223: END IF;
224:
225: EXCEPTION
224:
225: EXCEPTION
226: WHEN locked_by_other_user THEN
227: GMD_API_PUB.log_message('GMD_RECORD_LOCKED',
228: 'TABLE_NAME', 'GMD_RESULTS',
229: 'RECORD','Result',
230: 'KEY', p_result_id);
231: RETURN FALSE;
232:
230: 'KEY', p_result_id);
231: RETURN FALSE;
232:
233: WHEN OTHERS THEN
234: fnd_msg_pub.add_exc_msg ('GMD_RESULTS_PVT', 'DELETE_ROW');
235: RETURN FALSE;
236:
237: END delete_row;
238:
250: BEGIN
251: IF p_result_id IS NOT NULL THEN
252: SELECT 1
253: INTO dummy
254: FROM gmd_results
255: WHERE result_id = p_result_id
256: FOR UPDATE NOWAIT;
257: ELSE
258: GMD_API_PUB.log_message('GMD_NO_KEYS','TABLE_NAME', 'GMD_RESULTS');
254: FROM gmd_results
255: WHERE result_id = p_result_id
256: FOR UPDATE NOWAIT;
257: ELSE
258: GMD_API_PUB.log_message('GMD_NO_KEYS','TABLE_NAME', 'GMD_RESULTS');
259: RETURN FALSE;
260: END IF;
261:
262: RETURN TRUE;
263:
264: EXCEPTION
265: WHEN locked_by_other_user THEN
266: GMD_API_PUB.log_message('GMD_RECORD_LOCKED',
267: 'TABLE_NAME', 'GMD_RESULTS',
268: 'RECORD','Result',
269: 'KEY', p_result_id);
270: RETURN FALSE;
271:
269: 'KEY', p_result_id);
270: RETURN FALSE;
271:
272: WHEN OTHERS THEN
273: fnd_msg_pub.add_exc_msg ('GMD_RESULTS_PVT', 'LOCK_ROW');
274: RETURN FALSE;
275:
276: END lock_row;
277:
277:
278:
279:
280: FUNCTION fetch_row (
281: p_results IN gmd_results%ROWTYPE
282: , x_results OUT NOCOPY gmd_results%ROWTYPE
283: )
284: RETURN BOOLEAN
285: IS
278:
279:
280: FUNCTION fetch_row (
281: p_results IN gmd_results%ROWTYPE
282: , x_results OUT NOCOPY gmd_results%ROWTYPE
283: )
284: RETURN BOOLEAN
285: IS
286: BEGIN
287:
288: IF (p_results.result_id IS NOT NULL) THEN
289: SELECT *
290: INTO x_results
291: FROM gmd_results
292: WHERE result_id = p_results.result_id;
293:
294: ELSIF (p_results.test_id IS NOT NULL AND
295: p_results.sample_id IS NOT NULL AND
300: -- Should be the unique FK's to find a result record.
301:
302: SELECT *
303: INTO x_results
304: FROM gmd_results
305: WHERE test_id = p_results.test_id
306: AND sample_id = p_results.sample_id
307: AND test_replicate_cnt = p_results.test_replicate_cnt;
308:
306: AND sample_id = p_results.sample_id
307: AND test_replicate_cnt = p_results.test_replicate_cnt;
308:
309: ELSE
310: gmd_api_pub.log_message('GMD_NO_KEYS','TABLE_NAME', 'GMD_RESULTS');
311: RETURN FALSE;
312: END IF;
313:
314: RETURN TRUE;
315:
316: EXCEPTION
317: WHEN NO_DATA_FOUND
318: THEN
319: gmd_api_pub.log_message('GMD_NO_DATA_FOUND','TABLE_NAME', 'GMD_RESULTS');
320: RETURN FALSE;
321: WHEN OTHERS
322: THEN
323: fnd_msg_pub.add_exc_msg ('GMD_RESULTS_PVT', 'FETCH_ROW');
319: gmd_api_pub.log_message('GMD_NO_DATA_FOUND','TABLE_NAME', 'GMD_RESULTS');
320: RETURN FALSE;
321: WHEN OTHERS
322: THEN
323: fnd_msg_pub.add_exc_msg ('GMD_RESULTS_PVT', 'FETCH_ROW');
324: RETURN FALSE;
325:
326: END fetch_row;
327:
324: RETURN FALSE;
325:
326: END fetch_row;
327:
328: END GMD_RESULTS_PVT;