我想介绍一下我们在项目中遇到的有关输入参数过滤问题的问题。
问题: 我们的SAP HANA视图中有5个输入参数,默认值为“”,可以选择所有值。 现在,当我们想要使用脚本从此HANA视图中选择数据到表函数时,我们使用“PLACEHOLDER”语句传递输入参数值,但是对于此语句,“”不起作用(它不返回结果)。 更重要的一点是,如果我将值硬编码为'',它会正确显示数据,但如果我使用变量(保存''值),则表明我没有数据。 例如: - 对于植物(WERKS)过滤器,如果我将常量'*',它给我所有数据
我检查过该变量是否正确填充了'*'值,但仍然没有我们无法理解的数据。
另外一个问题,我们是否总是为输入参数提供默认值'*',因为如果它是空白或空的,它总是过滤掉空值并且也无法生成值帮助?
您是否遇到过这些问题,因为它似乎是SAP HANA中的基本要点......? 我们非常感谢有关这些问题的任何帮助/提示...
答案 0 :(得分:0)
这确实是一个已被提出的问题。这里的要点是您似乎想要模仿HANA模型中基于SAP Netweaver的应用程序的选择行为。
这里要考虑的一个区别是,像HANA这样的SQL数据库上的占位符字符不是HttpMessageConverter
而是*
。
此外,占位符搜索仅在您的模型使用%
比较时有效,但不适用于LIKE
(相等)或=
,>
或任何其他范围查询组合
简而言之:如果您希望像在SAP Netweaver中那样具有此特定行为,则必须构建自己的脚本视图并明确测试已提供哪些参数以及哪些参数是" INITIAL"。
此方案的一个有用功能是SQLScript中的<
函数,它允许在信息模型中应用动态过滤器。
有关详细信息,请参阅建模指南。