INQUIRE EXITPROGRAM

检索有关用户出口的信息。

语法

警告系统命令功能强大,可提供有关系统状态的信息,并允许对系统进行更改。 系统命令只能由授权应用程序和用户使用。

通过指定 XCMD 系统初始化参数并确保事务的命令安全检查处于激活状态(在 TRANSACTION 资源定义中指定 CMDSEC(YES) 或在 CMDSEC 系统初始化参数中指定 ALWAYS),激活命令安全检查。

INQUIRE EXITPROGRAM

读取语法图跳过可视语法图INQUIRE EXITPROGRAM( data-value)EXIT( data-value)ENTRYNAME( data-area)APIST( CVDA)CONCURRENTST( CVDA)CONNECTST( CVDA)ENTRY( ptr-引用)FORMATEDFST( CVDA)GAENTRYNAME( data-area)GALENGTH( data-area)GAUSECOUNT( data-area)INDOUBTST( CVDA)NUMEXITS( data-area)PURGEABLEST( CVDA)QUALIFIER( data-area)SHUTDOWNST( CVDA)SPIST( CVDA)STARTSTATUS( CVDA)TALENGTH( data-area)TASKSTARTST( CVDA)USECOUNT( data-area)

条件: END , ILLOGIC , INVREQ , NOTAUTH 和 PGMIDERR

NOHANDLE, RESP, 和 RESP2 是可以添加到所有 EXEC CICS 命令中的常用选项,用于处理错误条件。 命令语法图和选项说明中没有明确包含这些选项。 有关这些常用选项和 EXEC CICS 命令语法的信息,请参阅 EXEC CICS 命令格式和编程注意事项. 有关使用 CVDA 的更多信息,请参阅 CICS-值数据区 (CVDA)

此命令是线程安全的。

描述

INQUIRE EXITPROGRAM 命令返回有关全局或与任务相关的用户出口的信息。 使用 ENTRYNAMEEXITPROGRAM 选项确定要查询的出口。

浏览

您还可以通过两种不同的方式浏览出口定义。 要查看在特定出口点定义的所有全局用户出口,请在启动浏览的命令上指定出口点,从而:
INQUIRE EXITPROGRAM EXIT(data-value) START

要查看全局和任务相关的所有用户出口,请在启动浏览的命令上省略 EXIT 选项。 您可以通过查看 NUMEXIT 值来区分这两种类型,对于与任务相关的出口,该值为零,而对于全局出口,该值为正数。

在任一类型的浏览中,检索出口的顺序是启用出口的时间顺序。

选项

APIST
返回一个 CVDA ,指示用户出口程序使用哪些 API。
CVDA 值包括:
基础数据库
CICSAPI 已替换 BASEAPI。 这两个 CVDA 值都具有相同的含义,为了实现兼容性,转换程序仍接受 BASEAPI。
CAPI
在不使用 OPENAPI 选项的情况下启用用户出口程序。 这意味着它仅限于 CICS® 允许的编程接口。
OpenAPI
使用 OPENAPI 选项启用与任务相关的用户出口程序。 这意味着允许它使用非CICS API ,为此, CICS 将在 L8 方式开放式 TCB 下对任务相关用户出口进行控制。 OPENAPI 假定程序已写入线程安全标准。
CONCURRENTST
返回 CVDA ,指示 全局或 任务相关的用户出口程序的并行状态。 这是 PROGRAM 定义的 CONCURRENCY 属性的值,或者是此程序的最新 ENABLE 命令指定的任何覆盖 的值。

CVDA 值包括:

准西伦特
出口程序定义为准重入程序,并且在通过 CICS API 调用 CICS 服务时只能在 CICS QR TCB 下运行。 要使用任何 MVS 服务,与任务相关的用户退出程序必须切换到私有管理的 TCB。
线程安全
出口程序定义为线程安全,并且能够在开放式 TCB 上运行。

仅对于与任务相关的用户出口程序,如果 APIST 选项返回 OPENAPI ,那么将始终在开放式 TCB 下调用该程序。

对于全局和与任务相关的用户出口程序, APIST 选项 CICSAPI 表示当程序被授予控制权时,将在其用户任务正在使用的任何 TCB 下调用该程序。 可以是开放式 TCB 或 CICS QR TCB。

