DB02中实现 SQL 语句一键生成报表

作者:ABAP技巧与实战 约 6 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, 开发

原创 无峰 [ ABAP 技巧与实战 ](javascript:void\(0\);)

**点击蓝字** 关注我们

前言

之前尝试通过公众号投票送出这个SQL语句一键生成报表的功能. 奈何有点不自量力,投票数远低于期望值. 本想作罢. 但是公众号群中有人提出想要这个功能.

所以还是写了这篇文章介绍一下实现方式( **源代码部分采用付费阅读后索取的方式,如果你想购买, 请确保你的系统中的TCODE

DB02有SQL编辑器功能** )

DB02中实现 SQL 语句一键生成报表 - 封面图
DB02中实现 SQL 语句一键生成报表 - 封面图

功能介绍

请查看相关链接了解一键生成报表的操作方式.

> SQL语句一键生成报表

>

> 无峰,公众号:ABAP 技巧与实战 [ 公众号互动 投票获取源码(一键生成报表)

> ](http://mp.weixin.qq.com/s?__biz=Mzg4MjA1MjE4NQ==&mid=2247485342&idx=1&sn=f8f88f7208884591e4782595b0f4d9b8&chksm=cf5ddaa8f82a53be4a58c2bf5111780edc2c78f2f630ba1be74ff35d54cba7dd70f201ba0ba2#rd)

> 如果你的生产系统执行DB02很慢,请参考链接文章优化

>

> 无峰,公众号:ABAP 技巧与实战 [ SAP小技巧之 加速SQL编辑器启动

> ](http://mp.weixin.qq.com/s?__biz=Mzg4MjA1MjE4NQ==&mid=2247484753&idx=1&sn=b65c85bdf086d6bfb2911c163e6015ed&chksm=cf5dd867f82a5171a16b38e29281571d122130efc81a65638fb2b08cca5251bbf49ccf6307fb#rd)

额外的注意事项

DB02中的SQL语句属于HANA语言的Native SQL语句,不同于ABAP的OPEN SQL语句,所以SQL语句中必须注意以下事项

• 表连接中必须使用集团字段MANDT(如果表是集团相关表-表的第一主键是MANDT或CLIENT)

• 必须在输出字段中添加集团字段 MANDT 或 CLIENT(该字段会被生成逻辑特殊处理-使用当前登录集团限制)

如下图示例

DB02中实现 SQL 语句一键生成报表 - 封面图
DB02中实现 SQL 语句一键生成报表 - 封面图

增强注释的额外功能

注释内容对DB02的SQL结果也有效, 会影响最终输出字段的描述(在不生成程序的情况下).

这个特性可以用来解决一些DB02中通过特殊函数或公式输出的字段没有字段描述的问题

\--<使用字段描述:ALL>

\--<MATNR:测试商品字段名>

DB02中实现 SQL 语句一键生成报表 - 封面图
DB02中实现 SQL 语句一键生成报表 - 封面图

程序覆盖提示

如果注释中的程序号已经存在并且程序描述与当前程序不一致,会给出一个覆盖提示.

以确保新生成的程序不会覆盖已经存在的程序(如果程序号和描述都一致,则直接覆盖,不提示)

DB02中实现 SQL 语句一键生成报表 - 封面图
DB02中实现 SQL 语句一键生成报表 - 封面图

最大行限制

生成的程序会保留一个最大记录数的限制条件. 目的是为了快速获取部分结果. 实际报表执行时,请注意调整该限制值,以便获取完整的数据.

DB02中实现 SQL 语句一键生成报表 - 封面图
DB02中实现 SQL 语句一键生成报表 - 封面图

实现方式

实现方式分两个部分(安装程序会自动完成所有内容,这里的介绍可以作为一个安装后的检查)

1 . 增强部分: 用于传递SQL语句到程序生成器(图一)

在类 CL_HDB_SQL_EXECUTOR

方法 EXEC_QUERY_DYN 开头添加隐式增强

2\. 程序生成器: 用于封装SQL语句生成一个可执行程序ZBC123(图二)

生成的程序 ZBC123_<NNNNN>

** 注意事项: **

• 生成的程序没有 附加 TCODE . 如果需要请自行创建 .

• 生成的程序没有分配开发类.可以用SE80重新分配程序到开发类(图三)

DB02中实现 SQL 语句一键生成报表 - 封面图

• 程序的传输 可以使用标准功能(SE80中的写入传输请求,图三)

DB02中实现 SQL 语句一键生成报表 - 封面图

图三

DB02中实现 SQL 语句一键生成报表 - 封面图
DB02中实现 SQL 语句一键生成报表 - 封面图

图一

DB02中实现 SQL 语句一键生成报表 - 封面图
DB02中实现 SQL 语句一键生成报表 - 封面图

图二

关于程序的安装

请查看链接文章,了解安装步骤.

> 通用安装过程

>

> 无峰,公众号:ABAP 技巧与实战 [ SAP工具箱之 ABAP安装程序V3.0

> ](http://mp.weixin.qq.com/s?__biz=Mzg4MjA1MjE4NQ==&mid=2247484922&idx=1&sn=521be895251d71a7fe35514fd45fb036&chksm=cf5dd8ccf82a51da04aeaa06f1017d618442b5bff5271f1a31011471de5e367a2f64303cff98#rd)

**约定**

如果你对这篇文章感兴趣,请帮忙点赞,在看,分享.

( **如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程.

越多的人打赏,作者越有动力分享,读者就能享受更多的福利.毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.** )

DB02中实现 SQL 语句一键生成报表 - 封面图
DB02中实现 SQL 语句一键生成报表 - 封面图

**公众号 : syjf1976_abap**

**ABAP开发技巧**

**微信号 : 392077**

公众号主群加入受限, 请扫码加入副群后,向管理员申请加入主群

DB02中实现 SQL 语句一键生成报表 - 封面图
DB02中实现 SQL 语句一键生成报表 - 封面图

后文是付费部分, 如果需要源代码,请付费阅读后,联系微信号 392077

ABAP技巧与实战

关于作者:ABAP技巧与实战

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「DB02中实现SQL语句一键生成报表.md」整理生成,仅用于内部技术分享与学习交流。