VA02 实时推送销售订单 - 海边星
【原创】 VA02 实时推送销售订单
栏目:SAP  作者:在海边看星星  阅读:(1552)

*"----------------------------------------------------------------------
*"*"本地接口:
*"  IMPORTING
*"     VALUE(I_VBELN) TYPE  VBELN
*"     VALUE(I_DATUM) TYPE  DATUM
*"     VALUE(I_UZEIT) TYPE  UZEIT
*"  EXPORTING
*"     VALUE(EM_MSG) TYPE  BAPI_MSG
*"     VALUE(EM_TYPE) TYPE  BAPI_MTYPE
*"----------------------------------------------------------------------

  DATAlr_vbeln TYPE RANGE OF vbak-vbeln WITH HEADER LINE,
        l_vbeln  TYPE vbak-vbeln,
        l_if_id  TYPE ztsd_lock-if_id,
        l_index  TYPE sy-index.

  l_if_id 'INTOA0016'.
  "如果锁定,说明有其他异步线程在推送中,该线程直接关闭
  CALL FUNCTION 'ENQUEUE_EZ_ZTSDLOCK'
    EXPORTING
      if_id          l_if_id
      vbeln          i_vbeln
    EXCEPTIONS
      foreign_lock   1
      system_failure 2
      OTHERS         3.
  IF sy-subrc <> 0.
    EXIT.
  ENDIF.

  CLEARl_index,l_vbeln.
  DO 20 TIMES.
    SELECT SINGLE vbeln
      FROM vbak JOIN cdhdr ON substringcdhdr~objectid,1,10 vbak~vbeln
      WHERE vbeln @i_vbeln
        AND lifsk ''
        AND udate >= @i_datum
        AND utime >= @i_uzeit
    INTO @l_vbeln  .
    IF sy-subrc 0.
      EXIT.
    ELSE.
      WAIT UP TO SECONDS.
    ENDIF.
  ENDDO.

  IF l_vbeln IS NOT INITIAL.
    CLEARlr_vbeln[],lr_vbeln.
    lr_vbeln-sign 'I'.
    lr_vbeln-option 'EQ'.
    lr_vbeln-low i_vbeln.
    APPEND lr_vbeln.

    SUBMIT zintoa0016 WITH s_vbeln IN lr_vbeln
                      WITH p_send 'X'
                      WITH p_disp 'X'
                      AND RETURN.
  ELSE.
    em_type 'E'.
    em_msg '未查询到销售订单!'.
  ENDIF.


上一篇: SELECT相关...


我的评论
昵称
邮箱
域名
  记住 通知博主
验证码

  联系我们

微信扫一扫

 登录  打赏

  随机文章