我正在使用用户出口 USEREXIT_SAVE_DOCUMENT_PREPARE 来检查交货中的某些特定条件。
我只想在触发发货问题(即过帐好发货)时执行此操作。为此,我在用户出口中使用以下条件:
IF ( sy-tcode EQ 'VL01N' OR
sy-tcode EQ 'VL02N' ) AND
sy-ucomm EQ 'WABU_T'.
但现在恐怕这对于以下情况是不够的:
是否可以检查其他选项以确保有预订?
我如何才能完全确定实际上触发了货物过帐?
答案 0 :(得分:0)
您必须检查T180-TRTYP中的值。如果值为“ H”,则为创建预订,否则为更改预订。最好删除交易代码和sy-ucomm条件以及T180-TRTYP的条件。
致谢, 乌玛尔·阿卜杜拉
答案 1 :(得分:0)
您可以尝试利用工作流来涵盖所有可能的情况。
创建工作流程事件,该事件将在交货创建/更改时触发,并在那里检查过帐发货。交货BO为LIKP,因此请对tSWU_EWCD进行tcode并输入类似的数据
工作流事件基于更改文档,因此每次将smth写入表时都会触发该事件。检查您的事件是否在SWEC事务中正确创建。
您还可以基于NACE conditions创建事件。之后,使用您的事件来生成自己的工作流程。
还有BAdI LE_SHP_DELIVERY_PROC 您可能会感兴趣,它具有方法 SAVE_AND_PUBLISH_BEFORE_OUTPUT在保存交货之前执行。