SAP UI5 OData2
在 SAPUI5 OData V2 的 $metadata
中,EntityType.Property
通常用来描述实体属性的元信息。除了常见的 MaxLength
和 sap:label
外,还有许多标准和 SAP 扩展(以 sap:
前缀)注解可用,用于控制数据建模、UI 呈现、行为逻辑等方面。
下面列出一些 常见的标准和 SAP 扩展注解:
🌐 标准 OData 注解(无 sap:
前缀)
属性/注解 | 说明 |
---|---|
Name | 属性名称 |
Type | 属性类型,例如 Edm.String , Edm.Int32 等 |
Nullable | 是否允许为 null ,默认是 true |
Precision | 精度(用于 decimal 类型) |
Scale | 小数位数(用于 decimal 类型) |
MaxLength | 最大长度(用于字符串或二进制类型) |
DefaultValue | 默认值 |
Unicode | 是否支持 Unicode 字符(一般用于字符串) |
🔧 SAP 扩展注解(sap:
前缀)
注解 | 说明 |
---|---|
sap:label | UI 标签,用于字段显示名称 |
sap:quickinfo | 鼠标悬停提示信息(tooltip) |
sap:creatable | 是否可被创建(POST) |
sap:updatable | 是否可更新(PUT/PATCH) |
sap:sortable | 是否支持排序 |
sap:filterable | 是否可用于过滤条件 |
sap:required-in-filter | 表示在 filter bar 中是必填 |
sap:display-format | 如 NonNegative , UpperCase , Date , Text 等 |
sap:unit | 指定单位字段,比如货币金额的单位字段名 |
sap:text | 用作属性的文本描述字段(text arrangement) |
sap:aggregation-role | 比如 dimension , measure (用于 Analytical Queries) |
sap:semantics | 比如 currency-code , unit-of-measure , email , tel 等 |
sap:visible | 控制字段是否默认可见 |
sap:field-control | 控制字段是否 editable/mandatory/read-only |
sap:value-list | 指定字段是否有值帮助(ValueHelp) |
📌 示例
Markup 全选
<Property Name="Material"
Type="Edm.String"
Nullable="false"
MaxLength="40"
sap:label="Material Number"
sap:quickinfo="Material unique identifier"
sap:creatable="true"
sap:updatable="true"
sap:filterable="true"
sap:sortable="true"
sap:display-format="UpperCase"
sap:text="MaterialDescription"/>
✅ 小结
标准注解负责数据结构(类型、长度、精度、可空等)
sap:
注解赋予字段 UI 表现、操作能力、交互语义与层级控制等丰富功能
👉 后续建议
若你主要与 SAPUI5 控件、SmartField/Table 打交道,推荐重点关注:
sap:label
、sap:quickinfo
、sap:creatable/updatable
、sap:field-control
、sap:semantics
、sap:unit
、sap:text
、aggregation-role
若你涉及树状结构展示,则需使用所有与
hierarchy-...
相关的扩展注解
参考:https://sap.github.io/odata-vocabularies/docs/v2-annotations.html#element-edmproperty
版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
JAVA 张国生