REQUIRED (仅与任务相关的用户出口)
出口程序始终在开放式 TCB 上运行。 如果指定了 OPENAPI ,那么将使用 L8 开放式 TCB。 如果未指定 OPENAPI ,那么将使用任何符合条件的密钥 8 open TCB , L8, T8或 X8。
注: 当启用与任务相关的用户出口 REQUIREDOPENAPI时,其处理方式与启用 THREADSAFEOPENAPI时相同。 为了实现兼容性,任一组合的 INQUIRE EXITPROGRAM 命令都将始终返回 THREADSAFE 和 OPENAPI。 对于启用了 REQUIREDCICSAPI的任务相关用户出口, INQUIRE EXITPROGRAM 将返回 REQUIRED 和 CICSAPI。
CONNECTST (cvda) (仅任务相关的用户出口)
返回一个 CVDA 值,指示出口与其支持的外部资源管理器之间的连接状态。 CONNECTST 使您能够确定指定的出口是否已连接到其资源管理器,以便 CICS 任务可以安全地向资源管理器发出 API 请求。

例如,要查询与 DBCTL 的连接,请使用 EXITPROGRAM 值 DFHDBAT 和 ENTRYNAME 值 DBCTL。 要查询与 Db2®的连接,请使用 EXITPROGRAM 值 DFHD2EX1或 DSN2EXT1 (仍可识别DSN2EXT1 以与先前发行版兼容) (具有 DSNCSQL 或 DSNCCMD 的 ENTRYNAME)。

CVDA 值包括:
CONNECTED
与任务相关的用户出口连接到其外部资源管理器子系统,并且可以发出 API 请求。
NOTAPPLIC
出口不是与任务相关的用户出口。
NOTCONNECTED
与任务相关的用户出口未连接到其外部资源管理器子系统,因此无法发出 API 请求。
UNKNOWN
已启用并启动与任务相关的用户出口,但未对 SPI 请求启用此出口。 如果 CICS 无法调用与任务相关的用户出口,那么也会返回 UNKNOWN。 在这两种情况中,CICS 无法区分是否连接到外部资源管理器。

对于任务剩余生存期的所有后续调用,将返回 UNKNOWN。 新任务能够调用与任务相关的用户出口并获取所需信息。

如果未启用与任务相关的用户出口,那么 INQUIRE 命令将返回 PGMIDERR。 这还指示 CICS 未连接到资源管理器。

注: 要确定 Db2 或 DBCTL 是否可用,请使用 CONNECTST 而不是 STARTSTATUS ,因为与任务相关的用户出口可以在未成功使其数据库管理器可供 CICS使用的情况下启动。
ENTRY (ptr-ref)
返回指示用户出口的入口地址的全字二进制字段。
ENTRYNAME (数据区)
指定要查询的出口的 8 字符名称。 如果省略 ENTRYNAME ,那么 CICS 假定出口的名称与 EXITPROGRAM 选项中指定的装入模块的名称相同。 因此,必须为 ENTRYNAME 和 EXITPROGRAM 指定与创建出口的 ENABLE 命令的 ENTRYNAME 和 PROGRAM 选项中指定的值相同的值。 (此命令中的 EXITPROGRAM 对应于 ENABLE 命令中的 PROGRAM。)
EXIT (data-value) (仅全局用户出口)
指定与您正在查询的出口相关联的出口点的 8 字符标识。 查询全局用户出口时,必须指定出口点。 但是,出口点不适用于与任务相关的用户出口,您在查询此类出口时不得指定此选项。
EXITPROGRAM (data-value)
指定与要获取相关信息的出口关联的装入模块的 8 字符名称。 这是在定义出口的 ENABLE 命令的 PROGRAM 选项中指定的值。
FORMATEDFST (cvda) (仅与任务相关的用户出口)
返回一个 CVDA 值,指示为出口启用了 FORMATEDF 选项。 FORMATEDF 导致对在 EDF 下执行的任务的出口进行额外调用,以格式化输出屏幕和解释输入,并且仅适用于与任务相关的用户出口。 CVDA 值包括:
格式 (F)
FORMATEDF 已开启。
无格式 (NOFORMATEDF)
FORMATEDF 处理已关闭。
NOTAPPLIC
这是全局用户出口。
GAENTRYNAME (数据区)
返回拥有您正在查询的出口所使用的全局工作区的用户出口的 8 字符名称。

仅当出口使用另一个出口拥有的全局工作区时,才会返回此值。 如果已分配其自己的工作区,那么将返回空白。

GAL思 (数据区)
返回指示出口的全局工作区长度的半字二进制字段。
注: 如果定义了大于 32767 的GAL思 (请参阅 GAL思 FOR ENABLE PROGRAM 以获取详细信息) ,那么此命令的响应反映的值越高,如下所示:
  • 如果您在终端上发出了 INQUIRE EXITPROGRAM 命令,那么响应将显示GAL思的负值。
  • 如果从程序发出了 INQUIRE EXITPROGRAM 命令,那么将设置GAL思的响应的高阶位。 在决定下一次对返回值执行的操作时,必须允许此可能性。
