读取PCD文件夹的属性

2020-09-14 01:12发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我正在尝试在代码中读取PCD文件夹的属性。 但是,除标题外,API的所有其他属性都返回" null",例如:ID,合并ID等的属性。

我尝试使用IAdminBase对象,但由于从IPCDContext到IAdminBase的转换问题而无法使用。 因此,我正在使用IPcdContext读取值。

我能够成功读取其他对象的属性,例如iView,Worksets和角色。

这是标准行为还是我的代码中缺少任何内容?

现有代码:

 Hashtable ht = new Hashtable();
 ht.put(Context.INITIAL_CONTEXT_FACTORY,IPcdContext.PCD_INITIAL_CONTEXT_FACTORY);
 ht.put(Context.SECURITY_PRINCIPAL,request.getUser());
 ht.put(Constants.REQUESTED_ASPECT,IPcdAttribute.PERSISTENCY_ASPECT);

 InitialContext initCtx =新的InitialContext(ht);
 DirContext dirCtx =(DirContext)initCtx.lookup("  WPC文件夹名称:" + folderName +" 
"); } }

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我正在尝试在代码中读取PCD文件夹的属性。 但是,除标题外,API的所有其他属性都返回" null",例如:ID,合并ID等的属性。

我尝试使用IAdminBase对象,但由于从IPCDContext到IAdminBase的转换问题而无法使用。 因此,我正在使用IPcdContext读取值。

我能够成功读取其他对象的属性,例如iView,Worksets和角色。

这是标准行为还是我的代码中缺少任何内容?

现有代码:

 Hashtable ht = new Hashtable();
 ht.put(Context.INITIAL_CONTEXT_FACTORY,IPcdContext.PCD_INITIAL_CONTEXT_FACTORY);
 ht.put(Context.SECURITY_PRINCIPAL,request.getUser());
 ht.put(Constants.REQUESTED_ASPECT,IPcdAttribute.PERSISTENCY_ASPECT);

 InitialContext initCtx =新的InitialContext(ht);
 DirContext dirCtx =(DirContext)initCtx.lookup("  WPC文件夹名称:" + folderName +" 
"); } }
付费偷看设置
发送
4条回答
me_for_i
1楼-- · 2020-09-14 01:52

Twisha Banerjee,您好,我要导入您的代码并进行检查。 除了标题,您需要在一个文件夹中更改哪个属性? 您能说明您的需求吗? 文件夹没有mutch属性。 问候,法比奥

何必丶何苦呢
2楼-- · 2020-09-14 01:49

嗨法比奥,

抱歉,响应延迟。 我正在尝试使用抽象门户组件在SAP门户上实现以下要求:

1。 在门户内容中搜索角色。

2。 遍历角色并查找所有对象,例如文件夹,工作集和iViews

3。 读取不同类型的iView的各个属性,例如BI,WD ABAP,BSP,URL等。

但是,使用现有代码,我只能读取角色中每个对象的标题,而其他值则显示为空。

请提出建议。

此致

Poojith

打个大熊猫
3楼-- · 2020-09-14 02:02

嗨Twisha,

请检查以下API链接: https://help.sap.com/doc/javadocs_nw75_sps04/7.5.4/zh-CN/EP/com/sap/portal/pcm/attributes/package-summary.html

您将找到包含常数的接口,这些常数具有每种门户网站对象类型的有效属性名称。 文件夹对象没有特定的接口,因此我认为应使用IAttrPcmGeneral和IAttrPcmGeneralValues。 也许IAttrPcmNavigation值也可以工作。

IAttriView 一个:接口,用于定义iView属性名称的常量。

IAttriViewValues :定义iView属性有效值的接口。

IAttrLaunchValues :为可启动对象的属性定义有效值的接口。

IAttrLayout :定义布局属性名称常量的接口。

IAttrPage :一个为页面的属性名称定义常量的接口。

IAttrPageValues :一个为页面的属性值定义常量的接口。

IAttrPcmGeneral :定义常规PCM对象属性名称。

IAttrPcmGeneralValues :为常规PCM对象属性定义有效值。

IAttrPcmLaunch :定义可运行对象的属性名称的接口。

IAttrPcmNavigation :一个接口,用于定义与导航相关的属性名称的常量。

spaceman01
4楼-- · 2020-09-14 02:00

Cristiano/Fabio,您好

感谢您的回复。 我尝试使用API​​ IAttrPcmGeneral,但收到错误消息,在使用该语句时无法将com.sapportals.portal.pcd.gl.PcdGlContext类转换为com.sap.portal.pcm.attributes.IAttrPcmGeneral接口

 IAttrPcmGeneral attrGeneral =(IAttrPcmGeneral)initCtx.lookup(location); 

我什至打印了所有可以使用IPcdContext读取的属性,并且仅检索了标题和对象类属性。

我的目的是读取所有PCD对象的属性,例如ID,合并ID,排序和合并优先级。 但这适用于除com.sap.portal.pcd.gl.GlContext之外的所有其他对象。

请告知我是否缺少方法。

预先感谢

一周热门 更多>