1、问题:点击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目录,把这个目录下的文件全部删除即可。
2、如何上传自定义的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”标签

05-04 06:40