通过交易通知阻止添加日记帐凭证。

2020-09-17 03:15发布

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

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


尊敬的专家。

我有条件添加日记帐凭证,在添加凭证之前必须先填写分配规则。

因此,我创建了一个交易通知,以阻止用户错过以下分配字段时添加日记帐凭证:

但是,当我测试该方案时,SAP提示此错误。 有人可以帮我解决这个问题吗? 我一直在论坛内搜索,但找不到该错误的根源。

我在AP发票和付款中应用了相同的交易通知,效果很好。仅在日记帐凭证上显示此错误。

[Microsoft] [SQL Server Native Client 11.0] [SQL Server]将nvarchar值'31'转换为数据类型int时转换失败。 (CINF)

如果@object_type ='28'并且@transaction_type ='A'
 开始
 如果存在(从[dbo]。[btf1]中选择T0.profitcode,则在T0中T0.TransId = @list_of_cols_val_tab_del和T0.ProfitCode为NULL)
 开始
 设置@error = 1
 set @error_message ='字段名称分散。 规则是必须的
 选择@ error,@ error_message
 结束
 结束
 

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

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


尊敬的专家。

我有条件添加日记帐凭证,在添加凭证之前必须先填写分配规则。

因此,我创建了一个交易通知,以阻止用户错过以下分配字段时添加日记帐凭证:

但是,当我测试该方案时,SAP提示此错误。 有人可以帮我解决这个问题吗? 我一直在论坛内搜索,但找不到该错误的根源。

我在AP发票和付款中应用了相同的交易通知,效果很好。仅在日记帐凭证上显示此错误。

[Microsoft] [SQL Server Native Client 11.0] [SQL Server]将nvarchar值'31'转换为数据类型int时转换失败。 (CINF)

如果@object_type ='28'并且@transaction_type ='A'
 开始
 如果存在(从[dbo]。[btf1]中选择T0.profitcode,则在T0中T0.TransId = @list_of_cols_val_tab_del和T0.ProfitCode为NULL)
 开始
 设置@error = 1
 set @error_message ='字段名称分散。 规则是必须的
 选择@ error,@ error_message
 结束
 结束
 

付费偷看设置
发送
6条回答
黑丝骑士
1楼 · 2020-09-17 03:43.采纳回答

如果这是日记帐凭证,请检查它,然后我认为对象类型应为29

如果@object_type ='29'并且@transaction_type ='A'
 开始
 如果存在(从[dbo]。[btf1]中选择T0.profitcode,则在T0中T0.TransId = @list_of_cols_val_tab_del和T0.ProfitCode为NULL)
 开始
 设置@error = 1
 set @error_message ='字段名称分散。 规则是必须的
 选择@ error,@ error_message
 结束
 结束
能不能别闹
2楼-- · 2020-09-17 03:54

亲爱的肯尼迪,

是的,问题已解决。

但是我可以知道对象类型是29而不是28吗?

根据我的研究,日记帐凭证的对象类型是28,对吗?

软件心理学工程师
3楼-- · 2020-09-17 03:37

您好,

处理日记帐凭证SP_Notif与其他凭证略有不同。 您需要使用Batchnum并转换@list_of_cols_val_tab_del。 转换为特定格式T_T

请看一下我的代码。

如果@object_type ='28'并且@transaction_type ='A'
 开始
 如果EXISTS(SELECT T0.profitcode FROM [dbo]。[btf1] T0 WHERE T0.BatchNum = LEFT(@ list_of_cols_val_tab_del,4)AND isull(T0.ProfitCode,'')=''))
 开始
 设置@error = 1
 set @error_message ='字段名称分散。 规则是必须的
 选择@ error,@ error_message
 结束
 结束
huskylover
4楼-- · 2020-09-17 03:48

亲爱的哈姆迪,

非常感谢您。

肯尼迪T是正确的。 对象类型是29,而不是28。

我仍然想知道为什么。

落灬小鱼
5楼-- · 2020-09-17 03:55

尊敬的专家,

对这个问题有何看法?

先谢谢您

风早神人
6楼-- · 2020-09-17 03:51

嗨,

日记帐凭证中的TransID无法正常工作,请使用" BatchNum"对其进行更改,而不是使用" T0.ProfitCode ISNULL",请使用isull(T0.ProfitCode,0)= 0

一周热门 更多>