1: PACKAGE BODY gmd_qc_tests_pub AS
2: /* $Header: GMDPTSTB.pls 115.13 2004/05/05 09:51:17 rboddu noship $
3: *****************************************************************
4: * *
5: * Package GMD_QC_TESTS_PUB *
1: PACKAGE BODY gmd_qc_tests_pub AS
2: /* $Header: GMDPTSTB.pls 115.13 2004/05/05 09:51:17 rboddu noship $
3: *****************************************************************
4: * *
5: * Package GMD_QC_TESTS_PUB *
6: * *
7: * Contents CREATE_TESTS *
8: * DELETE_TEST_HEADERS *
9: * DELETE_TEST_VALUES *
21: */
22:
23: /* Global variables */
24:
25: G_PKG_NAME CONSTANT VARCHAR2(30):='GMD_QC_TESTS_PUB';
26:
27: G_PROCESS_TESTS BOOLEAN := FALSE;
28: G_PROCESS_VALUES BOOLEAN := FALSE;
29: G_PROCESS_CUSTOMERS BOOLEAN := FALSE;
31: /* Private Routines */
32:
33: PROCEDURE VALIDATE_INPUT_PARAMS
34: (
35: p_qc_cust_tests_tbl IN GMD_QC_TESTS_PUB.qc_cust_tests_tbl,
36: p_qc_test_values_tbl IN GMD_QC_TESTS_PUB.qc_test_values_tbl
37:
38: )
39: IS
32:
33: PROCEDURE VALIDATE_INPUT_PARAMS
34: (
35: p_qc_cust_tests_tbl IN GMD_QC_TESTS_PUB.qc_cust_tests_tbl,
36: p_qc_test_values_tbl IN GMD_QC_TESTS_PUB.qc_test_values_tbl
37:
38: )
39: IS
40:
62: ( p_api_version IN NUMBER
63: , p_init_msg_list IN VARCHAR2
64: , p_commit IN VARCHAR2
65: , p_validation_level IN NUMBER
66: , p_qc_tests_rec IN GMD_QC_TESTS%ROWTYPE
67: , p_qc_test_values_tbl IN GMD_QC_TESTS_PUB.qc_test_values_tbl
68: , p_qc_cust_tests_tbl IN GMD_QC_TESTS_PUB.qc_cust_tests_tbl
69: , p_user_name IN VARCHAR2
70: , x_qc_tests_rec OUT NOCOPY GMD_QC_TESTS%ROWTYPE
63: , p_init_msg_list IN VARCHAR2
64: , p_commit IN VARCHAR2
65: , p_validation_level IN NUMBER
66: , p_qc_tests_rec IN GMD_QC_TESTS%ROWTYPE
67: , p_qc_test_values_tbl IN GMD_QC_TESTS_PUB.qc_test_values_tbl
68: , p_qc_cust_tests_tbl IN GMD_QC_TESTS_PUB.qc_cust_tests_tbl
69: , p_user_name IN VARCHAR2
70: , x_qc_tests_rec OUT NOCOPY GMD_QC_TESTS%ROWTYPE
71: , x_qc_test_values_tbl OUT NOCOPY GMD_QC_TESTS_PUB.qc_test_values_tbl
64: , p_commit IN VARCHAR2
65: , p_validation_level IN NUMBER
66: , p_qc_tests_rec IN GMD_QC_TESTS%ROWTYPE
67: , p_qc_test_values_tbl IN GMD_QC_TESTS_PUB.qc_test_values_tbl
68: , p_qc_cust_tests_tbl IN GMD_QC_TESTS_PUB.qc_cust_tests_tbl
69: , p_user_name IN VARCHAR2
70: , x_qc_tests_rec OUT NOCOPY GMD_QC_TESTS%ROWTYPE
71: , x_qc_test_values_tbl OUT NOCOPY GMD_QC_TESTS_PUB.qc_test_values_tbl
72: , x_qc_cust_tests_tbl OUT NOCOPY GMD_QC_TESTS_PUB.qc_cust_tests_tbl
66: , p_qc_tests_rec IN GMD_QC_TESTS%ROWTYPE
67: , p_qc_test_values_tbl IN GMD_QC_TESTS_PUB.qc_test_values_tbl
68: , p_qc_cust_tests_tbl IN GMD_QC_TESTS_PUB.qc_cust_tests_tbl
69: , p_user_name IN VARCHAR2
70: , x_qc_tests_rec OUT NOCOPY GMD_QC_TESTS%ROWTYPE
71: , x_qc_test_values_tbl OUT NOCOPY GMD_QC_TESTS_PUB.qc_test_values_tbl
72: , x_qc_cust_tests_tbl OUT NOCOPY GMD_QC_TESTS_PUB.qc_cust_tests_tbl
73: , x_return_status OUT NOCOPY VARCHAR2
74: , x_msg_count OUT NOCOPY NUMBER
67: , p_qc_test_values_tbl IN GMD_QC_TESTS_PUB.qc_test_values_tbl
68: , p_qc_cust_tests_tbl IN GMD_QC_TESTS_PUB.qc_cust_tests_tbl
69: , p_user_name IN VARCHAR2
70: , x_qc_tests_rec OUT NOCOPY GMD_QC_TESTS%ROWTYPE
71: , x_qc_test_values_tbl OUT NOCOPY GMD_QC_TESTS_PUB.qc_test_values_tbl
72: , x_qc_cust_tests_tbl OUT NOCOPY GMD_QC_TESTS_PUB.qc_cust_tests_tbl
73: , x_return_status OUT NOCOPY VARCHAR2
74: , x_msg_count OUT NOCOPY NUMBER
75: , x_msg_data OUT NOCOPY VARCHAR2
68: , p_qc_cust_tests_tbl IN GMD_QC_TESTS_PUB.qc_cust_tests_tbl
69: , p_user_name IN VARCHAR2
70: , x_qc_tests_rec OUT NOCOPY GMD_QC_TESTS%ROWTYPE
71: , x_qc_test_values_tbl OUT NOCOPY GMD_QC_TESTS_PUB.qc_test_values_tbl
72: , x_qc_cust_tests_tbl OUT NOCOPY GMD_QC_TESTS_PUB.qc_cust_tests_tbl
73: , x_return_status OUT NOCOPY VARCHAR2
74: , x_msg_count OUT NOCOPY NUMBER
75: , x_msg_data OUT NOCOPY VARCHAR2
76: )
79: l_api_version CONSTANT NUMBER := 1.0;
80: l_msg_count NUMBER :=0;
81: l_msg_data VARCHAR2(2000);
82: l_return_status VARCHAR2(1):=FND_API.G_RET_STS_SUCCESS;
83: l_qc_tests_rec GMD_QC_TESTS%ROWTYPE;
84: l_qc_tests_rec_in GMD_QC_TESTS%ROWTYPE;
85: l_qc_cust_tests_rec GMD_CUSTOMER_TESTS%ROWTYPE;
86: l_qc_test_values_rec_in GMD_QC_TEST_VALUES%ROWTYPE;
87: l_qc_test_values_rec GMD_QC_TEST_VALUES%ROWTYPE;
80: l_msg_count NUMBER :=0;
81: l_msg_data VARCHAR2(2000);
82: l_return_status VARCHAR2(1):=FND_API.G_RET_STS_SUCCESS;
83: l_qc_tests_rec GMD_QC_TESTS%ROWTYPE;
84: l_qc_tests_rec_in GMD_QC_TESTS%ROWTYPE;
85: l_qc_cust_tests_rec GMD_CUSTOMER_TESTS%ROWTYPE;
86: l_qc_test_values_rec_in GMD_QC_TEST_VALUES%ROWTYPE;
87: l_qc_test_values_rec GMD_QC_TEST_VALUES%ROWTYPE;
88: l_qc_test_values_tbl GMD_QC_TESTS_PUB.qc_test_values_tbl;
84: l_qc_tests_rec_in GMD_QC_TESTS%ROWTYPE;
85: l_qc_cust_tests_rec GMD_CUSTOMER_TESTS%ROWTYPE;
86: l_qc_test_values_rec_in GMD_QC_TEST_VALUES%ROWTYPE;
87: l_qc_test_values_rec GMD_QC_TEST_VALUES%ROWTYPE;
88: l_qc_test_values_tbl GMD_QC_TESTS_PUB.qc_test_values_tbl;
89: l_qc_cust_tests_tbl GMD_QC_TESTS_PUB.qc_cust_tests_tbl;
90: l_rowid ROWID;
91: l_user_id NUMBER(15);
92:
85: l_qc_cust_tests_rec GMD_CUSTOMER_TESTS%ROWTYPE;
86: l_qc_test_values_rec_in GMD_QC_TEST_VALUES%ROWTYPE;
87: l_qc_test_values_rec GMD_QC_TEST_VALUES%ROWTYPE;
88: l_qc_test_values_tbl GMD_QC_TESTS_PUB.qc_test_values_tbl;
89: l_qc_cust_tests_tbl GMD_QC_TESTS_PUB.qc_cust_tests_tbl;
90: l_rowid ROWID;
91: l_user_id NUMBER(15);
92:
93: BEGIN
167:
168: -- Adding the following validation to check if the test group order passed is unique or not.
169: -- Ravi Boddu Test Groups Enhancement Bug no: 3447472
170: IF (p_qc_tests_rec.test_class IS NOT NULL and p_qc_tests_rec.test_group_order IS NOT NULL) THEN
171: IF gmd_qc_tests_grp.test_group_order_exist(
172: p_init_msg_list,
173: p_qc_tests_rec.test_class,
174: p_qc_tests_rec.test_group_order) THEN
175: GMD_API_PUB.log_message('SY_WFDUPLICATE');
176: RAISE FND_API.G_EXC_ERROR;
177: END IF;
178: END IF;
179:
180: GMD_QC_TESTS_GRP.VALIDATE_BEFORE_INSERT(
181: p_gmd_qc_tests_rec => l_qc_tests_rec_in,
182: x_gmd_qc_tests_rec => l_qc_tests_rec,
183: x_return_status => l_return_status,
184: x_message_data => l_msg_data);
177: END IF;
178: END IF;
179:
180: GMD_QC_TESTS_GRP.VALIDATE_BEFORE_INSERT(
181: p_gmd_qc_tests_rec => l_qc_tests_rec_in,
182: x_gmd_qc_tests_rec => l_qc_tests_rec,
183: x_return_status => l_return_status,
184: x_message_data => l_msg_data);
185:
178: END IF;
179:
180: GMD_QC_TESTS_GRP.VALIDATE_BEFORE_INSERT(
181: p_gmd_qc_tests_rec => l_qc_tests_rec_in,
182: x_gmd_qc_tests_rec => l_qc_tests_rec,
183: x_return_status => l_return_status,
184: x_message_data => l_msg_data);
185:
186: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
194: l_qc_tests_rec.created_by := l_user_id;
195: l_qc_tests_rec.last_updated_by := l_user_id;
196: l_qc_tests_rec.test_id := NULL;
197:
198: IF NOT GMD_QC_TESTS_PVT.INSERT_ROW(
199: p_qc_tests_rec => l_qc_tests_rec) THEN
200: RAISE FND_API.G_EXC_ERROR;
201: END IF;
202:
201: END IF;
202:
203: -- Call Validate After Insert
204:
205: GMD_QC_TESTS_GRP.PROCESS_AFTER_INSERT(
206: p_init_msg_list => p_init_msg_list,
207: p_gmd_qc_tests_rec => l_qc_tests_rec,
208: x_return_status => x_return_status,
209: x_message_data => x_msg_data
203: -- Call Validate After Insert
204:
205: GMD_QC_TESTS_GRP.PROCESS_AFTER_INSERT(
206: p_init_msg_list => p_init_msg_list,
207: p_gmd_qc_tests_rec => l_qc_tests_rec,
208: x_return_status => x_return_status,
209: x_message_data => x_msg_data
210: );
211:
231: END IF;
232:
233: l_qc_tests_rec_in.test_id := p_qc_test_values_tbl(1).test_id;
234:
235: IF NOT GMD_QC_TESTS_PVT.fetch_row
236: ( p_gmd_qc_tests => l_qc_tests_rec_in,
237: x_gmd_qc_tests => l_qc_tests_rec) THEN
238: RAISE FND_API.G_EXC_ERROR;
239: END IF;
232:
233: l_qc_tests_rec_in.test_id := p_qc_test_values_tbl(1).test_id;
234:
235: IF NOT GMD_QC_TESTS_PVT.fetch_row
236: ( p_gmd_qc_tests => l_qc_tests_rec_in,
237: x_gmd_qc_tests => l_qc_tests_rec) THEN
238: RAISE FND_API.G_EXC_ERROR;
239: END IF;
240:
233: l_qc_tests_rec_in.test_id := p_qc_test_values_tbl(1).test_id;
234:
235: IF NOT GMD_QC_TESTS_PVT.fetch_row
236: ( p_gmd_qc_tests => l_qc_tests_rec_in,
237: x_gmd_qc_tests => l_qc_tests_rec) THEN
238: RAISE FND_API.G_EXC_ERROR;
239: END IF;
240:
241: END IF;
308:
309: -- Now we have valid Test Record Call Validate after Insert.
310:
311: GMD_QC_TEST_VALUES_GRP.VALIDATE_AFTER_INSERT_ALL(
312: p_gmd_qc_tests_rec => l_qc_tests_rec,
313: x_gmd_qc_tests_rec => l_qc_tests_rec_in,
314: x_return_status => l_return_status,
315: x_message_data => l_msg_data);
316:
309: -- Now we have valid Test Record Call Validate after Insert.
310:
311: GMD_QC_TEST_VALUES_GRP.VALIDATE_AFTER_INSERT_ALL(
312: p_gmd_qc_tests_rec => l_qc_tests_rec,
313: x_gmd_qc_tests_rec => l_qc_tests_rec_in,
314: x_return_status => l_return_status,
315: x_message_data => l_msg_data);
316:
317: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
335: END IF;
336:
337: l_qc_tests_rec_in.test_id := p_qc_cust_tests_tbl(1).test_id;
338:
339: IF NOT GMD_QC_TESTS_PVT.fetch_row
340: (
341: p_gmd_qc_tests => l_qc_tests_rec_in,
342: x_gmd_qc_tests => l_qc_tests_rec
343: ) THEN
337: l_qc_tests_rec_in.test_id := p_qc_cust_tests_tbl(1).test_id;
338:
339: IF NOT GMD_QC_TESTS_PVT.fetch_row
340: (
341: p_gmd_qc_tests => l_qc_tests_rec_in,
342: x_gmd_qc_tests => l_qc_tests_rec
343: ) THEN
344:
345: RAISE FND_API.G_EXC_ERROR;
338:
339: IF NOT GMD_QC_TESTS_PVT.fetch_row
340: (
341: p_gmd_qc_tests => l_qc_tests_rec_in,
342: x_gmd_qc_tests => l_qc_tests_rec
343: ) THEN
344:
345: RAISE FND_API.G_EXC_ERROR;
346:
456: ( p_api_version IN NUMBER
457: , p_init_msg_list IN VARCHAR2
458: , p_commit IN VARCHAR2
459: , p_validation_level IN NUMBER
460: , p_qc_tests_rec IN GMD_QC_TESTS%ROWTYPE
461: , p_user_name IN VARCHAR2
462: , x_return_status OUT NOCOPY VARCHAR2
463: , x_msg_count OUT NOCOPY NUMBER
464: , x_msg_data OUT NOCOPY VARCHAR2
468: l_api_version CONSTANT NUMBER := 1.0;
469: l_msg_count NUMBER :=0;
470: l_msg_data VARCHAR2(2000);
471: l_return_status VARCHAR2(1):=FND_API.G_RET_STS_SUCCESS;
472: l_qc_tests_rec_in GMD_QC_TESTS%ROWTYPE;
473: l_qc_tests_rec GMD_QC_TESTS%ROWTYPE;
474: l_rowid VARCHAR2(10);
475: l_test_id NUMBER(10);
476: l_user_id NUMBER(15);
469: l_msg_count NUMBER :=0;
470: l_msg_data VARCHAR2(2000);
471: l_return_status VARCHAR2(1):=FND_API.G_RET_STS_SUCCESS;
472: l_qc_tests_rec_in GMD_QC_TESTS%ROWTYPE;
473: l_qc_tests_rec GMD_QC_TESTS%ROWTYPE;
474: l_rowid VARCHAR2(10);
475: l_test_id NUMBER(10);
476: l_user_id NUMBER(15);
477:
531: END IF;
532:
533: -- Fetch the Test Header Row.
534:
535: IF NOT GMD_QC_TESTS_PVT.fetch_row (
536: p_gmd_qc_tests => l_qc_tests_rec_in,
537: x_gmd_qc_tests => l_qc_tests_rec) THEN
538: RAISE FND_API.G_EXC_ERROR;
539: END IF;
532:
533: -- Fetch the Test Header Row.
534:
535: IF NOT GMD_QC_TESTS_PVT.fetch_row (
536: p_gmd_qc_tests => l_qc_tests_rec_in,
537: x_gmd_qc_tests => l_qc_tests_rec) THEN
538: RAISE FND_API.G_EXC_ERROR;
539: END IF;
540:
533: -- Fetch the Test Header Row.
534:
535: IF NOT GMD_QC_TESTS_PVT.fetch_row (
536: p_gmd_qc_tests => l_qc_tests_rec_in,
537: x_gmd_qc_tests => l_qc_tests_rec) THEN
538: RAISE FND_API.G_EXC_ERROR;
539: END IF;
540:
541: -- Validate that the Test Header is Not Already Marked For Purge
541: -- Validate that the Test Header is Not Already Marked For Purge
542:
543: IF l_qc_tests_rec.delete_mark = 1 THEN
544: GMD_API_PUB.Log_Message('GMD_RECORD_DELETE_MARKED',
545: 'l_table_name', 'GMD_QC_TESTS',
546: 'l_column_name', 'TEST_ID',
547: 'l_key_value', l_qc_tests_rec.test_id);
548:
549: RAISE FND_API.G_EXC_ERROR;
551:
552:
553: -- LOCK Header Row
554:
555: IF NOT GMD_QC_TESTS_PVT.lock_row
556: ( p_test_id => l_qc_tests_rec.test_id,
557: p_test_code => l_qc_tests_rec.test_code
558: ) THEN
559: GMD_API_PUB.Log_Message('GMD_LOCKING_FAILURE',
556: ( p_test_id => l_qc_tests_rec.test_id,
557: p_test_code => l_qc_tests_rec.test_code
558: ) THEN
559: GMD_API_PUB.Log_Message('GMD_LOCKING_FAILURE',
560: 'l_table_name', 'GMD_QC_TESTS',
561: 'l_column_name','TEST_ID',
562: 'l_key_value', l_qc_tests_rec.test_id);
563:
564: RAISE FND_API.G_EXC_ERROR;
564: RAISE FND_API.G_EXC_ERROR;
565: ELSE
566:
567: -- Mark this record for Purge
568: IF NOT GMD_QC_TESTS_PVT.mark_for_delete(
569: p_test_id => l_qc_tests_rec.test_id,
570: p_test_code => l_qc_tests_rec.test_code,
571: p_last_update_date => SYSDATE,
572: p_last_updated_by => l_user_id,
572: p_last_updated_by => l_user_id,
573: p_last_update_login => l_qc_tests_rec.last_update_login
574: ) THEN
575: GMD_API_PUB.Log_Message('GMD_FAILED_TO_DELETE_ROW',
576: 'l_table_name', 'GMD_QC_TESTS',
577: 'l_column_name','TEST_ID',
578: 'l_key_value', l_qc_tests_rec.test_id);
579:
580:
630: ( p_api_version IN NUMBER
631: , p_init_msg_list IN VARCHAR2
632: , p_commit IN VARCHAR2
633: , p_validation_level IN NUMBER
634: , p_qc_test_values_tbl IN GMD_QC_TESTS_PUB.qc_test_values_tbl
635: , x_deleted_rows OUT NOCOPY NUMBER
636: , x_return_status OUT NOCOPY VARCHAR2
637: , x_msg_count OUT NOCOPY NUMBER
638: , x_msg_data OUT NOCOPY VARCHAR2
642: l_api_version CONSTANT NUMBER := 1.0;
643: l_msg_count NUMBER :=0;
644: l_msg_data VARCHAR2(2000);
645: l_return_status VARCHAR2(1):=FND_API.G_RET_STS_SUCCESS;
646: l_qc_tests_rec GMD_QC_TESTS%ROWTYPE;
647: l_qc_tests_rec_in GMD_QC_TESTS%ROWTYPE;
648: l_qc_test_values_rec GMD_QC_TEST_VALUES%ROWTYPE;
649: l_qc_test_values_tbl GMD_QC_TESTS_PUB.qc_test_values_tbl;
650: l_deleted_rows NUMBER(10);
643: l_msg_count NUMBER :=0;
644: l_msg_data VARCHAR2(2000);
645: l_return_status VARCHAR2(1):=FND_API.G_RET_STS_SUCCESS;
646: l_qc_tests_rec GMD_QC_TESTS%ROWTYPE;
647: l_qc_tests_rec_in GMD_QC_TESTS%ROWTYPE;
648: l_qc_test_values_rec GMD_QC_TEST_VALUES%ROWTYPE;
649: l_qc_test_values_tbl GMD_QC_TESTS_PUB.qc_test_values_tbl;
650: l_deleted_rows NUMBER(10);
651: l_test_id NUMBER(10);
645: l_return_status VARCHAR2(1):=FND_API.G_RET_STS_SUCCESS;
646: l_qc_tests_rec GMD_QC_TESTS%ROWTYPE;
647: l_qc_tests_rec_in GMD_QC_TESTS%ROWTYPE;
648: l_qc_test_values_rec GMD_QC_TEST_VALUES%ROWTYPE;
649: l_qc_test_values_tbl GMD_QC_TESTS_PUB.qc_test_values_tbl;
650: l_deleted_rows NUMBER(10);
651: l_test_id NUMBER(10);
652:
653: BEGIN
696: END IF;
697:
698: -- Fetch test Header Row.
699:
700: IF NOT GMD_QC_TESTS_PVT.fetch_row(
701: p_gmd_qc_tests => l_qc_tests_rec_in,
702: x_gmd_qc_tests => l_qc_tests_rec) THEN
703: RAISE FND_API.G_EXC_ERROR;
704: END IF;
697:
698: -- Fetch test Header Row.
699:
700: IF NOT GMD_QC_TESTS_PVT.fetch_row(
701: p_gmd_qc_tests => l_qc_tests_rec_in,
702: x_gmd_qc_tests => l_qc_tests_rec) THEN
703: RAISE FND_API.G_EXC_ERROR;
704: END IF;
705:
698: -- Fetch test Header Row.
699:
700: IF NOT GMD_QC_TESTS_PVT.fetch_row(
701: p_gmd_qc_tests => l_qc_tests_rec_in,
702: x_gmd_qc_tests => l_qc_tests_rec) THEN
703: RAISE FND_API.G_EXC_ERROR;
704: END IF;
705:
706: -- NOW LOCK THIS HEADER ROW !!!!!
704: END IF;
705:
706: -- NOW LOCK THIS HEADER ROW !!!!!
707:
708: IF NOT GMD_QC_TESTS_PVT.lock_row(
709: p_test_id => l_qc_tests_rec.test_id,
710: p_test_code => l_qc_tests_rec.test_code) THEN
711: GMD_API_PUB.Log_Message('GMD_LOCKING_FAILURE',
712: 'l_table_name', 'GMD_QC_TESTS',
708: IF NOT GMD_QC_TESTS_PVT.lock_row(
709: p_test_id => l_qc_tests_rec.test_id,
710: p_test_code => l_qc_tests_rec.test_code) THEN
711: GMD_API_PUB.Log_Message('GMD_LOCKING_FAILURE',
712: 'l_table_name', 'GMD_QC_TESTS',
713: 'l_column_name','TEST_ID',
714: 'l_key_value', l_qc_tests_rec.test_id);
715:
716: RAISE FND_API.G_EXC_ERROR;
786:
787: -- Now Process All VAlues After Deletion
788:
789: GMD_QC_TEST_VALUES_GRP.VALIDATE_AFTER_DELETE_ALL(
790: p_gmd_qc_tests_rec => l_qc_tests_rec,
791: x_gmd_qc_tests_rec => l_qc_tests_rec_in,
792: x_return_status => l_return_status,
793: x_message_data => l_msg_data);
794:
787: -- Now Process All VAlues After Deletion
788:
789: GMD_QC_TEST_VALUES_GRP.VALIDATE_AFTER_DELETE_ALL(
790: p_gmd_qc_tests_rec => l_qc_tests_rec,
791: x_gmd_qc_tests_rec => l_qc_tests_rec_in,
792: x_return_status => l_return_status,
793: x_message_data => l_msg_data);
794:
795: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
845: ( p_api_version IN NUMBER
846: , p_init_msg_list IN VARCHAR2
847: , p_commit IN VARCHAR2
848: , p_validation_level IN NUMBER
849: , p_qc_cust_tests_tbl IN GMD_QC_TESTS_PUB.qc_cust_tests_tbl
850: , x_deleted_rows OUT NOCOPY NUMBER
851: , x_return_status OUT NOCOPY VARCHAR2
852: , x_msg_count OUT NOCOPY NUMBER
853: , x_msg_data OUT NOCOPY VARCHAR2
857: l_api_version CONSTANT NUMBER := 1.0;
858: l_msg_count NUMBER :=0;
859: l_msg_data VARCHAR2(2000);
860: l_return_status VARCHAR2(1):=FND_API.G_RET_STS_SUCCESS;
861: l_qc_tests_rec GMD_QC_TESTS%ROWTYPE;
862: l_qc_tests_rec_in GMD_QC_TESTS%ROWTYPE;
863: l_qc_cust_tests_rec GMD_CUSTOMER_TESTS%ROWTYPE;
864: l_deleted_rows NUMBER;
865: l_test_id NUMBER(10);
858: l_msg_count NUMBER :=0;
859: l_msg_data VARCHAR2(2000);
860: l_return_status VARCHAR2(1):=FND_API.G_RET_STS_SUCCESS;
861: l_qc_tests_rec GMD_QC_TESTS%ROWTYPE;
862: l_qc_tests_rec_in GMD_QC_TESTS%ROWTYPE;
863: l_qc_cust_tests_rec GMD_CUSTOMER_TESTS%ROWTYPE;
864: l_deleted_rows NUMBER;
865: l_test_id NUMBER(10);
866:
901: END IF;
902:
903: -- Fetch test Header Row.
904:
905: IF NOT GMD_QC_TESTS_PVT.fetch_row(
906: p_gmd_qc_tests => l_qc_tests_rec_in,
907: x_gmd_qc_tests => l_qc_tests_rec) THEN
908: RAISE FND_API.G_EXC_ERROR;
909: END IF;
902:
903: -- Fetch test Header Row.
904:
905: IF NOT GMD_QC_TESTS_PVT.fetch_row(
906: p_gmd_qc_tests => l_qc_tests_rec_in,
907: x_gmd_qc_tests => l_qc_tests_rec) THEN
908: RAISE FND_API.G_EXC_ERROR;
909: END IF;
910:
903: -- Fetch test Header Row.
904:
905: IF NOT GMD_QC_TESTS_PVT.fetch_row(
906: p_gmd_qc_tests => l_qc_tests_rec_in,
907: x_gmd_qc_tests => l_qc_tests_rec) THEN
908: RAISE FND_API.G_EXC_ERROR;
909: END IF;
910:
911: -- NOW LOCK THIS HEADER ROW !!!!!
909: END IF;
910:
911: -- NOW LOCK THIS HEADER ROW !!!!!
912:
913: IF NOT GMD_QC_TESTS_PVT.lock_row(
914: p_test_id => l_qc_tests_rec.test_id,
915: p_test_code => l_qc_tests_rec.test_code) THEN
916: GMD_API_PUB.Log_Message('GMD_LOCKING_FAILURE',
917: 'l_table_name', 'GMD_QC_TESTS',
913: IF NOT GMD_QC_TESTS_PVT.lock_row(
914: p_test_id => l_qc_tests_rec.test_id,
915: p_test_code => l_qc_tests_rec.test_code) THEN
916: GMD_API_PUB.Log_Message('GMD_LOCKING_FAILURE',
917: 'l_table_name', 'GMD_QC_TESTS',
918: 'l_column_name','TEST_ID',
919: 'l_key_value', l_qc_tests_rec.test_id);
920:
921: RAISE FND_API.G_EXC_ERROR;
1033: );
1034:
1035: END delete_customer_tests;
1036:
1037: END gmd_qc_tests_pub;