系统服务请求

在 DBCTL 环境中使用的程序规范块 (PSB) 可以包含这些类型的任何程序控制块 (PCB)。
I/O PCB
在 CICS®-DBCTL 环境中,需要输入/输出 PCB (I/O PCB) 来发出 DBCTL 服务请求。 与其他类型的 PCB 不同,它不是使用 PSB 生成定义的。 如果应用程序正在使用 I/O PCB ,那么必须在 PSB 调度请求中指示这一点,如 PSB 的格式中所述。
备用 TP PCB
备用 TP PCB 定义逻辑终端,当需要将响应定向到终端时,可以使用备用 TP PCB 来代替 I/O PCB。 备用 TP PCB 出现在 CICS-DBCTL 环境中使用的 PSB 中,但仅在 IMS/VS DC 或 IMS TM 环境中使用。 使用 DBCTL 的 CICS 应用程序无法成功发出指定备用 TP PCB , MSDB PCB 或 GSAM PCB 的请求,但可以在 CICS-DBCTL 环境中成功调度包含此类 PCB 的 PSB。 备用 PCB 包含在返回到调用级应用程序的 PCB 地址列表中。 PSB 中存在备用 PCB 可能会影响 EXEC DLI 应用程序中 PCB 关键字中使用的 PCB 编号,具体取决于您是使用 CICS 联机,批处理程序还是 BMP。 有关更多信息,请参阅 PCB 摘要
数据库 PCB
数据库 PCB (DB PCB) 是定义应用程序与数据库的接口的 PCB。 应用程序使用的每个数据库视图都需要一个数据库 PCB。 它可以是全功能 PCB ,也可以是 DEDB PCB。
GSAM PCB
GSAM PCB 为 GSAM 操作定义应用程序的接口。

通过 DBCTL ,缺省情况下, CICS 联机应用程序接收数据库 PCB ,作为在调度后传递给它的参数列表中的第一个 PCB。

使用EXEC DLI接口,要使用系统服务请求,您需要在SCHD命令中指定SYSSERVE关键字,以表明您的应用程序可以处理I/O PCB。 在 EXEC DLI 环境中, SYSSERVE 关键字不会更改 PCB 编号,这意味着您的第一个 PCB 仍然是 DB PCB ,您在发出系统服务请求时不需要指定 PCB 编号。

使用DL/I CALL接口时,如需使用系统服务请求,您可使用PCB上的IOPCB参数来表明您的应用程序可以处理I/O PCB。 然后, I/O PCB 将是传递回应用程序的参数地址列表中的第一个 PCB。

PSB 的格式

DBCTL 环境中使用的 PSB 将采用以下格式:
图 1。 DBCTL 环境中 PSB 的一般格式
 [IOPCB]
[Alternate TP PCB ... Alternate TP PCB]
[DBPCB ... DBPCB]
[GSAMPCB ... GSAMPCB]

每个 PSB 必须至少包含一个 PCB。 数据库 PCB 可以是全功能 PCB ,也可以是 DEDB PCB。