执行WS_DELIVERY_UPDATE时出现CSL_TOKENMGMT022错误消息

2020-08-22 07:44发布

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

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


大家好

当前,我在尝试创建销售单据和创建交货编号时遇到问题。 目前,我正在创建一个ABAP应用程序,该应用程序使用BAPI BAPI_SALESORDER_CREATEFROMDAT2创建销售文档,使用BAPI BAPI_OUTB_DELIVERY_CREATE_SLS创建交货编号并过帐货物,并使用FM WS_DELIVERY_UPDATE以此顺序结束交货。 执行最后一个FM后,我收到以下错误:

CSL_TOKENMGMT022-CSL:R3D210:SALES_DOCUMENT:XXXXXXXXXX被(R3D210-01)锁定。

我非常确定问题是与提交BAPI BAPI_OUTB_DELIVERY_CREATE_SLS所做的更改所需的时间有关的,但是在阅读了几篇文章后,他们不建议使用句子WAIT UNTIL...。 数据库。 我尝试使用FM BAPI_TRANSACTION_COMMIT并激活参数WAIT,但一点都不幸运。

在执行BAPI BAPI_OUTB_DELIVERY_CREATE_SLS之后,是否可以删除传递锁定?

或更妙的是:在确保BAPI BAPI_OUTB_DELIVERY_CREATE_SLS正确完成其执行之后,是否存在建议的执行BAPI WS_DELIVERY_UPDATE的方法?

到目前为止,我的代码是此讨论所附的txt。

在此先感谢您的帮助。 最好的问候。

洛伦佐·马丁·奥尔莫斯

创建销售文档example.txt.zip (2.1 kB)

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

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


大家好

当前,我在尝试创建销售单据和创建交货编号时遇到问题。 目前,我正在创建一个ABAP应用程序,该应用程序使用BAPI BAPI_SALESORDER_CREATEFROMDAT2创建销售文档,使用BAPI BAPI_OUTB_DELIVERY_CREATE_SLS创建交货编号并过帐货物,并使用FM WS_DELIVERY_UPDATE以此顺序结束交货。 执行最后一个FM后,我收到以下错误:

CSL_TOKENMGMT022-CSL:R3D210:SALES_DOCUMENT:XXXXXXXXXX被(R3D210-01)锁定。

我非常确定问题是与提交BAPI BAPI_OUTB_DELIVERY_CREATE_SLS所做的更改所需的时间有关的,但是在阅读了几篇文章后,他们不建议使用句子WAIT UNTIL...。 数据库。 我尝试使用FM BAPI_TRANSACTION_COMMIT并激活参数WAIT,但一点都不幸运。

在执行BAPI BAPI_OUTB_DELIVERY_CREATE_SLS之后,是否可以删除传递锁定?

或更妙的是:在确保BAPI BAPI_OUTB_DELIVERY_CREATE_SLS正确完成其执行之后,是否存在建议的执行BAPI WS_DELIVERY_UPDATE的方法?

到目前为止,我的代码是此讨论所附的txt。

在此先感谢您的帮助。 最好的问候。

洛伦佐·马丁·奥尔莫斯

创建销售文档example.txt.zip (2.1 kB)
付费偷看设置
发送
8条回答
小灯塔
1楼 · 2020-08-22 08:11.采纳回答

大家好:

我提供有关当前问题的更新:在执行WS_DELIVERY_UPDATE函数之前将WAIT UP加至XX秒之后,我能够成功执行它,而不必这样:

 DELIV_UP_DET-posnr_vl = CONST_POSNR。
DELIV_UP_DET-posnn = CONST_POSNR。
DELIV_UP_DET-PIKMG = CONST_QTY1。
DELIV_UP_DET-ndifm = 0.
DELIV_UP_DET-DET-ta-DEL。 等待最多20秒。 呼叫功能'WS_DELIVERY_UPDATE'
导出
VBKOK_WA = DELIV_UP_HEAD
交付= NumEntrega
UPDATE_PICKING = CONST_SELECCIONADO
IF_DATABASE_UPDATE = CONST_QTY1
IF_ERROR_MESSAGE = << BR> EF_ERROR_IN_ITEM_DELETION_0 = DELIV_UP_ITEM_DEL结果EF_ERROR_IN_POD_UPDATE_0 = DELIV_UP_POD_UPD结果EF_ERROR_IN_INTERFACE_0 = DELIV_UP_INTERFACE结果EF_ERROR_IN_GOODS_ISSUE_0 = DELIV_UP_GOODS_ERR结果EF_ERROR_IN_FINAL_CHECK_0 = DELIV_UP_FINALCHECK结果EF_ERROR_PARTNER_UPDATE = DELIV_UP_PARTNERUPD结果EF_ERROR_SERNR_UPDATE = DELIV_UP_SERNR_UPD结果TABLES结果VBPOK_TAB = DELIV_UP_DET
PROT = DELIV_UP_PROTOCOL。 调用功能'BAPI_TRANSACTION_COMMIT'
导出
WAIT ='X'。

