生产中收货和收货中重复的批次编号块

2020-09-07 02:27发布

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

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


嗨,专家

以下是我的SP阻止生产中收货和收货中的重复批号

/*重复的批号块错误= 900001 */IF(:transaction_type ='A'OR:transaction_type ='U')AND(:object_type ='59')然后选择COUNT(*)从IGN1 T1进入CNT T1上的内部联接OIGN T2。" DocEntry" = T2。" DocEntry" T0上的内部联接OIBT T0。" BaseEntry" = T2。" DocEntry" WHERE T0。" BaseType" = 59 AND T1。" DocEntry" =:list_of_cols_val_tab_del AND (T1。" ItemCode"类似于'DNC-FG %%')和T0。(SELECT T0。" BatchNum",来自IGN1 T1内部联接OIGN T2在T1上。" DocEntry" = T2。" DocEntry"内部联接 OIBT T0 ON T0。" BaseEntry" = T2。" DocEntry" WHERE T0。" BaseType" = 59 AND(T1。" ItemCode"类似'DNC-FG %%')); 如果:CNT> 0 THEN错误:= 900001; error_message:='批号已存在'; 碳纳米管:= 0; 万一 ; END IF;

但是它不起作用,谁能指导我我缺少SAP Business的一个版本是9.2 PL06 HANA

致谢

Jamil Siddiqui

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

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


嗨,专家

以下是我的SP阻止生产中收货和收货中的重复批号

/*重复的批号块错误= 900001 */IF(:transaction_type ='A'OR:transaction_type ='U')AND(:object_type ='59')然后选择COUNT(*)从IGN1 T1进入CNT T1上的内部联接OIGN T2。" DocEntry" = T2。" DocEntry" T0上的内部联接OIBT T0。" BaseEntry" = T2。" DocEntry" WHERE T0。" BaseType" = 59 AND T1。" DocEntry" =:list_of_cols_val_tab_del AND (T1。" ItemCode"类似于'DNC-FG %%')和T0。(SELECT T0。" BatchNum",来自IGN1 T1内部联接OIGN T2在T1上。" DocEntry" = T2。" DocEntry"内部联接 OIBT T0 ON T0。" BaseEntry" = T2。" DocEntry" WHERE T0。" BaseType" = 59 AND(T1。" ItemCode"类似'DNC-FG %%')); 如果:CNT> 0 THEN错误:= 900001; error_message:='批号已存在'; 碳纳米管:= 0; 万一 ; END IF;

但是它不起作用,谁能指导我我缺少SAP Business的一个版本是9.2 PL06 HANA

致谢

Jamil Siddiqui

付费偷看设置
发送
2条回答
Baoming ROSE
1楼 · 2020-09-07 02:33.采纳回答

通过遵循SP来解决问题

/*重复的批号阻止错误= 900001 */

如果先((transaction_type ='A'或:transaction_type ='U')AND(:object_type ='59')然后

SELECTCOUNT(*)进入CNT

FROM IGN1 T1

INNERJOIN IBT1 T0在T1上。" DocEntry" = T0。" BaseEntry"和T0。" BaseType" ='59'

其中T1。" DocEntry" =:list_of_cols_val_tab_del和

T1。" ItemCode"类似于" DNC-FG %%"

ANDT0。IBT1T0中的(SelectIfnull(T0。" BatchNum",")中的" BatchNum"

INNERJOIN IGN1 T1在T1上。" DocEntry" = T0。" BaseEntry"和T0。" BaseType" ='59'where

T1。" ItemCode"类似于DNC-FG %%'和T1。" DocEntry" <>:list_of_cols_val_tab_del);

如果:CNT> 0然后

错误:= 900001;

error_message:='存在重复的批次编号,再次检查批次编号';

CNT:= 0;

ENDIF;

ENDIF;

致谢

Jamil

小灯塔
2楼-- · 2020-09-07 02:45

IF:object_type ='59'AND:transaction_type ='A'然后
声明temp_var_0整数;
选择计数(*)进入temp_var_0
从 IBT1 B1,
IBT1 B2
其中b1。" BatchNum" IN(IFNULL(b2。" BatchNum",``))AND B1。" BaseEntry" =:list_of_cols_val_tab_del AND
b1。" ItemCode" = B2。" ItemCode" AND b2。" BaseEntry" <>:list_of_cols_val_tab_del AND b2。" BaseType" = 59 AND
b1。" BaseType" = 59 AND b2。" BsDocType"不在(202)AND b1中。" BsDocType ""不在(202)和b2中。" WhsCode"不在('01')AND b1中。" WhsCode"不在('01')中;
IF:temp_var_0> 0 THEN
错误:= 108;
error_message:='重复批处理,不是allwd';
END IF;
END IF;

一周热门 更多>