lunes, 9 de septiembre de 2013

PeopleSoft - Revisión de Permisos y Accesos

Yo sé que este query esta muuy largo... pero esta muy digerido. Te da por usuario, roles, listas de permisos, rutas en el portal (inglés y español), menú y componente al cuál se tiene acceso.


SELECT AD.ROLEUSER, AC.ROLENAME, AC.CLASSID, 
rtrim(ltrim(rtrim(ltrim(rtrim(ltrim(rtrim(ltrim(rtrim(ltrim(rtrim(ltrim(rtrim(ltrim( G.PORTAL_LABEL)) || ' > ' )) || rtrim(ltrim( F.PORTAL_LABEL)) || ' > ')) || rtrim(ltrim( E.PORTAL_LABEL )) || ' > ')) || rtrim(ltrim( D.PORTAL_LABEL)) || ' > ')) || rtrim(ltrim( C.PORTAL_LABEL)) || ' > ' )) || rtrim(ltrim( B.PORTAL_LABEL)) || ' > ')) || rtrim(ltrim( A.PORTAL_LABEL)) AS Ruta_Ingles, 
rtrim(ltrim(rtrim(ltrim(rtrim(ltrim(rtrim(ltrim(rtrim(ltrim(rtrim(ltrim(rtrim(ltrim(GL.PORTAL_LABEL)) || ' > ' )) || rtrim(ltrim(FL.PORTAL_LABEL)) || ' > ')) || rtrim(ltrim(EL.PORTAL_LABEL )) || ' > ')) || rtrim(ltrim(DL.PORTAL_LABEL)) || ' > ')) || rtrim(ltrim(CL.PORTAL_LABEL)) || ' > ' )) || rtrim(ltrim(BL.PORTAL_LABEL)) || ' > ')) || rtrim(ltrim(AL.PORTAL_LABEL)) AS Ruta_Español,
A.PORTAL_URI_SEG1 AS Menu, 
A.PORTAL_URI_SEG2 as Componente 
  FROM ((((((((
  (PSPRSMDEFN A LEFT OUTER JOIN PSPRSMDEFNLANG AL 
           ON A.PORTAL_NAME = AL.PORTAL_NAME 
                       AND A.PORTAL_REFTYPE = AL.PORTAL_REFTYPE 
  AND A.PORTAL_OBJNAME = AL.PORTAL_OBJNAME 
   ) LEFT OUTER JOIN  
   (PSPRSMDEFN B LEFT OUTER JOIN PSPRSMDEFNLANG BL 
        ON B.PORTAL_NAME = BL.PORTAL_NAME 
AND B.PORTAL_REFTYPE = BL.PORTAL_REFTYPE 
AND B.PORTAL_OBJNAME = BL.PORTAL_OBJNAME 
) ON  A.PORTAL_PRNTOBJNAME = B.PORTAL_OBJNAME AND (A.PORTAL_NAME = 'EMPLOYEE' AND A.PORTAL_NAME = B.PORTAL_NAME )
  ) LEFT OUTER JOIN 
  (  PSPRSMDEFN C LEFT OUTER JOIN PSPRSMDEFNLANG CL 
             ON C.PORTAL_NAME = CL.PORTAL_NAME 
AND C.PORTAL_REFTYPE = CL.PORTAL_REFTYPE 
AND C.PORTAL_OBJNAME = CL.PORTAL_OBJNAME 
) ON B.PORTAL_NAME = C.PORTAL_NAME 
AND B.PORTAL_REFTYPE = C.PORTAL_REFTYPE 
AND B.PORTAL_PRNTOBJNAME = C.PORTAL_OBJNAME 
AND B.PORTAL_NAME = C.PORTAL_NAME
) LEFT OUTER JOIN 
              (PSPRSMDEFN D LEFT OUTER JOIN  PSPRSMDEFNLANG DL 
            ON D.PORTAL_NAME    = DL.PORTAL_NAME 
                              AND D.PORTAL_REFTYPE = DL.PORTAL_REFTYPE 
                              AND D.PORTAL_OBJNAME = DL.PORTAL_OBJNAME 
   ) ON  C.PORTAL_NAME = D.PORTAL_NAME 
    AND C.PORTAL_REFTYPE = D.PORTAL_REFTYPE 
    AND C.PORTAL_PRNTOBJNAME = D.PORTAL_OBJNAME 
    AND C.PORTAL_NAME = D.PORTAL_NAME 
  ) LEFT OUTER JOIN 
   (PSPRSMDEFN E LEFT OUTER JOIN PSPRSMDEFNLANG EL 
            ON E.PORTAL_NAME = EL.PORTAL_NAME 
   AND E.PORTAL_REFTYPE = EL.PORTAL_REFTYPE 
   AND E.PORTAL_OBJNAME = EL.PORTAL_OBJNAME 
  ) ON D.PORTAL_NAME = E.PORTAL_NAME 
   AND D.PORTAL_REFTYPE = E.PORTAL_REFTYPE 
   AND D.PORTAL_PRNTOBJNAME = E.PORTAL_OBJNAME 
  ) LEFT OUTER JOIN 
    (  PSPRSMDEFN F LEFT OUTER JOIN PSPRSMDEFNLANG FL 
               ON F.PORTAL_NAME    = FL.PORTAL_NAME 
  AND F.PORTAL_REFTYPE = FL.PORTAL_REFTYPE 
  AND F.PORTAL_OBJNAME = FL.PORTAL_OBJNAME 
    ) ON  E.PORTAL_NAME = F.PORTAL_NAME 
     AND E.PORTAL_REFTYPE = F.PORTAL_REFTYPE 
  AND E.PORTAL_PRNTOBJNAME = F.PORTAL_OBJNAME 
  ) LEFT OUTER JOIN 
    (PSPRSMDEFN G LEFT OUTER JOIN PSPRSMDEFNLANG GL 
             ON G.PORTAL_NAME = GL.PORTAL_NAME 
                              AND G.PORTAL_REFTYPE = GL.PORTAL_REFTYPE 
                              AND G.PORTAL_OBJNAME = GL.PORTAL_OBJNAME 
   ) ON F.PORTAL_NAME = G.PORTAL_NAME 
    AND F.PORTAL_REFTYPE = G.PORTAL_REFTYPE 
    AND F.PORTAL_PRNTOBJNAME = G.PORTAL_OBJNAME 
  ) LEFT OUTER JOIN 
    (PSPRSMDEFN H LEFT OUTER JOIN PSPRSMDEFNLANG HL 
             ON H.PORTAL_NAME = HL.PORTAL_NAME 
    AND H.PORTAL_REFTYPE = HL.PORTAL_REFTYPE 
    AND H.PORTAL_OBJNAME = HL.PORTAL_OBJNAME 
   ) ON  G.PORTAL_NAME = H.PORTAL_NAME 
    AND G.PORTAL_REFTYPE = H.PORTAL_REFTYPE 
    AND G.PORTAL_PRNTOBJNAME = H.PORTAL_OBJNAME 
  ) LEFT OUTER JOIN 
    (PSPRSMDEFN I LEFT OUTER JOIN PSPRSMDEFNLANG IL 
             ON I.PORTAL_NAME    = IL.PORTAL_NAME 
    AND I.PORTAL_REFTYPE = IL.PORTAL_REFTYPE 
                              AND I.PORTAL_OBJNAME = IL.PORTAL_OBJNAME 
  ) ON  H.PORTAL_NAME = I.PORTAL_NAME 
   AND H.PORTAL_REFTYPE = I.PORTAL_REFTYPE 
   AND H.PORTAL_PRNTOBJNAME = I.PORTAL_OBJNAME 
), 
 PSPRSMPERM AB, 
 PSROLECLASS AC, 
 PSROLEUSER AD 
  where  B.PORTAL_REFTYPE  = 'F' 
     AND A.PORTAL_NAME     = AB.PORTAL_NAME 
     AND A.PORTAL_REFTYPE  = AB.PORTAL_REFTYPE 
     AND A.PORTAL_OBJNAME = AB.PORTAL_OBJNAME 
AND AC.CLASSID = AB.PORTAL_PERMNAME 
AND AC.ROLENAME = AD.ROLENAME 
AND A.PORTAL_URI_SEG2 <> ' ' 
 AND AD.ROLEUSER = 'VP1'
 order by 1,4,2,3


Translate