2020-09-12 00:50发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我正在FM上使用:BAPI_BATCH_SAVE_REPLICA将订单状态从受限更改为不受限制。
我想在此之前实现一个锁定,然后再对其进行解锁。
我该怎么做?
谢谢。
此BAPI在现有批次的基础上创建了一个新批次,因此我不知道为什么/如何锁定尚未创建的新批次。
我遗漏了一些东西吗?
嗨弗朗索瓦,谢谢您的答复。 我们使用BAPI只是为了将工作订单状态从"限制"更改为"不受限制"。
这是代码:
如果ls_batchstatus-restricted EQ abap_true。 ls_batchstatus-restricted =''。 ls_batchstatusx-restricted = abap_true。 材料= ps_outtab-matnr 批次= ps_outtab-charg batchstatus = ls_batchstatus batchstatusx = ls_batchstatusx。
但问题是,有时我会收到消息,"材料XXX的批次XXX已被<用户名>锁定"。 如果我只是按ENTER键,它将被接受。 所以当这就是为什么我认为这肯定是一个锁定问题。 我测试了"等待5秒钟",它工作正常,但是编写这样的代码不是一个好习惯。 因此,想要在该FM调用之前和之后添加锁。
好,那么您只需要使用此FM来排队批处理(如果已锁定,则会出错):
VB_ENQUEUE_BATCH
好 ,所以 Fm-VB_ENQUEUE_BATCH
然后进行FM-BAPI_BATCH_SAVE_REPLICA'呼叫。
后来调频-VB_DEQUEUE_BATCH
这是正确的吗?
是:-)
别忘了提交。
嘿, 同样的消息。
如果我调试该FM,仅10秒钟(不做任何更改),那么就没有问题,但是如果我直接执行该消息,则再次发出该消息。
最多设置5个标签!
此BAPI在现有批次的基础上创建了一个新批次,因此我不知道为什么/如何锁定尚未创建的新批次。
我遗漏了一些东西吗?
嗨弗朗索瓦,谢谢您的答复。
我们使用BAPI只是为了将工作订单状态从"限制"更改为"不受限制"。
这是代码:
如果ls_batchstatus-restricted EQ abap_true。
ls_batchstatus-restricted =''。
ls_batchstatusx-restricted = abap_true。 材料= ps_outtab-matnr
批次= ps_outtab-charg
batchstatus = ls_batchstatus
batchstatusx = ls_batchstatusx。
但问题是,有时我会收到消息,"材料XXX的批次XXX已被<用户名>锁定"。 如果我只是按ENTER键,它将被接受。
所以当这就是为什么我认为这肯定是一个锁定问题。 我测试了"等待5秒钟",它工作正常,但是编写这样的代码不是一个好习惯。 因此,想要在该FM调用之前和之后添加锁。
好,那么您只需要使用此FM来排队批处理(如果已锁定,则会出错):
好 ,所以
Fm-VB_ENQUEUE_BATCH
然后进行FM-BAPI_BATCH_SAVE_REPLICA'呼叫。
后来调频-VB_DEQUEUE_BATCH
这是正确的吗?
是:-)
别忘了提交。
嘿, 同样的消息。
如果我调试该FM,仅10秒钟(不做任何更改),那么就没有问题,但是如果我直接执行该消息,则再次发出该消息。
一周热门 更多>