什么是工作进程(Work Process)?
工作进程是SAP ABAP应用服务器的重要组成部分,它们用于执行ABAP应用程序程序中的各个对话步骤。
SAP工作进程的结构
一个工作进程包含以下组件:
屏幕处理器(Screen Processor):屏幕处理器负责执行屏幕流逻辑。
ABAP解释器(ABAP Interpreter):ABAP处理器负责执行应用程序程序的处理逻辑,并且还与数据库接口进行通信。
数据库接口(Database Interface):访问数据库表的接口。
任务处理器(Task Handler):调用这些程序。
SAP中的工作进程类型
为了处理来自多个前端的SAP请求,会使用SAP应用服务器。应用服务器中包含了一个调度器(Dispatcher),它的作用是收集这些请求并将它们传递给相应的工作进程以进行处理。随后,工作进程将执行所需的请求(例如,运行一个ABAP程序)。一个工作进程包含了ABAP解释器、数据库接口、任务处理器以及一个用于调用程序的屏幕处理器。
以下是工作进程的类型:
工作进程类型 | 用途和描述 |
对话(Dialog) | 处理所有由活动用户触发的对话步骤执行请求,或执行对话程序。 |
后台(Background) | 执行那些无需用户交互的程序,或执行依赖于时间或事件控制的后台任务。 |
更新(Update) | 执行更新请求或异步数据库更改,这些请求或更改是由对话工作进程中的一条COMMIT WORK语句控制的。 |
打印池(Spool) | 将顺序数据流传输到打印机,或将打印格式化内容输出到打印机、文件或数据库。 |
队列(Enqueue) | 管理共享内存中的锁表,或当SAP事务需要同步自身时,执行锁定操作。 |
对话工作进程负责处理所有由活跃用户触发的对话步骤执行请求。对话工作进程不用于处理耗时较长且需要更多CPU资源的请求。每个调度器至少需要两个对话工作进程。对话工作进程的默认响应时间为300秒;如果在此时间内没有响应,则该工作进程将被终止。此外,对话工作进程通过多路复用技术来处理大量的用户请求。您可以从事务代码RZ11中设置对话工作进程的最大响应时间,并通过设置参数rdisp/max_wprun_time
为您所需的时间。对话工作进程的数量可以通过修改参数rdisp/wp_no_dia
来进行调整。