62: CURSOR l_seq_csr IS
63: SELECT OKC_ALLOWED_TMPL_USAGES_S.NEXTVAL FROM DUAL;
64: BEGIN
65: IF (l_debug = 'Y') THEN
66: Okc_Debug.Log('100: Entered get_seq_id', 2);
67: END IF;
68:
69: IF( p_allowed_tmpl_usages_id IS NULL ) THEN
70: OPEN l_seq_csr;
75: CLOSE l_seq_csr;
76: END IF;
77:
78: IF (l_debug = 'Y') THEN
79: Okc_Debug.Log('200: Leaving get_seq_id', 2);
80: END IF;
81: RETURN G_RET_STS_SUCCESS;
82: EXCEPTION
83: WHEN OTHERS THEN
82: EXCEPTION
83: WHEN OTHERS THEN
84:
85: IF (l_debug = 'Y') THEN
86: Okc_Debug.Log('300: Leaving get_seq_id because of EXCEPTION: '||sqlerrm, 2);
87: END IF;
88:
89: Okc_Api.Set_Message(p_app_name => G_APP_NAME,
90: p_msg_name => G_UNEXPECTED_ERROR,
165: WHERE t.ALLOWED_TMPL_USAGES_ID = cp_allowed_tmpl_usages_id;
166: BEGIN
167:
168: IF (l_debug = 'Y') THEN
169: Okc_Debug.Log('400: Entered get_rec', 2);
170: END IF;
171:
172: -- Get current database values
173: OPEN OKC_ALLOWED_TMPL_USAGES_pk_csr (p_allowed_tmpl_usages_id);
202: END IF;
203: CLOSE OKC_ALLOWED_TMPL_USAGES_pk_csr;
204:
205: IF (l_debug = 'Y') THEN
206: Okc_Debug.Log('500: Leaving get_rec ', 2);
207: END IF;
208:
209: RETURN G_RET_STS_SUCCESS ;
210:
211: EXCEPTION
212: WHEN OTHERS THEN
213:
214: IF (l_debug = 'Y') THEN
215: Okc_Debug.Log('600: Leaving get_rec because of EXCEPTION: '||sqlerrm, 2);
216: END IF;
217:
218: Okc_Api.Set_Message(p_app_name => G_APP_NAME,
219: p_msg_name => G_UNEXPECTED_ERROR,
284: l_last_update_login OKC_ALLOWED_TMPL_USAGES.LAST_UPDATE_LOGIN%TYPE;
285: l_last_update_date OKC_ALLOWED_TMPL_USAGES.LAST_UPDATE_DATE%TYPE;
286: BEGIN
287: IF (l_debug = 'Y') THEN
288: Okc_Debug.Log('700: Entered Set_Attributes ', 2);
289: END IF;
290:
291: IF( p_allowed_tmpl_usages_id IS NOT NULL ) THEN
292: -- Get current database values
444:
445: END IF;
446:
447: IF (l_debug = 'Y') THEN
448: Okc_Debug.Log('800: Leaving Set_Attributes ', 2);
449: END IF;
450:
451: RETURN G_RET_STS_SUCCESS ;
452: EXCEPTION
451: RETURN G_RET_STS_SUCCESS ;
452: EXCEPTION
453: WHEN FND_API.G_EXC_ERROR THEN
454: IF (l_debug = 'Y') THEN
455: Okc_Debug.Log('900: Leaving Set_Attributes:FND_API.G_EXC_ERROR Exception', 2);
456: END IF;
457: RETURN G_RET_STS_ERROR;
458:
459: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
457: RETURN G_RET_STS_ERROR;
458:
459: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
460: IF (l_debug = 'Y') THEN
461: Okc_Debug.Log('1000: Leaving Set_Attributes:FND_API.G_EXC_UNEXPECTED_ERROR Exception', 2);
462: END IF;
463: RETURN G_RET_STS_UNEXP_ERROR;
464:
465: WHEN OTHERS THEN
463: RETURN G_RET_STS_UNEXP_ERROR;
464:
465: WHEN OTHERS THEN
466: IF (l_debug = 'Y') THEN
467: Okc_Debug.Log('1100: Leaving Set_Attributes because of EXCEPTION: '||sqlerrm, 2);
468: END IF;
469: Okc_Api.Set_Message(p_app_name => G_APP_NAME,
470: p_msg_name => G_UNEXPECTED_ERROR,
471: p_token1 => G_SQLCODE_TOKEN,
536:
537: BEGIN
538:
539: IF (l_debug = 'Y') THEN
540: Okc_Debug.Log('1200: Entered Validate_Attributes', 2);
541: END IF;
542:
543: IF p_validation_level > G_REQUIRED_VALUE_VALID_LEVEL THEN
544: IF (l_debug = 'Y') THEN
541: END IF;
542:
543: IF p_validation_level > G_REQUIRED_VALUE_VALID_LEVEL THEN
544: IF (l_debug = 'Y') THEN
545: Okc_Debug.Log('1300: required values validation', 2);
546: END IF;
547:
548: IF ( p_document_type IS NULL) THEN
549: IF (l_debug = 'Y') THEN
546: END IF;
547:
548: IF ( p_document_type IS NULL) THEN
549: IF (l_debug = 'Y') THEN
550: Okc_Debug.Log('1210: - attribute DOCUMENT_TYPE is null', 2);
551: END IF;
552: Okc_Api.Set_Message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'DOCUMENT_TYPE');
553: l_return_status := G_RET_STS_ERROR;
554: END IF;
556: END IF;
557:
558: IF p_validation_level > G_VALID_VALUE_VALID_LEVEL THEN
559: IF (l_debug = 'Y') THEN
560: Okc_Debug.Log('1600: static values and range validation', 2);
561: END IF;
562:
563: IF (l_debug = 'Y') THEN
564: Okc_Debug.Log('1700: - attribute DEFAULT_YN ', 2);
560: Okc_Debug.Log('1600: static values and range validation', 2);
561: END IF;
562:
563: IF (l_debug = 'Y') THEN
564: Okc_Debug.Log('1700: - attribute DEFAULT_YN ', 2);
565: END IF;
566: IF ( p_default_yn NOT IN ('Y','N') AND p_default_yn IS NOT NULL) THEN
567: IF (l_debug = 'Y') THEN
568: Okc_Debug.Log('1800: - attribute DEFAULT_YN is invalid', 2);
564: Okc_Debug.Log('1700: - attribute DEFAULT_YN ', 2);
565: END IF;
566: IF ( p_default_yn NOT IN ('Y','N') AND p_default_yn IS NOT NULL) THEN
567: IF (l_debug = 'Y') THEN
568: Okc_Debug.Log('1800: - attribute DEFAULT_YN is invalid', 2);
569: END IF;
570: Okc_Api.Set_Message(G_APP_NAME, G_INVALID_VALUE, G_COL_NAME_TOKEN, 'DEFAULT_YN');
571: l_return_status := G_RET_STS_ERROR;
572: END IF;
574: END IF;
575:
576: IF p_validation_level > G_LOOKUP_CODE_VALID_LEVEL THEN
577: IF (l_debug = 'Y') THEN
578: Okc_Debug.Log('1900: lookup codes validation', 2);
579: END IF;
580: END IF;
581:
582: IF p_validation_level > G_FOREIGN_KEY_VALID_LEVEL THEN
580: END IF;
581:
582: IF p_validation_level > G_FOREIGN_KEY_VALID_LEVEL THEN
583: IF (l_debug = 'Y') THEN
584: Okc_Debug.Log('2100: foreigh keys validation ', 2);
585: END IF;
586:
587: IF (l_debug = 'Y') THEN
588: Okc_Debug.Log('2200: - attribute TEMPLATE_ID ', 2);
584: Okc_Debug.Log('2100: foreigh keys validation ', 2);
585: END IF;
586:
587: IF (l_debug = 'Y') THEN
588: Okc_Debug.Log('2200: - attribute TEMPLATE_ID ', 2);
589: END IF;
590: IF p_template_id IS NOT NULL THEN
591: l_dummy_var := '?';
592: OPEN l_template_id_csr;
593: FETCH l_template_id_csr INTO l_dummy_var;
594: CLOSE l_template_id_csr;
595: IF (l_dummy_var = '?') THEN
596: IF (l_debug = 'Y') THEN
597: Okc_Debug.Log('2300: - attribute TEMPLATE_ID is invalid', 2);
598: END IF;
599: Okc_Api.Set_Message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'TEMPLATE_ID');
600: l_return_status := G_RET_STS_ERROR;
601: END IF;
601: END IF;
602: END IF;
603:
604: IF (l_debug = 'Y') THEN
605: Okc_Debug.Log('2200: - attribute ALLOWED_TMPL_USAGES_ID ', 2);
606: END IF;
607: IF p_document_type IS NOT NULL THEN
608: l_dummy_var := '?';
609: OPEN l_document_type_csr;
610: FETCH l_document_type_csr INTO l_dummy_var;
611: CLOSE l_document_type_csr;
612: IF (l_dummy_var = '?') THEN
613: IF (l_debug = 'Y') THEN
614: Okc_Debug.Log('2300: - attribute DOCUMENT_TYPE is invalid', 2);
615: END IF;
616: Okc_Api.Set_Message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'DOCUMENT_TYPE');
617: l_return_status := G_RET_STS_ERROR;
618: END IF;
628: FETCH l_doc_intent_csr INTO l_doc_intent;
629: CLOSE l_doc_intent_csr;
630: IF l_template_intent <> l_doc_intent THEN
631: IF (l_debug = 'Y') THEN
632: Okc_Debug.Log('2310: - Intents of Template and Document Type do not match', 2);
633: END IF;
634: OPEN l_doc_name_csr;
635: FETCH l_doc_name_csr INTO l_doc_type_name;
636: CLOSE l_doc_name_csr;
647: END IF;
648:
649:
650: IF (l_debug = 'Y') THEN
651: Okc_Debug.Log('2400: Leaving Validate_Attributes ', 2);
652: END IF;
653:
654: RETURN l_return_status;
655:
654: RETURN l_return_status;
655:
656: EXCEPTION
657: WHEN OTHERS THEN
658: Okc_Debug.Log('2500: Leaving Validate_Attributes because of EXCEPTION: '||sqlerrm, 2);
659: Okc_Api.Set_Message(p_app_name => G_APP_NAME,
660: p_msg_name => G_UNEXPECTED_ERROR,
661: p_token1 => G_SQLCODE_TOKEN,
662: p_token1_value => sqlcode,
745:
746: BEGIN
747:
748: IF (l_debug = 'Y') THEN
749: Okc_Debug.Log('2600: Entered Validate_Record', 2);
750: END IF;
751:
752: --- Validate all non-missing attributes (Item Level Validation)
753: l_return_status := Validate_Attributes(
775: p_attribute15 => p_attribute15
776: );
777: IF (l_return_status = G_RET_STS_UNEXP_ERROR) THEN
778: IF (l_debug = 'Y') THEN
779: Okc_Debug.Log('2700: Leaving Validate_Record because of UNEXP_ERROR in Validate_Attributes: '||sqlerrm, 2);
780: END IF;
781: RETURN G_RET_STS_UNEXP_ERROR;
782: END IF;
783:
783:
784: --- Record Level Validation
785: IF p_validation_level > G_RECORD_VALID_LEVEL THEN
786: IF (l_debug = 'Y') THEN
787: Okc_Debug.Log('2800: Entered Record Level Validations', 2);
788: END IF;
789: /*+++++++++++++start of hand code +++++++++++++++++++*/
790: -- ?? manual coding for Record Level Validations if required ??
791: IF p_document_type IS NOT NULL AND p_default_yn = 'Y' THEN
796: OPEN l_default_doc_type_csr(l_parent_tmpl_id,l_org_id);
797: FETCH l_default_doc_type_csr INTO l_def_tmpl_name;
798: IF l_default_doc_type_csr%FOUND THEN
799: IF (l_debug = 'Y') THEN
800: Okc_Debug.Log('2810: - default template for this document type already exists', 2);
801: END IF;
802: OPEN l_doc_name_csr;
803: FETCH l_doc_name_csr INTO l_doc_type_name;
804: CLOSE l_doc_name_csr;
817: OPEN l_allowed_doc_exists_csr;
818: FETCH l_allowed_doc_exists_csr INTO l_dummy_var;
819: IF l_allowed_doc_exists_csr%FOUND THEN
820: IF (l_debug = 'Y') THEN
821: Okc_Debug.Log('2810: - This document type already exists', 2);
822: END IF;
823:
824: OPEN l_doc_name_csr;
825: FETCH l_doc_name_csr INTO l_doc_type_name;
837: /*+++++++++++++End of hand code +++++++++++++++++++*/
838: END IF;
839:
840: IF (l_debug = 'Y') THEN
841: Okc_Debug.Log('2900: Leaving Validate_Record : '||sqlerrm, 2);
842: END IF;
843: RETURN l_return_status ;
844:
845: EXCEPTION
845: EXCEPTION
846: WHEN OTHERS THEN
847:
848: IF (l_debug = 'Y') THEN
849: Okc_Debug.Log('3000: Leaving Validate_Record because of EXCEPTION: '||sqlerrm, 2);
850: END IF;
851:
852: Okc_Api.Set_Message(p_app_name => G_APP_NAME,
853: p_msg_name => G_UNEXPECTED_ERROR,
921: l_last_update_date OKC_ALLOWED_TMPL_USAGES.LAST_UPDATE_DATE%TYPE;
922: BEGIN
923:
924: IF (l_debug = 'Y') THEN
925: Okc_Debug.Log('3100: Entered validate_row', 2);
926: END IF;
927:
928: -- Setting attributes
929: x_return_status := Set_Attributes(
999: p_attribute15 => l_attribute15
1000: );
1001:
1002: IF (l_debug = 'Y') THEN
1003: Okc_Debug.Log('3200: Leaving validate_row', 2);
1004: END IF;
1005:
1006: EXCEPTION
1007: WHEN FND_API.G_EXC_ERROR THEN
1005:
1006: EXCEPTION
1007: WHEN FND_API.G_EXC_ERROR THEN
1008: IF (l_debug = 'Y') THEN
1009: Okc_Debug.Log('3300: Leaving Validate_Row:FND_API.G_EXC_ERROR Exception', 2);
1010: END IF;
1011: x_return_status := G_RET_STS_ERROR;
1012:
1013: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1011: x_return_status := G_RET_STS_ERROR;
1012:
1013: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1014: IF (l_debug = 'Y') THEN
1015: Okc_Debug.Log('3400: Leaving Validate_Row:FND_API.G_EXC_UNEXPECTED_ERROR Exception', 2);
1016: END IF;
1017: x_return_status := G_RET_STS_UNEXP_ERROR;
1018:
1019: WHEN OTHERS THEN
1017: x_return_status := G_RET_STS_UNEXP_ERROR;
1018:
1019: WHEN OTHERS THEN
1020: IF (l_debug = 'Y') THEN
1021: Okc_Debug.Log('3500: Leaving Validate_Row because of EXCEPTION: '||sqlerrm, 2);
1022: END IF;
1023: Okc_Api.Set_Message(p_app_name => G_APP_NAME,
1024: p_msg_name => G_UNEXPECTED_ERROR,
1025: p_token1 => G_SQLCODE_TOKEN,
1068:
1069: BEGIN
1070:
1071: IF (l_debug = 'Y') THEN
1072: Okc_Debug.Log('3600: Entered Insert_Row function', 2);
1073: END IF;
1074:
1075: INSERT INTO OKC_ALLOWED_TMPL_USAGES(
1076: TEMPLATE_ID,
1127: p_last_update_login,
1128: p_last_update_date);
1129:
1130: IF (l_debug = 'Y') THEN
1131: Okc_Debug.Log('3700: Leaving Insert_Row', 2);
1132: END IF;
1133:
1134: RETURN( G_RET_STS_SUCCESS );
1135:
1136: EXCEPTION
1137: WHEN OTHERS THEN
1138:
1139: IF (l_debug = 'Y') THEN
1140: Okc_Debug.Log('3800: Leaving Insert_Row:OTHERS Exception', 2);
1141: END IF;
1142:
1143: Okc_Api.Set_Message(p_app_name => G_APP_NAME,
1144: p_msg_name => G_UNEXPECTED_ERROR,
1195:
1196: x_return_status := G_RET_STS_SUCCESS;
1197:
1198: IF (l_debug = 'Y') THEN
1199: Okc_Debug.Log('4200: Entered Insert_Row', 2);
1200: END IF;
1201:
1202: --- Setting item attributes
1203: -- Set primary key value
1258: --------------------------------------------
1259: -- Call the internal Insert_Row for each child record
1260: --------------------------------------------
1261: IF (l_debug = 'Y') THEN
1262: Okc_Debug.Log('4300: Call the internal Insert_Row for Base Table', 2);
1263: END IF;
1264:
1265: x_return_status := Insert_Row(
1266: p_allowed_tmpl_usages_id => x_allowed_tmpl_usages_id,
1298:
1299:
1300:
1301: IF (l_debug = 'Y') THEN
1302: Okc_Debug.Log('4500: Leaving Insert_Row', 2);
1303: END IF;
1304:
1305: EXCEPTION
1306: WHEN FND_API.G_EXC_ERROR THEN
1304:
1305: EXCEPTION
1306: WHEN FND_API.G_EXC_ERROR THEN
1307: IF (l_debug = 'Y') THEN
1308: Okc_Debug.Log('4600: Leaving Insert_Row:FND_API.G_EXC_ERROR Exception', 2);
1309: END IF;
1310: x_return_status := G_RET_STS_ERROR;
1311:
1312: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1310: x_return_status := G_RET_STS_ERROR;
1311:
1312: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1313: IF (l_debug = 'Y') THEN
1314: Okc_Debug.Log('4700: Leaving Insert_Row:FND_API.G_EXC_UNEXPECTED_ERROR Exception', 2);
1315: END IF;
1316: x_return_status := G_RET_STS_UNEXP_ERROR;
1317:
1318: WHEN OTHERS THEN
1316: x_return_status := G_RET_STS_UNEXP_ERROR;
1317:
1318: WHEN OTHERS THEN
1319: IF (l_debug = 'Y') THEN
1320: Okc_Debug.Log('4800: Leaving Insert_Row because of EXCEPTION: '||sqlerrm, 2);
1321: END IF;
1322: Okc_Api.Set_Message(p_app_name => G_APP_NAME,
1323: p_msg_name => G_UNEXPECTED_ERROR,
1324: p_token1 => G_SQLCODE_TOKEN,
1356: WHERE ALLOWED_TMPL_USAGES_ID = cp_allowed_tmpl_usages_id;
1357: BEGIN
1358:
1359: IF (l_debug = 'Y') THEN
1360: Okc_Debug.Log('4900: Entered Lock_Row', 2);
1361: END IF;
1362:
1363:
1364: BEGIN
1371: EXCEPTION
1372: WHEN E_Resource_Busy THEN
1373:
1374: IF (l_debug = 'Y') THEN
1375: Okc_Debug.Log('5000: Leaving Lock_Row:E_Resource_Busy Exception', 2);
1376: END IF;
1377:
1378: IF (lock_csr%ISOPEN) THEN
1379: CLOSE lock_csr;
1403: l_return_status := G_RET_STS_SUCCESS;
1404: END IF;
1405:
1406: IF (l_debug = 'Y') THEN
1407: Okc_Debug.Log('5100: Leaving Lock_Row', 2);
1408: END IF;
1409:
1410: RETURN( l_return_status );
1411:
1419: CLOSE lchk_csr;
1420: END IF;
1421:
1422: IF (l_debug = 'Y') THEN
1423: Okc_Debug.Log('5200: Leaving Lock_Row because of EXCEPTION: '||sqlerrm, 2);
1424: END IF;
1425:
1426: Okc_Api.Set_Message(p_app_name => G_APP_NAME,
1427: p_msg_name => G_UNEXPECTED_ERROR,
1444: ) IS
1445: BEGIN
1446:
1447: IF (l_debug = 'Y') THEN
1448: Okc_Debug.Log('5700: Entered Lock_Row', 2);
1449: Okc_Debug.Log('5800: Locking Row for Base Table', 2);
1450: END IF;
1451:
1452: --------------------------------------------
1445: BEGIN
1446:
1447: IF (l_debug = 'Y') THEN
1448: Okc_Debug.Log('5700: Entered Lock_Row', 2);
1449: Okc_Debug.Log('5800: Locking Row for Base Table', 2);
1450: END IF;
1451:
1452: --------------------------------------------
1453: -- Call the LOCK_ROW for each _B child record
1464:
1465:
1466:
1467: IF (l_debug = 'Y') THEN
1468: Okc_Debug.Log('6000: Leaving Lock_Row', 2);
1469: END IF;
1470:
1471: EXCEPTION
1472: WHEN FND_API.G_EXC_ERROR THEN
1470:
1471: EXCEPTION
1472: WHEN FND_API.G_EXC_ERROR THEN
1473: IF (l_debug = 'Y') THEN
1474: Okc_Debug.Log('6100: Leaving Lock_Row:FND_API.G_EXC_ERROR Exception', 2);
1475: END IF;
1476: x_return_status := G_RET_STS_ERROR;
1477:
1478: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1476: x_return_status := G_RET_STS_ERROR;
1477:
1478: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1479: IF (l_debug = 'Y') THEN
1480: Okc_Debug.Log('6200: Leaving Lock_Row:FND_API.G_EXC_UNEXPECTED_ERROR Exception', 2);
1481: END IF;
1482: x_return_status := G_RET_STS_UNEXP_ERROR;
1483:
1484: WHEN OTHERS THEN
1482: x_return_status := G_RET_STS_UNEXP_ERROR;
1483:
1484: WHEN OTHERS THEN
1485: IF (l_debug = 'Y') THEN
1486: Okc_Debug.Log('6300: Leaving Lock_Row because of EXCEPTION: '||sqlerrm, 2);
1487: END IF;
1488: Okc_Api.Set_Message(p_app_name => G_APP_NAME,
1489: p_msg_name => G_UNEXPECTED_ERROR,
1490: p_token1 => G_SQLCODE_TOKEN,
1529:
1530: BEGIN
1531:
1532: IF (l_debug = 'Y') THEN
1533: Okc_Debug.Log('6400: Entered Update_Row', 2);
1534: END IF;
1535:
1536: UPDATE OKC_ALLOWED_TMPL_USAGES
1537: SET TEMPLATE_ID = p_template_id,
1559: LAST_UPDATE_DATE = p_last_update_date
1560: WHERE ALLOWED_TMPL_USAGES_ID = p_allowed_tmpl_usages_id;
1561:
1562: IF (l_debug = 'Y') THEN
1563: Okc_Debug.Log('6500: Leaving Update_Row', 2);
1564: END IF;
1565:
1566: RETURN G_RET_STS_SUCCESS ;
1567:
1568: EXCEPTION
1569: WHEN OTHERS THEN
1570:
1571: IF (l_debug = 'Y') THEN
1572: Okc_Debug.Log('6600: Leaving Update_Row because of EXCEPTION: '||sqlerrm, 2);
1573: END IF;
1574:
1575: Okc_Api.Set_Message(p_app_name => G_APP_NAME,
1576: p_msg_name => G_UNEXPECTED_ERROR,
1643:
1644: BEGIN
1645:
1646: IF (l_debug = 'Y') THEN
1647: Okc_Debug.Log('7000: Entered Update_Row', 2);
1648: Okc_Debug.Log('7100: Locking _B row', 2);
1649: END IF;
1650:
1651: x_return_status := Lock_row(
1644: BEGIN
1645:
1646: IF (l_debug = 'Y') THEN
1647: Okc_Debug.Log('7000: Entered Update_Row', 2);
1648: Okc_Debug.Log('7100: Locking _B row', 2);
1649: END IF;
1650:
1651: x_return_status := Lock_row(
1652: p_allowed_tmpl_usages_id => p_allowed_tmpl_usages_id,
1659: END IF;
1660:
1661:
1662: IF (l_debug = 'Y') THEN
1663: Okc_Debug.Log('7300: Setting attributes', 2);
1664: END IF;
1665:
1666: x_return_status := Set_Attributes(
1667: p_template_id => p_template_id,
1711: RAISE FND_API.G_EXC_ERROR;
1712: END IF;
1713:
1714: IF (l_debug = 'Y') THEN
1715: Okc_Debug.Log('7400: Record Validation', 2);
1716: END IF;
1717:
1718: --- Validate all non-missing attributes
1719: x_return_status := Validate_Record(
1746: RAISE FND_API.G_EXC_ERROR;
1747: END IF;
1748:
1749: IF (l_debug = 'Y') THEN
1750: Okc_Debug.Log('7500: Filling WHO columns', 2);
1751: END IF;
1752:
1753: -- Filling who columns
1754: l_last_update_date := SYSDATE;
1763: --------------------------------------------
1764: -- Call the Update_Row for each child record
1765: --------------------------------------------
1766: IF (l_debug = 'Y') THEN
1767: Okc_Debug.Log('7600: Updating Row', 2);
1768: END IF;
1769:
1770: x_return_status := Update_Row(
1771: p_allowed_tmpl_usages_id => p_allowed_tmpl_usages_id,
1800: END IF;
1801:
1802:
1803: IF (l_debug = 'Y') THEN
1804: Okc_Debug.Log('7800: Leaving Update_Row', 2);
1805: END IF;
1806:
1807: EXCEPTION
1808: WHEN FND_API.G_EXC_ERROR THEN
1806:
1807: EXCEPTION
1808: WHEN FND_API.G_EXC_ERROR THEN
1809: IF (l_debug = 'Y') THEN
1810: Okc_Debug.Log('7900: Leaving Update_Row:FND_API.G_EXC_ERROR Exception', 2);
1811: END IF;
1812: x_return_status := G_RET_STS_ERROR;
1813:
1814: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1812: x_return_status := G_RET_STS_ERROR;
1813:
1814: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1815: IF (l_debug = 'Y') THEN
1816: Okc_Debug.Log('8000: Leaving Update_Row:FND_API.G_EXC_UNEXPECTED_ERROR Exception', 2);
1817: END IF;
1818: x_return_status := G_RET_STS_UNEXP_ERROR;
1819:
1820: WHEN OTHERS THEN
1818: x_return_status := G_RET_STS_UNEXP_ERROR;
1819:
1820: WHEN OTHERS THEN
1821: IF (l_debug = 'Y') THEN
1822: Okc_Debug.Log('8100: Leaving Update_Row because of EXCEPTION: '||sqlerrm, 2);
1823: END IF;
1824: Okc_Api.Set_Message(p_app_name => G_APP_NAME,
1825: p_msg_name => G_UNEXPECTED_ERROR,
1826: p_token1 => G_SQLCODE_TOKEN,
1843:
1844: BEGIN
1845:
1846: IF (l_debug = 'Y') THEN
1847: Okc_Debug.Log('8200: Entered Delete_Row', 2);
1848: END IF;
1849:
1850: DELETE FROM OKC_ALLOWED_TMPL_USAGES
1851: WHERE ALLOWED_TMPL_USAGES_ID = p_ALLOWED_TMPL_USAGES_ID;
1850: DELETE FROM OKC_ALLOWED_TMPL_USAGES
1851: WHERE ALLOWED_TMPL_USAGES_ID = p_ALLOWED_TMPL_USAGES_ID;
1852:
1853: IF (l_debug = 'Y') THEN
1854: Okc_Debug.Log('8300: Leaving Delete_Row', 2);
1855: END IF;
1856:
1857: RETURN( G_RET_STS_SUCCESS );
1858:
1859: EXCEPTION
1860: WHEN OTHERS THEN
1861:
1862: IF (l_debug = 'Y') THEN
1863: Okc_Debug.Log('8400: Leaving Delete_Row because of EXCEPTION: '||sqlerrm, 2);
1864: END IF;
1865:
1866: Okc_Api.Set_Message(p_app_name => G_APP_NAME,
1867: p_msg_name => G_UNEXPECTED_ERROR,
1885: l_api_name CONSTANT VARCHAR2(30) := 'B_Delete_Row';
1886: BEGIN
1887:
1888: IF (l_debug = 'Y') THEN
1889: Okc_Debug.Log('8800: Entered Delete_Row', 2);
1890: Okc_Debug.Log('8900: Locking _B row', 2);
1891: END IF;
1892:
1893: x_return_status := Lock_row(
1886: BEGIN
1887:
1888: IF (l_debug = 'Y') THEN
1889: Okc_Debug.Log('8800: Entered Delete_Row', 2);
1890: Okc_Debug.Log('8900: Locking _B row', 2);
1891: END IF;
1892:
1893: x_return_status := Lock_row(
1894: p_allowed_tmpl_usages_id => p_allowed_tmpl_usages_id,
1901: END IF;
1902:
1903:
1904: IF (l_debug = 'Y') THEN
1905: Okc_Debug.Log('9100: Removing _B row', 2);
1906: END IF;
1907: x_return_status := Delete_Row( p_allowed_tmpl_usages_id => p_allowed_tmpl_usages_id );
1908: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
1909: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1912: END IF;
1913:
1914:
1915: IF (l_debug = 'Y') THEN
1916: Okc_Debug.Log('9300: Leaving Delete_Row', 2);
1917: END IF;
1918:
1919: EXCEPTION
1920: WHEN FND_API.G_EXC_ERROR THEN
1918:
1919: EXCEPTION
1920: WHEN FND_API.G_EXC_ERROR THEN
1921: IF (l_debug = 'Y') THEN
1922: Okc_Debug.Log('9400: Leaving Delete_Row:FND_API.G_EXC_ERROR Exception', 2);
1923: END IF;
1924: x_return_status := G_RET_STS_ERROR;
1925:
1926: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1924: x_return_status := G_RET_STS_ERROR;
1925:
1926: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1927: IF (l_debug = 'Y') THEN
1928: Okc_Debug.Log('9500: Leaving Delete_Row:FND_API.G_EXC_UNEXPECTED_ERROR Exception', 2);
1929: END IF;
1930: x_return_status := G_RET_STS_UNEXP_ERROR;
1931:
1932: WHEN OTHERS THEN
1930: x_return_status := G_RET_STS_UNEXP_ERROR;
1931:
1932: WHEN OTHERS THEN
1933: IF (l_debug = 'Y') THEN
1934: Okc_Debug.Log('9600: Leaving Delete_Row because of EXCEPTION: '||sqlerrm, 2);
1935: END IF;
1936: Okc_Api.Set_Message(p_app_name => G_APP_NAME,
1937: p_msg_name => G_UNEXPECTED_ERROR,
1938: p_token1 => G_SQLCODE_TOKEN,