666: 'granted_menu.MENU_NAME in ( ' || l_role_name_temp || ' ) ' ||
667: ') ' ||
668: ') ' ;
669:
670: cursor_select := DBMS_SQL.OPEN_CURSOR;
671: DBMS_SQL.PARSE(cursor_select, query_to_exec || q1 || q2, DBMS_SQL.NATIVE);
672: l_index := 0;
673: dbms_sql.DEFINE_COLUMN(cursor_select, 1, '', 80);
674: dbms_sql.DEFINE_COLUMN(cursor_select, 2, '', 30);
667: ') ' ||
668: ') ' ;
669:
670: cursor_select := DBMS_SQL.OPEN_CURSOR;
671: DBMS_SQL.PARSE(cursor_select, query_to_exec || q1 || q2, DBMS_SQL.NATIVE);
672: l_index := 0;
673: dbms_sql.DEFINE_COLUMN(cursor_select, 1, '', 80);
674: dbms_sql.DEFINE_COLUMN(cursor_select, 2, '', 30);
675: dbms_sql.DEFINE_COLUMN(cursor_select, 3, '', 30);
669:
670: cursor_select := DBMS_SQL.OPEN_CURSOR;
671: DBMS_SQL.PARSE(cursor_select, query_to_exec || q1 || q2, DBMS_SQL.NATIVE);
672: l_index := 0;
673: dbms_sql.DEFINE_COLUMN(cursor_select, 1, '', 80);
674: dbms_sql.DEFINE_COLUMN(cursor_select, 2, '', 30);
675: dbms_sql.DEFINE_COLUMN(cursor_select, 3, '', 30);
676: dbms_sql.DEFINE_COLUMN(cursor_select, 4, '', 80);
677: dbms_sql.DEFINE_COLUMN(cursor_select, 5, l_temp_menu_id);
670: cursor_select := DBMS_SQL.OPEN_CURSOR;
671: DBMS_SQL.PARSE(cursor_select, query_to_exec || q1 || q2, DBMS_SQL.NATIVE);
672: l_index := 0;
673: dbms_sql.DEFINE_COLUMN(cursor_select, 1, '', 80);
674: dbms_sql.DEFINE_COLUMN(cursor_select, 2, '', 30);
675: dbms_sql.DEFINE_COLUMN(cursor_select, 3, '', 30);
676: dbms_sql.DEFINE_COLUMN(cursor_select, 4, '', 80);
677: dbms_sql.DEFINE_COLUMN(cursor_select, 5, l_temp_menu_id);
678: /*
671: DBMS_SQL.PARSE(cursor_select, query_to_exec || q1 || q2, DBMS_SQL.NATIVE);
672: l_index := 0;
673: dbms_sql.DEFINE_COLUMN(cursor_select, 1, '', 80);
674: dbms_sql.DEFINE_COLUMN(cursor_select, 2, '', 30);
675: dbms_sql.DEFINE_COLUMN(cursor_select, 3, '', 30);
676: dbms_sql.DEFINE_COLUMN(cursor_select, 4, '', 80);
677: dbms_sql.DEFINE_COLUMN(cursor_select, 5, l_temp_menu_id);
678: /*
679: dbms_sql.DEFINE_COLUMN(cursor_select, 7, '', 80);
672: l_index := 0;
673: dbms_sql.DEFINE_COLUMN(cursor_select, 1, '', 80);
674: dbms_sql.DEFINE_COLUMN(cursor_select, 2, '', 30);
675: dbms_sql.DEFINE_COLUMN(cursor_select, 3, '', 30);
676: dbms_sql.DEFINE_COLUMN(cursor_select, 4, '', 80);
677: dbms_sql.DEFINE_COLUMN(cursor_select, 5, l_temp_menu_id);
678: /*
679: dbms_sql.DEFINE_COLUMN(cursor_select, 7, '', 80);
680: dbms_sql.DEFINE_COLUMN(cursor_select, 8, '', 30);
673: dbms_sql.DEFINE_COLUMN(cursor_select, 1, '', 80);
674: dbms_sql.DEFINE_COLUMN(cursor_select, 2, '', 30);
675: dbms_sql.DEFINE_COLUMN(cursor_select, 3, '', 30);
676: dbms_sql.DEFINE_COLUMN(cursor_select, 4, '', 80);
677: dbms_sql.DEFINE_COLUMN(cursor_select, 5, l_temp_menu_id);
678: /*
679: dbms_sql.DEFINE_COLUMN(cursor_select, 7, '', 80);
680: dbms_sql.DEFINE_COLUMN(cursor_select, 8, '', 30);
681: dbms_sql.DEFINE_COLUMN(cursor_select, 9, '', 80);
675: dbms_sql.DEFINE_COLUMN(cursor_select, 3, '', 30);
676: dbms_sql.DEFINE_COLUMN(cursor_select, 4, '', 80);
677: dbms_sql.DEFINE_COLUMN(cursor_select, 5, l_temp_menu_id);
678: /*
679: dbms_sql.DEFINE_COLUMN(cursor_select, 7, '', 80);
680: dbms_sql.DEFINE_COLUMN(cursor_select, 8, '', 30);
681: dbms_sql.DEFINE_COLUMN(cursor_select, 9, '', 80);
682: dbms_sql.DEFINE_COLUMN(cursor_select, 10, '', 30);
683: */
676: dbms_sql.DEFINE_COLUMN(cursor_select, 4, '', 80);
677: dbms_sql.DEFINE_COLUMN(cursor_select, 5, l_temp_menu_id);
678: /*
679: dbms_sql.DEFINE_COLUMN(cursor_select, 7, '', 80);
680: dbms_sql.DEFINE_COLUMN(cursor_select, 8, '', 30);
681: dbms_sql.DEFINE_COLUMN(cursor_select, 9, '', 80);
682: dbms_sql.DEFINE_COLUMN(cursor_select, 10, '', 30);
683: */
684:
677: dbms_sql.DEFINE_COLUMN(cursor_select, 5, l_temp_menu_id);
678: /*
679: dbms_sql.DEFINE_COLUMN(cursor_select, 7, '', 80);
680: dbms_sql.DEFINE_COLUMN(cursor_select, 8, '', 30);
681: dbms_sql.DEFINE_COLUMN(cursor_select, 9, '', 80);
682: dbms_sql.DEFINE_COLUMN(cursor_select, 10, '', 30);
683: */
684:
685: DBMS_SQL.BIND_VARIABLE(cursor_select, ':1', l_role_name_temp);
678: /*
679: dbms_sql.DEFINE_COLUMN(cursor_select, 7, '', 80);
680: dbms_sql.DEFINE_COLUMN(cursor_select, 8, '', 30);
681: dbms_sql.DEFINE_COLUMN(cursor_select, 9, '', 80);
682: dbms_sql.DEFINE_COLUMN(cursor_select, 10, '', 30);
683: */
684:
685: DBMS_SQL.BIND_VARIABLE(cursor_select, ':1', l_role_name_temp);
686: DBMS_SQL.BIND_VARIABLE(cursor_select, ':2', l_role_name_temp);
681: dbms_sql.DEFINE_COLUMN(cursor_select, 9, '', 80);
682: dbms_sql.DEFINE_COLUMN(cursor_select, 10, '', 30);
683: */
684:
685: DBMS_SQL.BIND_VARIABLE(cursor_select, ':1', l_role_name_temp);
686: DBMS_SQL.BIND_VARIABLE(cursor_select, ':2', l_role_name_temp);
687: DBMS_SQL.BIND_VARIABLE(cursor_select, ':3', l_inst_set_ids);
688:
689: DBMS_SQL.BIND_VARIABLE(cursor_select, ':4', l_role_name_temp);
682: dbms_sql.DEFINE_COLUMN(cursor_select, 10, '', 30);
683: */
684:
685: DBMS_SQL.BIND_VARIABLE(cursor_select, ':1', l_role_name_temp);
686: DBMS_SQL.BIND_VARIABLE(cursor_select, ':2', l_role_name_temp);
687: DBMS_SQL.BIND_VARIABLE(cursor_select, ':3', l_inst_set_ids);
688:
689: DBMS_SQL.BIND_VARIABLE(cursor_select, ':4', l_role_name_temp);
690: DBMS_SQL.BIND_VARIABLE(cursor_select, ':5', l_role_name_temp);
683: */
684:
685: DBMS_SQL.BIND_VARIABLE(cursor_select, ':1', l_role_name_temp);
686: DBMS_SQL.BIND_VARIABLE(cursor_select, ':2', l_role_name_temp);
687: DBMS_SQL.BIND_VARIABLE(cursor_select, ':3', l_inst_set_ids);
688:
689: DBMS_SQL.BIND_VARIABLE(cursor_select, ':4', l_role_name_temp);
690: DBMS_SQL.BIND_VARIABLE(cursor_select, ':5', l_role_name_temp);
691: DBMS_SQL.BIND_VARIABLE(cursor_select, ':6', l_inst_set_ids);
685: DBMS_SQL.BIND_VARIABLE(cursor_select, ':1', l_role_name_temp);
686: DBMS_SQL.BIND_VARIABLE(cursor_select, ':2', l_role_name_temp);
687: DBMS_SQL.BIND_VARIABLE(cursor_select, ':3', l_inst_set_ids);
688:
689: DBMS_SQL.BIND_VARIABLE(cursor_select, ':4', l_role_name_temp);
690: DBMS_SQL.BIND_VARIABLE(cursor_select, ':5', l_role_name_temp);
691: DBMS_SQL.BIND_VARIABLE(cursor_select, ':6', l_inst_set_ids);
692:
693: /*
686: DBMS_SQL.BIND_VARIABLE(cursor_select, ':2', l_role_name_temp);
687: DBMS_SQL.BIND_VARIABLE(cursor_select, ':3', l_inst_set_ids);
688:
689: DBMS_SQL.BIND_VARIABLE(cursor_select, ':4', l_role_name_temp);
690: DBMS_SQL.BIND_VARIABLE(cursor_select, ':5', l_role_name_temp);
691: DBMS_SQL.BIND_VARIABLE(cursor_select, ':6', l_inst_set_ids);
692:
693: /*
694: DBMS_SQL.BIND_VARIABLE(cursor_select, ':7', l_role_name_temp);
687: DBMS_SQL.BIND_VARIABLE(cursor_select, ':3', l_inst_set_ids);
688:
689: DBMS_SQL.BIND_VARIABLE(cursor_select, ':4', l_role_name_temp);
690: DBMS_SQL.BIND_VARIABLE(cursor_select, ':5', l_role_name_temp);
691: DBMS_SQL.BIND_VARIABLE(cursor_select, ':6', l_inst_set_ids);
692:
693: /*
694: DBMS_SQL.BIND_VARIABLE(cursor_select, ':7', l_role_name_temp);
695: DBMS_SQL.BIND_VARIABLE(cursor_select, ':8', l_role_name_temp);
690: DBMS_SQL.BIND_VARIABLE(cursor_select, ':5', l_role_name_temp);
691: DBMS_SQL.BIND_VARIABLE(cursor_select, ':6', l_inst_set_ids);
692:
693: /*
694: DBMS_SQL.BIND_VARIABLE(cursor_select, ':7', l_role_name_temp);
695: DBMS_SQL.BIND_VARIABLE(cursor_select, ':8', l_role_name_temp);
696: DBMS_SQL.BIND_VARIABLE(cursor_select, ':9', l_role_name_temp);
697: DBMS_SQL.BIND_VARIABLE(cursor_select, ':10', l_role_name_temp);
698: */
691: DBMS_SQL.BIND_VARIABLE(cursor_select, ':6', l_inst_set_ids);
692:
693: /*
694: DBMS_SQL.BIND_VARIABLE(cursor_select, ':7', l_role_name_temp);
695: DBMS_SQL.BIND_VARIABLE(cursor_select, ':8', l_role_name_temp);
696: DBMS_SQL.BIND_VARIABLE(cursor_select, ':9', l_role_name_temp);
697: DBMS_SQL.BIND_VARIABLE(cursor_select, ':10', l_role_name_temp);
698: */
699:
692:
693: /*
694: DBMS_SQL.BIND_VARIABLE(cursor_select, ':7', l_role_name_temp);
695: DBMS_SQL.BIND_VARIABLE(cursor_select, ':8', l_role_name_temp);
696: DBMS_SQL.BIND_VARIABLE(cursor_select, ':9', l_role_name_temp);
697: DBMS_SQL.BIND_VARIABLE(cursor_select, ':10', l_role_name_temp);
698: */
699:
700: cursor_execute := DBMS_SQL.EXECUTE(cursor_select);
693: /*
694: DBMS_SQL.BIND_VARIABLE(cursor_select, ':7', l_role_name_temp);
695: DBMS_SQL.BIND_VARIABLE(cursor_select, ':8', l_role_name_temp);
696: DBMS_SQL.BIND_VARIABLE(cursor_select, ':9', l_role_name_temp);
697: DBMS_SQL.BIND_VARIABLE(cursor_select, ':10', l_role_name_temp);
698: */
699:
700: cursor_execute := DBMS_SQL.EXECUTE(cursor_select);
701:
696: DBMS_SQL.BIND_VARIABLE(cursor_select, ':9', l_role_name_temp);
697: DBMS_SQL.BIND_VARIABLE(cursor_select, ':10', l_role_name_temp);
698: */
699:
700: cursor_execute := DBMS_SQL.EXECUTE(cursor_select);
701:
702: LOOP
703: IF dbms_sql.fetch_rows(cursor_select) > 0 THEN
704: DBMS_SQL.COLUMN_VALUE(cursor_select, 1, l_grantee_list(l_index).grantee_name);
699:
700: cursor_execute := DBMS_SQL.EXECUTE(cursor_select);
701:
702: LOOP
703: IF dbms_sql.fetch_rows(cursor_select) > 0 THEN
704: DBMS_SQL.COLUMN_VALUE(cursor_select, 1, l_grantee_list(l_index).grantee_name);
705: DBMS_SQL.COLUMN_VALUE(cursor_select, 2, l_grantee_list(l_index).grantee_type);
706: DBMS_SQL.COLUMN_VALUE(cursor_select, 3, l_grantee_list(l_index).role_name);
707: DBMS_SQL.COLUMN_VALUE(cursor_select, 4, l_grantee_list(l_index).role_display_name);
700: cursor_execute := DBMS_SQL.EXECUTE(cursor_select);
701:
702: LOOP
703: IF dbms_sql.fetch_rows(cursor_select) > 0 THEN
704: DBMS_SQL.COLUMN_VALUE(cursor_select, 1, l_grantee_list(l_index).grantee_name);
705: DBMS_SQL.COLUMN_VALUE(cursor_select, 2, l_grantee_list(l_index).grantee_type);
706: DBMS_SQL.COLUMN_VALUE(cursor_select, 3, l_grantee_list(l_index).role_name);
707: DBMS_SQL.COLUMN_VALUE(cursor_select, 4, l_grantee_list(l_index).role_display_name);
708: DBMS_SQL.COLUMN_VALUE(cursor_select, 5, l_temp_menu_id);
701:
702: LOOP
703: IF dbms_sql.fetch_rows(cursor_select) > 0 THEN
704: DBMS_SQL.COLUMN_VALUE(cursor_select, 1, l_grantee_list(l_index).grantee_name);
705: DBMS_SQL.COLUMN_VALUE(cursor_select, 2, l_grantee_list(l_index).grantee_type);
706: DBMS_SQL.COLUMN_VALUE(cursor_select, 3, l_grantee_list(l_index).role_name);
707: DBMS_SQL.COLUMN_VALUE(cursor_select, 4, l_grantee_list(l_index).role_display_name);
708: DBMS_SQL.COLUMN_VALUE(cursor_select, 5, l_temp_menu_id);
709:
702: LOOP
703: IF dbms_sql.fetch_rows(cursor_select) > 0 THEN
704: DBMS_SQL.COLUMN_VALUE(cursor_select, 1, l_grantee_list(l_index).grantee_name);
705: DBMS_SQL.COLUMN_VALUE(cursor_select, 2, l_grantee_list(l_index).grantee_type);
706: DBMS_SQL.COLUMN_VALUE(cursor_select, 3, l_grantee_list(l_index).role_name);
707: DBMS_SQL.COLUMN_VALUE(cursor_select, 4, l_grantee_list(l_index).role_display_name);
708: DBMS_SQL.COLUMN_VALUE(cursor_select, 5, l_temp_menu_id);
709:
710: l_default_access:=Get_Default_Access(p_menu_id => l_temp_menu_id);
703: IF dbms_sql.fetch_rows(cursor_select) > 0 THEN
704: DBMS_SQL.COLUMN_VALUE(cursor_select, 1, l_grantee_list(l_index).grantee_name);
705: DBMS_SQL.COLUMN_VALUE(cursor_select, 2, l_grantee_list(l_index).grantee_type);
706: DBMS_SQL.COLUMN_VALUE(cursor_select, 3, l_grantee_list(l_index).role_name);
707: DBMS_SQL.COLUMN_VALUE(cursor_select, 4, l_grantee_list(l_index).role_display_name);
708: DBMS_SQL.COLUMN_VALUE(cursor_select, 5, l_temp_menu_id);
709:
710: l_default_access:=Get_Default_Access(p_menu_id => l_temp_menu_id);
711: l_grantee_list(l_index).default_access := l_default_access;
704: DBMS_SQL.COLUMN_VALUE(cursor_select, 1, l_grantee_list(l_index).grantee_name);
705: DBMS_SQL.COLUMN_VALUE(cursor_select, 2, l_grantee_list(l_index).grantee_type);
706: DBMS_SQL.COLUMN_VALUE(cursor_select, 3, l_grantee_list(l_index).role_name);
707: DBMS_SQL.COLUMN_VALUE(cursor_select, 4, l_grantee_list(l_index).role_display_name);
708: DBMS_SQL.COLUMN_VALUE(cursor_select, 5, l_temp_menu_id);
709:
710: l_default_access:=Get_Default_Access(p_menu_id => l_temp_menu_id);
711: l_grantee_list(l_index).default_access := l_default_access;
712:
732: memcount := memcount + 1;
733: END LOOP;
734: END IF;
735:
736: DBMS_SQL.CLOSE_CURSOR(cursor_select);
737:
738: EXCEPTION
739: WHEN NO_DATA_FOUND
740: THEN
852: query_to_exec := 'SELECT 1 from dual WHERE EXISTS( ' || obj_std_pkq || ' WHERE ';
853: query_to_exec := query_to_exec || inst_set_preds_rec.predicate || ' AND (';
854: query_to_exec := query_to_exec || prim_key_str || ') IN (' || p_parent_obj_sql || '))';
855: END IF;
856: cursor_select := DBMS_SQL.OPEN_CURSOR;
857: DBMS_SQL.PARSE(cursor_select, query_to_exec, DBMS_SQL.NATIVE);
858: IF p_bind1 IS NOT NULL THEN
859: DBMS_SQL.BIND_VARIABLE(cursor_select, ':id1', p_bind1);
860: END IF;
853: query_to_exec := query_to_exec || inst_set_preds_rec.predicate || ' AND (';
854: query_to_exec := query_to_exec || prim_key_str || ') IN (' || p_parent_obj_sql || '))';
855: END IF;
856: cursor_select := DBMS_SQL.OPEN_CURSOR;
857: DBMS_SQL.PARSE(cursor_select, query_to_exec, DBMS_SQL.NATIVE);
858: IF p_bind1 IS NOT NULL THEN
859: DBMS_SQL.BIND_VARIABLE(cursor_select, ':id1', p_bind1);
860: END IF;
861: IF p_bind2 IS NOT NULL THEN
855: END IF;
856: cursor_select := DBMS_SQL.OPEN_CURSOR;
857: DBMS_SQL.PARSE(cursor_select, query_to_exec, DBMS_SQL.NATIVE);
858: IF p_bind1 IS NOT NULL THEN
859: DBMS_SQL.BIND_VARIABLE(cursor_select, ':id1', p_bind1);
860: END IF;
861: IF p_bind2 IS NOT NULL THEN
862: DBMS_SQL.BIND_VARIABLE(cursor_select, ':id2', p_bind2);
863: END IF;
858: IF p_bind1 IS NOT NULL THEN
859: DBMS_SQL.BIND_VARIABLE(cursor_select, ':id1', p_bind1);
860: END IF;
861: IF p_bind2 IS NOT NULL THEN
862: DBMS_SQL.BIND_VARIABLE(cursor_select, ':id2', p_bind2);
863: END IF;
864: IF p_bind3 IS NOT NULL THEN
865: DBMS_SQL.BIND_VARIABLE(cursor_select, ':id3', p_bind3);
866: END IF;
861: IF p_bind2 IS NOT NULL THEN
862: DBMS_SQL.BIND_VARIABLE(cursor_select, ':id2', p_bind2);
863: END IF;
864: IF p_bind3 IS NOT NULL THEN
865: DBMS_SQL.BIND_VARIABLE(cursor_select, ':id3', p_bind3);
866: END IF;
867: IF p_bind4 IS NOT NULL THEN
868: DBMS_SQL.BIND_VARIABLE(cursor_select, ':id4', p_bind4);
869: END IF;
864: IF p_bind3 IS NOT NULL THEN
865: DBMS_SQL.BIND_VARIABLE(cursor_select, ':id3', p_bind3);
866: END IF;
867: IF p_bind4 IS NOT NULL THEN
868: DBMS_SQL.BIND_VARIABLE(cursor_select, ':id4', p_bind4);
869: END IF;
870: IF p_bind5 IS NOT NULL THEN
871: DBMS_SQL.BIND_VARIABLE(cursor_select, ':id5', p_bind5);
872: END IF;
867: IF p_bind4 IS NOT NULL THEN
868: DBMS_SQL.BIND_VARIABLE(cursor_select, ':id4', p_bind4);
869: END IF;
870: IF p_bind5 IS NOT NULL THEN
871: DBMS_SQL.BIND_VARIABLE(cursor_select, ':id5', p_bind5);
872: END IF;
873: cursor_execute := DBMS_SQL.EXECUTE(cursor_select);
874: IF DBMS_SQL.FETCH_ROWS(cursor_select) > 0 THEN
875: IF i = 1 THEN
869: END IF;
870: IF p_bind5 IS NOT NULL THEN
871: DBMS_SQL.BIND_VARIABLE(cursor_select, ':id5', p_bind5);
872: END IF;
873: cursor_execute := DBMS_SQL.EXECUTE(cursor_select);
874: IF DBMS_SQL.FETCH_ROWS(cursor_select) > 0 THEN
875: IF i = 1 THEN
876: inst_set_ids := to_char(inst_set_preds_rec.instance_set_id);
877: i := 2;
870: IF p_bind5 IS NOT NULL THEN
871: DBMS_SQL.BIND_VARIABLE(cursor_select, ':id5', p_bind5);
872: END IF;
873: cursor_execute := DBMS_SQL.EXECUTE(cursor_select);
874: IF DBMS_SQL.FETCH_ROWS(cursor_select) > 0 THEN
875: IF i = 1 THEN
876: inst_set_ids := to_char(inst_set_preds_rec.instance_set_id);
877: i := 2;
878: ELSE
878: ELSE
879: inst_set_ids := inst_set_ids || ',' || inst_set_preds_rec.instance_set_id;
880: END IF;
881: END IF;
882: DBMS_SQL.CLOSE_CURSOR(cursor_select);
883: END LOOP;
884: IF inst_set_ids IS NOT NULL THEN
885: x_inst_set_ids := inst_set_ids; /**** list of valid inst_set_ids ****/
886: ELSE