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

2020-08-17 13:11发布

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

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


大家好,

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

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

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

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

最好的问候

基丹

         点击此处--->   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
1楼-- · 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

clever101
2楼-- · 2020-08-17 13:41

您好 Dominik Tylczynski

感谢您的投入。

1。 我使用的增强点位于该用户出口的调用之后。 所以我不认为有任何区别。 此外,我的要求是仅在第二个确认中创建新的转储单,而我在结构中未找到任何字段来指示它是哪个确认。 (也许有,但我不知道。)

2。 我已经在使用误写为TR的L_TO *功能模块。

3。 我无法在后台任务中调用的原因是,仅当确认成功后才应创建新的转储单,如果我将其作为后台任务调用,它将独立于确认过程。 对我来说,唯一的选择是在更新任务中调用它。 我没有尝试在``将更新任务作为多带带的单元''中调用功能模块。 那行得通吗?

最好的问候

Ketan

野沐沐
3楼-- · 2020-08-17 13:36

您好 Ketan Sood

广告1。您 真的不需要使用任何增强点。 用户出口将正常工作-相信我已经实现了几次这样的自动化。 T_LTAB_VB表中的VORGA字段提供有关TO项目的处理状态的信息。 我不记得所有可能的值。 您可以对其进行Google搜索,也可以在用户出口处设置断点并检查其值。

Ad 2.了解。

Ad 3.完成对TO确认的所有检查后,用户退出EXIT_SAPLL03T_002。 据我记得,它在更新任务中被称为。 因此,您无需担心。 如果调用了用户出口,则确认TO。 请注意,取消在这里算是一种确认。 因此,您需要检查VORGA值。 我在第一个答案中用

 CALL FUNCTION 描述的方法
    后台任务
    作为独立单位

每次都为我工作。

最诚挚的问候

Dominik Tylczynski

一周热门 更多>