SAP SADL和SAP Hybris DTO

Posted sap-jerry

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SAP SADL和SAP Hybris DTO相关的知识,希望对你有一定的参考价值。

When you need a simpler or more convenient format for some of the data to display in JSPs
上面是从help.hybris.com摘录出来的原话,解释为什么我们需要DTO.
简单来说,就是因为Service Layer定义的model格式和UI需要的格式不是完全一样,如果UI直接消费Service Layer的model,代码写起来非常难看,而且会产生UI layer和service layer的强耦合。

技术图片

更general地说,可以把DTO看成SADL的实现方式之一,处于BO(service layer) 和UI layer之间, 作为UI(consumer layer)消费Service layer的桥梁:

技术图片

Hybris的DTO通常以data.java结尾,在我安装的6.5.0.0.23546这一版本里一共有445个DTO:

技术图片

一个DTO例子:

技术图片

在CRM Genil layer的实现里,虽然没有明文提出DTO的概念,但是从Genil layer这些方法的signature能看出这种DTO的思路其实也是蕴含在其中的:把数据从genil layer的format CRMT_PRODIL_DATA转换成UI layer的COMT_PRODUCT_MAINTAIN_UI.

技术图片

CL_CRM_PRODIL_LONGTEXT

要获取更多Jerry的原创文章,请关注公众号"汪子熙":
技术图片

以上是关于SAP SADL和SAP Hybris DTO的主要内容,如果未能解决你的问题,请参考以下文章

SAP Commerce(原Hybris)的订单处理框架和SAP CRM One Order框架

SAP ABAP, Fiori, Android和Hybris里的异步操作

SAP ABAP SICF事务码和SAP Hybris的链式过滤器filter chain

MacOS Monterey 和 SAP Commerce / Hybris 1905:无法启动 hybrisserver.sh

SAP Hybris Commerce product读取的调试截图

SAP CRM WebClient UI和Hybris Commerce里的跨组件跳转