有DB_KEY字段的表创建BOPF

在新版本的SAP中通常会有一个DB_KEY字段(RAW16 键),此类型的表对于处理FIORI时更方便,这样把KEY关键值与业务完全分开在FIORI的程序处理时,可以随意处理业务数据字段,今天在用此类型表做BOPF测试时,发现一些问题,以下记录。

创建测试表ZTEST_H,其中DBKEY为表关键字段

有DB_KEY字段的表创建BOPF - 第1张  | 优通SAP

创建CDS生成BOPF,

经测试发现:

  • 在定义CDS字段 key _head.dbkey as Dbkey时,AS的字段 不能重定义为其它名字,否则POPF报错,不能激活“Element DBKEY1 is no DB field, no storage”。
  • SELECT出来的字段 不能使用业务关系字段(比如EBELN)为关键KEY字段,否则BOPF激活后,当使用BOBT测试BOPF时,保存数据出错会报没有DBKEY字段。
  • 当使用草稿时writeDraftPersistence: ‘ztest_hd’, draftEnabled: true,使用BOBT测试此BOPF,保存成功但激活此数据时在CLAS /BOBF/CL_LIB_A_ACTIVATION中报错,但使用此CDS生成 ODATA并生成 SAP Fiori elements使用时正常。暂时没找到原因,