SAP 小技巧商业图形二函数调用

作者:ABAP技巧与实战 约 7 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, Cloud Architecture, Data Engineering, SD, WM, 云架构, 仓库管理, 开发, 数据工程, 销售分销

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

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

前言

SAP标准函数呈现图形大概有两种方式

函数组 SGFW GFW: Display (Standard) Graphics 或者类CL_GUI_GP_PRES GFW Business

graphic(函数组SGFW 也是调用改类,所以归入一类方法)

函数组BUSG SAP商业制图 后面简称商业图形

**本文主要讲解SAP商业图形相关函数调用的注意事项**

各函数调用方式

下面的函数调用示例中只介绍了基本参数,更多参数的详细说明请参照函数文档

_**01** _

**GFW_PRES_SHOW**

这个函数主要用来形成2D图形.

该函数 需要传入一个屏幕容器,因此可以嵌入到屏幕中的任意位置.

支持以下几种图形方式

• GFW_PRESTYPE_LINES 折线图

• GFW_PRESTYPE_AREA 区域图

• GFW_PRESTYPE_HORIZONTAL_BARS 横向柱状图

• GFW_PRESTYPE_PIE_CHART 饼状图

• GFW_PRESTYPE_VERTICAL_BARS 竖向柱状图

• GFW_PRESTYPE_TIME_AXIS (line chart with X-time axis) 时间图

因为该函数不是动态报表呈现图形的方向, 因此只测试了饼状图与柱状图. 两种方式传递的数据不太一样,其它图形类似于柱状图.

**对于饼状图**

column_texts中存放关键字 GPRVAL VAL1->VAL32存放指标.通过column_texts行对应GPRVAL中的列.第一行对应VAL1

第二行对应VAL2...第32行对应VAL32 . 最大显示32行

下面的几个图演示了映射关系及图形样式

SAP 小技巧商业图形二函数调用 - 封面图
SAP 小技巧商业图形二函数调用 - 封面图
SAP 小技巧商业图形二函数调用 - 封面图
SAP 小技巧商业图形二函数调用 - 封面图
SAP 小技巧商业图形二函数调用 - 封面图
SAP 小技巧商业图形二函数调用 - 封面图
SAP 小技巧商业图形二函数调用 - 封面图
SAP 小技巧商业图形二函数调用 - 封面图
SAP 小技巧商业图形二函数调用 - 封面图
SAP 小技巧商业图形二函数调用 - 封面图

**对于柱状图**

示例 values-rowtext 作为产品 values-val1/val2 表示不同人员的产品销售. 最大32个人员

column_texts中依次存放每个人员的名称.

SAP 小技巧商业图形二函数调用 - 封面图
SAP 小技巧商业图形二函数调用 - 封面图

该函数对于中文描述支持似乎有BUG . 图示中的中文 冰箱未正常显示.

SAP 小技巧商业图形二函数调用 - 封面图
SAP 小技巧商业图形二函数调用 - 封面图

其它类型的图与柱状图类似,就不再赘述.

SAP 小技巧商业图形二函数调用 - 封面图
SAP 小技巧商业图形二函数调用 - 封面图

GPRVAL结构

_**02** _

**GRAPH_2D**

该函数用于显示2D图形,传入的数据很容易理解, 就是一个关键字,一个指标的内表即可, 最大32行. 超出32可能会报错. 其它的传入参数

• DISPLAY_TYPE 控制图形类型

• TITL 标题

• WINPOS 窗口位置

• WINSZX 窗口横向百分比

• WINSZY 窗口纵向百分比

SAP 小技巧商业图形二函数调用 - 封面图
SAP 小技巧商业图形二函数调用 - 封面图

_**03** _

**GRAPH_3D**

三维图形显示.

该函数传入的数据是一个自定义的内表,理论上该内表最大33列, 第一列内容表示一个维度(示例中用姓名),其它每一列字段表示一个维度, 字段值表示指标.

如图示直接赋值. 如果是一个三个字段的内表(两个关键字段,一个指标字段),

