1.为SAP Query创建TCode (转)
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.