1.RAP 开发注释自动填入系统日期等信息
在BOPF + ELEMENTES的开发中,当CDS中定义如下 内容时,系统 会在类 /BOBF/CL_LIB_D_ADMIN_DATA_AI ->/BOBF/IF_FRW_DETERMINATION~EXECUTE中自动填入默认的系统创建日期,创建时间,创建人等信息,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
... @ObjectModel.readOnly: true @Semantics.systemDate.createdAt: true contract.create_date, @ObjectModel.readOnly: true @Semantics.systemTime.createdAt: true contract.create_time, @ObjectModel.readOnly: true @Semantics.user.createdBy: true contract.create_by, @ObjectModel.readOnly: true @Semantics.systemDate.lastChangedAt: true contract.change_date, @ObjectModel.readOnly: true @Semantics.systemTime.lastChangedAt: true contract.change_time, @ObjectModel.readOnly: true @Semantics.user.lastChangedBy: true contract.change_by, ... |
但在RAP开发中,此数据并不会自动填入,解决办法待查。
20241122,经测试发现,当修改CDS数据时保存时,
在CL_CSP_MD_LOAD_READ_ACCESS的IF_CSP_MD_LOAD_READ_ACCESS~READ_ENTITY_LOAD_WO_BYPASS中读取scsp_md_ent_load的entity_metadata,此值是二进制值 ,此中记录了创建(修改数据)时一些需要更新的信息
在CL_CSP_MD_LOAD_SERIALIZER的方法IF_CSP_MD_LOAD_SERIALIZER~DESERIALIZE_METADATA中把上面读取到的内容结构 化到变量中,
在CL_CSP_ACT_SET_ADMIN_DATA(BOPF开发时在类/BOBF/CL_D_ADMIN_DATA中中上面的几个注释会正确解析并取到值 )的局部类lif_implementation~execute中,当LS_ADMIN_DATA_ELEMENT_NAMES-CREATED_AT_TAB,有需要更新的创建日期字段时,后面(BUILD_MAPPING_FOR_CREATE)就会自动定入当前日期了。
现的问题是不知什么时候,如何写入的scsp_md_ent_load表,后面研究。
2.在VSCODE高度运行,但IE不显示 内容
有时发现,在VSCODE里,明明刚才还运行的程序,可现什么都没修改运行后确不正常了,IE中没有显示 内容,
以下是其中一种我遇难到的常见问题,感觉每天都会遇到。
这里发现在我在manifest.json中的定义使用的SAPUI5的版本是V102,可高度生成时使用的确是1.71.0 based,
解决办法是转到APP目录,并重安一下SAPUI5的版本为,
1 2 |
cd "d:\SAP\FIORI\test10" npm install -D @sap/ux-specification@UI5-1.102 |
运行之后,再次调试,就可以正常了