[Home] [Help]
141:
142: -- Procedure
143: -- init
144: -- Purpose
145: -- To initialize, populate and update GL_BIS_SEGVAL_INT temporary
146: -- table based on segment value security rules.
147: -- This procedure is called from the Discoverer's POST_LOGON trigger.
148: --
149: PROCEDURE init IS
155: BEGIN
156: -- Now there is no need to check for the module name for a session
157: -- as this procedure is always going to be called from the
158: -- Discoverer's POST_LOGON trigger
159: -- Populate the Global Temporary Table GL_BIS_SEGVAL_INT
160: -- with the security rules
161:
162: delete from GL_BIS_SEGVAL_INT; -- 6341771, clean up the existing rows
163: init_segval;
158: -- Discoverer's POST_LOGON trigger
159: -- Populate the Global Temporary Table GL_BIS_SEGVAL_INT
160: -- with the security rules
161:
162: delete from GL_BIS_SEGVAL_INT; -- 6341771, clean up the existing rows
163: init_segval;
164: commit; -- 6341771, execute commit in autonomous transaction
165: END init;
166:
166:
167: -- Procedure
168: -- init_segval
169: -- Purpose
170: -- Initialize, populate and update GL_BIS_SEGVAL_INT temporary
171: -- table based on segment value security rules
172: --
173: PROCEDURE init_segval IS
174:
322: EXIT WHEN seg_cur%NOTFOUND;
323:
324: IF validate_type <> 'F' THEN
325: -- Not table validated segment
326: sql_stmt := 'INSERT INTO GL_BIS_SEGVAL_INT( ' ||
327: 'segment_column_name,' ||
328: 'segment_value, ' ||
329: 'parent_segment) ' ||
330: 'SELECT ''' || segment_column_name || ''',' ||
338: INTO v_column_name, v_appl_table_name
339: FROM FND_FLEX_VALIDATION_TABLES
340: WHERE flex_value_set_id = value_set_id;
341:
342: sql_stmt := 'INSERT INTO GL_BIS_SEGVAL_INT( ' ||
343: 'segment_column_name,' ||
344: 'segment_value,' ||
345: 'parent_segment) ' ||
346: ' SELECT ''' || segment_column_name || ''',' ||
347: v_column_name || ',' || 'NULL' ||
348: ' FROM ' || v_appl_table_name;
349:
350: -- Insert parent segment value for table validated segment
351: sql_stmt2 := 'INSERT INTO GL_BIS_SEGVAL_INT( ' ||
352: 'segment_column_name,' ||
353: 'segment_value, ' ||
354: 'parent_segment) ' ||
355: ' SELECT ''' || segment_column_name || ''',' ||
416: count_line := 0;
417: count_stmt := 0;
418:
419: -- The first part of the delete statement is fixed within the rule
420: del_stmt := 'DELETE /*+ index(gl_bis_segval_int gl_bis_segval_int_n1) */ FROM GL_BIS_SEGVAL_INT ' ||
421: 'WHERE segment_column_name=''' || segment_column_name || '''';
422:
423: -- If the segment is a dependent segment, then add dynamic
424: -- SQL statement where clause for the parent segment
429:
430: -- Build Dynamic SQL statement to delete all segment values
431: -- not in the include range
432: -- Dynamic SQL statement example:
433: -- DELETE /*+ index(gl_bis_segval_int gl_bis_segval_int_n1) */
434: -- FROM GL_BIS_SEGVAL_INT
435: -- WHERE segment_column_name = 'SEGMENT1'
436: -- AND parent_segment = '01'
437: -- AND ( segment_value < '100'
430: -- Build Dynamic SQL statement to delete all segment values
431: -- not in the include range
432: -- Dynamic SQL statement example:
433: -- DELETE /*+ index(gl_bis_segval_int gl_bis_segval_int_n1) */
434: -- FROM GL_BIS_SEGVAL_INT
435: -- WHERE segment_column_name = 'SEGMENT1'
436: -- AND parent_segment = '01'
437: -- AND ( segment_value < '100'
438: -- OR (segment_value > '300' AND segment_value < '500')...)
587:
588: -- Build Dynamic SQL statement to delete all segment values
589: -- in the exclude range
590: -- Dynamic SQL statement example:
591: -- DELETE /*+ index(gl_bis_segval_int gl_bis_segval_int_n1) */
592: -- FROM GL_BIS_SEGVAL_INT
593: -- WHERE segment_column_name = 'SEGMENT1'
594: -- AND parent_segment = '01'
595: -- AND ( segment_value < '100'
588: -- Build Dynamic SQL statement to delete all segment values
589: -- in the exclude range
590: -- Dynamic SQL statement example:
591: -- DELETE /*+ index(gl_bis_segval_int gl_bis_segval_int_n1) */
592: -- FROM GL_BIS_SEGVAL_INT
593: -- WHERE segment_column_name = 'SEGMENT1'
594: -- AND parent_segment = '01'
595: -- AND ( segment_value < '100'
596: -- OR (segment_value >= '300' AND segment_value <= '500')...)
795: -- Function
796: -- Validate_access
797: -- Purpose
798: -- Validate the given code combination id and ledger id
799: -- according to the rules stored in GL_BIS_SEGVAL_INT temporary
800: -- table by gl_security_pkg.init
801: --
802: FUNCTION validate_access(p_ledger_id IN NUMBER DEFAULT NULL,
803: ccid IN NUMBER DEFAULT NULL) RETURN VARCHAR2 IS
1010: END;
1011:
1012: -- For each segment of the given code combination id, if the
1013: -- segment is secruity enabled, we check if the segment value
1014: -- exists in the GL_BIS_SEGVAL_INT temporary table. If not,
1015: -- then return FALSE.
1016:
1017: IF (seg1_flag) THEN
1018: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1014: -- exists in the GL_BIS_SEGVAL_INT temporary table. If not,
1015: -- then return FALSE.
1016:
1017: IF (seg1_flag) THEN
1018: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1019: count(*)
1020: into total_count
1021: FROM GL_BIS_SEGVAL_INT
1022: WHERE segment_column_name = 'SEGMENT1'
1017: IF (seg1_flag) THEN
1018: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1019: count(*)
1020: into total_count
1021: FROM GL_BIS_SEGVAL_INT
1022: WHERE segment_column_name = 'SEGMENT1'
1023: AND segment_value = segment1;
1024:
1025: IF (total_count = 0) THEN
1027: END IF;
1028: END IF;
1029:
1030: IF (seg2_flag) THEN
1031: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1032: count(*)
1033: into total_count
1034: FROM GL_BIS_SEGVAL_INT
1035: WHERE segment_column_name = 'SEGMENT2'
1030: IF (seg2_flag) THEN
1031: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1032: count(*)
1033: into total_count
1034: FROM GL_BIS_SEGVAL_INT
1035: WHERE segment_column_name = 'SEGMENT2'
1036: AND segment_value = segment2;
1037:
1038: IF (total_count = 0) THEN
1040: END IF;
1041: END IF;
1042:
1043: IF (seg3_flag) THEN
1044: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1045: count(*)
1046: into total_count
1047: FROM GL_BIS_SEGVAL_INT
1048: WHERE segment_column_name = 'SEGMENT3'
1043: IF (seg3_flag) THEN
1044: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1045: count(*)
1046: into total_count
1047: FROM GL_BIS_SEGVAL_INT
1048: WHERE segment_column_name = 'SEGMENT3'
1049: AND segment_value = segment3;
1050:
1051: IF (total_count = 0) THEN
1053: END IF;
1054: END IF;
1055:
1056: IF (seg4_flag) THEN
1057: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1058: count(*)
1059: into total_count
1060: FROM GL_BIS_SEGVAL_INT
1061: WHERE segment_column_name = 'SEGMENT4'
1056: IF (seg4_flag) THEN
1057: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1058: count(*)
1059: into total_count
1060: FROM GL_BIS_SEGVAL_INT
1061: WHERE segment_column_name = 'SEGMENT4'
1062: AND segment_value = segment4;
1063:
1064: IF (total_count = 0) THEN
1066: END IF;
1067: END IF;
1068:
1069: IF (seg5_flag) THEN
1070: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1071: count(*)
1072: into total_count
1073: FROM GL_BIS_SEGVAL_INT
1074: WHERE segment_column_name = 'SEGMENT5'
1069: IF (seg5_flag) THEN
1070: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1071: count(*)
1072: into total_count
1073: FROM GL_BIS_SEGVAL_INT
1074: WHERE segment_column_name = 'SEGMENT5'
1075: AND segment_value = segment5;
1076:
1077: IF (total_count = 0) THEN
1079: END IF;
1080: END IF;
1081:
1082: IF (seg6_flag) THEN
1083: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1084: count(*)
1085: into total_count
1086: FROM GL_BIS_SEGVAL_INT
1087: WHERE segment_column_name = 'SEGMENT6'
1082: IF (seg6_flag) THEN
1083: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1084: count(*)
1085: into total_count
1086: FROM GL_BIS_SEGVAL_INT
1087: WHERE segment_column_name = 'SEGMENT6'
1088: AND segment_value = segment6;
1089:
1090: IF (total_count = 0) THEN
1092: END IF;
1093: END IF;
1094:
1095: IF (seg7_flag) THEN
1096: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1097: count(*)
1098: into total_count
1099: FROM GL_BIS_SEGVAL_INT
1100: WHERE segment_column_name = 'SEGMENT7'
1095: IF (seg7_flag) THEN
1096: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1097: count(*)
1098: into total_count
1099: FROM GL_BIS_SEGVAL_INT
1100: WHERE segment_column_name = 'SEGMENT7'
1101: AND segment_value = segment7;
1102:
1103: IF (total_count = 0) THEN
1105: END IF;
1106: END IF;
1107:
1108: IF (seg8_flag) THEN
1109: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1110: count(*)
1111: into total_count
1112: FROM GL_BIS_SEGVAL_INT
1113: WHERE segment_column_name = 'SEGMENT8'
1108: IF (seg8_flag) THEN
1109: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1110: count(*)
1111: into total_count
1112: FROM GL_BIS_SEGVAL_INT
1113: WHERE segment_column_name = 'SEGMENT8'
1114: AND segment_value = segment8;
1115:
1116: IF (total_count = 0) THEN
1118: END IF;
1119: END IF;
1120:
1121: IF (seg9_flag) THEN
1122: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1123: count(*)
1124: into total_count
1125: FROM GL_BIS_SEGVAL_INT
1126: WHERE segment_column_name = 'SEGMENT9'
1121: IF (seg9_flag) THEN
1122: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1123: count(*)
1124: into total_count
1125: FROM GL_BIS_SEGVAL_INT
1126: WHERE segment_column_name = 'SEGMENT9'
1127: AND segment_value = segment9;
1128:
1129: IF (total_count = 0) THEN
1131: END IF;
1132: END IF;
1133:
1134: IF (seg10_flag) THEN
1135: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1136: count(*)
1137: into total_count
1138: FROM GL_BIS_SEGVAL_INT
1139: WHERE segment_column_name = 'SEGMENT10'
1134: IF (seg10_flag) THEN
1135: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1136: count(*)
1137: into total_count
1138: FROM GL_BIS_SEGVAL_INT
1139: WHERE segment_column_name = 'SEGMENT10'
1140: AND segment_value = segment10;
1141:
1142: IF (total_count = 0) THEN
1144: END IF;
1145: END IF;
1146:
1147: IF (seg11_flag) THEN
1148: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1149: count(*)
1150: into total_count
1151: FROM GL_BIS_SEGVAL_INT
1152: WHERE segment_column_name = 'SEGMENT11'
1147: IF (seg11_flag) THEN
1148: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1149: count(*)
1150: into total_count
1151: FROM GL_BIS_SEGVAL_INT
1152: WHERE segment_column_name = 'SEGMENT11'
1153: AND segment_value = segment11;
1154:
1155: IF (total_count = 0) THEN
1157: END IF;
1158: END IF;
1159:
1160: IF (seg12_flag) THEN
1161: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1162: count(*)
1163: into total_count
1164: FROM GL_BIS_SEGVAL_INT
1165: WHERE segment_column_name = 'SEGMENT12'
1160: IF (seg12_flag) THEN
1161: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1162: count(*)
1163: into total_count
1164: FROM GL_BIS_SEGVAL_INT
1165: WHERE segment_column_name = 'SEGMENT12'
1166: AND segment_value = segment12;
1167:
1168: IF (total_count = 0) THEN
1170: END IF;
1171: END IF;
1172:
1173: IF (seg13_flag) THEN
1174: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1175: count(*)
1176: into total_count
1177: FROM GL_BIS_SEGVAL_INT
1178: WHERE segment_column_name = 'SEGMENT13'
1173: IF (seg13_flag) THEN
1174: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1175: count(*)
1176: into total_count
1177: FROM GL_BIS_SEGVAL_INT
1178: WHERE segment_column_name = 'SEGMENT13'
1179: AND segment_value = segment13;
1180:
1181: IF (total_count = 0) THEN
1183: END IF;
1184: END IF;
1185:
1186: IF (seg14_flag) THEN
1187: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1188: count(*)
1189: into total_count
1190: FROM GL_BIS_SEGVAL_INT
1191: WHERE segment_column_name = 'SEGMENT14'
1186: IF (seg14_flag) THEN
1187: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1188: count(*)
1189: into total_count
1190: FROM GL_BIS_SEGVAL_INT
1191: WHERE segment_column_name = 'SEGMENT14'
1192: AND segment_value = segment14;
1193:
1194: IF (total_count = 0) THEN
1196: END IF;
1197: END IF;
1198:
1199: IF (seg15_flag) THEN
1200: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1201: count(*)
1202: into total_count
1203: FROM GL_BIS_SEGVAL_INT
1204: WHERE segment_column_name = 'SEGMENT15'
1199: IF (seg15_flag) THEN
1200: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1201: count(*)
1202: into total_count
1203: FROM GL_BIS_SEGVAL_INT
1204: WHERE segment_column_name = 'SEGMENT15'
1205: AND segment_value = segment15;
1206:
1207: IF (total_count = 0) THEN
1209: END IF;
1210: END IF;
1211:
1212: IF (seg16_flag) THEN
1213: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1214: count(*)
1215: into total_count
1216: FROM GL_BIS_SEGVAL_INT
1217: WHERE segment_column_name = 'SEGMENT16'
1212: IF (seg16_flag) THEN
1213: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1214: count(*)
1215: into total_count
1216: FROM GL_BIS_SEGVAL_INT
1217: WHERE segment_column_name = 'SEGMENT16'
1218: AND segment_value = segment16;
1219:
1220: IF (total_count = 0) THEN
1222: END IF;
1223: END IF;
1224:
1225: IF (seg17_flag) THEN
1226: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1227: count(*)
1228: into total_count
1229: FROM GL_BIS_SEGVAL_INT
1230: WHERE segment_column_name = 'SEGMENT17'
1225: IF (seg17_flag) THEN
1226: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1227: count(*)
1228: into total_count
1229: FROM GL_BIS_SEGVAL_INT
1230: WHERE segment_column_name = 'SEGMENT17'
1231: AND segment_value = segment17;
1232:
1233: IF (total_count = 0) THEN
1235: END IF;
1236: END IF;
1237:
1238: IF (seg18_flag) THEN
1239: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1240: count(*)
1241: into total_count
1242: FROM GL_BIS_SEGVAL_INT
1243: WHERE segment_column_name = 'SEGMENT18'
1238: IF (seg18_flag) THEN
1239: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1240: count(*)
1241: into total_count
1242: FROM GL_BIS_SEGVAL_INT
1243: WHERE segment_column_name = 'SEGMENT18'
1244: AND segment_value = segment18;
1245:
1246: IF (total_count = 0) THEN
1248: END IF;
1249: END IF;
1250:
1251: IF (seg19_flag) THEN
1252: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1253: count(*)
1254: into total_count
1255: FROM GL_BIS_SEGVAL_INT
1256: WHERE segment_column_name = 'SEGMENT19'
1251: IF (seg19_flag) THEN
1252: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1253: count(*)
1254: into total_count
1255: FROM GL_BIS_SEGVAL_INT
1256: WHERE segment_column_name = 'SEGMENT19'
1257: AND segment_value = segment19;
1258:
1259: IF (total_count = 0) THEN
1261: END IF;
1262: END IF;
1263:
1264: IF (seg20_flag) THEN
1265: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1266: count(*)
1267: into total_count
1268: FROM GL_BIS_SEGVAL_INT
1269: WHERE segment_column_name = 'SEGMENT20'
1264: IF (seg20_flag) THEN
1265: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1266: count(*)
1267: into total_count
1268: FROM GL_BIS_SEGVAL_INT
1269: WHERE segment_column_name = 'SEGMENT20'
1270: AND segment_value = segment20;
1271:
1272: IF (total_count = 0) THEN
1274: END IF;
1275: END IF;
1276:
1277: IF (seg21_flag) THEN
1278: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1279: count(*)
1280: into total_count
1281: FROM GL_BIS_SEGVAL_INT
1282: WHERE segment_column_name = 'SEGMENT21'
1277: IF (seg21_flag) THEN
1278: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1279: count(*)
1280: into total_count
1281: FROM GL_BIS_SEGVAL_INT
1282: WHERE segment_column_name = 'SEGMENT21'
1283: AND segment_value = segment21;
1284:
1285: IF (total_count = 0) THEN
1287: END IF;
1288: END IF;
1289:
1290: IF (seg22_flag) THEN
1291: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1292: count(*)
1293: into total_count
1294: FROM GL_BIS_SEGVAL_INT
1295: WHERE segment_column_name = 'SEGMENT22'
1290: IF (seg22_flag) THEN
1291: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1292: count(*)
1293: into total_count
1294: FROM GL_BIS_SEGVAL_INT
1295: WHERE segment_column_name = 'SEGMENT22'
1296: AND segment_value = segment22;
1297:
1298: IF (total_count = 0) THEN
1300: END IF;
1301: END IF;
1302:
1303: IF (seg23_flag) THEN
1304: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1305: count(*)
1306: into total_count
1307: FROM GL_BIS_SEGVAL_INT
1308: WHERE segment_column_name = 'SEGMENT23'
1303: IF (seg23_flag) THEN
1304: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1305: count(*)
1306: into total_count
1307: FROM GL_BIS_SEGVAL_INT
1308: WHERE segment_column_name = 'SEGMENT23'
1309: AND segment_value = segment23;
1310:
1311: IF (total_count = 0) THEN
1313: END IF;
1314: END IF;
1315:
1316: IF (seg24_flag) THEN
1317: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1318: count(*)
1319: into total_count
1320: FROM GL_BIS_SEGVAL_INT
1321: WHERE segment_column_name = 'SEGMENT24'
1316: IF (seg24_flag) THEN
1317: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1318: count(*)
1319: into total_count
1320: FROM GL_BIS_SEGVAL_INT
1321: WHERE segment_column_name = 'SEGMENT24'
1322: AND segment_value = segment24;
1323:
1324: IF (total_count = 0) THEN
1326: END IF;
1327: END IF;
1328:
1329: IF (seg25_flag) THEN
1330: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1331: count(*)
1332: into total_count
1333: FROM GL_BIS_SEGVAL_INT
1334: WHERE segment_column_name = 'SEGMENT25'
1329: IF (seg25_flag) THEN
1330: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1331: count(*)
1332: into total_count
1333: FROM GL_BIS_SEGVAL_INT
1334: WHERE segment_column_name = 'SEGMENT25'
1335: AND segment_value = segment25;
1336:
1337: IF (total_count = 0) THEN
1339: END IF;
1340: END IF;
1341:
1342: IF (seg26_flag) THEN
1343: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1344: count(*)
1345: into total_count
1346: FROM GL_BIS_SEGVAL_INT
1347: WHERE segment_column_name = 'SEGMENT26'
1342: IF (seg26_flag) THEN
1343: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1344: count(*)
1345: into total_count
1346: FROM GL_BIS_SEGVAL_INT
1347: WHERE segment_column_name = 'SEGMENT26'
1348: AND segment_value = segment26;
1349:
1350: IF (total_count = 0) THEN
1352: END IF;
1353: END IF;
1354:
1355: IF (seg27_flag) THEN
1356: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1357: count(*)
1358: into total_count
1359: FROM GL_BIS_SEGVAL_INT
1360: WHERE segment_column_name = 'SEGMENT27'
1355: IF (seg27_flag) THEN
1356: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1357: count(*)
1358: into total_count
1359: FROM GL_BIS_SEGVAL_INT
1360: WHERE segment_column_name = 'SEGMENT27'
1361: AND segment_value = segment27;
1362:
1363: IF (total_count = 0) THEN
1365: END IF;
1366: END IF;
1367:
1368: IF (seg28_flag) THEN
1369: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1370: count(*)
1371: into total_count
1372: FROM GL_BIS_SEGVAL_INT
1373: WHERE segment_column_name = 'SEGMENT28'
1368: IF (seg28_flag) THEN
1369: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1370: count(*)
1371: into total_count
1372: FROM GL_BIS_SEGVAL_INT
1373: WHERE segment_column_name = 'SEGMENT28'
1374: AND segment_value = segment28;
1375:
1376: IF (total_count = 0) THEN
1378: END IF;
1379: END IF;
1380:
1381: IF (seg29_flag) THEN
1382: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1383: count(*)
1384: into total_count
1385: FROM GL_BIS_SEGVAL_INT
1386: WHERE segment_column_name = 'SEGMENT29'
1381: IF (seg29_flag) THEN
1382: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1383: count(*)
1384: into total_count
1385: FROM GL_BIS_SEGVAL_INT
1386: WHERE segment_column_name = 'SEGMENT29'
1387: AND segment_value = segment29;
1388:
1389: IF (total_count = 0) THEN
1391: END IF;
1392: END IF;
1393:
1394: IF (seg30_flag) THEN
1395: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1396: count(*)
1397: into total_count
1398: FROM GL_BIS_SEGVAL_INT
1399: WHERE segment_column_name = 'SEGMENT30'
1394: IF (seg30_flag) THEN
1395: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1396: count(*)
1397: into total_count
1398: FROM GL_BIS_SEGVAL_INT
1399: WHERE segment_column_name = 'SEGMENT30'
1400: AND segment_value = segment30;
1401:
1402: IF (total_count = 0) THEN
1461: -- Function
1462: -- Validate_segval
1463: -- Purpose
1464: -- Validate the given segment number and segment value
1465: -- according to the rules stored in GL_BIS_SEGVAL_INT temporary
1466: -- table by gl_security_pkg.init
1467: --
1468: FUNCTION validate_segval(segnum1 IN NUMBER DEFAULT NULL,
1469: segnum2 IN NUMBER DEFAULT NULL,
1486: IF (seg_col_name(segnum1) IS NOT NULL) THEN
1487:
1488: seg1_name := seg_col_name(segnum1);
1489:
1490: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1491: count(*)
1492: into count1
1493: FROM GL_BIS_SEGVAL_INT
1494: WHERE segment_column_name = seg1_name
1489:
1490: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1491: count(*)
1492: into count1
1493: FROM GL_BIS_SEGVAL_INT
1494: WHERE segment_column_name = seg1_name
1495: AND segment_value = segval1;
1496:
1497: IF (count1 = 0) THEN
1528: IF (seg_col_name(segnum2) IS NOT NULL) THEN
1529:
1530: seg2_name := seg_col_name(segnum2);
1531:
1532: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1533: count(*)
1534: into count1
1535: FROM GL_BIS_SEGVAL_INT
1536: WHERE segment_column_name = seg2_name
1531:
1532: SELECT /*+ index(gl_bis_segval_int gl_bis_segval_int_n1 ) */
1533: count(*)
1534: into count1
1535: FROM GL_BIS_SEGVAL_INT
1536: WHERE segment_column_name = seg2_name
1537: AND segment_value = segval2;
1538:
1539: IF (count1 = 0) THEN