HANA 版本:SP12
全部,
正如 Lars 在许多博客和论坛中所描述的那样,我已经成功地使用 INPUT_PARAMETERS 创建了 Calc Views。虽然在直接查询单个和多个输入时这些视图可以正常工作,但我遇到了在存储的过程或表函数中对 Calc 视图本身执行连接的问题。
例子:
" BASE_SCHEMA"."BASE_TABLE_EXAMPLE " - 记录数 (*) ~ 200 万条记录
- 键:材料(20k 不同),植物(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 =
select
PLANT
,MATERIAL
from "BASE_SCHEMA"."BASE_TABLE_EXAMPLE"
group by PLANT,MATERIAL;
我会考虑执行以下操作,但在连接多个字符串以在 nvarchar(5000) 的输入参数中使用时,输出会导致问题。
select
string_agg(PLANT,''',''') as PLANT
,string_agg(MATERIAL,''',''') as MATERIAL
into var_PLANT, var_MATERIAL
from
(
select
PLANT
,MATERIAL
from :base_data
);
虽然到目前为止我是成功的,但一旦将变量添加到 Calc View 的 PLACEHOLDER 中,它就无法说明我向 IP 传递了太多字符。有什么建议么???提前致谢。
base_calc =
select
PLANT
,MATERIAL
,MATERIAL_BU
,etc....
from "_SYS_BIC"."CA_EXAMPLE_PRODUCTIVITY"
(PLACEHOLDER."IP_MATNR"=> :var_MATERIAL, --<---Fails here. :(
PLACEHOLDER."IP_PLANT"=> :var_PLANT);
在 SAP SCN 上提出的问题。位于这里!