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(00) WITH '供应商编码不存在!' ' ' '' ''.
      ENDIF.
    ENDIF.
  ENDIF.
ENDFUNCTION.
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号