但是,如果您有任何不同的方法,我会很高兴听到。 我将这段帖子保留一段时间。

感谢大家的问候

洛伦佐·马丁·奥尔莫斯(LorenzoMartínOlmos)

callcenter油条
2楼-- · 2020-08-22 08:19

尝试西蒙妮(Simone)的方法-更简单,第二步出队也不会遇到问题。

罗布

Alawn_Xu
3楼-- · 2020-08-22 08:23

此消息已被审核。

Climb_Ma
4楼-- · 2020-08-22 08:13


你好Lorenzo,

我认为您缺少将装运点导出到BAPI的功能。 您能否将其传递给BAPI并进行检查,

导出

ship_point = vbap-vstel

Rgds

Vijay。

派大星 ヾ
5楼-- · 2020-08-22 08:20

嗨,Vijay

很抱歉收到的回复太晚。 不幸的是,问题仍然存在。 这是更新的代码:

 FORM Create_Delivery_VL02N表IT_RETURN结构BAPIRET2 
使用NumVenta像VBAP-VBELN
的NumSerie类型GERNR
更改NumEntrega类型VBELN_VL。
数据:
IT_SUMIN_HEADER的标准表头与标准表相同 带有标题行的BAPIDLVSERIALNUMBER的IT_SUMIN_SN类型标准表,
SHIP_POINT类似于BAPIDLVCREATEHEADER-SHIP_POINT。 常量:
CONST_POSNO类型c长度6值'000010',
CONST_SHIP类型c长度4值'XX01'。 "测试发货点 IT_SUMIN_HEAD-REF_DOC = NumVenta。
IT_SUMIN_HEAD-REF_ITEM = CONST_POSNO。
IT_SUMIN_HEAD-DLV_QTY ='1'。
IT_SUMIN_HEAD-SALES_UNIT ='PZA'。
APPEND IT_SUMIN_HEAD = _SN_MIN NumVenta。
IT_SUMIN_SN-REF_ITEM = CONST_POSNO。
IT_SUMIN_SN-SERIALNO = NumSerie。
APPEND IT_SUMIN_SN。
SHIP_POINT = CONST_SHIP。 呼叫功能'BAPI_OUTB_DELIVERY_CREATE_SLS'
导入
SHIP_POINT = SHIP_POINT
交付= NumEntrega
表格
SALES_ORDER_ITEMS = IT_SUMIN_HEAD
SERIAL_NUMBERS = IT_SUMIN_SN <。 使用密钥类型='E'读取表IT_RETURN。 如果SY-SUBRC NE0。
调用功能'BAPI_TRANSACTION_COMMIT'
导出
WAIT ='X'。 否则。
调用功能'BAPI_TRANSACTION_ROLLBACK'。
ENDIF。 ENDFORM。

感谢您的帮助和支持。

热烈的问候。

洛伦佐·马丁·奥尔莫斯

土豆飞人
6楼-- · 2020-08-22 08:03

嗨,维杰。 再次感谢您的评论。

您是对的,我也是一名开发人员。

我理解您的意思,但是有关此问题的最奇怪的事情是,如果我在调试模式下逐步运行此功能,则可以正确生成所有销售单据和交货单。 我已经验证了与该过程有关的人员添加的数据,并且在执行此功能后保存的数据是正确的,但是当我在没有断点的情况下运行该功能时,会收到我之前描述的锁定错误。

经过一些研究,我发现问题可能与将更改提交到数据库和解锁记录所需的时间有关。 但是我不知道如何"暂停"应用程序,直到BAPI完成他的数据库提交并解锁记录为止,然后再继续执行下一个功能(WS_DELIVERY_UPDATE)。

这时并使用您建议的参数,可以正确生成交货单以及销售单据。

我错过了一些我没有考虑的东西吗?

感谢您的评论。Vijay和亲切的问候。

洛伦佐·马丁·奥尔莫斯

蓋茨
7楼-- · 2020-08-22 08:15

大家好

还有什么需要检查的吗?

前成员:您是否检查了我的最新更新? 你有什么意见吗?

在此先谢谢您的问候

LorenzoMartínOlmos

一周热门 更多>