则需要通过转换逻辑转换赋值.该函数有个问题,有个维度的值无法显示(这个问题在函数GRAPH_MATRIX_3D中得以解决)

SAP 小技巧商业图形二函数调用 - 封面图
SAP 小技巧商业图形二函数调用 - 封面图
SAP 小技巧商业图形二函数调用 - 封面图
SAP 小技巧商业图形二函数调用 - 封面图

_**04** _

**GRAPH_MATRIX_3D**

同 GRAPH_3D , 改进点是系统提供了六个传入参数,用来设定第二维度6个关键字段描述.

SAP 小技巧商业图形二函数调用 - 封面图
SAP 小技巧商业图形二函数调用 - 封面图
SAP 小技巧商业图形二函数调用 - 封面图
SAP 小技巧商业图形二函数调用 - 封面图

_**05** _

**GRAPH_MATRIX_4D**

显示四维图形.该函数其它参数类似与GRAPH_MATRIX_3D 多了一组传入参数表示关键字内容

该函数的内容表达非常复杂.通过定义一个37个字段的内表来表达三个关键字,一个指标. 其中一个关键字存放在字段 TEXT 中. 另外两个关键字都是最大6个值

分配映射Y1-Y6 L1-L6 .通过数据处理整合到下图结构的内表中. 整合是把第二,第三关键字内容映射到Y1-Y6,L1-L6.

组合字段内容,构成新的字段 比如 Y1L1 该字段的值是就是关键字 TEXT ,Y1映射的字段值,L1映射的字段值 对应的指标值.

SAP 小技巧商业图形二函数调用 - 封面图
SAP 小技巧商业图形二函数调用 - 封面图

数据定义

SAP 小技巧商业图形二函数调用 - 封面图
SAP 小技巧商业图形二函数调用 - 封面图

转换逻辑

SAP 小技巧商业图形二函数调用 - 封面图
SAP 小技巧商业图形二函数调用 - 封面图

参数传递

SAP 小技巧商业图形二函数调用 - 封面图
SAP 小技巧商业图形二函数调用 - 封面图

内容呈现

_**06** _

**GRAPH_MATRIX**

一个通用函数,用于呈现2D,3D,4D内容.

每个维度最大32个值.超出会报错.

维度组合不存在的数据,需要补0 .

该函数通过三个维度内表存放关键字内容. 一个数据内表存放指标值. 通过特定逻辑关联纬度值与指标值. 其中2D的关联方式非常简单: 维度与指标一一对应.

3D/4D 则按照以下逻辑对应

• 数据是统计后的数据: 关键字不重复

• 循环获取维度

• 排序数据(维度1,维度2,维度3)

• 排序三个维度表

• 依次循环维度3内表,嵌套循环维度2内表,嵌套循环维度1内表, 构造数据内表

该逻辑针对2D,3D,4D都生效.适用于封装的图形显示类.

SAP 小技巧商业图形二函数调用 - 封面图
SAP 小技巧商业图形二函数调用 - 封面图

数据定义

SAP 小技巧商业图形二函数调用 - 封面图
SAP 小技巧商业图形二函数调用 - 封面图

通用解析

关于示例程序

因为代码量过大,需要的可以联系微信号392077索取

总结

SAP商业图形提供的函数虽然给出了详细的示例,但是实际使用还是存在一定的困难.难点就在于多维度的数据表达形式,不同的函数使用了不同的数据表达形式

,需要理解并处理这些数据表达式. 最终通过函数GRAPH_MATRIX整合了所有的数据表达形式.

** THE **

** END **

**约定**

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

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

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

SAP 小技巧商业图形二函数调用 - 封面图
SAP 小技巧商业图形二函数调用 - 封面图

**公众号 : syjf1976_abap**

**ABAP开发技巧**

**微信号 : 392077**

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

SAP 小技巧商业图形二函数调用 - 封面图
SAP 小技巧商业图形二函数调用 - 封面图
ABAP技巧与实战

关于作者:ABAP技巧与实战

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

来源说明:本文内容由「SAP小技巧商业图形二函数调用.md」整理生成,仅用于内部技术分享与学习交流。