SAP脚本录制⼯具ScriptRecording简单介绍
众所周知,SAP提供了丰富的批处理⼯具,⽐如CATT,ECATT,LSMW,BDC等,从⽽可以批量操作业务数据,避免了⼤量重复的劳动过程。这些⼯具⽆疑都不复杂,开发⼈员很容易掌握。但是某些时候,如果我们要批量操作⼀些更为简单的流程呢,⽐如某报表A,屏幕参数只⽀持输⼊单个⼯⼚,业务⼈员需要导出20个⼯⼚的数据进⾏汇总,并下载到excel⾥分析,这时候就需要连续执⾏报表20次。(也许有⼈会说此时应该增强报表,允许输⼊范围的⼯⼚,但这只是⼀个有可能发⽣的想象场景,请⼤家不要在意。秉只是⼀时间没到更合适的例⼦。我们完全可以假设这个报表不允许修改,或者像某些公司⼀样,传⽣产系统的代码必须要等待很久。)
也许业务⼈员只⽤⼀次,也许以后还会需要,这时候当然可以写⼀个程序或者做⼀个批处理⼯具去完成,但是都需要⼀定时间由开发⼈员完成,⿇烦到业务⼈员会觉得,有这个时间,我⾃⼰都能⼿动做完了。
毕竟⼈类的本质是复读机,机械重复是⾎液中流淌的本能。
有没有更简单的⽅案呢?也许'Script Recording and Playback' 是⼀个更好的选择,⽽且完全可以不依赖于开发⼈员,当然,有简单的VBA 编程基础最佳。
从字⾯意义来看,“脚本录制和回放”已经完美诠释了它的功能。接下来我们⽤⼀个简单的例⼦,来阐述它是怎么⼯作的。
⾸先,该功能的⼊⼝为:
如果这⾥是灰⾊的,那说明功能没有启⽤,请⾃⾏解决或者联系管理员,这⾥不做赘述。
点击之后,我们将看到如下弹窗界⾯。
绿⾊为‘Playback Script’,⽤来回放我们的录制好的脚步。
红⾊为“Record Script”,⽤来录制脚本。
灰⾊为停⽌录制。
最后的More按钮,点击会拓展出⼀些存储设置。
界⾯简洁地就像是⽼式收⾳机⼀样。
这⾥基于假设场景,做了⼀个简单报表如下,功能很简单,直接基于输⼊的公司代码hardcode了⼀条数据作为ALV显⽰。
⽽我们要做的,就是要把公司代码X001-X020的数据下载到本地。
⾸先在GUI初始界⾯打开脚本功能,设置好脚本默认保存路径,⽂件名应以.vbs作为后缀。点击红⾊按钮,开始录制,此时红⾊按钮变成灰⾊,⽽后⾯的灰⾊停⽌按钮编程橘⾊(不同界⾯风格颜⾊可能不同)。
此时我们进⾏以下操作,运⾏SE38,输⼊报表名称,执⾏,输⼊参数X001,执⾏,点击左上⾓List,Export->Spreadsheet, 使⽤默认格式,选择⽂件夹,输⼊名称“数据-X001.XLSX”,保存,
(请注意,此时如果弹出SAP GUI Security的提⽰,请选择Remember My Decision->Allow,并重新录制。我们要保证每次的操作必须完全相同。)
最后依次退出程序到初始界⾯,点击停⽌录制。
此时录制已经完成,我们可以从预设的路径下到VBS⽂件。回放之前,我们可以先分析⼀下⽣成的VBA代码。
vbs脚本怎么停止(.VBS⽂件可以⽤⽂本⽂档打开)
代码主要分成两部分,即便没有VBA基础,我们也可以粗略看懂,第⼀部分为与GUI的连接,第⼆部分,则是脚本内容,我们可以发现很多熟悉的东西,⽐如SE38,X001(我们曾经输⼊的参数)等等,我们来运⾏⼀遍该脚本(可以双击VBS运⾏也可以⽤playback),就会发现GUI完美还原了我们之前的操作,
⽽且更快,因为省略了中间的时间。即便你录制的时候参数输⼊花了5秒,⽣成的脚本也是秒完成的。
当然,在最后⼀步的时候可能会出问题,因为我们路径下已经有⼀个下载好的⽂件,会多出提⽰框来询问是否覆盖,⽽我们的简单脚本显然并没有这个功能,如果我们直接修改脚本换个名字,或者把之前下载的⽂件删掉,那么该脚本能正常执⾏到结束,回到初始界⾯。
到此为⽌,我们就已经完成了脚本功能的基本学习,回到预设的场景,如果我们需要这个脚本执⾏20次,⽤不同的参数,该怎么办呢?
显然,最简单的办法就是直接复制第⼆部分⼆⼗遍,改掉输⼊参数以及⽂件名,保存重新执⾏即可。
如果有VBA基础,当然会想到更简单的⽅法,那就是创建⼀个内表…这句划掉,创建⼀个数组,保存好我们的所有X001-X020的参数,然后循环该数组,执⾏后半部分即可。
当然,报表程序可以不必退出,直接使⽤新的参数执⾏,所以我们只需要循环SE38之后以及最后⼀个F15退出部分即可。
这⾥就不再花费篇幅了。
最后,执⾏脚本,完美下载了20个EXCEL⽂件,在第⼀个EXCEL中继续写VBA代码读取其他⽂件内容,就可以快捷汇总到单独的sheet进⾏后续分析。
到此为⽌,我们已经完成了预设场景的解决⽅案,并且全部操作不需要⼀⾏ABAP代码,也就是说,这个操作完全可以由业务⼈员或者模块顾问来完成。
这篇⽂章并不是⼀个详尽的教程,它只是完成了⼀个初步的介绍,希望⼤家可以多去尝试,发现更多SAP的妙⽤。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论