点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
HANA版本:SP12
全部
我已经多次使用Lars的描述使用INPUT_PARAMETERS成功创建了Calc视图,但是在将完整的过滤器推送到SQL脚本的CTE/temp表中的PLACEHOLDER时遇到了麻烦。 当直接查询少于5000个字符的单个和多个输入时,尽管这些视图正常工作,但在存储的proc或表函数中对Calc View本身执行联接时遇到了问题。
示例:
" BASE_SCHEMA"。" BASE_TABLE_EXAMPLE "-记录数(*)〜200万条记录
- 键:材质(不同2万个),植物(不同200个)
" _SYS_BIC"。" CA_EXAMPLE_PRODUCTIVITY "
- 输入参数:IP_MATNR(nvarchar(5000)),IP_PLANT(nvarchar(5000))
问题1:nvarchar的最大值为5000。如果不同字符的计数为5000+,则无法在参数内使用多个输入。
问题2:如何以与在SQL中执行INNER_JOIN相同的方法使用PLACEHOLDER逻辑。
base_data = 选择 厂 ,材料 来自" BASE_SCHEMA"。" BASE_TABLE_EXAMPLE" 按植物,材料分组;
我想执行以下操作,但是在nvarchar(5000)的输入参数中串联多个字符串以供使用时,输出会引起问题。
选择 string_agg(PLANT,''',''')作为工厂 ,string_agg(MATERIAL,''',''')as MATERIAL 进入var_PLANT,var_MATERIAL 从 ( 选择 厂 ,材料 来自:base_data );
到目前为止,虽然我很成功,但是一旦将变量添加到Calc视图的PLACEHOLDER中,它就无法说明我向IP传递了太多字符。 有什么建议??? 预先感谢。
base_calc = 选择 厂 ,材料 ,MATERIAL_BU ,等等.... 来自" _SYS_BIC"。" CA_EXAMPLE_PRODUCTIVITY" (PLACEHOLDER。" IP_MATNR" =>:var_MATERIAL,-<---此处失败。:( PLACEHOLDER。" IP_PLANT" =>:var_PLANT);
HI Dakota,
您是否考虑过将表类型作为输入参数? 这样,您可以拥有值列表,而不是连接字符串? 它可能会更好,所以您不限于需要通过多少次。 一旦您在视图中拥有表类型的值,那么您可以尝试加入-这是否适合您的要求?
欢呼
SG
感谢您的回复,格雷罗先生,
老实说,我不认为要传递表类型。 我一定会调查一下,并用我的结果回复。 谢谢您,先生。
一周热门 更多>