1: PACKAGE BODY GMD_SAMPLES_PVT AS
2: /* $Header: GMDVSMPB.pls 120.2.12010000.2 2009/03/18 15:59:12 rnalla ship $ */
3:
4: -- Start of comments
5: --+==========================================================================+
7: --| Redwood Shores, CA, USA |
8: --| All rights reserved. |
9: --+==========================================================================+
10: --| File Name : GMDVSMPB.pls |
11: --| Package Name : GMD_SAMPLES_PVT |
12: --| Type : Private |
13: --| |
14: --| Notes |
15: --| This package contains private layer APIs for Samples |
42: -- End of comments
43:
44:
45: FUNCTION insert_row (
46: p_samples IN GMD_SAMPLES%ROWTYPE
47: , x_samples OUT NOCOPY GMD_SAMPLES%ROWTYPE) RETURN BOOLEAN IS
48: BEGIN
49:
50: x_samples := p_samples;
43:
44:
45: FUNCTION insert_row (
46: p_samples IN GMD_SAMPLES%ROWTYPE
47: , x_samples OUT NOCOPY GMD_SAMPLES%ROWTYPE) RETURN BOOLEAN IS
48: BEGIN
49:
50: x_samples := p_samples;
51:
48: BEGIN
49:
50: x_samples := p_samples;
51:
52: INSERT INTO GMD_SAMPLES
53: (
54: SAMPLE_ID
55: ,SAMPLE_NO
56: ,SAMPLE_DESC
271: END IF;
272:
273: EXCEPTION
274: WHEN OTHERS THEN
275: fnd_msg_pub.add_exc_msg ('GMD_SAMPLES_PVT', 'INSERT_ROW');
276: RETURN FALSE;
277:
278: END insert_row;
279:
296:
297: IF p_sample_id IS NOT NULL THEN
298: SELECT 1
299: INTO dummy
300: FROM gmd_samples
301: WHERE sample_id = p_sample_id
302: FOR UPDATE NOWAIT;
303:
304: UPDATE gmd_samples
300: FROM gmd_samples
301: WHERE sample_id = p_sample_id
302: FOR UPDATE NOWAIT;
303:
304: UPDATE gmd_samples
305: SET delete_mark = 1,
306: last_updated_by = fnd_global.user_id,
307: last_update_date = SYSDATE
308: WHERE sample_id = p_sample_id
310: ELSIF p_organization_id IS NOT NULL AND
311: p_sample_no IS NOT NULL THEN
312: SELECT 1
313: INTO dummy
314: FROM gmd_samples
315: WHERE organization_id = p_organization_id
316: AND sample_no = p_sample_no
317: FOR UPDATE NOWAIT;
318:
315: WHERE organization_id = p_organization_id
316: AND sample_no = p_sample_no
317: FOR UPDATE NOWAIT;
318:
319: UPDATE gmd_samples
320: SET delete_mark = 1,
321: last_updated_by = fnd_global.user_id,
322: last_update_date = SYSDATE
323: WHERE organization_id = p_organization_id
323: WHERE organization_id = p_organization_id
324: AND sample_no = p_sample_no
325: ;
326: ELSE
327: GMD_API_PUB.log_message('GMD_NO_KEYS','TABLE_NAME', 'GMD_SAMPLES');
328: RETURN FALSE;
329: END IF;
330:
331: IF (SQL%FOUND) THEN
330:
331: IF (SQL%FOUND) THEN
332: RETURN TRUE;
333: ELSE
334: GMD_API_PUB.log_message('GMD_NO_DATA_FOUND','TABLE_NAME', 'GMD_SAMPLES');
335: RETURN FALSE;
336: END IF;
337:
338: EXCEPTION
337:
338: EXCEPTION
339: WHEN locked_by_other_user THEN
340: GMD_API_PUB.log_message('GMD_RECORD_LOCKED',
341: 'TABLE_NAME', 'GMD_SAMPLES',
342: 'RECORD','Sample',
343: 'KEY', p_organization_id || p_sample_no);
344: RETURN FALSE;
345:
343: 'KEY', p_organization_id || p_sample_no);
344: RETURN FALSE;
345:
346: WHEN OTHERS THEN
347: fnd_msg_pub.add_exc_msg ('GMD_SAMPLES_PVT', 'DELETE_ROW');
348: RETURN FALSE;
349:
350: END delete_row;
351:
366: BEGIN
367: IF p_sample_id IS NOT NULL THEN
368: SELECT 1
369: INTO dummy
370: FROM gmd_samples
371: WHERE sample_id = p_sample_id
372: FOR UPDATE NOWAIT;
373: ELSIF p_organization_id IS NOT NULL AND
374: p_sample_no IS NOT NULL THEN
373: ELSIF p_organization_id IS NOT NULL AND
374: p_sample_no IS NOT NULL THEN
375: SELECT 1
376: INTO dummy
377: FROM gmd_samples
378: WHERE organization_id = p_organization_id
379: AND sample_no = p_sample_no
380: FOR UPDATE NOWAIT;
381: ELSE
378: WHERE organization_id = p_organization_id
379: AND sample_no = p_sample_no
380: FOR UPDATE NOWAIT;
381: ELSE
382: GMD_API_PUB.log_message('GMD_NO_KEYS','TABLE_NAME', 'GMD_SAMPLES');
383: RETURN FALSE;
384: END IF;
385:
386: RETURN TRUE;
387:
388: EXCEPTION
389: WHEN locked_by_other_user THEN
390: GMD_API_PUB.log_message('GMD_RECORD_LOCKED',
391: 'TABLE_NAME', 'GMD_SAMPLES',
392: 'RECORD','Sampling Event',
393: 'KEY', p_organization_id || p_sample_no);
394: RETURN FALSE;
395:
393: 'KEY', p_organization_id || p_sample_no);
394: RETURN FALSE;
395:
396: WHEN OTHERS THEN
397: fnd_msg_pub.add_exc_msg ('GMD_SAMPLES_PVT', 'DELETE_ROW');
398: RETURN FALSE;
399:
400: END lock_row;
401:
401:
402:
403:
404: FUNCTION fetch_row (
405: p_samples IN gmd_samples%ROWTYPE
406: , x_samples OUT NOCOPY gmd_samples%ROWTYPE
407: )
408: RETURN BOOLEAN
409: IS
402:
403:
404: FUNCTION fetch_row (
405: p_samples IN gmd_samples%ROWTYPE
406: , x_samples OUT NOCOPY gmd_samples%ROWTYPE
407: )
408: RETURN BOOLEAN
409: IS
410: BEGIN
411:
412: IF (p_samples.sample_id IS NOT NULL) THEN
413: SELECT *
414: INTO x_samples
415: FROM gmd_samples
416: WHERE sample_id = p_samples.sample_id
417: ;
418: RETURN TRUE;
419:
420: ELSIF (p_samples.organization_id IS NOT NULL AND
421: p_samples.sample_no IS NOT NULL) THEN
422: SELECT *
423: INTO x_samples
424: FROM gmd_samples
425: WHERE organization_id = p_samples.organization_id
426: AND sample_no = p_samples.sample_no
427: ;
428: RETURN TRUE;
426: AND sample_no = p_samples.sample_no
427: ;
428: RETURN TRUE;
429: ELSE
430: gmd_api_pub.log_message('GMD_NO_KEYS','TABLE_NAME', 'GMD_SAMPLES');
431: RETURN FALSE;
432: END IF;
433:
434: RETURN FALSE;
435:
436: EXCEPTION
437: WHEN NO_DATA_FOUND
438: THEN
439: gmd_api_pub.log_message('GMD_NO_DATA_FOUND','TABLE_NAME', 'GMD_SAMPLES');
440: RETURN FALSE;
441: WHEN OTHERS
442: THEN
443: fnd_msg_pub.add_exc_msg ('GMD_SAMPLES_PVT', 'FETCH_ROW');
439: gmd_api_pub.log_message('GMD_NO_DATA_FOUND','TABLE_NAME', 'GMD_SAMPLES');
440: RETURN FALSE;
441: WHEN OTHERS
442: THEN
443: fnd_msg_pub.add_exc_msg ('GMD_SAMPLES_PVT', 'FETCH_ROW');
444: RETURN FALSE;
445:
446: END fetch_row;
447:
444: RETURN FALSE;
445:
446: END fetch_row;
447:
448: END GMD_SAMPLES_PVT;