点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家,
最近,我遇到一个问题,即在使用SQL脚本的计算视图中无法调用非读取过程,要求如下:
源表数据,例如:
帐户63010000/金额200
我们需要将帐户63010000进行alpha转换为0063010000,我已经完成了alpha过程,我想使用游标循环每一行,然后调用过程并更新本地表以进行alpha转换,但是问题是我 无法在SQL脚本中执行任何插入/更新操作,是否可以满足我的要求? 期待您的任何帮助。
非常感谢!
最诚挚的问候,
Sean cai
为什么要通过显示的错误消息来清楚显示错误消息(您不能在只读过程/函数中调用非只读过程-并且脚本化的计算视图为只读)。
但是问题是为什么您使用您描述的低性能实现? 目前尚不清楚为什么要使用游标,临时表和该逻辑来识别该列是否仅包含数字。
如果您进行搜索,可能会找到关于该主题的出色博客,以识别一列是否只有数字值。 请在此处查看精彩的博客。
有了这些信息,您只需进行选择即可进行转换。 下面是一个虚拟的例子(column =包含您要对其应用转换的值的列):
逻辑是什么:使用LOCATE_REGEXPR函数检查列值是否仅包含数字。 如果不是,则该函数返回0。MAP函数对此进行检查。 如果返回0(不仅是数字),则列值将保持不变。 如果<> 0,则使用LPAD函数添加前导零。
关于,
弗洛里安
嗨肖恩,
您能否提供更多详细信息,并在逻辑上加以说明,以便我们更好地理解您的工作意图?
谢谢
Poonam
为什么要在脚本化的calc视图中包装存储的过程,为什么不使用包装器作为过程。
我们不能不使用循环吗?可以使用内部逻辑的一个表函数轻松地完成此操作,并为帐户编号填充零,然后在外部计算视图中调用此表函数。 这样,您无需在calc视图中调用存储过程。
好,不要使用脚本化的calc视图,请使用表函数,因为脚本化的calc视图已被描述
你好Poonam,
很抱歉造成误解,详细逻辑是:
我们要在SQL脚本计算视图中进行alpha转换:
1.In 过程" ZUSER"。" test"包含alpha转换逻辑,例如帐户63010000 ->帐户0000000066010000,可以检查附件。
2.In SQL脚本计算视图将调用此非只读过程,从而引发错误 ,您可以检查附件。
据我了解,SQL脚本计算视图无法调用非只读过程,我的问题是是否可以进行满足我要求的工作? 谢谢您的帮助。
非常感谢Florian Pfeffer ! 我关闭了。
一周热门 更多>