1.為SAP Query建立TCode (轉)
http://www.saphow.com/html/17/n-17.html
SAP
Query
建立
TCode
有兩種方式,
既可以
直接使用程式名
建立
TCode
,也可以通過參數建立
TCode
。
一、使用程式名建立
TCode
- SE93
輸入所需的
TC
ode
,需以字母
Y
或
Z
開頭。
- 輸入描述,在
Start Object
頁卡中選擇第二個選項
“Program and selection screen(report
transaction)”
。
- 輸入
Query
的程式名,勾選
GUI support
頁卡的
“SAP GUI for
windows”
後儲存即可。
PS
:查詢
Query
程式名,
SQ01 → Query → More Functions → Display Report
Name
通過程式名建立
事務代碼,是一種十分方便的方式,但它存在一定的風險,因為在不同的
System
中,
兩個不同的
Query
的程式名有可能相同,那麼程式在系統中傳輸的時候,有可能產生錯誤。(傳輸後目標系統產生的程式名可能會變,因此不推薦此方法)
SE93
:維護事務代碼
SE93
:選擇
Program and
Selection Screen (Report Transaction)
SE93
:在
Program
欄位輸入
Query
所對應的程式名
二、使用參數調有 start_report 建立
TCode
使用此種方法建立
Query
的
TCode
,需要填入
Query
所屬的
UserGroup
以及
QueryName
等
3
個欄位
,以及對應關係
。
- D_SREPOVARI-REPORTTYPE
:
AQ
- D_SREPOVARI-REPORT
:
UserGroup
+
空格
(
UserGroup
與空格相加應為
12
位
)
+
G
(
G
應為第
13
位,
代表
Global
Area
)
- D_SREPOVARI-EXTDREPORT
:
QueryName
如有必要,也可以為事務代碼指定變式:
D_SREPOVARI-VARIANT
。
SE93
:選擇
Transaction with Parameters (Parameter Transaction)
在
Default Values
for
頁卡下,
Transaction
欄位填入
“START_REPORT”
,並勾選
“Skip Initial
Screen”
。
SE93
:
為
Query
建立
TCode
2.為SAP ReportPainter (GRR1,GRR2)建立TCode
例用 start_report 和 為 query 建 tcode 基本一樣,最後一步填參數時不同,
- D_SREPOVARI-REPORTTYPE
:
RW
- D_SREPOVARI-REPORT
:
rp報表組的名稱
- D_SREPOVARI-EXTDREPORT
:
空
3.也可以自訂一個程式來實作類別似 start_report 功能,建query 的 tcode 時再調用自訂的程式.*&---------------------------------------------------------------------*
*& PROGRAM NAME: Z_CALLQUERY
*& T-CODE: ZCAQ
*& PORGRAM TYPE: REPORT
*& DESCRIPTION: 調用 abap query
*&------------------------------------------------------------------
*& AUTHOR: LONGXU
*& DATE: 2010.04.01
*& EMAIL: fangkailove@gmail.com
*& Blog: blog.gnolux.com
*&------------------------------------------------------------------
*& FUNCTION SPEC NO.:
*&FUNCITON DESC:
*&
*&-------------------------------------------------------------------
*& Modification Log:
*& Version Date Author DESCRIPTION CHANGE REQUEST
*& -------- ---------- ----------- ------------- -----------------
*&
*&-------------------------------------------------------------------
*& REFRENCE OBJECT :
*& NAME TYPE DESC
*& --------------------- ----------------- -----------------------
*&
*&-------------------------------------------------------------------
REPORT Z_CALLQUERY.
parameters:
l_bgrup like AQADEF-BGNAME,
l_quold like AQADEF-QUNAME.
data: l_reptname like AQADEF-PGNAME .
CALL FUNCTION 'RSAQ_REPORT_NAME'
EXPORTING
WORKSPACE = 'G'
USERGROUP = l_bgrup
QUERY = l_quold
IMPORTING
REPORTNAME = l_reptname.
IF SY-SUBRC <> 0.
STOP.
ENDIF.
CALL FUNCTION 'RSAQ_SUBMIT_QUERY_REPORT' " 或者 submit_report
EXPORTING
QUERYREPORT = l_reptname
VARIANTE = ''
EXCEPTIONS
ONLY_WITH_VARIANT = 1
VARIANT_NOT_EXIST = 2
OTHERS = 3.