无法在SAP HANA的存储过程或"计算"视图中创建临时表

2020-09-26 05:29发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在尝试针对每种材料计算百分值。 为了执行相同的操作,我试图通过使用光标将每种材料传递给select语句并存储到临时表中来填充相同的内容。当我尝试使用"计算"​​视图进行创建时,相同的方法不起作用。

我收到以下错误

"消息:存储库:在存储库运行时扩展中遇到错误;模型不一致。部署计算视图:SQL:sql语法错误:" DECLARE"附近的语法不正确:第10行第1行(在pos 360处)设置架构DDL语句: 设置架构" SYSTEM"类型DDL:创建类型" _SYS_BIC"。" KUMARAIN/ZMLT_USECASE/proc/tabletype/VAR_OUT"作为表(" YGMATRL" VARCHAR(20)," QUEUELADDAYS" DECIMAL)过程DDL:创建过程" _SYS_BIC"。 " KUMARAIN/ZMLT_USECASE/proc"(OUT var_out" _SYS_BIC"。" KUMARAIN/ZMLT_USECASE/proc/tabletype/VAR_OUT")语言sqlscript sql安全定义程序将sql数据读取为/*********开始过程脚本** **********/开始创建全局临时表" SYSTEM"。" MAT_PERCENT"(YGMATRL VARCHAR(20),PERCENTILE_VAL VARCHAR(4)); DECLARE V_MAT_GRP VARCHAR(20); DECLARE Q_DAYS INTEGER; DECLARE CURSOR CURSOR_MATERIAL用于从" _SYS_BIC"中选择不同的YGMATRL。" COATS.POC/ZMLTTST"命令按1 ASC; OPEN CURSOR_MATERIAL;将CURSOR_MATERIAL放入V_MAT_GRP;选择" QUEUELADDAYS" "进入Q_DAYS FROM(选择" YGPRODORD"," QUEUELADDAYS",ROW_NUMBER()超过(按QUEUELADDAYS ASC排序)ROWNUM来自" _SYS_BIC"。" COATS.POC/ZMLTTST",其中" YGMATRL" = V_MAT_GRP) (COUNT(" YGPRODORD" ** 0.95 AS INTEGER)IX FROM" _SYS_BIC"。" COATS.POC/ZMLTTST" WHERE" YGMATRL" = V_MAT_GRP)CNT ON RANK.ROWNUM = CNT.IX; 插入" _SYS_BIC"。" MAT_PERCENT"值(V_MAT_GRP,Q_DAYS); CLOSE CURSOR_MATERIAL; var_out = SELECT * FROM" _SYS_BIC"。" MAT_PERCENT"; DROP TABLE" _SYS_BIC"。" MAT_PERCENT"; END/*********结束过程脚本************/"

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在尝试针对每种材料计算百分值。 为了执行相同的操作,我试图通过使用光标将每种材料传递给select语句并存储到临时表中来填充相同的内容。当我尝试使用"计算"​​视图进行创建时,相同的方法不起作用。

我收到以下错误

"消息:存储库:在存储库运行时扩展中遇到错误;模型不一致。部署计算视图:SQL:sql语法错误:" DECLARE"附近的语法不正确:第10行第1行(在pos 360处)设置架构DDL语句: 设置架构" SYSTEM"类型DDL:创建类型" _SYS_BIC"。" KUMARAIN/ZMLT_USECASE/proc/tabletype/VAR_OUT"作为表(" YGMATRL" VARCHAR(20)," QUEUELADDAYS" DECIMAL)过程DDL:创建过程" _SYS_BIC"。 " KUMARAIN/ZMLT_USECASE/proc"(OUT var_out" _SYS_BIC"。" KUMARAIN/ZMLT_USECASE/proc/tabletype/VAR_OUT")语言sqlscript sql安全定义程序将sql数据读取为/*********开始过程脚本** **********/开始创建全局临时表" SYSTEM"。" MAT_PERCENT"(YGMATRL VARCHAR(20),PERCENTILE_VAL VARCHAR(4)); DECLARE V_MAT_GRP VARCHAR(20); DECLARE Q_DAYS INTEGER; DECLARE CURSOR CURSOR_MATERIAL用于从" _SYS_BIC"中选择不同的YGMATRL。" COATS.POC/ZMLTTST"命令按1 ASC; OPEN CURSOR_MATERIAL;将CURSOR_MATERIAL放入V_MAT_GRP;选择" QUEUELADDAYS" "进入Q_DAYS FROM(选择" YGPRODORD"," QUEUELADDAYS",ROW_NUMBER()超过(按QUEUELADDAYS ASC排序)ROWNUM来自" _SYS_BIC"。" COATS.POC/ZMLTTST",其中" YGMATRL" = V_MAT_GRP) (COUNT(" YGPRODORD" ** 0.95 AS INTEGER)IX FROM" _SYS_BIC"。" COATS.POC/ZMLTTST" WHERE" YGMATRL" = V_MAT_GRP)CNT ON RANK.ROWNUM = CNT.IX; 插入" _SYS_BIC"。" MAT_PERCENT"值(V_MAT_GRP,Q_DAYS); CLOSE CURSOR_MATERIAL; var_out = SELECT * FROM" _SYS_BIC"。" MAT_PERCENT"; DROP TABLE" _SYS_BIC"。" MAT_PERCENT"; END/*********结束过程脚本************/"

付费偷看设置
发送
1条回答
Tong__Ming
1楼-- · 2020-09-26 05:34

1)请确认我们是否可以在存储过程或计算视图中使用临时表

2)请确认附件脚本是否存在任何问题 sp-backup.txt

一周热门 更多>