当在SAP中使用ABAP持久性类时,许多开发人员会遇到令人困惑的行为,这些行为可能被认为是错误。为了绕开这些我’ll解释我们在持久性类开发方面的领先实践,这将简化您在该领域的工作。

计划课程

在计划持久性类时,请考虑将数据库视图添加到体系结构中。让我解释。在为表选择持久性类中的字段时,SAP要求必须链接表中的所有字段。它’SAP处理此问题的方式令人困惑,但您不会因此而烦恼,这里’发生了什么。当您将字段添加到持久层时,似乎没有任何毛病。但是当您上课时,您’将会看到成功的消息。如果您仔细阅读,’其实是一个错误,你’请注意,您的课程未激活。解决方案是将缺少的字段链接到您的班级,然后您’重启。但是如果你真的不这样做’不想在您的班级中使用这些字段?或者,如果基础表发生更改,您可以’会发现下一次您进行更改时’会在下面看到此消息。如果您没有进行任何更改,该课程将继续工作,因此,令人沮丧的是,这不是一个支持问题。

阿巴普持久类命名冲突

持久类命名冲突

因此,由于上述情况,我们建议在整体设计中添加数据库视图。这提供了对有限字段列表的控制,并可以帮助您避免在使用似乎经常遇到问题的自定义名称空间时发生错误(我将在最后进行解释)。这里的关键是数据库视图与选定的表是一对一的,并且维护状态设置为“read and change”并允许如下所示的显示器维护。 (注意:您’ll know if you don’t正确设置此值,因为以维护状态激活时持久类将失败“not allowed”.)

持久类数据库视图

持久类数据库视图

命名

您可以在此处查看有关SAP对象命名的准则 (阿巴普开发准则)对于持久性类,建议将其命名为ZCL_PERS XXX,并将XXX替换为要持久化的数据库表的名称。注意:可以创建链接多个表的持久类。在这种情况下’我想使用其他命名准则。

命名空间问题:

有时,尝试将自定义名称空间链接到持久类时可能会看到以下错误。看到此错误时,SAP注释可能已经解决了该错误,但请注意有可能。我们会在7.02之前的版本中定期看到它,但在较新的版本中未对其进行正确的测试。重要的一点是,使用视图时,您可以从持久性类中排除这些字段,而忽略该问题。

持久类命名错误

持久类命名错误

希望能有所帮助。随便发表您的想法和建议。

资源资源

固定在Pinterest上

分享
分享这个