777: outputIndex integer;
778: parameters ame_util.longStringList;
779: queryStrings ame_util.longestStringList;
780: rowsFound integer;
781: tempGroupMembers dbms_sql.Varchar2_Table;
782: upperParameterNames ame_util.stringList;
783: tempGroupName ame_util.stringType;
784: l_error_code number;
785: begin
794: close groupMemberCursor;
795: outputIndex := 0; /* pre-increment */
796: for i in 1 .. parameters.count loop
797: if(upperParameterNames(i) = upper(ame_util.approverOamGroupId)) then
798: dynamicCursor := dbms_sql.open_cursor;
799: dbms_sql.parse(dynamicCursor,
800: ame_util.removeReturns(stringIn => queryStrings(i),
801: replaceWithSpaces => true),
802: dbms_sql.native);
795: outputIndex := 0; /* pre-increment */
796: for i in 1 .. parameters.count loop
797: if(upperParameterNames(i) = upper(ame_util.approverOamGroupId)) then
798: dynamicCursor := dbms_sql.open_cursor;
799: dbms_sql.parse(dynamicCursor,
800: ame_util.removeReturns(stringIn => queryStrings(i),
801: replaceWithSpaces => true),
802: dbms_sql.native);
803: if(instrb(queryStrings(i),
798: dynamicCursor := dbms_sql.open_cursor;
799: dbms_sql.parse(dynamicCursor,
800: ame_util.removeReturns(stringIn => queryStrings(i),
801: replaceWithSpaces => true),
802: dbms_sql.native);
803: if(instrb(queryStrings(i),
804: ame_util.transactionIdPlaceholder) > 0) then
805: if transactionIdIn is null then
806: dbms_sql.close_cursor(dynamicCursor);
802: dbms_sql.native);
803: if(instrb(queryStrings(i),
804: ame_util.transactionIdPlaceholder) > 0) then
805: if transactionIdIn is null then
806: dbms_sql.close_cursor(dynamicCursor);
807: raise noTransIdDefinedException;
808: end if;
809: dbms_sql.bind_variable(dynamicCursor,
810: ame_util.transactionIdPlaceholder,
805: if transactionIdIn is null then
806: dbms_sql.close_cursor(dynamicCursor);
807: raise noTransIdDefinedException;
808: end if;
809: dbms_sql.bind_variable(dynamicCursor,
810: ame_util.transactionIdPlaceholder,
811: transactionIdIn,
812: 50);
813: end if;
812: 50);
813: end if;
814: if(instrb(queryStrings(i),ame_util2.itemClassPlaceHolder) > 0) or
815: (instrb(queryStrings(i),ame_util2.itemIdPlaceHolder) > 0) then
816: dbms_sql.close_cursor(dynamicCursor);
817: raise noItemBindException;
818: end if;
819: dbms_sql.define_array(dynamicCursor,
820: 1,
815: (instrb(queryStrings(i),ame_util2.itemIdPlaceHolder) > 0) then
816: dbms_sql.close_cursor(dynamicCursor);
817: raise noItemBindException;
818: end if;
819: dbms_sql.define_array(dynamicCursor,
820: 1,
821: tempGroupMembers,
822: 100,
823: 1);
820: 1,
821: tempGroupMembers,
822: 100,
823: 1);
824: rowsFound := dbms_sql.execute(dynamicCursor);
825: loop
826: rowsFound := dbms_sql.fetch_rows(dynamicCursor);
827: dbms_sql.column_value(dynamicCursor,
828: 1,
822: 100,
823: 1);
824: rowsFound := dbms_sql.execute(dynamicCursor);
825: loop
826: rowsFound := dbms_sql.fetch_rows(dynamicCursor);
827: dbms_sql.column_value(dynamicCursor,
828: 1,
829: tempGroupMembers);
830: exit when rowsFound < 100;
823: 1);
824: rowsFound := dbms_sql.execute(dynamicCursor);
825: loop
826: rowsFound := dbms_sql.fetch_rows(dynamicCursor);
827: dbms_sql.column_value(dynamicCursor,
828: 1,
829: tempGroupMembers);
830: exit when rowsFound < 100;
831: end loop;
828: 1,
829: tempGroupMembers);
830: exit when rowsFound < 100;
831: end loop;
832: dbms_sql.close_cursor(dynamicCursor);
833: /*
834: Dynamic groups' query strings may return rows having one of two forms:
835: (1) approver_type:approver_id
836: (2) orig_system:orig_system_id:approver_name
1012: outputIndex integer;
1013: parameters ame_util.longStringList;
1014: queryStrings ame_util.longestStringList;
1015: rowsFound integer;
1016: tempGroupMembers dbms_sql.Varchar2_Table;
1017: upperParameterNames ame_util.stringList;
1018: tempGroupName ame_util.stringType;
1019: l_error_code number;
1020: begin
1029: close groupMemberCursor;
1030: outputIndex := 0; /* pre-increment */
1031: for i in 1 .. parameters.count loop
1032: if(upperParameterNames(i) = upper(ame_util.approverOamGroupId)) then
1033: dynamicCursor := dbms_sql.open_cursor;
1034: dbms_sql.parse(dynamicCursor,
1035: ame_util.removeReturns(stringIn => queryStrings(i),
1036: replaceWithSpaces => true),
1037: dbms_sql.native);
1030: outputIndex := 0; /* pre-increment */
1031: for i in 1 .. parameters.count loop
1032: if(upperParameterNames(i) = upper(ame_util.approverOamGroupId)) then
1033: dynamicCursor := dbms_sql.open_cursor;
1034: dbms_sql.parse(dynamicCursor,
1035: ame_util.removeReturns(stringIn => queryStrings(i),
1036: replaceWithSpaces => true),
1037: dbms_sql.native);
1038: if(instrb(queryStrings(i),
1033: dynamicCursor := dbms_sql.open_cursor;
1034: dbms_sql.parse(dynamicCursor,
1035: ame_util.removeReturns(stringIn => queryStrings(i),
1036: replaceWithSpaces => true),
1037: dbms_sql.native);
1038: if(instrb(queryStrings(i),
1039: ame_util.transactionIdPlaceholder) > 0) then
1040: if transactionIdIn is null then
1041: dbms_sql.close_cursor(dynamicCursor);
1037: dbms_sql.native);
1038: if(instrb(queryStrings(i),
1039: ame_util.transactionIdPlaceholder) > 0) then
1040: if transactionIdIn is null then
1041: dbms_sql.close_cursor(dynamicCursor);
1042: raise noTransIdDefinedException;
1043: end if;
1044: dbms_sql.bind_variable(dynamicCursor,
1045: ame_util.transactionIdPlaceholder,
1040: if transactionIdIn is null then
1041: dbms_sql.close_cursor(dynamicCursor);
1042: raise noTransIdDefinedException;
1043: end if;
1044: dbms_sql.bind_variable(dynamicCursor,
1045: ame_util.transactionIdPlaceholder,
1046: transactionIdIn,
1047: 50);
1048: end if;
1047: 50);
1048: end if;
1049: if(instrb(queryStrings(i),ame_util2.itemClassPlaceHolder) > 0) or
1050: (instrb(queryStrings(i),ame_util2.itemIdPlaceHolder) > 0) then
1051: dbms_sql.close_cursor(dynamicCursor);
1052: raise noItemBindException;
1053: end if;
1054: dbms_sql.define_array(dynamicCursor,
1055: 1,
1050: (instrb(queryStrings(i),ame_util2.itemIdPlaceHolder) > 0) then
1051: dbms_sql.close_cursor(dynamicCursor);
1052: raise noItemBindException;
1053: end if;
1054: dbms_sql.define_array(dynamicCursor,
1055: 1,
1056: tempGroupMembers,
1057: 100,
1058: 1);
1055: 1,
1056: tempGroupMembers,
1057: 100,
1058: 1);
1059: rowsFound := dbms_sql.execute(dynamicCursor);
1060: loop
1061: rowsFound := dbms_sql.fetch_rows(dynamicCursor);
1062: dbms_sql.column_value(dynamicCursor,
1063: 1,
1057: 100,
1058: 1);
1059: rowsFound := dbms_sql.execute(dynamicCursor);
1060: loop
1061: rowsFound := dbms_sql.fetch_rows(dynamicCursor);
1062: dbms_sql.column_value(dynamicCursor,
1063: 1,
1064: tempGroupMembers);
1065: exit when rowsFound < 100;
1058: 1);
1059: rowsFound := dbms_sql.execute(dynamicCursor);
1060: loop
1061: rowsFound := dbms_sql.fetch_rows(dynamicCursor);
1062: dbms_sql.column_value(dynamicCursor,
1063: 1,
1064: tempGroupMembers);
1065: exit when rowsFound < 100;
1066: end loop;
1063: 1,
1064: tempGroupMembers);
1065: exit when rowsFound < 100;
1066: end loop;
1067: dbms_sql.close_cursor(dynamicCursor);
1068: /*
1069: Dynamic groups' query strings may return rows having one of two forms:
1070: (1) approver_type:approver_id
1071: (2) orig_system:orig_system_id:approver_name
1251: outputIndex integer;
1252: parameters ame_util.longStringList;
1253: queryStrings ame_util.longestStringList;
1254: rowsFound integer;
1255: tempGroupMembers dbms_sql.Varchar2_Table;
1256: upperParameterNames ame_util.stringList;
1257: tempGroupName ame_util.stringType;
1258: l_error_code number;
1259: begin
1269: close groupMemberCursor;
1270: outputIndex := 0; /* pre-increment */
1271: for i in 1 .. parameters.count loop
1272: if(upperParameterNames(i) = upper(ame_util.approverOamGroupId)) then
1273: dynamicCursor := dbms_sql.open_cursor;
1274: dbms_sql.parse(dynamicCursor,
1275: ame_util.removeReturns(stringIn => queryStrings(i),
1276: replaceWithSpaces => true),
1277: dbms_sql.native);
1270: outputIndex := 0; /* pre-increment */
1271: for i in 1 .. parameters.count loop
1272: if(upperParameterNames(i) = upper(ame_util.approverOamGroupId)) then
1273: dynamicCursor := dbms_sql.open_cursor;
1274: dbms_sql.parse(dynamicCursor,
1275: ame_util.removeReturns(stringIn => queryStrings(i),
1276: replaceWithSpaces => true),
1277: dbms_sql.native);
1278: if(instrb(queryStrings(i),
1273: dynamicCursor := dbms_sql.open_cursor;
1274: dbms_sql.parse(dynamicCursor,
1275: ame_util.removeReturns(stringIn => queryStrings(i),
1276: replaceWithSpaces => true),
1277: dbms_sql.native);
1278: if(instrb(queryStrings(i),
1279: ame_util.transactionIdPlaceholder) > 0) then
1280: if transactionIdIn is null then
1281: dbms_sql.close_cursor(dynamicCursor);
1277: dbms_sql.native);
1278: if(instrb(queryStrings(i),
1279: ame_util.transactionIdPlaceholder) > 0) then
1280: if transactionIdIn is null then
1281: dbms_sql.close_cursor(dynamicCursor);
1282: raise noTransIdDefinedException;
1283: end if;
1284: dbms_sql.bind_variable(dynamicCursor,
1285: ame_util.transactionIdPlaceholder,
1280: if transactionIdIn is null then
1281: dbms_sql.close_cursor(dynamicCursor);
1282: raise noTransIdDefinedException;
1283: end if;
1284: dbms_sql.bind_variable(dynamicCursor,
1285: ame_util.transactionIdPlaceholder,
1286: transactionIdIn,
1287: 50);
1288: end if;
1287: 50);
1288: end if;
1289: if(instrb(queryStrings(i),ame_util2.itemClassPlaceHolder) > 0) or
1290: (instrb(queryStrings(i),ame_util2.itemIdPlaceHolder) > 0) then
1291: dbms_sql.close_cursor(dynamicCursor);
1292: raise noItemBindException;
1293: end if;
1294: dbms_sql.define_array(dynamicCursor,
1295: 1,
1290: (instrb(queryStrings(i),ame_util2.itemIdPlaceHolder) > 0) then
1291: dbms_sql.close_cursor(dynamicCursor);
1292: raise noItemBindException;
1293: end if;
1294: dbms_sql.define_array(dynamicCursor,
1295: 1,
1296: tempGroupMembers,
1297: 100,
1298: 1);
1295: 1,
1296: tempGroupMembers,
1297: 100,
1298: 1);
1299: rowsFound := dbms_sql.execute(dynamicCursor);
1300: loop
1301: rowsFound := dbms_sql.fetch_rows(dynamicCursor);
1302: dbms_sql.column_value(dynamicCursor,
1303: 1,
1297: 100,
1298: 1);
1299: rowsFound := dbms_sql.execute(dynamicCursor);
1300: loop
1301: rowsFound := dbms_sql.fetch_rows(dynamicCursor);
1302: dbms_sql.column_value(dynamicCursor,
1303: 1,
1304: tempGroupMembers);
1305: exit when rowsFound < 100;
1298: 1);
1299: rowsFound := dbms_sql.execute(dynamicCursor);
1300: loop
1301: rowsFound := dbms_sql.fetch_rows(dynamicCursor);
1302: dbms_sql.column_value(dynamicCursor,
1303: 1,
1304: tempGroupMembers);
1305: exit when rowsFound < 100;
1306: end loop;
1303: 1,
1304: tempGroupMembers);
1305: exit when rowsFound < 100;
1306: end loop;
1307: dbms_sql.close_cursor(dynamicCursor);
1308: /*
1309: Dynamic groups' query strings may return rows having one of two forms:
1310: (1) approver_type:approver_id
1311: (2) orig_system:orig_system_id:approver_name
1490: outputIndex integer;
1491: parameters ame_util.longStringList;
1492: queryStrings ame_util.longestStringList;
1493: rowsFound integer;
1494: tempGroupMembers dbms_sql.Varchar2_Table;
1495: upperParameterNames ame_util.stringList;
1496: tempGroupName ame_util.stringType;
1497: l_error_code number;
1498: begin
1508: close groupMemberCursor;
1509: outputIndex := 0; /* pre-increment */
1510: for i in 1 .. parameters.count loop
1511: if(upperParameterNames(i) = upper(ame_util.approverOamGroupId)) then
1512: dynamicCursor := dbms_sql.open_cursor;
1513: dbms_sql.parse(dynamicCursor,
1514: ame_util.removeReturns(stringIn => queryStrings(i),
1515: replaceWithSpaces => true),
1516: dbms_sql.native);
1509: outputIndex := 0; /* pre-increment */
1510: for i in 1 .. parameters.count loop
1511: if(upperParameterNames(i) = upper(ame_util.approverOamGroupId)) then
1512: dynamicCursor := dbms_sql.open_cursor;
1513: dbms_sql.parse(dynamicCursor,
1514: ame_util.removeReturns(stringIn => queryStrings(i),
1515: replaceWithSpaces => true),
1516: dbms_sql.native);
1517: if(instrb(queryStrings(i),
1512: dynamicCursor := dbms_sql.open_cursor;
1513: dbms_sql.parse(dynamicCursor,
1514: ame_util.removeReturns(stringIn => queryStrings(i),
1515: replaceWithSpaces => true),
1516: dbms_sql.native);
1517: if(instrb(queryStrings(i),
1518: ame_util.transactionIdPlaceholder) > 0) then
1519: if transactionIdIn is null then
1520: dbms_sql.close_cursor(dynamicCursor);
1516: dbms_sql.native);
1517: if(instrb(queryStrings(i),
1518: ame_util.transactionIdPlaceholder) > 0) then
1519: if transactionIdIn is null then
1520: dbms_sql.close_cursor(dynamicCursor);
1521: raise noTransIdDefinedException;
1522: end if;
1523: dbms_sql.bind_variable(dynamicCursor,
1524: ame_util.transactionIdPlaceholder,
1519: if transactionIdIn is null then
1520: dbms_sql.close_cursor(dynamicCursor);
1521: raise noTransIdDefinedException;
1522: end if;
1523: dbms_sql.bind_variable(dynamicCursor,
1524: ame_util.transactionIdPlaceholder,
1525: transactionIdIn,
1526: 50);
1527: end if;
1526: 50);
1527: end if;
1528: if(instrb(queryStrings(i),ame_util2.itemClassPlaceHolder) > 0) or
1529: (instrb(queryStrings(i),ame_util2.itemIdPlaceHolder) > 0) then
1530: dbms_sql.close_cursor(dynamicCursor);
1531: raise noItemBindException;
1532: end if;
1533: dbms_sql.define_array(dynamicCursor,
1534: 1,
1529: (instrb(queryStrings(i),ame_util2.itemIdPlaceHolder) > 0) then
1530: dbms_sql.close_cursor(dynamicCursor);
1531: raise noItemBindException;
1532: end if;
1533: dbms_sql.define_array(dynamicCursor,
1534: 1,
1535: tempGroupMembers,
1536: 100,
1537: 1);
1534: 1,
1535: tempGroupMembers,
1536: 100,
1537: 1);
1538: rowsFound := dbms_sql.execute(dynamicCursor);
1539: loop
1540: rowsFound := dbms_sql.fetch_rows(dynamicCursor);
1541: dbms_sql.column_value(dynamicCursor,
1542: 1,
1536: 100,
1537: 1);
1538: rowsFound := dbms_sql.execute(dynamicCursor);
1539: loop
1540: rowsFound := dbms_sql.fetch_rows(dynamicCursor);
1541: dbms_sql.column_value(dynamicCursor,
1542: 1,
1543: tempGroupMembers);
1544: exit when rowsFound < 100;
1537: 1);
1538: rowsFound := dbms_sql.execute(dynamicCursor);
1539: loop
1540: rowsFound := dbms_sql.fetch_rows(dynamicCursor);
1541: dbms_sql.column_value(dynamicCursor,
1542: 1,
1543: tempGroupMembers);
1544: exit when rowsFound < 100;
1545: end loop;
1542: 1,
1543: tempGroupMembers);
1544: exit when rowsFound < 100;
1545: end loop;
1546: dbms_sql.close_cursor(dynamicCursor);
1547: /*
1548: Dynamic groups' query strings may return rows having one of two forms:
1549: (1) approver_type:approver_id
1550: (2) orig_system:orig_system_id:approver_name