在确认一个转储单期间创建新的转储单

2020-08-17 13:11发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我必须实施一项要求以...

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

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


大家好,

我必须实施一项要求以创建新的转储单,同时确认一个转储单(对于某些特定的nltyp和vltyp)

我正在功能模块L_TA_QUITTIEREN的末尾使用功能模块L_TR_CREATE_SINGLE和L_TR_CREATE_MULTIPLE(通过实现增强点

与基本计量单位有关的错误即将到来。 使用相同的输入直接调用单个或多个功能模块不会出现错误。

根据某些线程,这是这些功能模块的一个老问题,建议的解决方案是在新Task中调用TO创建功能模块。 我无法使用新任务,因为创建仅应在确认成功后进行。 启动新任务将使其成为独立任务。 还有其他解决方案吗?

最好的问候

基丹

3条回答
三十六小时_GS
2020-08-17 13:25

您好 Ketan Sood

您无需使用任何增强点即可实现您的要求。 只需使用标准WM用户出口MWMTO002/EXIT_SAPLL03T_002,在TO确认结束时调用。 请注意,在TO确认和TO取消期间会调用同一出口,因为取消是一种确认。 您可以通过T_LTAP_VB表中的VORGA字段来区分这两者。 VORGA = ST表示取消,如果我没记错的话。

您应该使用L_TO_CREATE_SINGLE或L_TO_CREATE_MULTIPLE函数创建TO,而不是L_TR_ *函数。

在TO确认期间调用EXIT_SAPLL03T_002时, TO和WM定量仍然被锁定。 因此,如果直接调用TO创建,则会出现锁定冲突。 因此,您需要在多带带的LUW中创建TO。 为此,我通常创建一个新的启用RFC的功能模块,然后从该功能调用L_TO_CREATE_SINGLE。 然后我用EX后台任务作为多带带单元从EXIT_SAPLL03T_002调用新函数,例如

呼叫功能<我的RFC函数>
    后台任务
    作为独立单位
    出口
      ... 

TO创建将作为RFC调用在多带带的LUW中执行,因此您需要处理错误。 此处的良好做法是使用与SAP在立即创建TO中使用的相同机制,即邮件控制设置。 看一下L_COMMUNICATION_TO_CREATE函数,过程MAIL_VERSCHICKEN,看看它是如何完成的。 或者,您可以只抛出E消息并从RFC监视器执行错误处理。 我不希望因为RFC调用监视对于仓库管理用户来说太技术性了。

Dominik Tylczynski

一周热门 更多>