SAP SEGW 事物码里的 ABAP 类型和 EDM 类型映射的一个具体例子

简介: SAP SEGW 事物码里的 ABAP 类型和 EDM 类型映射的一个具体例子

本文的示例主要关注 Edm属性的 ABAP Datetime 处理逻辑。Datetime 只是在映射ABAP 类型和 EDM 类型时可能出现不一致的例子之一。


对于 Edm.Datetime 属性,在后端,ABAP 字段可以表示为一个简单的日期或时间戳,可以带有也可以不带有小数秒。


因此,在 Service Builder 中对于一个EDM.Datetime 类型的属性,需要额外的信息来将这个 EDM 类型映射到后端中正确的 ABAP 字段类型。如果没有正确地映射,就会导致错误的类型赋值。


正确的类型赋值对于 MPC 的自动生成是至关重要的,因为 DPC 的实现是基于 MPC 类中生成的类型。


在 Service Builder 中实现这一目标的最初解决方案是:

  • 如果 precision = 0 并且 scale = 0, 那么 ABAP internal type 为 type D.
  • 如果 precision = 8 并且 scale = 0, 那么 ABAP internal type 为 type P,length 为 8 decimals 为 0 (timestamp without fractional seconds)
  • 如果 scale = 7, 那么 ABAP internal type 为 type P,l,length 11 decimals 7 (timestamp with fractional seconds)

除了使用上面示例中的 precision 和 scale 属性之外,也可以使用 Service Builder 中的ABAP Type Editor来直接设置内部类型。在 ABAP 类型编辑器中,可以手动设置类别为内部类型,规则如下:

  • Type Kind = Date, Length = 8, Decimals = 0 ( 代表 Simpple Date, internal type 为 D)
  • Type Kind = Packed, Length = 15, Decimals = 0 (timestamp without fractional seconds, internal type 在 MPC 中显示为 type P length 8 decimals 0)
  • Type Kind = Packed, Length = 21, Decimals = 7 (timestamp with fractional seconds, internal type 在 MPC 中显示为 type P,length 11 decimals 7)

以上描述规则在下面的截图里得到体现:

或者,您可以使用ABAP类型编辑器将一个 Data Element 分配给一个属性。在 ABAP 类型编辑器中,可以手动将 Category 设置为 Date,并在关联类型字段中输入数据元素名称。


当使用 RFC/BOR 导入或分配 DDIC 类型时,如果将结构分配给父构件(也就是 Entity Type 或复杂类型),则不会在 property 级别进行分配。


当使用从 DDIC 结构导入选项时,日期字段按以下方式处理:

  • 如果字段的域是 类型 TZNTSTMPS ,那么没有小数秒的时间戳,MPC的内部类型是类型 P, 长度 8, 小数点 0
  • 如果该字段的域类型为 TZNTSMPl,则 MPC 内部类型为 P 类型,长度为 11 位,小数位为 7
相关文章
|
24天前
|
开发者 数据处理 数据管理
SAP HANA 的不同类型
SAP HANA 的不同类型
37 9
SAP HANA 的不同类型
|
24天前
|
SQL 数据库 索引
关于 SAP ABAP REPOSRC 数据库表在 HANA 中的 DDL Definition
关于 SAP ABAP REPOSRC 数据库表在 HANA 中的 DDL Definition
19 1
关于 SAP ABAP REPOSRC 数据库表在 HANA 中的 DDL Definition
|
20天前
|
存储
使用 ABAP 代码打印出 SAP CRM 系统里所有维护了 Sales Area 的 business partner id
使用 ABAP 代码打印出 SAP CRM 系统里所有维护了 Sales Area 的 business partner id
20 0
|
20天前
|
人工智能
Suno AI 生成 SAP ABAP 顾问之歌
Suno AI 生成 SAP ABAP 顾问之歌
15 1
|
20天前
|
存储 安全 数据库
SAP ABAP 中数据类型 xstring 的使用介绍
SAP ABAP 中数据类型 xstring 的使用介绍
20 0
|
24天前
什么是 SAP ABAP 里的 Subscreen
什么是 SAP ABAP 里的 Subscreen
16 1
什么是 SAP ABAP 里的 Subscreen
|
24天前
|
数据库 存储 BI
SAP ABAP CDS View 源代码存储的数据库表揭秘和其他相关数据库表介绍试读版
SAP ABAP CDS View 源代码存储的数据库表揭秘和其他相关数据库表介绍试读版
12 0
SAP ABAP CDS View 源代码存储的数据库表揭秘和其他相关数据库表介绍试读版
|
24天前
|
数据库
迈入 SAP CDS View 世界的前置知识 - SAP ABAP 数据库视图介绍试读版
迈入 SAP CDS View 世界的前置知识 - SAP ABAP 数据库视图介绍试读版
10 0
迈入 SAP CDS View 世界的前置知识 - SAP ABAP 数据库视图介绍试读版
|
24天前
|
数据库 SQL 应用服务中间件
SAP ABAP CDS View 和 HANA CDS View 相同点和不同点辨析
SAP ABAP CDS View 和 HANA CDS View 相同点和不同点辨析
22 0
SAP ABAP CDS View 和 HANA CDS View 相同点和不同点辨析
|
1月前
SAP ABAP ALV 的分组显示和 Subtotal 显示实现的技术步骤试读版
SAP ABAP ALV 的分组显示和 Subtotal 显示实现的技术步骤试读版
33 0