点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家您好,请帮助我
我有一个脚本SPN并在来自生产的事务收据上运行良好,但是在Trans上导致错误。 好收据
然后显示如下错误:" 1)。[SAP AG] [LIBODBCHDB32 DLL] [HDBODBC32]语法错误或访问冲突; 257 sql语法错误:第1列第8行(在pos 8)"
我的脚本出了什么问题:(
--------------------------------------------------- -------------------------------------------------- ----- -SP NOTIF untuk mencegah: -用户生产的melakukan数量发行中的melakukan收据 -Om Heri着 -------------------------------------------------- -------------------------------------------------- - 如果(:object_type ='59')和(:transaction_type ='A'或:transaction_type ='U') 然后 选择进入 从 ( 请选择输入" BaseRef"作为区别-BaseRef = Nomor WO 从IGN1 其中" DocEntry" =:list_of_cols_val_tab_del AND" BaseType" = 202-来自生产的Trx收货 ) 一个; 选择接收到接收 从 ( SELECT SUM(" Quantity")RECEVEQTY 从IGN1 其中" BaseRef" =:条目和" BaseType" = 202-BaseRef =条目= Nomor WO AND" TranType" ='C'-Krn Jika Nilainya NULL Artinya返回组件,mk tdk dihitung )B; 从中选择count(*)到cnt ( SELECT MIN(T1。" Actual")ACTUAL,T1。" DocEntry",T1。" DocNum",T1。" PlannedQty" 从 ( 选择 T2。" DocEntry",T2。" DocNum",T2。" PlannedQty",T3。" ItemCode", SUM(T3。" IssuedQty")为"已发布",SUM(T3。" PlannedQty")为"已计划", SUM(T3。" PlannedQty")/T2。" PlannedQty"为"每1期问题", ROUND(SUM(T3。" IssuedQty")/(SUM(T3。" PlannedQty")/T2。" PlannedQty"))为"实际" 从所有者T2内部联接W1在T3上T3。" DocEntry" = T2。" DocEntry" 在T2。"类型" <>'D' AND LEFT(T3。" ItemCode",2)='IP' AND T3。" BaseQty" = 1 AND T2。" DocNum" =:条目 GROUP BY T2。" DocEntry",T2。" DocNum",T2。" PlannedQty",T3。" ItemCode" )T1 哪里 T1。" DocNum" =:条目-DocNum =条目= Nomor WO 按T1。" DocEntry",T1。" DocNum",T1。" PlannedQty"分组 具有(:Receveqty> MIN(T1。" Actual")) ); 如果:cnt> 0则 错误:= 590778; error_message:='接收的数量大于发出的数量,请检查生产订单中的未结数量! 万一; 万一;
感谢丹麦语的回复:)
"声明变量"已经在我的SPTN上方
现在我有了一个主意,添加此脚本并...是的,收据良好,并且收货时也没有错误
请尝试一下,它可以正常运行9.2pl08 HANA
如果(:object_type ='59')和(:transaction_type ='A'或:transaction_type ='U'),则
声明ENTRY整数;
声明Receveqty整数;
声明cnt整数;
从输入
中选择要输入的计数(*)(
从输入中选择DISTINCT" BaseRef"-BaseRef = Nomor WO从IGN1
其中" DocEntry" =:list_of_cols_val_tab_del和 " BaseType" = 202-来自生产的Trx收货
)A;
选择COUNT(*)进入Receveqty
---- SELECT RECEVEQTY进入Receveqty
从
(
SELECT 从IGN1开始的
的SUM(" Quantity")
其中" BaseRef" =:条目和" BaseType" = 202-BaseRef =条目= Nomor WO
和" TranType" ='C'- Krn Jika Nilainya NULL Artinya返回组件,mk tdk dihitung
)B; <br>
从
(
SELECT MIN(T1。" Actual")ACTUAL,T1选择count(*)到cnt .." DocEntry",T1。" DocNum",T1。" PlannedQty"
(选择
T2。" DocEntry",T2。" DocNum",T2。" PlannedQty",T3。" ItemCode ",
SUM(T3。" IssuedQty")为" Issued",SUM(T3。" PlannedQty")为 " Planned",
SUM(T3。" PlannedQty")/T2。" PlannedQty"表示为"每1期问题",
ROUND(SUM(T3。" IssuedQty")/(SUM(T3。" PlannedQty" )/T2。" PlannedQty"))为"实际"
从OWOR T2内部联接WOR1 T3到T3。" DocEntry" = T2。" DocEntry"
WHERE T2。"类型" <>'D'< br> AND LEFT(T3。" ItemCode",2)='IP'
AND T3。" BaseQty" = 1
AND T2。" DocNum" =:条目
T2分组。 " DocEntry",T2。" DocNum",T2。" PlannedQty",T3。" ItemCode"
)T1
WHERE
T1。" DocNum" =:条目-DocNum =条目= Nomor WO < br>按T1。" DocEntry",T1。" DocNum",T1。" PlannedQty"分组
具有(:Receveqty> MIN(T1。" Actual"))
);
如果:cnt> 0 then
错误:= 590778;
error_message:='接收的数量大于已发出的数量,请检查生产订单中的未清数量!';
结束;如果
结束;
丹麦语
请使用"正确答案"将其关闭
丹麦语
一周热门 更多>