显示标签为“Page”的博文。显示所有博文
显示标签为“Page”的博文。显示所有博文

2015年4月12日星期日

Oprid to page security

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'

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