前言
ABAP程序有2种执行方法 一个前台执行 另一个是后台运行。
后者,所谓后台执行就是在某一个时间段,程序自动运行,俗称位 JOB。
本次将讲解讨论:1.前台执行和后台执行的区别,
2.后台执行的方式,和后台debug的方法。
一、前台执行和后台执行的不同之处?
前台:通过画面来操作,称之位前台执行。
后台:不通过画面操作的处理,称之位后台执行。
总结:就是执行方式不一样,执行的内容都是一样的。(一个能看到画面,一个看不到画面)。
用户在实际工作中需要使用到的流程操作 一般都是用前台,
对于数据的增删改查,不涉及到画面的工作,使用后台执行。
1.前台执行的缺点
前台执行的时候是以图形组件位单位的,比如一个画面上按钮,入力框,日期,图片等等。。。
每一次屏幕的加载和跳转都会占用大量的cpu资源和内存资源。反之后台执行就不会涉及到窗口的问题,会大大减少内存的开销,速度更快。
注意:前台执行是有时间限制的,默认是在连续执行五分钟之后就会被停止。
在线执行时间的设置: 系统配置文件的【rdisp/max_wprun_time】:300(默认300秒)。
二、后台执行
后台执行因为不会设计到画面,所以会节省很多资源,但是在执行的之后需要给执行的程序事先事先设置好参数(variant)
1.后台执行的优势
与前台执行相比优势有2点。
1.1 规划性,后台执行可以选择 任意的时间段去执行,就行闹铃一样,只要你设定好了之后就可以定时执行。
1.2资源合理分配, 不抢占资源,比如白天大家对系统的操作比较频繁,资源有限,这个时候我们可以选择在凌晨开始后台的工作,可以保证白天资源的充足,也可以保证了在凌晨运行的高效性。
2.后台执行的缺点
2.1 缺点就是在运行出错的时候,容错率比较小,当你在跑了一夜的数据更新,突然在快完成的时候因为bug 停止了。原地爆炸。嗷嗷嗷嗷~~
三、后台debug
1:在sm37页面选择执行的job,再在命令框里输入[jdbg]
虽然他进去的后台debug模式,但是是在模拟后台执行,实际上是前台执行。