SBO_SP_TRANSACTION通知,用于阻止来自特殊仓库HANA的应收发票销售

2020-08-15 22:36发布

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

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


您好,

如果在HANA环境中选择了特定的仓库,我想阻止A/R发票的添加。我可以使用哪种存储过程来阻止用户执行来自特定仓库的A/R发票。

奖励

欧内斯特

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

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


您好,

如果在HANA环境中选择了特定的仓库,我想阻止A/R发票的添加。我可以使用哪种存储过程来阻止用户执行来自特定仓库的A/R发票。

奖励

欧内斯特

付费偷看设置
发送
3条回答
spaceman01
1楼-- · 2020-08-15 22:49

嗨,

尝试一下:

 ALTER PROCEDURE 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);  -要显示的错误字符串
 whs_cnt int;
 开始
 错误:= 0;
 whs_cnt:= 0;
 --------------------------------------------------  --------------------------------------------------  ----------------------------
 -在这里添加您的代码
 如果:object_type = N'13'AND:transaction_type = N'A'THEN
    选择IFNULL(COUNT(*),0)进入whs_cnt
    从INV1 T0
    内部联接在T0上的T1。" WhsCode" = T1。" WhsCode"
    在T0。" DocEntry" =:list_of_cols_val_tab_del AND T1。" U_BLOCKINV" = N'Y';
    如果:whs_cnt> 0然后
                开始
                错误:= 1;
                error_message:= N'文档包含被开票的仓库';
                结束;
    万一;
 万一;
 whs_cnt:= 0;

 --------------------------------------------------  --------------------------------------------------  ----------------------------
 -选择返回值
 从哑元中选择:error,:error_message;
 结束;
 

假定您想在某个仓库中开票时在Warehouse Master(U_BLOCKINV)上打开UDF,并将其设置为Y。

BR,

Matija

打个大熊猫
2楼-- · 2020-08-15 22:50

嗨,欧内斯特,

您在仓库上创建UDF(字段代码BLOCKINV,可用值Y和N),并且存储过程将检查该字段是否为Y。如果为Y,它将阻止在任何行上向该仓库添加发票。

BR,

Matija

p.s。 如果有问题回复,请使用评论,它会给我警报,而不会回答。

hengyuye
3楼-- · 2020-08-15 23:12

Helo Matija,

如何在T1中添加多个仓库。" WhsCode"是因为有六个存储仓库,我在选择发票时不希望选择这些仓库。

此致

欧内斯特

一周热门 更多>