点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我从sap博客获得了以下代码,并在我的HANA 2.0系统中进行了测试。 在激活标量函数系统时抛出以下错误。 您能否检查并向我们更新此修补程序!
错误:"语法错误:标量函数对象需要标量函数"
标量函数代码:
FUNCTION" SPLIT_STRING"(INPUT_STRING VARCHAR(5000),SEPARATOR VARCHAR(1))
退货表
(
" OUTPUT_SPLIT" VARCHAR(5000)
)
语言SQLSCRIPT
SQL安全调用者
开始
DECLARE COUNTER INT:= 1;
DECLARE LOC INT:= 0;
-检查分隔符是否在:INPUT_STRING中
从DUMMY中选择LOCATE(:INPUT_STRING,:SEPARATOR)到LOC;
如果LOC = 0 THEN-如果不是,则仅使用:INPUT_STRING作为返回值
SPLIT_VALUES = SELECT:INPUT_STRING SINGLE_VAL from DUMMY;
从:SPLIT_VALUES返回SELECT SINGLE_VAL AS" OUTPUT_SPLIT";
其他
SPLIT_VALUES =从DUMMY中选择SUBSTR_BEFORE(:INPUT_STRING,:SEPARATOR)SINGLE_VAL;
SELECT SUBSTR_AFTER(:INPUT_STRING,:SEPARATOR)|| :SEPARATOR从DUMMY进入INPUT_STRING;
万一;
WHILE(LENGTH(:INPUT_STRING)> 0)
做
SPLIT_VALUES =
从DUMMY中选择SUBSTR_BEFORE(:INPUT_STRING,:SEPARATOR)SINGLE_VAL
联盟
从:SPLIT_VALUES中选择SINGLE_VAL;
从DUMMY中选择SUBSTR_AFTER(:INPUT_STRING,:SEPARATOR)进入INPUT_STRING;
结束时;
返回
从:SPLIT_VALUES选择SINGLE_VAL AS" OUTPUT_SPLIT";
END;
您发布的代码指出该函数应该返回一个表。
您写道,您想使用标量函数。
鉴于错误消息,我想您已经复制了 将此代码保存到 .hdbscalarfunction 文件中,并尝试将其激活。
那是行不通的。 如果需要标量(=单值)函数,则需要相应地调整代码。
看看该代码,我可以说它确实创建了一个表。
因此,请确定要实现的功能。
奖金提示:停止使用SELECT ... FROM DUMMY方法。
< p>只需将所需的值分配给变量即可。您是如何尝试终止该功能的? 使用XS Classic作为存储库对象(如果是,是否使用了hdbscalarfunction或hdbtablefunction),还是使用XS Advanced?
一周热门 更多>