SAP MM 采购订单的Output Type NEU要等其它Output完成后才能成功输出

2023-04-19 15:18:45 浏览数 (2)

SAP MM 采购订单的Output Type NEU要等其它Output完成后才能成功输出

笔者所在的项目里,某个流程里的采购订单的打印输出使用标准output type NEU.不过它需要在另外一个output输出之后,才能正常输出。

实现方式如下:

在PO output procedure里,NEU这个output type的配置里,维护一个requirement 901.

检查901这个requirement的源代码,

这个requirement的部分源代码如下:

代码语言:javascript复制
FORM kobed_901.
…
* Need to Hold NEU output ….
     IF komt1-kschl = lc_neu.
       ASSIGN (lc_ekko) TO <lfs_ekko>.
       IF <lfs_ekko> IS ASSIGNED AND <lfs_ekko>-submi IS INITIAL.
         ASSIGN (lc_part) TO <lfs_part>.
         IF <lfs_part> IS ASSIGNED.
           lt_part = <lfs_part>.
         ENDIF.
         TRY.
             IF line_exists( lt_part[ parvw = lc_zy ] ) AND <lfs_ekko>-ekorg = lc_1100. 
              SELECT SINGLE lifnr, ktokk FROM lfa1 INTO @DATA(ls_lfa1)
                 WHERE lifnr = @<lfs_ekko>-lifnr
                   AND ktokk = @lc_regi.
               IF sy-subrc EQ 0.
                 sy-subrc = 4.
               ENDIF.
             ENDIF.
           CATCH cx_sy_itab_line_not_found.
         ENDTRY.
       ENDIF.
     ENDIF.
 
   ENDIF.
 
 
 *}   INSERT
 ENDFORM.
FORM kobev_901.
   CONSTANTS: lc_vstat(1) TYPE c VALUE '0'.
   LOOP AT xnast WHERE kschl EQ komt1-kschl AND
                         aktiv EQ space       AND
                         vstat EQ lc_vstat.
     EXIT.
   ENDLOOP.
   CHECK sy-subrc NE 0.
   sy-subrc = 4.
   CHECK ( komkbea-druvo EQ neu OR komkbea-druvo EQ aend ).
   CLEAR sy-subrc.
 ENDFORM.

实现的效果是,采购订单创建好之后保存,NEU这个Output并不立即产生。而是等其它ouput完成后,系统才会产生NEU这个output type的输出记录。

-完-

写于2023-4-19.

0 人点赞