应用于:
PeopleSoft 企业级PeopleTools – 版本: 8.40 to 8.43 - Release: 8.4 to 8.4
描述
很多由peoplesoft通过peopletools和peoplesoft application所实现的内容参考(CRef)都被设置在2010-12-31这一天到期。CRef是用于陈列菜单条目的,当它过期时,有些与之相关联的应用功能都变得不可用了。直到过期日被重新设置到未来某一天或者是空值时,那些功能才会恢复正常。但是CRef的逾期并不会导致相关的数据丢失,只是某些相关的应用无法使用而已。
发生的可能性:
这将会影响到在PeopleTools 8.11 到8.51.上面运行的PeopleSoft Application Releases 8.0 to 9.1
注意:在这个解决方案中提供的工具只适用于PeopleTools 8.40 到 8.43 还有在这些PeopleTools 上面运行的PeopleSoft Applications。另外的KM文件适用于其他PeopleTools的版本
可能的症状
在2010-12-31之后,关联在已过期的CRefs上面的菜单项目将不会显示出来。例如,客户可能会反应虽然他们已经核实过菜单条目的安全性,但这些条目仍然不可见。
解决方案:
通过重新设置CRef的逾期日来保证Peopletools 和peoplesoft应用程序的可访问性
需要考虑的背景因素:
1. CRef的逾期日可以通过两种方式被设置为空值,选择哪种方式取决于被影响的CRef的数目
A. 人工方法:如果只有少部分的CRef被影响了,用人工方法来重设数据可能会更方便。可通过下列步骤来进行:peopletools》portal》structure and content.取消“valid to date”,保存。
B. 程序方法:运行这个文件里提供的 application engine的程序
2. 提供的 application engine 程序需要一个用户使用“portal administrator”或者“peoplesoft administrator”的权限来运行
3. application engine 的程序是用标准化的peopletools的API编写的,并且会正确的更新CRef和相关的元数据。它是与其他的OLTP一起运行的。当这个程序运行后,可能会有稍微影响psappsry进程,因为模式化的CRef在进行缓存。
4. 在2010-12-31之前所有用户都需要重设逾期数据。这将有助于定义一个进程的属性,然后安排这个进程在正常的运作。想了解新建进程属性的定义,请参照peoplebooks。
5. 如果程序有任何改变,将被认为是自定义的。标准化的GSC将会生效。
解决方案:
1.识别受影响的CRef的数量
Run the following SQL:
SELECT PORTAL_EXPIRE_DT, LASTUPDOPRID, COUNT(*) FROM PSPRSMDEFN
GROUP BY PORTAL_EXPIRE_DT, LASTUPDOPRID
ORDER by PORTAL_EXPIRE_DT, LASTUPDOPRID;
注意这里有三种不同“类型”的受影响的CRef
a.) PORTAL_EXPIRE_DT = 2010-12-31 and LASTUPDOPRID = PPLSOFT (delivered impacted CRefs)
b.) PORTAL_EXPIRE_DT = 2010-12-31 and LASTUPDOPRID PPLSOFT (customized impacted CRefs)
c.) PORTAL_EXPIRE_DT 2010-12-31 (potentially impacted CRefs)
2.识别哪些CRef被影响
To understand which objects are impacted, run the following query. Note: if you are running Oracle the date should be formatted '31-DEC-10':
SELECT LASTUPDOPRID, LASTUPDDTTM, OBJECTOWNERID, PORTAL_EXPIRE_DT, PORTAL_NAME, PORTAL_OBJNAME, PORTAL_LABEL, DESCR254 FROM PSPRSMDEFN
WHERE PORTAL_EXPIRE_DT ='2010-12-31'
ORDER BY LASTUPDOPRID, LASTUPDDTTM, OBJECTOWNERID, PORTAL_NAME, PORTAL_OBJNAME
The values of PORTAL_NAME, PORTAL_OBJNAME are useful when resetting the values manually. The DESCR254 is provided for reference only and can be omitted for output clarity.
3.用合适的方法去重新设置CRef的逾期日,参照注意事项1.
如果是a类型,代码如下
============================================== (0,0)
SUMMARY (0,0)
Number of Content CRefs remaining with LASTUPDOPRID = 'PPLSOFT' and PORTAL_EXPIRE_DT = '2010-12-31': 29 (0,0)
Number of Folder CRefs remaining with LASTUPDOPRID = 'PPLSOFT' and PORTAL_EXPIRE_DT = '2010-12-31': 4 (0,0)
4.如果是b类型
如果你选择到编程解决这些CRefs的,办法之一是定制交付的应用程序引擎程序。如果你选择这条路线,我们建议您复制到一个单独的PeopleCode一步一步交付的PeopleCode和修改的副本,同时保持总体规划结构。在最低限度,我们会建议改变SQL谓词,即WHERE子句,以解决您的特定需求和不断变化的摘要消息字符串,以更清楚地记录你的第一步是做什么。记住使用PeopleTools API的唯一标准,修改CREF对象。
细节超出了本文档的范围是如何应这种变化和资源熟练PeopleTools发展的可能是必要的。
5.用合适的方法去重设C类型的逾期日
这些CRefs可能会或可能不会影响以任何方式实施。如前所述,取决于数量上的“C型。”CRefs,你可以选择手动修改,或编程。
如果你选择到编程解决这些CRefs的,我们建议您使用一个类似上一步的方法,使交付PeopleCode步骤的另一个副本,并改变它来满足您的需求。记住使用PeopleTools API的唯一标准,修改CREF对象。
- 一个空PORTAL_EXPIRE_DT的价值CRefs将不会过期。这些都不会受到任何影响,不需要复位。
- PORTAL_EXPIRE_DT比2010-12-31其他可能会受到影响。例如,开放式的的招生CRefs存在已经过期故意。在适当的时候,重置这些值。
- 有些人可能已经过期无事,在实现的功能是不相关的。这些都不会受到任何影响,不需要复位。
6. 使用SQL从步骤1和2中确认CREF过期日期是适合您的环境复位。
当CRefs时发送的应用程序引擎运行成功应该是没有“类型a”的。 “b型”“C型”的数量取决于您执行的需要,并在步骤4和5中应用的自定义。
7测试结果
由于菜单缓存的影响,它也可能是必要的用户登录/登出,管理员重新启动Web服务器,Web服务器缓存清理的过程中。这是没有必要重新启动应用服务器