系统服务请求
在 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。