Oprid to page security
select rolluser.oprid oprid,
rolluser.rolename rolename,
roledefn.roletype roletype,
roledefn.descr roledes,
roledefn.rolestatus rolestatus,
rlclass.classid permissionlist,
classdefn.classdefndesc listdesc,
menudefn.menuname menuname,
menudefn.menulabel menulabel,
menudefn.descr descr,
m_c_p.pnlgrpname component,
component.pnlname page,
component.itemlabel pagename
from psroleuser_vw rolluser,
psroledefn roledefn,
psroleclass rlclass,
psclassdefn classdefn,
ps_psaclmenu_vw2 clmenu,
psmenudefn menudefn,
ps_aclcomponent_v2 m_c_p,
pspnlgroup component
where rolluser.rolename = roledefn.rolename
and rolluser.rolename = rlclass.rolename
and rlclass.classid = classdefn.classid
and clmenu.classid = rlclass.classid
and clmenu.menuname = menudefn.menuname
and component.pnlgrpname = m_c_p.pnlgrpname
and oprid = 'OPRID'
and classdefn.classid = 'PERMISSIONLIST'
2015年4月12日星期日
How to find the page path by the component name?
Create a view by the following SQL to get the Component Path in PeopleSoft, the view includes fields pnlgrpname, portal_label, navigation.
SELECT P.PNLGRPNAME "COMPONENT",
SUBSTR(DECODE(LVL0.PORTAL_REFTYPE,
'C',
LVL0.PORTAL_LABEL,
DECODE(LVL1.PORTAL_REFTYPE,
'C',
LVL1.PORTAL_LABEL,
DECODE(LVL2.PORTAL_REFTYPE,
'C',
LVL2.PORTAL_LABEL,
DECODE(LVL3.PORTAL_REFTYPE,
'C',
LVL3.PORTAL_LABEL,
LVL4.PORTAL_LABEL)))),
1,
30) PORTAL_LABEL,
LVL0.PORTAL_LABEL ||
DECODE(NVL(LVL1.PORTAL_LABEL, ' '), ' ', '', ' > ') ||
LVL1.PORTAL_LABEL ||
DECODE(NVL(LVL2.PORTAL_LABEL, ' '), ' ', '', ' > ') ||
LVL2.PORTAL_LABEL ||
DECODE(NVL(LVL3.PORTAL_LABEL, ' '), ' ', '', ' > ') ||
LVL3.PORTAL_LABEL ||
DECODE(NVL(LVL4.PORTAL_LABEL, ' '), ' ', '', ' > ') ||
LVL4.PORTAL_LABEL "NAVIGATION"
FROM PSPRSMDEFN LVL0,
PSPRSMDEFN LVL1,
PSPRSMDEFN LVL2,
PSPRSMDEFN LVL3,
PSPRSMDEFN LVL4,
PSPNLGRPDEFN P
WHERE LVL0.PORTAL_NAME = 'EMPLOYEE'
AND LVL0.PORTAL_PRNTOBJNAME = 'PORTAL_ROOT_OBJECT'
AND LVL1.PORTAL_NAME = LVL0.PORTAL_NAME /* E.G.'EMPLOYEE' */
AND LVL2.PORTAL_NAME(+) = LVL1.PORTAL_NAME /* E.G.'EMPLOYEE' */
AND LVL3.PORTAL_NAME(+) = LVL2.PORTAL_NAME /* E.G.'EMPLOYEE' */
AND LVL4.PORTAL_NAME(+) = LVL3.PORTAL_NAME /* E.G.'EMPLOYEE' */
AND LVL1.PORTAL_PRNTOBJNAME = LVL0.PORTAL_OBJNAME
AND LVL2.PORTAL_PRNTOBJNAME(+) = LVL1.PORTAL_OBJNAME
AND LVL3.PORTAL_PRNTOBJNAME(+) = LVL2.PORTAL_OBJNAME
AND LVL4.PORTAL_PRNTOBJNAME(+) = LVL3.PORTAL_OBJNAME
AND (LVL0.PORTAL_SEQ_NUM < 1000 /* 1000 EMPLOYEE SELF-SERVICE */
OR LVL0.PORTAL_SEQ_NUM = 9110 /* 9110 SET UP FINANCIALS/SUPPLY CHAIN */
OR LVL0.PORTAL_SEQ_NUM = 9955) /* 9955 PEOPLETOOLS */ /* USER FOLDER+ "SET UP FINANCIALS/SUPPLY CHAIN" */
AND P.PNLGRPNAME IN (LVL1.PORTAL_URI_SEG2,
LVL2.PORTAL_URI_SEG2,
LVL3.PORTAL_URI_SEG2,
LVL4.PORTAL_URI_SEG2)
ORDER BY 1
SELECT P.PNLGRPNAME "COMPONENT",
SUBSTR(DECODE(LVL0.PORTAL_REFTYPE,
'C',
LVL0.PORTAL_LABEL,
DECODE(LVL1.PORTAL_REFTYPE,
'C',
LVL1.PORTAL_LABEL,
DECODE(LVL2.PORTAL_REFTYPE,
'C',
LVL2.PORTAL_LABEL,
DECODE(LVL3.PORTAL_REFTYPE,
'C',
LVL3.PORTAL_LABEL,
LVL4.PORTAL_LABEL)))),
1,
30) PORTAL_LABEL,
LVL0.PORTAL_LABEL ||
DECODE(NVL(LVL1.PORTAL_LABEL, ' '), ' ', '', ' > ') ||
LVL1.PORTAL_LABEL ||
DECODE(NVL(LVL2.PORTAL_LABEL, ' '), ' ', '', ' > ') ||
LVL2.PORTAL_LABEL ||
DECODE(NVL(LVL3.PORTAL_LABEL, ' '), ' ', '', ' > ') ||
LVL3.PORTAL_LABEL ||
DECODE(NVL(LVL4.PORTAL_LABEL, ' '), ' ', '', ' > ') ||
LVL4.PORTAL_LABEL "NAVIGATION"
FROM PSPRSMDEFN LVL0,
PSPRSMDEFN LVL1,
PSPRSMDEFN LVL2,
PSPRSMDEFN LVL3,
PSPRSMDEFN LVL4,
PSPNLGRPDEFN P
WHERE LVL0.PORTAL_NAME = 'EMPLOYEE'
AND LVL0.PORTAL_PRNTOBJNAME = 'PORTAL_ROOT_OBJECT'
AND LVL1.PORTAL_NAME = LVL0.PORTAL_NAME /* E.G.'EMPLOYEE' */
AND LVL2.PORTAL_NAME(+) = LVL1.PORTAL_NAME /* E.G.'EMPLOYEE' */
AND LVL3.PORTAL_NAME(+) = LVL2.PORTAL_NAME /* E.G.'EMPLOYEE' */
AND LVL4.PORTAL_NAME(+) = LVL3.PORTAL_NAME /* E.G.'EMPLOYEE' */
AND LVL1.PORTAL_PRNTOBJNAME = LVL0.PORTAL_OBJNAME
AND LVL2.PORTAL_PRNTOBJNAME(+) = LVL1.PORTAL_OBJNAME
AND LVL3.PORTAL_PRNTOBJNAME(+) = LVL2.PORTAL_OBJNAME
AND LVL4.PORTAL_PRNTOBJNAME(+) = LVL3.PORTAL_OBJNAME
AND (LVL0.PORTAL_SEQ_NUM < 1000 /* 1000 EMPLOYEE SELF-SERVICE */
OR LVL0.PORTAL_SEQ_NUM = 9110 /* 9110 SET UP FINANCIALS/SUPPLY CHAIN */
OR LVL0.PORTAL_SEQ_NUM = 9955) /* 9955 PEOPLETOOLS */ /* USER FOLDER+ "SET UP FINANCIALS/SUPPLY CHAIN" */
AND P.PNLGRPNAME IN (LVL1.PORTAL_URI_SEG2,
LVL2.PORTAL_URI_SEG2,
LVL3.PORTAL_URI_SEG2,
LVL4.PORTAL_URI_SEG2)
ORDER BY 1
订阅:
博文 (Atom)