GAUSECOUNT (data-area)
返回一个半字二进制字段,指示正在使用此出口所拥有的全局工作区的全局或与任务相关的用户出口总数。 此计数包括拥有的出口程序。 如果出口不是所有者,那么将返回零。
IN可疑 (cvda)
返回一个 CVDA 值,指示是否使用IN姿关键字启用了与任务相关的用户出口。 CVDA 值包括:
NOTAPPLIC
正在查询的出口是全局用户出口。
无等待
未使用IN可疑的关键字启用出口。
WAIT
出口是使用IN可疑的关键字启用的。
NUMEXIT (data-area) (仅全局用户出口)
返回一个半字二进制字段,指示启用了该出口的全局用户出口点的数目。 如果这是与任务相关的用户出口,那么将返回零。
PURGEAB尽 (cvda) (仅与任务相关的用户出口)
返回 CVDA 值,指示是否使用PUR可用关键字启用与任务相关的用户出口。 CVDA 值包括:
NOTAPPLIC
正在查询的出口是全局用户出口。
不可清除
无法从与任务相关的用户出口中的 CICS 等待清除任务。
可清除
可从与任务相关的用户出口中的 CICS 等待清除任务。
限定符 (data-area)
对于针对 SPI 调用启用的与任务相关的用户出口,返回该出口返回的 8 字符限定符。

对于不支持 SPI 调用的全局用户出口和任务相关的用户出口,将返回空值。

SHUTDOWNST (cvda) (仅与任务相关的用户出口)
返回 CVDA 值,指示是否对出口启用 SHUTDOWN 选项。 SHUTDOWN 在 CICS 关闭期间导致调用,并且仅应用于与任务相关的用户出口。 CVDA 值包括:
未关闭
发生 CICS 关闭时,不会调用该出口。
NOTAPPLIC
这是全局用户出口。
SHUTDOWN
当发生 CICS 关闭时,将调用该出口。
SPIST (cvda)
返回一个 CVDA 值,指示是否对 SPI 调用启用了与任务相关的用户出口。 CVDA 值包括:
无 SPI
未对 SPI 启用出口。
NOTAPPLIC
正在查询的出口是全局用户出口。 仅当 INQUIRE 命令显式适用于全局用户出口时,才会发生此情况。 例如:
INQUIRE EXITPROGRAM(abcd) exit(XFCREQ)

如果省略 EXIT (XFCREQ) ,那么将查询与任务相关的用户出口。 由于缺省情况下,所有全局用户出口也是与任务相关的用户出口,因此将返回 NOSPI。

SPI
已对 SPI 启用出口。
STARTSTATUS (cvda)
返回用于标识出口是否可用于执行的 CVDA 值。 CVDA 值包括:
已启动
出口程序可供执行; 即, EXEC CICS ENABLE 命令上的 START 选项仍然生效。
已停止
出口程序不可用于执行; 即,尚未发出 START 选项,或者已被 EXEC CICS DISABLE 命令上的 STOP 选项撤销。
TAL思 (data-area) (仅与任务相关的用户出口)
返回一个半字二进制字段,指示出口的本地 (任务相关) 工作区的长度。 本地工作区仅适用于与任务相关的用户出口。 如果这是全局用户出口,那么将返回零。
TASKSTARTST (cvda) (仅与任务相关的用户出口)
返回 CVDA 值,指示是否对出口启用了 TASKSTART 选项。 TASKSTART 会导致 CICS 在每个任务的开始和结束时调用出口; 它仅适用于与任务相关的用户出口。 CVDA 值包括:
NOTAPPLIC
这是全局用户出口。
注意
未设置出口以在每个任务的开始和结束时进行调用。
TASKSTART
出口设置为在每个任务的开始和结束时进行调用。
用户计数 (数据区)
返回已调用出口程序的次数。
注: 返回的值是在已启用并启动出口程序的所有全局用户出口点和与任务相关的用户出口调用点调用此出口程序的总次数。

条件

END
RESP2 值:
2
没有更多此类型的资源定义。
ILLOGIC
RESP2 值:
1
当浏览此资源类型时,您已发出 START 命令,或者当浏览此资源类型时,您已发出 NEXT 或 END 命令。
INVREQ
RESP2 值:
3
EXIT 标识的出口点不存在。
NOTAUTH
RESP2 值:
100
未授权与发出任务关联的用户使用此命令。
101
未授权与发出任务关联的用户以此命令所需的方式访问此特定资源。
PGMIDERR
RESP2 值:
1
未启用 EXITPROGRAM 和 ENTRYNAME 标识的出口,或者在全局用户出口上的查询中缺少 EXIT 参数,或者在任务相关的用户出口上存在 EXIT 参数。