如何在Peoplesoft中快速获取自定义列表

问题描述

如何在peoplesoft中快速获取自定义列表及其说明,比较报告比较庞大, 我的尝试是在sql下面执行以获取我们需要查询的记录列表。

 SELECT 'SELECT '''
 ||'RecDescr.'
 ||A.RECDESCR
 ||'-Record.'
 ||A.RECNAME
 ||'.FieldName.'
 ||d.COLS1
 ||'->'
 ||'''||'
 ||B.FIELDNAME||','||d.COLS1
 ||',COUNT(1) OVER() AS CNT_OF_OBJECTS1 FROM '
 || DECODE(SUBSTR(B.recname,1,2),'PS','','PS_')
 ||A.RECNAME
 || ' WHERE LASTUPDOPRID <> ''PPLSOFT'';' as Details
 —,B.RECNAME,B.FIELDNAME,A.RECDESCR
 FROM PSRECDEFN A,PSRECFIELDALL B,(SELECT TABLE_NAME,LISTAGG (COLUMN_NAME,',') WITHIN GROUP (
 ORDER BY TABLE_NAME,COLUMN_ID) AS COLS1
 FROM USER_TAB_COLS
 WHERE column_id<4
 GROUP BY TABLE_NAME
 ) d
 WHERE ( A.RECNAME = B.RECNAME
 AND A.OBJECTOWNERID = 'PPT')
 AND A.RECTYPE =0
 AND b.recname IN
 (SELECT disTINCT recname FROM PSRECFIELDALL c WHERE FIELDNAME='LASTUPDOPRID'
 )
 AND A.RECNAME NOT LIKE '%AUD%'
 AND b.FIELDNAME LIKE '%DESC%'
 AND (DECODE(SUBSTR(B.recname,'PS_')
 ||A.RECNAME=d.TABLE_NAME)
 ORDER BY B.RECNAME;

解决方法

有两种直接的方法可以得到答案。首先是最准确的。

  1. 进入AppDesigner,然后选择“工具”->“比较并报告”->“到数据库”。提供一个项目名称(例如CUSTOMOBJECTS),然后与您的PUM映像或演示数据库进行比较。我选择与LM92U018进行比较。

在选项下,选择“数据库”的“比较类型”,然后说“确定”。然后点击“比较”。这需要一段时间才能运行。最后,您可以运行SQL语句:

SELECT * 
FROM PSPROJECTITEM 
WHERE PROJECTNAME = 'CUSTOMOBJECTS' 
AND SOURCESTATUS IN (4,5)

这将为您提供所有自定义对象的完整列表。如果您想获得一份漂亮的报告,则可以使用以下内容:

https://peoplesofttutorial.com/sql-to-list-project-items-in-peoplesoft/

  1. 一个仅用于提取表名的查询,类似于您正在编写的查询:

     SELECT A.RECNAME
     FROM PSRECDEFN A
     JOIN PSRECFIELDALL B
     ON B.RECNAME = A.RECNAME
     AND B.FIELDNAME = 'LASTUPDOPRID'
     WHERE A.RECTYPE = 0
     AND A.SQLTABLENAME <> ' '
     AND A.RECNAME LIKE 'PS%'
    

这应该将您限制在您感兴趣的实际工具表中。