为SAPQuery和SAP ReportPainter 报表建 TCODE

时间:2022-11-27 10:55:52


1.为SAP Query创建TCode (转)



SAP Query 创建 TCode 有两种方式, 既可以 直接使用程序名 创建 TCode ,也可以通过参数创建 TCode 。

一、使用程序名创建 TCode

  1. SE93 输入所需的 TC ode ,需以字母 Y 或 Z 开头。
  2. 输入描述,在 Start Object 页卡中选择第二个选项 “Program and selection screen(report transaction)” 。
  3. 输入 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.