首页 文章

SAP HANA:输入参数过滤器值'*'问题

提问于
浏览
-1

我想介绍一下我们在项目中遇到的有关输入参数过滤问题的问题 .

问题:我们的SAP HANA视图中有5个输入参数,默认值为'',可以选择所有值 . 现在,当我们想要使用脚本从此HANA视图中选择数据到表函数时,我们使用“PLACEHOLDER”语句传递输入参数值,但是对于此语句,''不起作用(它不返回结果) . 更重要的是,如果我将值硬编码为'',它会正确显示数据,但如果我使用变量(保存''值),则表明我没有数据 . 例如: - 对于工厂(WERKS)过滤器,如果我将常量'*',它给我所有数据

  • 对于工厂(WERKS)过滤器,如果我使用从最终视图的输入屏幕传递'*'值的变量(ZIN_WERKS),则它不给我任何数据 .

我检查了该变量是否正确填充了'*'值,但仍然没有我们无法理解的数据 .

另外一个问题,我们是否总是将默认值设置为输入参数的'*',因为如果它是空白或空的,它总是过滤空值并且也无法生成值帮助?

您是否遇到过这些问题,因为它似乎是SAP HANA中的基本要点......?我们非常感谢有关这些问题的任何帮助/提示......

1 回答

  • 0

    这确实是一个已被提出的问题 . 这里的要点是您似乎想要模仿HANA模型中基于SAP Netweaver的应用程序的选择行为 .
    这里要考虑的一个区别是,像HANA这样的SQL数据库上的占位符字符不是 * 而是 % . 此外,占位符搜索仅在模型使用 LIKE 比较时有效,但不适用于 = (等于)或 >< 或任何其他范围查询组合 .

    简而言之:如果您希望像SAP Netweaver中那样具有此特定行为,则必须构建自己的脚本视图并明确测试已提供的参数以及"INITIAL" .
    此场景的一个有用功能是SQLScript中的 APPLY_FILTER() 函数,它允许在信息模型中应用动态过滤器 . 有关详细信息,请参见建模指南 .

相关问题