PeopleSoft系统开发&管理常用SQL

1.查看PS系统的登录情况:

select a.*,b.oprdefndesc from psaccesslog a,psoprdefn b

where a.logindttm > sysdate 7 -- 这里说明了查询的是最近一个星期的情况

and a.oprid =b.oprid

and b.oprdefndesc like '%'

ORDER BY A.LOGINDTTM DESC;

 

2.根据Component Name查到它对应的导航路径:

SELECT REPLACE(NAVIGATION, ''' > ') "PIANavigation",

URL,

MENU_NAME,

COMPONENT_NAME,

PORTAL_OBJNAME,

PORTAL_PRNTOBJNAME,

PORTAL_URI_SEG3,

PORTAL_LABEL

FROM (

SELECT SYS_CONNECT_BY_PATH(A.PORTAL_LABEL, '>>') NAVIGATION,

'/EMPLOYEE/ERP/c/' ||A.PORTAL_URI_SEG1 || '.' || A.PORTAL_URI_SEG2|| '.' ||A.PORTAL_URI_SEG3 URL,

A.PORTAL_URI_SEG1 MENU_NAME,

A.PORTAL_URI_SEG2 COMPONENT_NAME,

A.PORTAL_OBJNAME PORTAL_OBJNAME,

A.PORTAL_PRNTOBJNAME PORTAL_PRNTOBJNAME,

A.PORTAL_URI_SEG3 PORTAL_URI_SEG3,

A.PORTAL_REFTYPE PORTAL_REFTYPE,

A.PORTAL_LABEL PORTAL_LABEL

FROM (SELECT DISTINCT A.PORTAL_NAME,

A.PORTAL_LABEL,

A.PORTAL_OBJNAME,

A.PORTAL_PRNTOBJNAME,

A.PORTAL_URI_SEG1,

A.PORTAL_URI_SEG2,

A.PORTAL_URI_SEG3,

A.PORTAL_REFTYPE

FROM PSPRSMDEFN A

WHERE PORTAL_NAME = 'EMPLOYEE'

  AND PORTAL_OBJNAME<> PORTAL_PRNTOBJNAME

  AND NOT EXISTS (

SELECT 'X'

FROM PSPRSMSYSATTRVL

WHERE PORTAL_NAME =A.PORTAL_NAME

  AND PORTAL_REFTYPE= A.PORTAL_REFTYPE

  AND PORTAL_OBJNAME= A.PORTAL_OBJNAME

  AND PORTAL_ATTR_NAM= 'PORTAL_HIDE_FROM_NAV'

  AND A.PORTAL_OBJNAME NOT IN (

'CO_NAVIGATION_COLLECTIONS''PORTAL_BASE_DATA'

  )

  )

) A

WHERE PORTAL_URI_SEG2 LIKE '%COMP_NAME%' -- 修改这里!

START WITH A.PORTAL_PRNTOBJNAME = 'PORTAL_ROOT_OBJECT'

CONNECT BY NOCYCLE PRIOR A.PORTAL_OBJNAME= A.PORTAL_PRNTOBJNAME)

WHERE NAVIGATION NOT LIKE '%Navigation Collections%'

 

3.查看某个用户对应的角色:

SELECT FROM PS_ROLEUSER_VW WHERE ROLEUSER = 'username'

 

4.查看修改过的转换值

SELECT A.FIELDNAME AS 字段名

      ,A.FIELDVALUE AS 代码

      ,A.EFFDT AS 生效日期

      ,DECODE(A.EFF_STATUS,'A','有效','I','无效'AS 状态

      ,B.XLATLONGNAME AS 长描述

      ,B.XLATSHORTNAME AS 短描述

      ,A.LASTUPDDTTM AS 最后更新日期

      ,A.LASTUPDOPRID AS 更新者

FROM PSXLATITEM A

    ,PSXLATITEMLANG B

WHERE A.FIELDNAME=B.FIELDNAME

  AND A.FIELDVALUE=B.FIELDVALUE

  AND A.EFFDT=B.EFFDT

  AND A.LASTUPDOPRID <> 'PPLSOFT'

ORDER BY A.FIELDNAME

 

5.查看系统代码修改情况

SELECT *

FROM PSPCMPROG A

WHERE A.LASTUPDOPRID<> 'PPLSOFT'

 

OBJECTID1里的值代表了代码存放的位置:

1     -->  Record

9     -->  Page

10   -->  Component

66   -->  AE

104 -->  Application Package

 

6.查看添加和修改过的SQL定义

SELECT A.SQLID

      ,DECODE(A.SQLTYPE,'0','普通类型','1','AE程序SQL','2','视图SQL','3')

      ,A.LASTUPDOPRID

      ,A.LASTUPDDTTM

FROM PSSQLDEFN A

WHERE A.LASTUPDOPRID<> 'PPLSOFT'

ORDER BY A.SQLTYPE,A.SQLID

 

7.根据字段的Label信息去查询字段:

SELECT *

FROM PSDBFLDLABLLANGA

WHERE A.LONGNAME LIKE '%DESCR%'

 

8.构造职位树

SELECT A.POSITION_NBR

      ,A.REPORTS_TO

      ,A.JOBCODE

 FROM PS_POSITION_DATA A

WHERE A.EFFDT=(

        SELECT MAX(A1.EFFDT)

          FROM PS_POSITION_DATA A1

         WHERE A1.POSITION_NBR=A.POSITION_NBR

           AND A1.EFFDT<=SYSDATE

      )

  AND A.JOBCODE='G02'

START WITH A.POSITION_NBR = 'ZW0017'

CONNECT BY PRIOR A.REPORTS_TO =A.POSITION_NBR;

 

9.查看PS用户的登录状况

SELECT P.SPID

     ,S.CLIENT_IDENTIFIER

      ,S.PROGRAM PROGRAM

      ,S.CLIENT_INFOCLIENTINFO

      ,S.MODULE MODULE

      ,S.ACTION ACTION

  FROM V$SESSION S,V$PROCESS P

 WHERE S.PADDR = P.ADDR

   AND S.OSUSER IS NOT NULL

   AND S.USERNAME = 'SYSADM'

 ORDER BY S.CLIENT_IDENTIFIER;

 

10.查看某个页面有哪些人可以访问到

SELECT DISTINCT C.ROLEUSER AS 用户ID

      ,D.CLASSID AS 许可权

      ,D.MENUNAME AS 菜单

      ,D.BARNAME AS 菜单BAR

      ,D.BARITEMNAME AS 组件名

      ,D.PNLITEMNAME AS 页面名

      ,D.DISPLAYONLY AS 是否只读

  FROM PSAUTHITEM D,PSCLASSDEFN A, PSROLECLASS B, PSROLEUSER C

 WHERE A.CLASSID = B.CLASSID

   AND B.ROLENAME =C.ROLENAME

   AND D.BARITEMNAME= :1;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值