hitomo 2025-12-10 14:20 采纳率: 98.6%
浏览 0
已采纳

SQVI报表的创建时间和创建人在哪里查看?

在使用SAP的SQVI(QuickViewer)创建报表时,用户常遇到一个问题:如何查看某张SQVI报表的创建时间和创建人?由于SQVI界面本身未直接提供“创建时间”和“创建者”字段的显示入口,许多用户在维护或审计报表时难以追溯其来源。尽管可通过技术方式查询底层表如VARI(存放变式)或使用SE11查看生成的程序名并结合SE80获取对象创建信息,但缺乏直观的操作路径。这一盲区容易导致权限管理与变更追踪困难,特别是在多人共享开发环境中。因此,明确如何快速定位SQVI报表的创建人和创建时间,成为运维与治理中的常见技术痛点。
  • 写回答

1条回答 默认 最新

  • 爱宝妈 2025-12-10 14:28
    关注

    如何在SAP SQVI中追溯报表的创建人与创建时间?

    SAP QuickViewer(SQVI)作为一款轻量级查询工具,广泛用于快速构建基于透明表或多表连接的数据报表。然而,在实际运维和治理过程中,用户常面临一个关键问题:无法直接从SQVI界面获取报表的“创建人”和“创建时间”。这不仅影响变更追踪,也对权限审计和系统治理构成挑战。本文将从基础概念入手,逐步深入分析其底层机制,并提供多种技术路径以实现元数据追溯。

    1. 问题背景与常见误区

    • SQVI本身是面向最终用户的查询构建器,界面简洁,但缺乏标准的“创建者”或“创建时间”字段展示功能。
    • 许多用户误以为SQVI报表像ABAP程序一样有直接的对象属性视图,实际上其本质是存储在变式(Variant)中的查询定义。
    • 由于SQVI生成的逻辑对象名称(如ZQRY_XXXXX)不显式暴露于初始界面,导致难以关联至开发对象历史。
    • 在多用户共享客户端环境中,若无有效追溯机制,易引发责任不清、重复开发等问题。

    2. SQVI的底层数据结构解析

    SQVI报表的核心信息存储于以下关键表中:

    表名描述关键字段
    VARI存储所有变式(包括SQVI)的基本信息REPORT(报表名)、OBJECT(对象类型)、CREATED_BY、CREATED_ON
    D010INC包含生成的程序源代码信息PROGAM(程序名)、CREATOR、CREATED
    TADIR系统对象目录,可用于定位开发对象OBJECT、OBJ_NAME、DEVCLASS
    TRDIR程序头部信息表NAME、AUTHOR、CREATEDDT、CREATEDTM

    通过这些表的联合查询,可以精确还原SQVI报表的创建上下文。

    3. 解决方案一:通过SE11查询VARI表直接获取创建信息

    步骤如下:

    1. 进入事务码 SE11,选择“数据浏览器”(SE16N推荐)。
    2. 打开表 VARI
    3. 在筛选条件中输入目标SQVI报表名称(即用户保存时输入的名称)。
    4. 确保 OBJECT 字段为 'SQVI'。
    5. 查看输出结果中的 CREATED_BY 和 CREATED_ON 字段。
    SELECT report, variant, created_by, created_on
      FROM vari
     WHERE object = 'SQVI'
       AND report = 'ZSALES_ANALYSIS';
    

    此方法适用于已知报表名称的场景,是最直接的追溯方式。

    4. 解决方案二:结合SE80与TADIR/TRDIR定位生成程序的创建信息

    SQVI在首次执行并保存后会自动生成一个ABAP程序(命名格式通常为 Y 或 Z 开头的 ZQRY_xxxxx)。可通过以下流程图解析其生成逻辑:

    graph TD A[用户在SQVI中创建并保存查询] --> B{是否首次保存?} B -- 是 --> C[系统生成程序名 ZQRY_XXXXX] B -- 否 --> D[更新现有程序] C --> E[记录至TADIR表,对象类型 PROG] E --> F[可通过SE80查找该程序] F --> G[查看程序属性中的创建人与创建时间]

    操作路径:

    • 使用SE80,选择“程序”对象类型,输入生成的ZQRY_*名称。
    • 右键点击程序 → “显示对象目录条目” → 查看TADIR信息。
    • 或直接查询TRDIR表:
    SELECT name, author, createddt, createdtm
      FROM trdir
     WHERE name LIKE 'ZQRY_%'
       AND name = 'ZQRY_SALES_001';
    

    5. 解决方案三:开发自定义报表实现集中审计

    为满足企业级治理需求,建议开发一个统一的审计报表,整合以下信息:

    SQVI名称变式名称创建人创建时间对应程序最后修改人
    ZEMP_QUERYDEFAULTJDOE2023-08-15ZQRY_EMP_001JSMITH
    ZMAT_ANALYSISMONTHLYASMITH2023-09-03ZQRY_MAT_002ASMITH
    ZFIN_REPORTQTR_ENDLWANG2024-01-10ZQRY_FIN_005LWANG
    ZSALES_TRENDYTDCCHEN2024-02-20ZQRY_SAL_007CCHEN
    ZLOGISTICSWEEKLYRKUMAR2024-03-05ZQRY_LOG_009RKUMAR
    ZHR_STATSANNUALMLOPEZ2024-04-12ZQRY_HR_011MLOPEZ
    ZPP_MONITORPLANNINGTNGUYEN2024-05-18ZQRY_PP_013TNGUYEN
    ZMM_INVENTORYSTOCKFKHAN2024-06-01ZQRY_MM_015FKHAN
    ZSD_ORDERBACKLOGEBROWN2024-06-22ZQRY_SD_017EBROWN
    ZCO_COSTINGMONTHLYDPATEL2024-07-10ZQRY_CO_019DPATEL

    该报表可通过后台作业定期运行,输出至ALV或导出至Excel,供合规团队审查。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 12月11日
  • 创建了问题 12月10日