ABAP调用事务方法

来源:互联网 发布:ed软件 编辑:程序博客网 时间:2024/05/12 09:12

    经常需要在报表程序中调用其他事务,SAP提供了一些Function直接调用,也可以通过call transaction的语句来实现。

一、系统Function Module

SAP系统提供的Function Group有:
V06A:  SD Document Flow and Status Display
MEEXT: External Function for Purchasing
MESHOW:Display Purchasing Document
CK50:  Explanation Facilities
EDI5:  EDI: display data, status, ctrl record

Function group: V06A  (SD Document Flow and Status Display) 中包含了SD模块中SO、DN和Billing相关事务的调用Function。如下:  
"直接调用显示SO的Tcode:VA03, 参数vbtyp可以参看Table:VBUK的VBTYP字段,这里值C表示order
  CALL
 FUNCTION 'RV_CALL_DISPLAY_TRANSACTION'
    EXPORTING
*      bukrs          = wa_bseg-gjahr
*      fcode          = 'VA03'
*      gjahr          = '2012'
*     LGNUM          = '   '
      posnr          = wa_bseg-buzei
      vbeln          = wa_bseg-belnr
*     AUFNR          =
      vbtyp          = 'C'
*     FI_APPLI       = '  '
          .
Function group: MESHOW  (Display Purchasing Document) 中包含了MM模块中PO相关事务的调用Function。如下:  
"直接调用显示PO的Tcode:ME23N
CALL
 FUNCTION 'ME_DISPLAY_PURCHASE_DOCUMENT'
    EXPORTING
      i_ebeln              = itab-ebeln
      i_ebelp              = itab-ebelp
    EXCEPTIONS
      not_found            = 1
      no_authority         = 2
      invalid_call         = 3
      preview_not_possible = 4
      OTHERS               = 5.
Function group: MEEXT  (External Function for Purchasing) 中包含了MM模块中Material、Info record、REQUISITION、Vendor等相关事务的调用Function。如下:
"调用Tcode:MM03
  CALL
 FUNCTION 'MMPUR_MATERIAL_DISPLAY'
    EXPORTING
      im_matnr = itab-matnr
      im_werks = itab-werks
      im_lgort = itab-lgort.


二、Call Transaction

Call Transaction的方法也很简单,其界面上的参数可以通过SET PARAMETER ID 来设置,如下:
"调用FB03,显示FI Document
  SET PARAMETER ID 'BLN' FIELD  wa_bseg-belnr.
  SET PARAMETER ID 'GJR' FIELD  wa_bseg-gjahr.
  SET PARAMETER ID 'BUK' FIELD  wa_bseg-bukrs.
  CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
至于PARAMETER ID的获取,直接通过 F1帮助 =》 Technical Information =》 PARAMETER ID。