点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我正在与一位同事一起进行ABAP开发,我们在处理项目常量的最佳方法方面存在一点分歧。 让我列出两种建议的方法:
说我们有一个销售订单开发程序,并且我们知道我们将有许多常数:
VBTYP:SD文档类别
TRVOG:交易组
AUART:销售文档类型
上面的每个字段都有2个常量,因此共有6个常量。
1。 为此,您可以创建销售订单界面,例如 ZIF_SALES_ORDER_CONSTANTS并将每个常量都添加到类中。 您最终得到1个界面和6个属性。
2。 您为VBTYP创建一个接口(ZIF_SD_DOC_CAT_CONSTANTS),将常量添加为属性,为TRVOG创建接口(ZIF_TRANS_GROUP_CONSTANTS),并将常量添加为属性,为销售单据类型创建接口(ZIF_SD_DOC_TYPE_CONSTANTS),然后将两个常量添加为属性。 您以及拥有3个接口的每个接口都有2个属性。
我希望获得一些反馈,以了解是否存在标准或其他开发人员对此有何看法。
问候,马丁。
我不使用常量接口。 我认为没有理由不应该多次定义常量-但是我同意每个应用程序只能定义一次。 您需要注意不要创建不必要的依赖项。
我使用分层的开发方法,其中所有类都通过接口实现。 因此,例如,我具有用于处理alv显示和交互的控制器的接口,用于保存非屏幕逻辑的模型的接口以及用于访问的每个业务/数据库对象的接口
每个接口所需的常量在该接口中定义。 严格根据依赖关系,在实现类中使用来自其他接口的常量。 因此,控制器可以使用模型中的常量,但反之则不能,因为模型必须不依赖于控制器。
在您的特定情况下,我将在模型接口中定义常量。 db/business对象接口可能不会使用这些常量。 我会这样定义它们:
显然,您可以为常数选择其他名称!
现在,您可以使用
嗨,贝尔,谢谢你的信息。 不幸的是,我们使用的是旧版本的SAP,但在我的SAP系统中"找不到"。 :-(
问候,马丁。
嗨,马丁
这些取决于项目开发指南。 但是无论如何,我更倾向于第二种选择,因为每个接口都可以根据需要用于其他开发中,即使不需要它们也不需要包括完整的接口。
您好,Raghu,感谢您指出来。 不幸的是,我们使用的是旧版本的SAP。 我只是读了整篇文章。 很高兴知道,谢谢。
关于马丁,
这里有一些讨论: https://blogs.sap.com/2019/04/23/good-constant-bad-constant/
没有确切的答案。 最后,这只是样式和偏好的问题。 只要您的应用程序易于理解,测试和维护,那么您选择执行的任何操作都可以。 追求完美是件好事,但这是相当主观的。
如果您想阅读最好和最新的想法,请阅读最近博客中引用的样式指南https://blogs.sap.com/2019/05/03/clean-abap/
它确实建议结构化常量。 它既不建议也不反对使用常量定义接口。 这向我表明,拥有它们并不会增加代码的质量,因此也不会给您带来麻烦。
一周热门 更多>