找到SBO帐套里面的【可编译性】-【存储过程】-【系统存储过程】-【SBO_SP_TransactionNotification】
S01
右键【修改】存储过程
S02
USE [SBODEMOCN]
GO
/****** Object: StoredProcedure [dbo].[SBO_SP_TransactionNotification] Script Date: 2019-11-4 17:21:43 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[SBO_SP_TransactionNotification]
@object_type nvarchar(20), -- SBO Object Type
@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)
AS
begin
-- Return values
declare @error int -- Result (0 for no error)
declare @error_message nvarchar (200) -- Error string to be displayed
select @error = 0
select @error_message = N'Ok'
--------------------------------------------------------------------------------------------------------------------------------
-- ADD YOUR CODE HERE
--------------------------------------------------------------------------------------------------------------------------------
-- Select the return values
select @error, @error_message
end
这是时候,我们看到了的是这样的代码,我们需要在-- ADD YOUR CODE HERE这里面添加代码
--------------------------------------------------------------------------------------------------------------------------------
-- ADD YOUR CODE HERE
--------------------------------------------------------------------------------------------------------------------------------
我们最重要是了解存储过程中的这几个变量
@object_type nvarchar(20), -- SBO Object Type
@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)
所以我们写了一段这样的代码,放在存储过程的ADD YOUR CODE HERE区域,然后执行更新。
SET @error = 1024
SET @error_message =
'@object_type=' + @object_type +
',@transaction_type=' + @transaction_type +
',@num_of_cols_in_key=' + CAST(@num_of_cols_in_key AS Varchar(50)) +
',@list_of_key_cols_tab_del=' + @list_of_key_cols_tab_del +
',@list_of_cols_val_tab_del=' + @list_of_cols_val_tab_del
S03
我们再去更新,或添加一张单据的时候,就出来这个红字错误。
所以这个存储过程的主要功能是,做一些自定义的控制(红字错误)来控制单据或主数据的添加,更新。
S04
产生的错误如下:
(1024) @object_type=10000013,@transaction_type=U,@num_of_cols_in_key=1,@list_of_key_cols_tab_del=AbsEntry,@list_of_cols_val_tab_del=140
通过解读
@object_type是单据类型,譬如销售订单是17
@transaction_type是操作类型,有新增、更新等... A是新增,U是更新,其他基本不会用。
@num_of_cols_in_key不知道是啥,这个用不到。
@list_of_key_cols_tab_del是影响到的这个单据的字段,单据一般就是DocEntry,主数据就是其编码
@list_of_cols_val_tab_del是影响到的这个单据的字段的值,就是DocEntry的值
如有更多SAP Business One、SAP Business ByDesign、SAP S/4 HANA (Cloud)、SAP C/4 HANA及其他SAP®其他产品的交流。欢迎发邮件给我:brian.he@ngc-sz.com 或113191814@qq.com 或拨打 400-026-0755 或登录网站 http://www.ngc-sz.com/
毗翌咨询(NGC)是一家有10余年经验团队组成的专业SAP产品咨询公司,有自研N+平台对接OA、MES、WMS、BarCode(条码)、PLM、TMS、OMS(境内外电商)、APP、WEB+、微信、钉钉。在智能制造、新零售电商、专业服务业、化工生产,包括汽车零配件、家具家居、电子产品及元器件、快消品、分销、贸易、跨境电商、互联网公司、服装鞋帽、工业设备制造、公关与咨询服务、研发实验室、烟草粮油等都有相关经验和成功客户
以上如涉及版权信息内容,请联系进行删除。








网友评论