问题描述
如何在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;
解决方法
有两种直接的方法可以得到答案。首先是最准确的。
- 进入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/
-
一个仅用于提取表名的查询,类似于您正在编写的查询:
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%'
这应该将您限制在您感兴趣的实际工具表中。