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.
  









