BTE-业务交易事件

BTE是什么,当然不是BT的ERP, E文全称Business Transaction Event,业务交易事件,我们知道一般的增强(Tcode:SMOD|CMOD)依旧使用ABAP,BTE则可提供了RFC调用其它产品的可能(Tcode:FIBF),举一个检查物料主数据的实例说明BTE用法,简化为三个步骤.       
第一步:建立附加产品(BF24)

 

或通过事务码FIBF进去

 

 第二步:连接事件到产品(TCODE:BF34)

或通过FIBF进入

系统预定了很多事件,00001011是过账行项目检查的事件

 

第三步:建立检查函数(TCODE:se37)

 

FUNCTION ZSAMPLE_INTERFACE_00001011.
*"--------------------------------------------------------------------
*"*"本地接口:
*"  IMPORTING
*"     VALUE(I_BSEG) LIKE  BSEG STRUCTURE  BSEG
*"     VALUE(I_BKPF) LIKE  BKPF STRUCTURE  BKPF
*"--------------------------------------------------------------------


  DATA:
    LV_LIFNR       TYPE        LFA1-LIFNR.

  IF I_BSEG-BSCHL '50' AND ( I_BSEG-HKONT '0010020117' OR I_BSEG-HKONT '0010021103'
  OR I_BSEG-HKONT '0010021400' OR I_BSEG-HKONT '0010021500' OR I_BSEG-HKONT '0010021006'
    ).

    IF I_BSEG-XREF3 IS INITIAL.

    ELSE.
*->内外部转换
      CLEAR LV_LIFNR.
      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
        EXPORTING
          INPUT         = I_BSEG-XREF3
        IMPORTING
          OUTPUT        = LV_LIFNR.

*->检查校验对应关系
      SELECT COUNT(*FROM LFA1 WHERE LIFNR = LV_LIFNR.
      IF SY-SUBRC <> 0.
        MESSAGE A398(00WITH '供应商编码不存在!' ' ' '' ''.
      ENDIF.

    ENDIF.
  ENDIF.

ENDFUNCTION.

 

posted @ 2022-04-29 13:34  下一詀110  阅读(105)  评论(0编辑  收藏  举报