关于前端:Smart-Value-Help-总结

20次阅读

共计 1103 个字符,预计需要花费 3 分钟才能阅读完成。

  1. 在 Product 这个 EntityType 上,定义一个 property,名叫 CurrencyCode.
  2. 咱们的 Smart Field 并不间接绑定到这个 CurrencyCode 上,而是绑定到另一个只蕴含纯正价格值的 Price 字段上。Price 字段通过注解 sap:unit=”CurrencyCode”,将其的单位字段,绑定到 CurrencyCode 字段上。
  3. 货币单位通过另一个名叫 Currency 的 EntityType 来形容。这个 EntityType 蕴含 CURR 和 DESCR 两个 property,别离示意货币单位的 code 和形容值。

那么 Price 在运行时显示的单位,到底应该显示 CURR 的值,还是 DESCR 的值呢?这就得通过下图所示的自定义注解来指定了。

(1) 通过 Target 属性,指定以下注解施加的指标字段是 CurrencyCode

(2) 给 CurrencyCode 定义的注解类型是 com.sap.vocabularies.Common.v1.ValueList

(3) 给注解定义 Label 属性的值为 Currency,即 UI 界面元素的标签显示为 Currency 这个字符串。因为咱们的例子,货币单位仅仅显示为一个 Text Field,不会显示出标签文本,所以这个 Label 属性无论定义与否都无关紧要。

(4) CollectionPath 属性指定 CurrencyCode 的 Value Help 的数据源,来自 EntityType Currency. 这个属性值如果指定谬误,会遇到下图所示的谬误音讯:

Right now, there are no visible columns in the table. Please select the columns you need in the table settings.

原本应该显示货币列表的表格里,当初什么也没有显示。

(5) 通过 com.sap.vocabularies.Common.v1.ValueListParameterOut 的 LocalDataProperty 以及 ValueListProperty 属性,别离将 CurrencyCode 和 CURR 绑定起来。

(6) 设置 Currency EntityType 的 DESCR 字段类型为 com.sap.vocabularies.Common.v1.ValueListParameterDisplayOnly,意思是这个字段仅仅是为了减少 Value Help 里表格显示的可读性而设计进去供精益求精之用。

当用户在 Value Help Table 里抉择了某一行之后,该行的 CURR 字段值会传回到 CurrencyCode 字段上,而 DESCR 字段值不会参加到 Value Help 值传递场景中。

正文完
 0