点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
尊敬的专家,
我们正在将SAP Business One 9.3 PL11版本用于SAP HANA。
我正在学习SBO_SP_TransactionNotification,但是不幸的是,大多数文档都是针对SQL版本的。
我正在从此博客中学习: https://blogs.sap.com/2009/05/22/the-sptransactionnotification-stored-procedure/
我尝试实现其中一个示例,但是没有用。 我做了一些修改以尝试使其适用于HANA版本。
-B1取决于:BEFORE:PT:PROCESS_START 创建过程SBO_SP_TransactionNotification ( 在object_type nvarchar(30)中-SBO对象类型 在transaction_type nchar(1)中,-[A] dd,[U] pdate,[D] elete,[C] ancel,C [L] ose 在num_of_cols_in_key int中, 在list_of_key_cols_tab_del nvarchar(255)中, 在list_of_cols_val_tab_del nvarchar(255)中 ) 语言SQLSCRIPT 如 -返回值 错误int; -结果(0表示没有错误) error_message nvarchar(200); -要显示的错误字符串 开始 错误:= 0; error_message:= N'Ok'; -------------------------------------------------- -------------------------------------------------- ---------------------------- -在这里添加您的代码 IF:object_type ='13'和:transaction_type ='A' 然后 IF(从" OINV"中选择" OINV"。" NumAtCard"," OINV"。" DocEntry" =:list_of_cols_val_tab_del)为空 然后 错误:= -5001; error_message:='请确保您还填写客户参考字段的值。 没有'; 万一; 万一; -------------------------------------------------- -------------------------------------------------- ---------------------------- -选择返回值 从哑元中选择:error,:error_message; 结束;
我得到的错误是:
无法执行'CREATE PROCEDURE SBO_SP_TransactionNotification(在object_type nvarchar(30)中--SBO对象类型...')SAP DBTech JDBC:[7]:不支持的功能:不允许子查询:第24行 6(位置726)
此存储过程检查OINV.NumAtCard是否为空,然后显示错误消息。
该问题的解决方案是什么?
谢谢,
最好的问候,
Shak
IF子句中的select不能以这种方式直接使用。 您必须使用 EXISTS 运算符(受支持) (从HANA 2.0 SPS04开始)。
如果使用的HANA版本低于某个选项,则将确定匹配记录的数量,以便能够在IF子句中使用它。
亲爱的 Florian Pfeffer ,
谢谢您的回答!
我们正在使用HANA 1.0 SP12。
现在正在工作。
谢谢,
Shak
一周热门 更多>