炫酷网站源码下载-令人眼花缭乱的报告-代码

先说正题吧,今天发了一篇新行的文章,出乎意料的受欢迎。 阅读人数破纪录,关注人数增加18人。文章被转发34次,回复问候的人甚至更多。

想必很多同学都面临着和我一样的困境吧!

啊哈,我真的很感动……

谢谢你们,谢谢你们,再次衷心的感谢你们!

一时间泪流满面……

关于酷报表,我是用百度ECharts来做的()。 在这篇文章中,我将分以下几个部分进行解释。

1.使用ECharts展示数据的原理

2. 使用方法

3、使用ECharts进行交互的原理

4. 优点和缺点

在阅读本文之前,了解一下百度的ECharts是非常有必要的。

后者是ECharts的一个示例,前者是ECharts的配置项Option(或者API文档)。

原理-显示数据

SAP 有一个名为 CL_GUI_HTML_VIEWER 的类。 你可以找到该类的USELIST并查看该类的demo。 通过这个类,我们让SAP使用浏览器来显示网页

这个类提供了很多方法,我在本例中使用的方法如下:

load_data 加载数据

load_mime_object 加载一个MIME对象(如SMW0中上传的二补对象)

show_url 显示网页

set_script 设置要执行的脚本

execute_script 执行脚本

百度打开的ECharts是一个JS脚本文件。 您只需要编写简单的网页源码即可显示丰富的ECharts图表【浏览器需要HTML5】。

其中,简单的源码是通过该类的load_data加载到网页中的。

至于ECharts的JS脚本文件,我是通过SMW0上传到二补文件对象中,然后通过load_mime_data加载到网页中,最后调用show_url来显示。

为了让ECharts能够展示SAP数据,我在网页源码中额外定义了一个名为setOption的JS函数。

通过该功能,我们可以根据ECharts对源数据的要求,将SAP数据在ABAP中集成为ECharts所需的格式。

ECharts中的配置项较多,需要JSON格式。 对于不同类型的Chart,配置项的格式也不同。 为了更方便地将SAP数据转换为ECharts所需的JSON格式,我做了两步:

1、将ECharts的配置项导入SAP,使用SE11创建结构进行管理

(配置项太多,我只创建了条形图和饼图两部分,并且只包含了部分配置项)

2、由于ECharts的配置项对大小写有严格要求炫酷网站源码下载,SAP通过结构体转换JSON时,全部变成小写,非常混乱。 于是我复制并重写了SAP用于将结构化数据转换为JSON的代码,以便SAP可以将其转换为camelcase格式(首字母小写)的JSON代码。

(但同时,SE11结构中的配置项也有要求,比如ECharts中的XAxis,SE11中用逗号分隔,即X_AXIS)

为了更方便使用,我自定义了一个类ZCL_ECHARTS_INTEGRATION,

1.继承CL_GUI_HTML_VIEWER

2.将JSON格式转换为驼峰类型的代码进行封装

3、提供SET_OPTION方法(封装了SET_SCRIPT和EXECUTE_SCRIPT的代码),使得SAP数据可以通过网页显示

指示

使用方法请参见文末资源链接中的ZECHARTS_DEMO程序。 以下是一些框架描述。

显示图表

1.我们需要一个控制。 这需要我们勾勒出一个屏幕并定义一个自定义控件。

2. 调用ZCL_ECHARTS_INTEGRATION的构造函数初始化图表。

3.处理SAP数据,将其写入SE11创建的结构中,然后调用ZCL_ECHARTS_INTEGRATION提供的SET_OPTION方法来显示图表。

原理-数据交互

在网页上进行点击操作时,我们希望在SAP端接收用户的点击操作,并根据用户的点击操作在SAP系统中处理数据或者显示更多的图表。 CL_GUI_HTML_VIEWER 类仅提供风暴 SAPEVENT。 你可以去这个课程了解一下这个风暴的参数。 我这里只使用ACTION和QUERY_TABLE。

(网页中的login:?name=leo&type=1等内容大家一定很熟悉吧?其中login是action,query_table有两行,分别是nameleo和type1)

为了实现数据交互,我做了四个步骤:

1.修改上述网页源文件的代码。 当用户点击storm时,将window.location.href修改为以sapevent开头的链接,并在该链接上附加相关参数,以便SAP可以接收到storm及相关参数。

炫酷网站源码下载-令人眼花缭乱的报告-代码

2.在ZCL_ECHARTS_INTEGRATION中创建SAPEVENT风暴HANDLER:ON_EVENT

3、修改ZCL_ECHARTS_INTEGRATION的构造函数,创建对象时允许进入弹回的FORM(弹回的FORM必须使用指定格式的参数)

4、ON_EVENT模式下,调用弹回的FORM

这样,在ZECHARTS_DEMO的程序中炫酷网站源码下载,我们就可以通过跳出的FORM来处理网页中的风暴了。 详细代码请参阅程序。

共同点和不同点

优势:

1.与CL_GUI_CHART_ENGINE的SAP图表相比,看起来更好,统计分析更直观

2.可以实时显示图表

缺点:

1、ECharts配置项过多

炫酷网站源码下载-令人眼花缭乱的报告-代码

2、需要深入学习和理解ECharts的设计方法

3、解决问题特别麻烦。 如果不注意,图表可能不会显示。 这个问题无法通过调试来解决,解决问题的时间成本极高。

其他说明:

1、SAP应用服务器通常用于业务应用处理。 小型分析报告和图表建议在BW中开发

2.我的例子的目的是一定程度上解决SAP图表显示的问题,需要HTML5、JS和ECharts的知识,对包内容的要求也很严格。总体来说我不是对这些方法太满意了,虽然学习成本、封装成本、维护成本太高

3. 谈谈一些积极的方面。 通过这个例子,我至少实现了一个SAPGUI与HTML单向交互的有价值的案例,这是一次集思广益。 您可以继续开放思路,开发更有价值的业务应用。

整体讲解完毕,不知道大家是否明白了。 由于实现还是比较复杂,结合代码会更加清晰。

下载链接

密码:dax4

(说明一下,本来想通过请求下载来下载打包后的请求,但是下载失败,无论我怎么处理,总是提示文件目录不存在,知道的可以加我陌陌286503700帮我解决一下问题,看一下,万不得已,我只好选择saplink import的形式,因为SE11创建的结构太复杂了……

另外,你还得想想如何使用saplink。 好像在HANA上不能用,或者有些高版本不能用,我没有深入研究原因)

终于

我所有的资源都在云盘链接里,链接永远不会过期。

ABAP和Excel的文章摘要链接,请点击公众号下方菜单获取。 也可以将其存放起来以备不时之需。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 网站源码 炫酷网站源码下载-令人眼花缭乱的报告-代码 https://www.wkzy.net/game/177435.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务