一、背景

需要写一个模板flow,从环境变量里获取entity表名,然后在flow中拿到对应的entity内容。
定义了一个entity,display name 和 schema name 分别如下:
image.pngimage.png
在flow中使用list rows时,需添加table name,一般是从dataverse里选已有的entity(此时entity会自动关联到cds的表),然后拿到entity内容:
image.png
但同时也可以通过custom image.png来手动的传入entity表名,但此时如果手动输入ProdOnCall
ProdOnCalls,会报如下错误:
image.png

二、调研

猜测是由于手动输入的entity表名并没有被正确的mapping到cds的数据上,因为传入的table name值不对。
经查询,发现正确的table name是EntitySetName这个字段。

三、解决

  1. 将当前solutions export下来,并解压缩,然后将代码导入vscode;
  2. 全局搜索EntitySetName
  3. 将对应的字段名传给flow,即可。

例如,当前示例entity的name是:
image.png
于是修改flow即可拿到对应的entity数据了。
image.png

四、总结

在flow中手动输入Enter Custom Value时,直接输入当前entity的schema name的复数形式即可。