158: outputIndex integer;
159: parameters ame_util.longStringList;
160: queryStrings ame_util.longestStringList;
161: rowsFound integer;
162: tempGroupMembers dbms_sql.Varchar2_Table;
163: upperParameterNames ame_util.stringList;
164: tempGroupName ame_util.stringType;
165: l_error_code number;
166: begin
175: close groupMemberCursor;
176: outputIndex := 0; /* pre-increment */
177: for i in 1 .. parameters.count loop
178: if(upperParameterNames(i) = upper(ame_util.approverOamGroupId)) then
179: dynamicCursor := dbms_sql.open_cursor;
180: dbms_sql.parse(dynamicCursor,
181: ame_util.removeReturns(stringIn => queryStrings(i),
182: replaceWithSpaces => true),
183: dbms_sql.native);
176: outputIndex := 0; /* pre-increment */
177: for i in 1 .. parameters.count loop
178: if(upperParameterNames(i) = upper(ame_util.approverOamGroupId)) then
179: dynamicCursor := dbms_sql.open_cursor;
180: dbms_sql.parse(dynamicCursor,
181: ame_util.removeReturns(stringIn => queryStrings(i),
182: replaceWithSpaces => true),
183: dbms_sql.native);
184: if(instrb(queryStrings(i),
179: dynamicCursor := dbms_sql.open_cursor;
180: dbms_sql.parse(dynamicCursor,
181: ame_util.removeReturns(stringIn => queryStrings(i),
182: replaceWithSpaces => true),
183: dbms_sql.native);
184: if(instrb(queryStrings(i),
185: ame_util.transactionIdPlaceholder) > 0) then
186: if transactionIdIn is null then
187: dbms_sql.close_cursor(dynamicCursor);
183: dbms_sql.native);
184: if(instrb(queryStrings(i),
185: ame_util.transactionIdPlaceholder) > 0) then
186: if transactionIdIn is null then
187: dbms_sql.close_cursor(dynamicCursor);
188: raise noTransIdDefinedException;
189: end if;
190: dbms_sql.bind_variable(dynamicCursor,
191: ame_util.transactionIdPlaceholder,
186: if transactionIdIn is null then
187: dbms_sql.close_cursor(dynamicCursor);
188: raise noTransIdDefinedException;
189: end if;
190: dbms_sql.bind_variable(dynamicCursor,
191: ame_util.transactionIdPlaceholder,
192: transactionIdIn,
193: 50);
194: end if;
194: end if;
195: if(instrb(queryStrings(i),
196: ame_util2.itemClassPlaceHolder) > 0) then
197: if transactionIdIn is null then
198: dbms_sql.close_cursor(dynamicCursor);
199: raise noItemBindException;
200: end if;
201: dbms_sql.bind_variable(dynamicCursor,
202: ame_util2.itemClassPlaceHolder,
197: if transactionIdIn is null then
198: dbms_sql.close_cursor(dynamicCursor);
199: raise noItemBindException;
200: end if;
201: dbms_sql.bind_variable(dynamicCursor,
202: ame_util2.itemClassPlaceHolder,
203: itemClassIn,
204: 50);
205: end if;
205: end if;
206: if(instrb(queryStrings(i),
207: ame_util2.itemIdPlaceHolder) > 0) then
208: if transactionIdIn is null then
209: dbms_sql.close_cursor(dynamicCursor);
210: raise noItemBindException;
211: end if;
212: dbms_sql.bind_variable(dynamicCursor,
213: ame_util2.itemIdPlaceHolder,
208: if transactionIdIn is null then
209: dbms_sql.close_cursor(dynamicCursor);
210: raise noItemBindException;
211: end if;
212: dbms_sql.bind_variable(dynamicCursor,
213: ame_util2.itemIdPlaceHolder,
214: itemIdIn,
215: 50);
216: end if;
213: ame_util2.itemIdPlaceHolder,
214: itemIdIn,
215: 50);
216: end if;
217: dbms_sql.define_array(dynamicCursor,
218: 1,
219: tempGroupMembers,
220: 100,
221: 1);
218: 1,
219: tempGroupMembers,
220: 100,
221: 1);
222: rowsFound := dbms_sql.execute(dynamicCursor);
223: loop
224: rowsFound := dbms_sql.fetch_rows(dynamicCursor);
225: dbms_sql.column_value(dynamicCursor,
226: 1,
220: 100,
221: 1);
222: rowsFound := dbms_sql.execute(dynamicCursor);
223: loop
224: rowsFound := dbms_sql.fetch_rows(dynamicCursor);
225: dbms_sql.column_value(dynamicCursor,
226: 1,
227: tempGroupMembers);
228: exit when rowsFound < 100;
221: 1);
222: rowsFound := dbms_sql.execute(dynamicCursor);
223: loop
224: rowsFound := dbms_sql.fetch_rows(dynamicCursor);
225: dbms_sql.column_value(dynamicCursor,
226: 1,
227: tempGroupMembers);
228: exit when rowsFound < 100;
229: end loop;
226: 1,
227: tempGroupMembers);
228: exit when rowsFound < 100;
229: end loop;
230: dbms_sql.close_cursor(dynamicCursor);
231: /*
232: Dynamic groups' query strings may return rows having one of two forms:
233: (1) approver_type:approver_id
234: (2) orig_system:orig_system_id:approver_name
404: outputIndex integer;
405: parameters ame_util.longStringList;
406: queryStrings ame_util.longestStringList;
407: rowsFound integer;
408: tempGroupMembers dbms_sql.Varchar2_Table;
409: upperParameterNames ame_util.stringList;
410: tempGroupName ame_util.stringType;
411: l_error_code number;
412: begin
421: close groupMemberCursor;
422: outputIndex := 0; /* pre-increment */
423: for i in 1 .. parameters.count loop
424: if(upperParameterNames(i) = upper(ame_util.approverOamGroupId)) then
425: dynamicCursor := dbms_sql.open_cursor;
426: dbms_sql.parse(dynamicCursor,
427: ame_util.removeReturns(stringIn => queryStrings(i),
428: replaceWithSpaces => true),
429: dbms_sql.native);
422: outputIndex := 0; /* pre-increment */
423: for i in 1 .. parameters.count loop
424: if(upperParameterNames(i) = upper(ame_util.approverOamGroupId)) then
425: dynamicCursor := dbms_sql.open_cursor;
426: dbms_sql.parse(dynamicCursor,
427: ame_util.removeReturns(stringIn => queryStrings(i),
428: replaceWithSpaces => true),
429: dbms_sql.native);
430: if(instrb(queryStrings(i),
425: dynamicCursor := dbms_sql.open_cursor;
426: dbms_sql.parse(dynamicCursor,
427: ame_util.removeReturns(stringIn => queryStrings(i),
428: replaceWithSpaces => true),
429: dbms_sql.native);
430: if(instrb(queryStrings(i),
431: ame_util.transactionIdPlaceholder) > 0) then
432: if transactionIdIn is null then
433: dbms_sql.close_cursor(dynamicCursor);
429: dbms_sql.native);
430: if(instrb(queryStrings(i),
431: ame_util.transactionIdPlaceholder) > 0) then
432: if transactionIdIn is null then
433: dbms_sql.close_cursor(dynamicCursor);
434: raise noTransIdDefinedException;
435: end if;
436: dbms_sql.bind_variable(dynamicCursor,
437: ame_util.transactionIdPlaceholder,
432: if transactionIdIn is null then
433: dbms_sql.close_cursor(dynamicCursor);
434: raise noTransIdDefinedException;
435: end if;
436: dbms_sql.bind_variable(dynamicCursor,
437: ame_util.transactionIdPlaceholder,
438: transactionIdIn,
439: 50);
440: end if;
440: end if;
441: if(instrb(queryStrings(i),
442: ame_util2.itemClassPlaceHolder) > 0) then
443: if transactionIdIn is null then
444: dbms_sql.close_cursor(dynamicCursor);
445: raise noItemBindException;
446: end if;
447: dbms_sql.bind_variable(dynamicCursor,
448: ame_util2.itemClassPlaceHolder,
443: if transactionIdIn is null then
444: dbms_sql.close_cursor(dynamicCursor);
445: raise noItemBindException;
446: end if;
447: dbms_sql.bind_variable(dynamicCursor,
448: ame_util2.itemClassPlaceHolder,
449: itemClassIn,
450: 50);
451: end if;
451: end if;
452: if(instrb(queryStrings(i),
453: ame_util2.itemIdPlaceHolder) > 0) then
454: if transactionIdIn is null then
455: dbms_sql.close_cursor(dynamicCursor);
456: raise noItemBindException;
457: end if;
458: dbms_sql.bind_variable(dynamicCursor,
459: ame_util2.itemIdPlaceHolder,
454: if transactionIdIn is null then
455: dbms_sql.close_cursor(dynamicCursor);
456: raise noItemBindException;
457: end if;
458: dbms_sql.bind_variable(dynamicCursor,
459: ame_util2.itemIdPlaceHolder,
460: itemIdIn,
461: 50);
462: end if;
459: ame_util2.itemIdPlaceHolder,
460: itemIdIn,
461: 50);
462: end if;
463: dbms_sql.define_array(dynamicCursor,
464: 1,
465: tempGroupMembers,
466: 100,
467: 1);
464: 1,
465: tempGroupMembers,
466: 100,
467: 1);
468: rowsFound := dbms_sql.execute(dynamicCursor);
469: loop
470: rowsFound := dbms_sql.fetch_rows(dynamicCursor);
471: dbms_sql.column_value(dynamicCursor,
472: 1,
466: 100,
467: 1);
468: rowsFound := dbms_sql.execute(dynamicCursor);
469: loop
470: rowsFound := dbms_sql.fetch_rows(dynamicCursor);
471: dbms_sql.column_value(dynamicCursor,
472: 1,
473: tempGroupMembers);
474: exit when rowsFound < 100;
467: 1);
468: rowsFound := dbms_sql.execute(dynamicCursor);
469: loop
470: rowsFound := dbms_sql.fetch_rows(dynamicCursor);
471: dbms_sql.column_value(dynamicCursor,
472: 1,
473: tempGroupMembers);
474: exit when rowsFound < 100;
475: end loop;
472: 1,
473: tempGroupMembers);
474: exit when rowsFound < 100;
475: end loop;
476: dbms_sql.close_cursor(dynamicCursor);
477: /*
478: Dynamic groups' query strings may return rows having one of two forms:
479: (1) approver_type:approver_id
480: (2) orig_system:orig_system_id:approver_name
652: outputIndex integer;
653: parameters ame_util.longStringList;
654: queryStrings ame_util.longestStringList;
655: rowsFound integer;
656: tempGroupMembers dbms_sql.Varchar2_Table;
657: tempGroupName ame_util.stringType;
658: upperParameterNames ame_util.stringList;
659: l_error_code number;
660: begin
670: close groupMemberCursor;
671: outputIndex := 0; /* pre-increment */
672: for i in 1 .. parameters.count loop
673: if(upperParameterNames(i) = upper(ame_util.approverOamGroupId)) then
674: dynamicCursor := dbms_sql.open_cursor;
675: dbms_sql.parse(dynamicCursor,
676: ame_util.removeReturns(stringIn => queryStrings(i),
677: replaceWithSpaces => true),
678: dbms_sql.native);
671: outputIndex := 0; /* pre-increment */
672: for i in 1 .. parameters.count loop
673: if(upperParameterNames(i) = upper(ame_util.approverOamGroupId)) then
674: dynamicCursor := dbms_sql.open_cursor;
675: dbms_sql.parse(dynamicCursor,
676: ame_util.removeReturns(stringIn => queryStrings(i),
677: replaceWithSpaces => true),
678: dbms_sql.native);
679: if(instrb(queryStrings(i),
674: dynamicCursor := dbms_sql.open_cursor;
675: dbms_sql.parse(dynamicCursor,
676: ame_util.removeReturns(stringIn => queryStrings(i),
677: replaceWithSpaces => true),
678: dbms_sql.native);
679: if(instrb(queryStrings(i),
680: ame_util.transactionIdPlaceholder) > 0) then
681: if transactionIdIn is null then
682: dbms_sql.close_cursor(dynamicCursor);
678: dbms_sql.native);
679: if(instrb(queryStrings(i),
680: ame_util.transactionIdPlaceholder) > 0) then
681: if transactionIdIn is null then
682: dbms_sql.close_cursor(dynamicCursor);
683: raise noTransIdDefinedException;
684: end if;
685: dbms_sql.bind_variable(dynamicCursor,
686: ame_util.transactionIdPlaceholder,
681: if transactionIdIn is null then
682: dbms_sql.close_cursor(dynamicCursor);
683: raise noTransIdDefinedException;
684: end if;
685: dbms_sql.bind_variable(dynamicCursor,
686: ame_util.transactionIdPlaceholder,
687: transactionIdIn,
688: 50);
689: end if;
689: end if;
690: if(instrb(queryStrings(i),
691: ame_util2.itemClassPlaceHolder) > 0) then
692: if transactionIdIn is null then
693: dbms_sql.close_cursor(dynamicCursor);
694: raise noItemBindException;
695: end if;
696: dbms_sql.bind_variable(dynamicCursor,
697: ame_util2.itemClassPlaceHolder,
692: if transactionIdIn is null then
693: dbms_sql.close_cursor(dynamicCursor);
694: raise noItemBindException;
695: end if;
696: dbms_sql.bind_variable(dynamicCursor,
697: ame_util2.itemClassPlaceHolder,
698: itemClassIn,
699: 50);
700: end if;
700: end if;
701: if(instrb(queryStrings(i),
702: ame_util2.itemIdPlaceHolder) > 0) then
703: if transactionIdIn is null then
704: dbms_sql.close_cursor(dynamicCursor);
705: raise noItemBindException;
706: end if;
707: dbms_sql.bind_variable(dynamicCursor,
708: ame_util2.itemIdPlaceHolder,
703: if transactionIdIn is null then
704: dbms_sql.close_cursor(dynamicCursor);
705: raise noItemBindException;
706: end if;
707: dbms_sql.bind_variable(dynamicCursor,
708: ame_util2.itemIdPlaceHolder,
709: itemIdIn,
710: 50);
711: end if;
708: ame_util2.itemIdPlaceHolder,
709: itemIdIn,
710: 50);
711: end if;
712: dbms_sql.define_array(dynamicCursor,
713: 1,
714: tempGroupMembers,
715: 100,
716: 1);
713: 1,
714: tempGroupMembers,
715: 100,
716: 1);
717: rowsFound := dbms_sql.execute(dynamicCursor);
718: loop
719: rowsFound := dbms_sql.fetch_rows(dynamicCursor);
720: dbms_sql.column_value(dynamicCursor,
721: 1,
715: 100,
716: 1);
717: rowsFound := dbms_sql.execute(dynamicCursor);
718: loop
719: rowsFound := dbms_sql.fetch_rows(dynamicCursor);
720: dbms_sql.column_value(dynamicCursor,
721: 1,
722: tempGroupMembers);
723: exit when rowsFound < 100;
716: 1);
717: rowsFound := dbms_sql.execute(dynamicCursor);
718: loop
719: rowsFound := dbms_sql.fetch_rows(dynamicCursor);
720: dbms_sql.column_value(dynamicCursor,
721: 1,
722: tempGroupMembers);
723: exit when rowsFound < 100;
724: end loop;
721: 1,
722: tempGroupMembers);
723: exit when rowsFound < 100;
724: end loop;
725: dbms_sql.close_cursor(dynamicCursor);
726: /*
727: Dynamic groups' query strings may return rows having one of two forms:
728: (1) approver_type:approver_id
729: (2) orig_system:orig_system_id:approver_name
900: outputIndex integer;
901: parameters ame_util.longStringList;
902: queryStrings ame_util.longestStringList;
903: rowsFound integer;
904: tempGroupMembers dbms_sql.Varchar2_Table;
905: tempGroupName ame_util.stringType;
906: upperParameterNames ame_util.stringList;
907: l_error_code number;
908: begin
918: close groupMemberCursor;
919: outputIndex := 0; /* pre-increment */
920: for i in 1 .. parameters.count loop
921: if(upperParameterNames(i) = upper(ame_util.approverOamGroupId)) then
922: dynamicCursor := dbms_sql.open_cursor;
923: dbms_sql.parse(dynamicCursor,
924: ame_util.removeReturns(stringIn => queryStrings(i),
925: replaceWithSpaces => true),
926: dbms_sql.native);
919: outputIndex := 0; /* pre-increment */
920: for i in 1 .. parameters.count loop
921: if(upperParameterNames(i) = upper(ame_util.approverOamGroupId)) then
922: dynamicCursor := dbms_sql.open_cursor;
923: dbms_sql.parse(dynamicCursor,
924: ame_util.removeReturns(stringIn => queryStrings(i),
925: replaceWithSpaces => true),
926: dbms_sql.native);
927: if(instrb(queryStrings(i),
922: dynamicCursor := dbms_sql.open_cursor;
923: dbms_sql.parse(dynamicCursor,
924: ame_util.removeReturns(stringIn => queryStrings(i),
925: replaceWithSpaces => true),
926: dbms_sql.native);
927: if(instrb(queryStrings(i),
928: ame_util.transactionIdPlaceholder) > 0) then
929: if transactionIdIn is null then
930: dbms_sql.close_cursor(dynamicCursor);
926: dbms_sql.native);
927: if(instrb(queryStrings(i),
928: ame_util.transactionIdPlaceholder) > 0) then
929: if transactionIdIn is null then
930: dbms_sql.close_cursor(dynamicCursor);
931: raise noTransIdDefinedException;
932: end if;
933: dbms_sql.bind_variable(dynamicCursor,
934: ame_util.transactionIdPlaceholder,
929: if transactionIdIn is null then
930: dbms_sql.close_cursor(dynamicCursor);
931: raise noTransIdDefinedException;
932: end if;
933: dbms_sql.bind_variable(dynamicCursor,
934: ame_util.transactionIdPlaceholder,
935: transactionIdIn,
936: 50);
937: end if;
937: end if;
938: if(instrb(queryStrings(i),
939: ame_util2.itemClassPlaceHolder) > 0) then
940: if transactionIdIn is null then
941: dbms_sql.close_cursor(dynamicCursor);
942: raise noItemBindException;
943: end if;
944: dbms_sql.bind_variable(dynamicCursor,
945: ame_util2.itemClassPlaceHolder,
940: if transactionIdIn is null then
941: dbms_sql.close_cursor(dynamicCursor);
942: raise noItemBindException;
943: end if;
944: dbms_sql.bind_variable(dynamicCursor,
945: ame_util2.itemClassPlaceHolder,
946: itemClassIn,
947: 50);
948: end if;
948: end if;
949: if(instrb(queryStrings(i),
950: ame_util2.itemIdPlaceHolder) > 0) then
951: if transactionIdIn is null then
952: dbms_sql.close_cursor(dynamicCursor);
953: raise noItemBindException;
954: end if;
955: dbms_sql.bind_variable(dynamicCursor,
956: ame_util2.itemIdPlaceHolder,
951: if transactionIdIn is null then
952: dbms_sql.close_cursor(dynamicCursor);
953: raise noItemBindException;
954: end if;
955: dbms_sql.bind_variable(dynamicCursor,
956: ame_util2.itemIdPlaceHolder,
957: itemIdIn,
958: 50);
959: end if;
956: ame_util2.itemIdPlaceHolder,
957: itemIdIn,
958: 50);
959: end if;
960: dbms_sql.define_array(dynamicCursor,
961: 1,
962: tempGroupMembers,
963: 100,
964: 1);
961: 1,
962: tempGroupMembers,
963: 100,
964: 1);
965: rowsFound := dbms_sql.execute(dynamicCursor);
966: loop
967: rowsFound := dbms_sql.fetch_rows(dynamicCursor);
968: dbms_sql.column_value(dynamicCursor,
969: 1,
963: 100,
964: 1);
965: rowsFound := dbms_sql.execute(dynamicCursor);
966: loop
967: rowsFound := dbms_sql.fetch_rows(dynamicCursor);
968: dbms_sql.column_value(dynamicCursor,
969: 1,
970: tempGroupMembers);
971: exit when rowsFound < 100;
964: 1);
965: rowsFound := dbms_sql.execute(dynamicCursor);
966: loop
967: rowsFound := dbms_sql.fetch_rows(dynamicCursor);
968: dbms_sql.column_value(dynamicCursor,
969: 1,
970: tempGroupMembers);
971: exit when rowsFound < 100;
972: end loop;
969: 1,
970: tempGroupMembers);
971: exit when rowsFound < 100;
972: end loop;
973: dbms_sql.close_cursor(dynamicCursor);
974: /*
975: Dynamic groups' query strings may return rows having one of two forms:
976: (1) approver_type:approver_id
977: (2) orig_system:orig_system_id:approver_name