在 CDS 中显示输出值或转换退出值?

Show output values aka conversion-exit values in CDS?

我创建了一个 CDS 视图,它从 2 个表中读取一些数据。 我的问题是,其中一列后面有一个转换策略 - 所以如果我用 SE16n 显示数据,它会显示“转换后的值”,但在我的 cds 视图中只显示未转换的值。

是否有在 CDS 视图中显示转换值的选项?

CDS 不支持实际转换出口。但是通过字符串转换,您可以重建转换出口。

-> 参见 Documentation

使用虚拟元素

它们可用于计算 CDS 中不可用的字段。

步骤

  1. 添加占位符字段:cast( '' as abap.char(255)) AS after_conversion
  2. 在您的字段中添加注释 @ObjectModel.virtualElement: true
  3. 添加注释@ObjectModel.virtualElementCalculatedBy: 'ABAP:<z_class>'
  4. 创建 Class Z_CLASS
  5. 使用界面if_sadl_exit_calc_element_read
  6. 在方法 calculate 中,您可以进行转换

Here you can see a simple example