很多时候,我们会需要把SAP中某个表的数据导出来做一定的分析,相信这个难不倒大家:
SE16输入表名
根据需要设置选择条件
按小闹钟跑出结果
导出Excel
但 是
你遇到过把表导出excel要跑很长时间的情况吧,等不起吧,纠结吗?
你遇到过把表导出excel跑到最后运行时错误吧,伤不起吧,抓狂吗?
我们以会计凭证表BSEG为例,一起来看看可以怎么破
我们先来看看BSEG这张表有多少条目数
168万多条目,导出到Excel中,来看看系统怎么说
系统休息了,可是我们不能休息。。。
看看我怎么一步一步把系统从休息中拉出来
首先我们先来想一想168万个条目是什么概念,BSEG这张表,有354个字段,结构宽度有2656,我们用1680000 * 2656估算一下,数据量最大可能达到532M
这么多的数据,这么多的字段,真的都是我们需要的吗,要想把数据顺利导出,首先我们需要做减法。
很多时候我们并不需要整张表的所有数据,假如我只要看去年的会计凭证
只有136条,很好,分分钟搞定。
可是还有很多时候我们确实就是需要所有的数据呢,别急,先对“所有”打个问号,有没有可能减掉一些呢?根据实际的业务情形:
有可能只需要有特别总账标志的;
有可能只需要某些记账码的;
有可能只需要某些科目范围的;
有可能只需要有供应商代码的;
有可能只需要已经清帐的;
……
这些都可以拿来做减法。假设我们只需要已经清帐的凭证,那么我们可以用清帐日期不为空来判断,因此就需要把清帐日期这个字段拉出来用作筛选(菜单:设置→选择字段→选择AUGDT(清帐日期))
设置筛选条件为清帐日期不为空
这波减法之后,我们看到168万个条目被减少到了17万
如果真的就完全不能减少必须完全导出呢?
确实,有些时候我们需要整个表的数据才足以进行必要的分析,如果条目数不能减少,那么我们就来看看怎样从字段做减法。(菜单:设置→选择字段→选择AUGDT(清帐日期))
需要注意的是,跟第一个减法一样,这边都是用“选择字段”的方式,但是这两个位于不同位置的“选择字段”的菜单,作用也是不同的
“设置→选择字段”,是用于决定选择屏幕有哪些筛选项可用
“设置→格式列表→选择字段”,是用于决定结果将输出哪些字段
我们来看一下输出的结果
当然,这也是可以在结果显示出来之后,通过“更改布局”的方式来达到的,区别在于,一开始就设置了输出的字段,系统就不需要把全部的354个字段都拉出来,当条目数多的情况下,速度会有明显的差异,各位可以自行比较。
我们来试一下,做了两次减法后,系统怎么说。
17万个条目,很快就出来了,系统再也不会累到需要休息了。
为什么呢?
做完减法后,只有11个字段,结构宽度46,条目数170261,我们用170261 * 46估算一下,数据量最大只有956K,对比532M相差了570倍。
如果这样减完还是数据很多呢?
好吧,必须承认数据是让人又爱又恨的存在。
如果真的还是导不出来,那我们还可以退而求其次,用后台执行的方式。
接下来就让系统忙着,我们喝杯咖啡休息一会儿吧。
通过“系统→自有作业”(或事务码SMX),我们可以看到系统在做什么
当看到“已完成”的时候,就可以继续我们的数据大业了。
领取专属 10元无门槛券
私享最新 技术干货