所以,我猜在某个时候,我们所有人都面临着在学习信息类型时添加Z字段的艰巨任务。看起来很容易,事实上,我们必须承认这是一次野餐。你有工具去做,这个地方,整个"enchilada"。关于后端,根本没有问题。但当你开始谈论门户时,我们谈论的是一个完全不同的故事。因此,这里是我们面临的一个案例场景,以及我们如何以简单的方式解决它。
首先,我们将研究一个特定的功能,即更改/创建过程,但此解决方案将适用于其他WD/组件。让我们看一下LSO\u VC\u COURSE\u BASICDATA WD组件:
我们在本例中讨论的字段是Interal Order字段。此字段被添加到Infotype 1026中,如下所示:
如您所见,我们还添加了更多的Z字段,这些字段位于另一个选项卡(控制选项)中,但在您为其中一个选项卡执行此操作之后,由于我们处于同一框架中,因此您位于哪个选项卡并不重要。
因此,首先介绍一些有关此WD的技术术语和知识。此WD中定义的所用组件包括LSO\u MC\u课程的主视图,它是课程模板的模型组件。基本上,所有数据(SET/GET/SAVE)都将在LSO\u MC\u课程中处理。对我们来说,这是一个好消息,因为我们可以看到它是如何完成的,但是考虑到增强INTERFACECONTROLLER的局限性,我们将不得不绕过这个组件来实现我们想要的。
先前实现的解决方案是可行的,但它不是最可靠的。我们在PROCESS\u EVENT方法的COMPONENTCONTROLLER中插入了一些代码。基本上,在调用INTERFACECONTROLLER的SAVE方法并从HRP1026获取记录并更新值之后。这就是我一直在绞尽脑汁的地方,为什么我们不能访问Infotype的实例化对象并在保存发生之前将我们的值注入其中,这样就不必担心错误的处理,数据不一致等问题了
因此,淘客是啥,在LSO\u MC\u过程中进行一些调查,我们可以看到,在方法START\u COURSE\u OIF中有一个特定类CL\u LSO\u BO\u COURSE的实例化(以及COURSETYPE类作为父类的实例化,以备使用)。这就是我们真正想要的,这个类是实例化infotypes的所有对象的地方。所以,从这一点上讲,解决方案是非常直接的。从CL\u LSO\u BO\u当然,您可以通过接口IF\u LSO*到达CL\u LSO\u BO\u PERSISTENT\u PD,并且从这个类我们通过方法GET\u INFTY\u nnnnn\u INSTANCE实例化一个CL\u LSO\u P\u INFTY\u nnnnn类型的对象。最后,在类CL\u LSO\u P\u INFTY\u 1026(在我们的具体案例中)中,我们可以访问在PD框架中创建的缓冲对象并在那里注入我们的值。
因此,在"mambo jambo"之后,让我们看看实际应用。
首先我们需要创建一个接口,以便将我们的值传递给框架。所以,我用2个方法创建了接口(好的,这一个有3个,第一个只是为了证明概念):
我们在类中实现的方法是ZSET\u ADDITIONAL\u DATA和ZGET\u ADDITIONAL\u DATA。创建接口之后,云计算大数据,我们需要将其添加到前面讨论的类中。所以,我增强了类CL\LSO\u BO\u当然,CL\LSO\u BO\u PERSISTENT\u PD并添加了接口:
我只在这里添加一个图片,其他类的实现基本相同。现在,在类CL\u LSO\u BO\u课程中,云服务器推荐,我用以下代码在本地实现方法:
在这个方法中,我们基本获取infotype类的实例,然后调用方法集\u额外的\u数据,我们将在infotype类中创建这些数据。当然,我想让它尽可能灵活,所以我没有使用固定的名称,而是使用了一点动态逻辑,我将infotype作为参数发送,并构造我想要动态实例化的方法和对象。我知道我可以让GET和SET也是动态的,并且只有一个方法,但是,现在没有人是完美的
,正如我之前所说的,我们增强了类CL\u LSO\u P\u INFTY\u 1026,并创建了在上一步中调用的两个方法:
和在方法中实现的代码:
在那里,困难的部分完成了,我们现在有了一个简单的方法访问门户中PD框架中实例化的infotype的缓冲对象,现在只需使用它。回到我们的LSO\U VC\U课程\U BASICDATA。我们在COMPONENTCONTROLLER中创建了一个PROCESS\u EVENT的overwrite方法(不仅仅是为了这个),并且在保存之前或者在FPM\u VIEW\u SWITCH事件的情况下调用了一个新方法:
下面是方法中的代码:
您可以看到我们是如何使用CL\u LSO\u BO\u COURSE的实例化类来实现这一切的。在这之后,我确信当有一个保存,高返利页游,信息被"藏"在一个安全的地方,我不需要担心所有的麻烦,我们都知道,这种类型的更新涉及。
我真的不知道是否有其他方法来实现这一点,更容易,更干净,但直到3个月前,我从来没有听说过LSO,物联网的应用有哪些,另外,WDA是我只知道存在,但从来没有工作过的东西,所以我相信这是可能的。如有任何建议,请随时反馈。