情景:
有些处理链,不是每天跑的,像是月中,月末那种,也有固定规律的。但是万一人不在,不能要靠人来手动跑的。
那就得给定个时,让后台自己工作去。
那这个job呢,意思就不是咱手工做的了,就是SAP后台来弄。
这工作它来做。
那event事件又是干啥的呢?它经常跟触发连在一起,就是说你这个事件触发了啥(由于你忘记关煤气这个事件,锅烧干了触发了烟雾报警器)
有时候我们需要去让这个event执行起来,去触发某个事情。
那首先就得有这个event。
Event的创建
sm64来建一个event。
到这里还是稀里糊涂的,不管它,先给个名字和描述。它就是个事件。
job的创建
SM36建job. 有关job的创建信息看这里:link.
这个job怎么做呢?
job开始时间定义
看完链接,你知道了,你创建了这个job,那你得给它定个时:
在开始条件里面,你可以设置周期定时。
也可以利用factory calendar来定义特定时间。
好了,知道啥时候开始干活了,那干啥啊?
job中的abap program
好了,这就要到Step里面去看,到底工作写了要干啥。
一般我都只看到只有一个step的:
里面是个ABAP程序,也就是要干的事了。
那这个只能去se38里面看了。
下面来看个例子:这个程序就干了一件事,去raise了一个event。就是我们之前建的event。
可是我们之前建的那个事件,是用来干嘛的呢?
回到主题,有些处理链。。。
那我们看看处理链去:
就是在这里了,处理链开始进程下面,显示after event.
这种做法是绕了一个大圈子,先告诉你有job要做,在什么时间做,然后通过个程序告诉你要做什么。
程序自己去触发了一个event事件。
然后处理链说,我要在这个event事件执行完了之后就开始跑数据了。这就是这么个通路。
那我搞不懂了,直接after job不就行了么?
这个job你都给它定时了,反正它到时候就跑了,那处理链在job跑完了就跑不就行了?
难道是因为job里面必须写个程序?
还得深究。