SQLScript游标无法正常工作

2020-09-29 17:47发布

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

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


嗨,

我使用游标,如以下代码所示,但无法识别当前行标识符。 任何人都可以看看。

创建过程GET_SO_BO(IN KUNNR NVARCHAR(10))
 一开始
 十进制V_NETWR DECIMAL(15,2);
 开始
 DECLARE游标C1
 从" CLF01"中选择VBELN NETWR。" VBAK",其中KUNNR ='0000002401';
 FOR cur_row AS C1
 做
 致电ins_msg_proc('DOCUMENT是:'|| cur_row.VBELN);
 结束于;
 结束;
 结束;

 

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

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


嗨,

我使用游标,如以下代码所示,但无法识别当前行标识符。 任何人都可以看看。

创建过程GET_SO_BO(IN KUNNR NVARCHAR(10))
 一开始
 十进制V_NETWR DECIMAL(15,2);
 开始
 DECLARE游标C1
 从" CLF01"中选择VBELN NETWR。" VBAK",其中KUNNR ='0000002401';
 FOR cur_row AS C1
 做
 致电ins_msg_proc('DOCUMENT是:'|| cur_row.VBELN);
 结束于;
 结束;
 结束;

 
付费偷看设置
发送
6条回答
CPLASF-自律
1楼-- · 2020-09-29 18:19

您好Sudhanshu,

您是否已创建ins_msg_proc过程。

如果没有,请执行以下步骤:

1。 创建表message_box(p_msg VARCHAR(200),tstamp TIMESTAMP);

2。 创建过程ins_msg_proc(p_msg VARCHAR(200))语言SQLSCRIPT AS 开始 INSERT INTO message_box VALUES(:p_msg,CURRENT_TIMESTAMP); END;

然后创建您的过程:

 CREATEPROCEDURE GET_SO_BO(IN KUNNR NVARCHAR(10))ASBEGIN
 DECLARE V_NETWR DECIMAL(15,2);开始
 DECLARE CURSOR C1从" CLF01"中选择VBELN NETWR。" VBAK",其中KUNNR ='0000002401';对于cur_row AS C1
 DOCALL ins_msg_proc('DOCUMENT是:'|| cur_row.VBELN); ENDFOR; END; END; 

您可以在表message_box

SELECT * FROM message_box;

问候

Raj

半个程序猿
2楼-- · 2020-09-29 17:56

我想我的版本有问题。 我现在在更高版本中,看起来还可以。 谢谢您的宝贵时间!

DafaDDDa
3楼-- · 2020-09-29 18:07

您好Sudhanshu,

我在您的代码中看到了两个BEGIN。

我知道它应该在没有踢的情况下工作,而只是踢一下,您是否尝试查看如果在顶部明确声明cur_row会发生什么?

请注意,
Akshat

compass1988
4楼-- · 2020-09-29 18:04

请注意,主标记处理SAP的数据库管理系统之一" SAP SQL Anywhere"。 我很确定您的问题与另一个DBMS(HANA?)有关,所以我建议修改使用的标签...

d56caomao
5楼-- · 2020-09-29 17:56

Hello Volker,

我对这个界面还是很陌生的,甚至我对此也不感到惊讶。 我没有找到更好的标签。 下次会尝试照顾您的。

哎,真难
6楼-- · 2020-09-29 18:08

是的,两个Begins是正确的。 实际上,将另一个起点置于另一个原因是将cur_row放在顶部。

一周热门 更多>