处理链进程类型

其实大部分并没有用到过。不过知道也好。
在这里插入图片描述

在这里插入图片描述
以上,也可以自建处理链类型。不过俺不会。
建的时候也可以自己查document,F1去看。
这些我感觉也不用全看。
不过有一些要点还是要知道的:

1. 开始进程

开始进程可选:

  1. 立刻
  2. 固定时间
  3. 在event之后
    你激活链了之后,开始进程在后台就schedule了,它是按照你的时间或者事件来schedule的。
    在这里插入图片描述
    如果你用API来外部启动。
    在这里插入图片描述
    那就是用这个function module:RSPC_API_CHAIN_START 可以来启动。

一个链里面只能有一个开始进程,如果你想要一个链不同的开始条件,那么你可以用中断进程和开始进程。

2. 中断进程

就是说你这个处理链除了被什么event触发之外,还要有个开始条件,比如说下午3点才能跑。
那你就加一个中断进程。

中断进程是这样的: 所有开始条件满足才开始跑。中断进程会中断处理链,直到所有条件满足。在中断的时候呢,它就一直是active的状态在等。他会有一个background的job根据条件来开始。绕了这一大圈,也就是看起来它是active,实际上不是active,它不占用任何资源。

那么假使都到第二次开始跑处理链的时间了,中断进程还没有满足条件呢?那么这个处理链还是会跑到中断进程这里来等,到中断进程条件满足了,这个第二次就直接跑了,只跑这一次,第一次就不跑了。

如果先是中断条件满足了,那么这个后续chain会在开始进程满足的时候立刻开始跑。中断进程不会再中断链了。

所以用中断进程还得考虑好先后顺序啊,不然这个chain会一直active。还要考虑实际情况。

3. 收集进程

你去看的时候会发现,如果有两个DTP连着一个AND,那么其实后台的job会有两个AND的job,因为这两个DTP触发了两个event,这个AND等到了两个event,就会有两个job。但是呢这两个AND的job往下触发只触发一个event,因为AND下面就连着一个进程啊。也就是你会看到,后台的两个AND的job,只触发了一个event。
在这里插入图片描述
在这里插入图片描述
其中的一个ANDjob里面是去真正干活的。
在这里插入图片描述
另外的一个AND job里面是去触发下一个event的:
在这里插入图片描述
And : 直到最后一个上面进程的event被等到。
Or: 随便等到一个就执行。
XOR: 第一个前面进程的event被触发就执行。具体我没用过。
以上和逻辑与或门还是有区别的。因为没有非,非的情况系统没法判断。因为系统它是有时间的,不知道是因为时间没到没等到,还是因为就没有。

4. 执行ABAP程序

这也是一个进程。这个我们用的还挺多。
你去在处理链里跑ABAP程序的时候,可以带着变量跑,也可以不带变量。

– 程序可以被人在后台计划,或者被另一个程序计划。
当你在处理链里加一个程序:
在这里插入图片描述
那么有两种计划模式:
在这里插入图片描述

  1. 同步本地,也就是这个程序和处理链在一个server上计划,处理链等程序运行完了才会开始下一个进程。
  2. 异步。啥意思,就是你这个程序开始的任务不是它自己来结束的。 处理链进程结束也不等同于后台进程的结束。这个我也没用过。 异步进程里,后续event不会自动触发。你还必须得在程序结束时call一个远程RFC RSPC_ABAP_FINISH来告诉系统你这个进程结束了。然后后续进程才会被触发。
    至于程序中的变量呢,就是说你程序里要写啊,然后才能维护不同的变量。其实也就是不同的预写参数。
    你得加这句在程序里:PARAMETERS variant TYPE rspc_variant, 或者 rvari_vnam.
    在这里插入图片描述
    这个异步还有一个很麻烦的点在于,你要再次启动处理链,那么由于处理链维护端不知道它结束了,就启动不了。
    所以你得手动设置为取消后再启动。
  3. 异步,本地: 后台运行程序。这个程序启动由一个event触发,你可能要输一个event,还得给变量。
  4. 异步,目的地:在目标服务器上执行程序,得给个event和变量。
    正常情况下都只选同步,本地。

5. 操作系统命令

执行一个操作系统命令。
命令在CCMS>Configurations>External Commands下面定义。就是SM69
在这里插入图片描述
ANYOS就是说这个命令能在任何操作系统上执行。
然后就是加进去。
算了,我感觉这个用不到。

6. 在本地系统开始处理链

这个看起来不知道啥意思哈。
实际上就是把一条链加到另一条链下面,那么这个链就变成了另一条链的子链了,这个另一条链就变成主链了。
在这里插入图片描述

7. 在远程系统开始处理链

这个与上面相同,就是不在一个系统里。子链在别的系统里。子链跑完了,报告本地系统的主链。
前提得本系统和远程系统连接是通的,你还得有个账号连过去。

8. 之前的链还在active状态

在这里插入图片描述
这个进程结束会有两个event,触发接下来的进程。要么是active要么是inactive。
第一个,输入秒数,在这个秒数之间,这个进程触发的是inactive的event。如果你还勾了not if failed, 这意思就是,别等了,只要前面的进程失败,那就立刻设置为inactive。
第二个,等上次运行完成,等多长时间。如果你等的时间都等到下次链启动了,那就没意义了。所以这个时间得在两次启动时间之间。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaomici

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值