2020-08-15 08:10发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
尊敬的专家
请指导我进行此情况的通知查询:
我想为组添加通知查询,即当任何用户以任何形式进行交易时 或使用该组项目
的任何特殊形式,则如果项目数量为小数,则他将无法执行该事务并获取错误消息。
在此先感谢
Atul Chakraborty
亲爱的Atul,
我不完全了解"小数"中"项目数量"的含义。
您可以尝试:
如果(@object_type = '17')和(('A','U')中的@transaction_type)
开始
如果存在(选择T0.DocEntry FROM ordr T0内部联接rdr1 T1在T1上 .docentry = T0.docentry T2上的内部连接Oitm T2.itemcode = T1.itemcode
其中T0.docentry = @list_of_cols_val_tab_del和T2.ItmGrpcode = 102且T1.quantity <1)
设置@error = 17
设置@error_message ='无效输入'
结束
END
谢谢
戈登
您好Atul,
很高兴知道您的问题已解决。
高兴 解决方案。
感谢您
malhaar
嗨Atul,
要实现此目的,您必须在后面写SPTN 结束
在"数据库"节点下,选择您的实时数据库。
选择可编程性
选择存储过程
选择db.sbo.SP_Transactionnotification p>
,然后将代码粘贴到
添加代码区域
如果(@object_type ='1 7')和(@('A','U')中的@transaction_type)
BEGIN
将@ItmGrpCode声明为int
将@Qty声明为int
设置@ItmGrpcode =(从
rdr1.docentry = ordr.docentry上的oitm.itemcode = rdr1.itemcode内部联接ordr中的oitm内部联接rdr1中选择oitm.itmsgrpcod。 docentry = @ list_of_cols_val_tab_del)
设置@数量=(从ordr.docentry = rdr1.docentry上的rdr1内部联接ordr中选择数量,其中ordr.docentry =
@list_of_cols_val_tab_del))
如果@ItmGrpcode = 10且@qty = 0
设置@error = -1
通过捕获对象类型和dml模式,就像明智的选择 为您要检查的每个文档编写代码。
例如,我已经为销售订单提供了代码。
希望这会为您提供帮助
谢谢 您
Malhaar'
y 您必须转换此示例代码才能在文档中运行多行。
如果遇到任何困难,请告诉我。
亲爱的@ pradnya.samant, pradnya samant
我有一个类似的问题,由于以下错误,我无法在行中添加属于另一个项目组的项目:
[Microsoft] [SQL Server本机客户端10.0] [SQL Server]子查询返回的值多于1。 当子查询遵循=,!=,<,<=,>,> =或将子查询用作表达式时,不允许这样做。 (CINF)
这是代码:
如果(@object_type ='17')和(@@ transaction_type在('A','U')中) BEGIN 将@ ItmGrpCode1声明为int 将@ Qty1声明为int 将@ Freight1声明为int 设置@ ItmGrpcode1 =(从oitm上的oitm内部连接rdr1中选择oitm.itmsgrpcod。itemcode= rdr1.itemcode内部连接ordr on rdr1.docentry = ordr.docentry其中ordr.docentry = @ list_of_cols_val_tab_del AND OITM.ITMSGRPCOD = 101)设置@ Qty1 =(从ordr.docentry = rdr1.docentry上的rdr1内部联接ordr中选择数量,其中ordr.docentry = @list_of_cols_val_tab_del)设置@ Freight1 = 在ordr.DocEntry = rdr3.DocEntry上的ordr内部联接rdr3中选择ordr.TotalExpns,其中rdr3.ExpnsCode = 3和ordr.docentry=@list_of_cols_val_tab_del) BEGIN IF @ ItmGrpcode1 = 101并且@ qty1 <5和( @ Freight1 = 0或@ Freight1为NULL或@ Freight1 ='')开始设置@error = -1 设置@error_message ='输入用于处理货物的净额'结束< br> End END
如何更改此代码以使其在文档的多行中运行? 请指导。
萨那。
最多设置5个标签!
亲爱的Atul,
我不完全了解"小数"中"项目数量"的含义。
您可以尝试:
如果(@object_type = '17')和(('A','U')中的@transaction_type)
开始
如果存在(选择T0.DocEntry FROM ordr T0内部联接rdr1 T1在T1上 .docentry = T0.docentry T2上的内部连接Oitm T2.itemcode = T1.itemcode
其中T0.docentry = @list_of_cols_val_tab_del和T2.ItmGrpcode = 102且T1.quantity <1)
< p>开始设置@error = 17
设置@error_message ='无效输入'
结束
END
谢谢
戈登
您好Atul,
很高兴知道您的问题已解决。
高兴 解决方案。
感谢您
malhaar
嗨Atul,
要实现此目的,您必须在后面写SPTN 结束
在"数据库"节点下,选择您的实时数据库。
选择可编程性
选择存储过程
选择db.sbo.SP_Transactionnotification p>
,然后将代码粘贴到
添加代码区域
如果(@object_type ='1 7')和(@('A','U')中的@transaction_type)
BEGIN
将@ItmGrpCode声明为int
将@Qty声明为int
设置@ItmGrpcode =(从
rdr1.docentry = ordr.docentry上的oitm.itemcode = rdr1.itemcode内部联接ordr中的oitm内部联接rdr1中选择oitm.itmsgrpcod。 docentry = @ list_of_cols_val_tab_del)
设置@数量=(从ordr.docentry = rdr1.docentry上的rdr1内部联接ordr中选择数量,其中ordr.docentry =
@list_of_cols_val_tab_del))
开始
如果@ItmGrpcode = 10且@qty = 0
开始
设置@error = -1
设置@error_message ='无效输入'
结束
结束
END
通过捕获对象类型和dml模式,就像明智的选择 为您要检查的每个文档编写代码。
例如,我已经为销售订单提供了代码。
希望这会为您提供帮助
谢谢 您
Malhaar'
嗨Atul,
y 您必须转换此示例代码才能在文档中运行多行。
如果遇到任何困难,请告诉我。
感谢您
malhaar
亲爱的@ pradnya.samant, pradnya samant
我有一个类似的问题,由于以下错误,我无法在行中添加属于另一个项目组的项目:
[Microsoft] [SQL Server本机客户端10.0] [SQL Server]子查询返回的值多于1。 当子查询遵循=,!=,<,<=,>,> =或将子查询用作表达式时,不允许这样做。 (CINF)
这是代码:
如果(@object_type ='17')和(@@ transaction_type在('A','U')中)
BEGIN
将@ ItmGrpCode1声明为int
将@ Qty1声明为int
将@ Freight1声明为int
设置@ ItmGrpcode1 =(从oitm上的oitm内部连接rdr1中选择oitm.itmsgrpcod。itemcode= rdr1.itemcode内部连接ordr on
rdr1.docentry = ordr.docentry其中ordr.docentry = @ list_of_cols_val_tab_del AND OITM.ITMSGRPCOD = 101)
设置@ Qty1 =(从ordr.docentry = rdr1.docentry上的rdr1内部联接ordr中选择数量,其中ordr.docentry =
@list_of_cols_val_tab_del)
设置@ Freight1 = 在ordr.DocEntry = rdr3.DocEntry上的ordr内部联接rdr3中选择ordr.TotalExpns,其中rdr3.ExpnsCode = 3和ordr.docentry=@list_of_cols_val_tab_del)
BEGIN
IF @ ItmGrpcode1 = 101并且@ qty1 <5和( @ Freight1 = 0或@ Freight1为NULL或@ Freight1 ='')
开始
设置@error = -1
设置@error_message ='输入用于处理货物的净额'
结束< br> End
END
如何更改此代码以使其在文档的多行中运行? 请指导。
谢谢
萨那。
一周热门 更多>