云网站服务器_国内数据云存储_移动云数据库服务器主机-搜集站云

云服务器_架设ftp服务器_企业级

小七 141 0

这是博客文章的延续:如何在SAP Portfolio和项目管理中处理现场条件。

简介

在这个博客中,我们将用一个临时(仅显示)字段来增强SAP PPM中的项目管理应用程序。我们希望在上一篇博客中添加的航空公司ID旁边显示相应的航空公司名称(来自SAP SCARR演示模型)。

注意:在这种情况下,通过SAP推荐的增强方法(如CI\U DPR\U项目)添加航空公司名称将在数据库级别生成一个新字段。这是错误的,因为航空公司名称的真实来源是数据库表SCARR。同时,它也会无缘无故地增加表DPRèu项目的规模。数据字典

1.1。让我们为显示字段创建一个新的数据元素:

提示:就个人而言,我更喜欢为ZDPR\u TV\ux名称空间中的每个附加字段创建数据元素,即使它们已经存在于SAP系统中。这允许维护自己的标签。

1.2。接下来,我们需要将新字段添加到标准结构中。我们将增强结构DPR\u TS\u PROJECT\u DIS,它被定义为"不可修改的项目定义属性"。

注意:如果我们分析标准,我们会看到设置了瞬态字段,例如,在类CL\u DPR\u PROJECT中的方法GET\u DATA\u EXT。此方法导出三种不同的结构,其中,DPR\u TS\u PROJECT\u EXT包含可更改和仅显示数据。

提示:根据我的经验,将属于某个增强的属性组合到一个结构中并包含该结构是一个很好的做法。从长远来看,这将使维护人员和其他开发人员更容易弄清楚哪些字段属于哪个附加组件。

1.3。由于我们希望在UI中显示我们的字段,我们还需要增强相应的API结构DPR\U TS\U API\U PROJECT\U O。DPR服务管理器使用此结构从后端检索数据。

注意:如果您使用结构包含方法,则会更容易,因为您只需添加一次ZZ*字段。

2。将数据填充到临时字段

在显示新添加的字段之前,什么是云,我们应该用相应的内容填充它。

不幸的是,与方法SET\u data\u EXT不同,类CL\u DPR\u项目的方法GET\u data\u EXT不包含任何标准的BAdI,我们可以在其中添加此逻辑。因此,我们需要添加一个退出后实现:

为了简单起见,我们将在这里添加一个非常简单的编码:

提示:考虑缓冲这些值,因为方法GET\u DATA\u EXT有时在同一个对话框进程中被多次调用。

3。增强用户界面

3.1。接下来,数据库大数据,我们将在Web Dynpro组件DPR\u DET\u DATA\u PROJECT\u O中添加新字段。我们将使用上一个博客中创建的增强功能。

这里新添加的ZZ*字段应该已经可见:

注意:由于structure DPR\u TS\u UI\u PRJ\u DATA已经包含API属性,263云通信企业版,我们不需要增强UI字典。

3.2。导航到视图VI_DET_BAS_DPO的上下文选项卡并更新节点VIEWDATA的映射:

展开节点时,属性ZZAIRLINE_NAME现在应该在ZZAIRLINE_ID旁边可见。

3.3。转到布局选项卡,直接在ROOTUIELEMENTCONTAINER下添加一个新的透明容器元素:

注意:我们需要这个容器,以便将航空公司ID和航空公司名称组合在一起。否则,视图的矩阵布局将移动第二列上的航空公司名称,并在右侧显示,中间留有空格。

将布局属性更改为MatrixLayout,大数据入门,并将visible属性绑定到ZZAIRLINE\u ID属性:

3.4。将元素ZZINP\u AIRLINE\u ID拖放到新创建的容器中:

3.5。在容器ZZTCR\u AIRLINE\u ID:

中添加一个新的TextView元素,电子商务数据分析,并将text属性绑定到新添加的上下文属性ZZAIRLINE\u NAME:

完整的元素结构如下:

注意:由于我们已经设置了透明容器对AIRLINE ID的可见性绑定,我们不需要再绑定航空公司名称可见性了。

提示:要在UI中有一个很好的对齐方式,请确保MatrixData的vAlign属性设置为middle。

结论

打开项目管理应用程序,我们现在可以看到所选航空公司ID的名称: