經常需要在報表程式中調用其他事務,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。
