物料组的通知查询

2020-08-15 08:10发布

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

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


尊敬的专家

请指导我进行此情况的通知查询:

我想为组添加通知查询,即当任何用户以任何形式进行交易时 或使用该组项目

的任何特殊形式,则如果项目数量为小数,则他将无法执行该事务并获取错误消息。

在此先感谢

。 >

Atul Chakraborty

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

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


尊敬的专家

请指导我进行此情况的通知查询:

我想为组添加通知查询,即当任何用户以任何形式进行交易时 或使用该组项目

的任何特殊形式,则如果项目数量为小数,则他将无法执行该事务并获取错误消息。

在此先感谢

。 >

Atul Chakraborty

付费偷看设置
发送
5条回答
天桥码农
1楼 · 2020-08-15 08:42.采纳回答

亲爱的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

谢谢

戈登

追夢秋陽
2楼-- · 2020-08-15 08:55

您好Atul,

很高兴知道您的问题已解决。

高兴 解决方案。

感谢您

malhaar

d56caomao
3楼-- · 2020-08-15 08:45

嗨Atul,

要实现此目的,您必须在后面写SPTN 结束

在"数据库"节点下,选择您的实时数据库。

选择可编程性

选择存储过程

选择db.sbo.SP_Transactionnotification

,然后将代码粘贴到

添加代码区域

如果(@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'

粗暴的香蕉
4楼-- · 2020-08-15 08:59

嗨Atul,

y 您必须转换此示例代码才能在文档中运行多行。

如果遇到任何困难,请告诉我。

感谢您

malhaar

何必丶何苦呢
5楼-- · 2020-08-15 08:50

亲爱的@ 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

如何更改此代码以使其在文档的多行中运行? 请指导。

谢谢

萨那。

一周热门 更多>