SAP ALV内嵌(In-place)Excel的问与答

一、问题:点击ALV工具栏的"Excel"图标后,出现空白的内嵌Excel界面,没法正常显示报表数据。
可按如下思路解决:
(1)检查Excel中的宏安全设置选项
访问方法:启动Excel,点击“Tools”菜单,选择 “Option”菜单项,在弹出的“Option”窗体点击“Security”标签页,再点击窗体右下角的“Macro Security...”按钮,在弹出的“Security”窗体点击“Trusted Publishers”标签页,而后点击“Trust acccess to Visual Basic Project”前面的复选框,点击“肯定”逐层退出。保存当前Excel文件。(切记:必定要保存。)
以上操做在本机设置一次便可,除非Excel程序被卸载重装。
注:大部分状况下完成这一步的设置便可解决。
(2)尽可能关闭不须要的Excel窗口及其余应用程序。
ALV报表很耗内存,使用ALV的内嵌Excel功能占用的内存更是惊人,因此在你使用这个功能以前,尽量关闭外部Excel窗口和其余应用程序,以释放更多的可用内存供SAP使用,不然Windows会使用虚拟内存,这将致使响应速度变慢甚至没法正常显示数据。
(3)清空本机登陆用户的SAP硬盘缓存文件
有些异常是因为历史缓存文件致使的。先退出SAP GUI,清空SAP缓存文件,缓存文件的存放目录在SAP GUI的Option下的Local Data中设置,在该目录下有一个SapWorkDir目录,把这个目录下的文件所有删除便可。
二、如何上传自定义的Excel数据模板。
(1)先下载SAP标准模板sap_mm.xls。
Transaction Code:OAOR
Class name填:ALVLAYOUTTEMPLATES
Class type填:OT
Object key填:SAP_STANDARD_TEMPLATE
执行后,选择sap_mm.xls,而后点击“Documents”菜单下的“Export”菜单项(或按Ctrl+F6),指定导出文件的存放目录,肯定即中。
(2)对下载到本地的sap_mm.xls按本身的须要进行调整,也可在代码模块ALV_CUS_Exit中编写本身的VBA代码,以实现一些自定义的功能,如数据再加工,格式设置等等,以"Cus_*"的命名规则另存修改后的Excel模板文件。
(3)上传定制修改后的Excel模板文件(即Cus_*)。
Transaction code : SA38或SE38,运行程序BCALV_BDS_MAINTENANCE。
选择“Import Templates”运行后在ALV工具栏选择倒数第二个按钮“Upload Templates”上传模板。
(4)在报表输出画面中点击“Change Layout”,选择“View”标签缓存

相关文章
相关标签/搜索