User type wise Menu || Table Based Menu show

 


If you want to do that. then follow the steps


STEP-1

CREATE TABLE USERTYP

(

ID VARCHAR2(1),

NAME VARCHAR2(50)

);

INSERT INTO USERTYP (ID,NAME) VALUES ('1','ADMINISTRATOR');

INSERT INTO USERTYP (ID,NAME) VALUES ('2','CONTRIBUTOR');

INSERT INTO USERTYP (ID,NAME) VALUES ('3','OPERATOR');

INSERT INTO USERTYP (ID,NAME) VALUES ('4','NORMAL');

COMMIT;


STEP-2

To create menu based on table you have to create the following table :

CREATE TABLE MENUTREE

(

 CODE VARCHAR2(10 BYTE),

 PARENT VARCHAR2(10 BYTE),

 NAME VARCHAR2(50 BYTE),

 ACTIVE CHAR(1 BYTE),

 PERMISSION NUMBER(1) DEFAULT 1,

 PAGEID     NUMBER(10)

);


STEP-3

MENU SQL with Permission : 

===========================

Go to Shared Components --> Navigation menu ---> Create ---> "Menu_Tree" . select "Dynamic". 


Copy to Paste flowing SQL Query...

select level,

 NAME label,

 decode(pageID, null, null, 'f?p=&APP_ID.:'||PAGEID||':&APP_SESSION.') as target,

 'NO' is_current,

 '>>' image

from MENUTREE

where ACTIVE='Y'

AND to_number(PERMISSION)>=

(SELECT to_number(USER_TYPE) FROM USER_INFO 

WHERE

UPPER(LTRIM(RTRIM(USERNAME)))=UPPER(LTRIM(RTRIM(:APP_USER))))

start with PARENT is null

connect by prior LTRIM(RTRIM(CODE))=LTRIM(RTRIM(PARENT))

order siblings by CODE;


STEP-4

Create "Interactive Grid" report Use table "MENUTREE". and Primary Key select "ROWID".



 (NOTE : If the "ROWID" dose not show then you select Type "SQL Query" and writing "ROWID".)



STEP-5

Finally you click "Shared Components" and go to User "User Interface Attributes". Select Navigation Menu List --> "Menu_Tree"

Refresh your window then look your User Base Navigation Menu.

 

Post a Comment

Previous Post Next Post