网站服务器_郫县网站建设_优惠券

时间:2022-05-12 12:10       来源: 微辰云

网站服务器_郫县网站建设_优惠券

在SRM中,大多数业务对象的创建/显示都在ABAP WD FPM中处理,屏幕依次由几个不同的webdynpro组件组成。如果您熟悉webdynpro应用程序是如何构建的,那么您就知道什么是上下文以及它是如何绑定到屏幕上的UI元素的。如果没有,请不要继续,而是去看电影。不要在这里浪费时间

一般来说,如果我们正在构建一个包含单个组件的webdynpro应用程序,那么在WDDOINIT/WDDOMODIFY方法中填充上下文是有意义的。但在SRM中,企业开发软件,正如我前面提到的,整个屏幕是几个单独的webdynpro组件的组合。让我们以购物车为例。它有标题部分、项目概述、项目详情、供应来源等,每个选项卡/部分都涉及单独的WD组件。如果我们要编写代码来填充每个WD组件在它们自己的控制器方法中的上下文,我们必须多次访问SC细节。为了避免这种情况,SAP遵循ABAP-OOPs的fa?ade设计模式,并编写了一个抽象层,作为一个公共接口来填充应用程序中涉及的任何WD组件的上下文。它是指WD component/SAPSRM/WDC\u UI\u SC\u DOFC\u HD和view V\u SC\u BOFC\u HD\u FT。您在SC header上看到的所有字段都链接到context node header,即时通讯云平台,context node header是指structure/SAPSRM/S\u CLL\u WD\u SC\u header

在一个正常的晴天,如果我们想用值设置这个context node,我们将写下面的代码

或如下:,关于如何设置/阅读上下文的更多信息,请参阅下面的帮助链接

https://help.sap.com/sahelp\u erp60\u sp/helpdata/en/46/1d7d1cd66f4250e10000000a1553f6/content.htm

但是我们在视图V\u SC\u BOFC\u HD\u FT的任何控制器方法中都没有看到这些代码。所以问题是SAP在哪里填充节点??

让我们开始我们的不可能的任务(刚刚在电视上看了MI:rouge nation)

让我们看看这个视图的WDDOINIT和WDDOMODIFYVIEW方法编写的代码

WDODINIT

我在这里提到了与我们的目的相关的代码

获取我们要填充的节点的引用

lon\u header=wd\u context->Get\u child\u node(name=if\u v\u sc\u bofc\u hd\u ft=>wdctx\u header)

为header创建DODM实例。如果您想知道什么是DODM/BOM,请参阅此博客https://blogs.sap.com/2013/12/29/understanding-shopping-cart-creation-in-srm7/

wdomodifyview

调用依赖对象映射器类的刷新方法

wd\u this->mo\u dodm\u sc\u h\u bd->/sapsrm/if\u cll\u mapper~ refresh()。

几乎所有的wdSC中涉及的组件,遵循上面提到的相同的代码模式,

让我们看看在创建DODM实例的过程中发生了什么,即WDDOINIT方法中的代码

请注意上下文中仍然没有填充值。它发生在下面调用

wd\u this->mo\u dodm\u sc\u h\u bd->/sapsrm/if\u cll\u mapper~refresh()中的WDDOMODIFYVIEW方法中。

在这个调用

中,使用BO PDO类提取并处理填充头上下文所需的所有数据。在本例中,它是/SAPSRM/CL\u PDO\u BO\u SC。一旦我们有了所需的数据,就填写变量ls\u context\u header。这个变量引用的是structure/sapsrm/s\u cll\u wd\u sc\u header,与header节点引用的结构相同(有意义吧?)使用class/SAPSRM/CL\u CH\u WD\u SET\u FACADE的bind\u data\u structure方法填充上下文。mon\u cll\u set\u facade填充在DODM类的构造函数中(见上面的调用堆栈表)

mon\u cll\u set\u facade->bind\u data\u structure(new\u item=ls\u context\u header)

在上面的方法中有一个对class/SAPSRM/CL\u CH\u WD\u CTX\u DLGT\u STD的bind\u structure方法的调用在这个方法中,如果上下文由类CL\u WDR\u CONTEXT\u NODE\u MAP实现,我们就调用接口的实际BIND\u STRUCTURE方法我们已经完成了我们不可能完成的任务,返利系统,返利商城,找到了调用绑定结构方法的地方

,数据可视化大屏