退出 XFCFRIN

在执行文件控制请求之前调用出口 XFCFRIN。

请求可能源自:
  • 执行应用程序请求以处理用户文件
  • 接收函数输送的请求
  • 用于处理系统文件的内部 CICS® 请求。
特定于出口的参数
UEPTRANID
4 字节事务标识的地址。
UEPUSER
8 字节用户标识的地址。
UEPTERM
零,或 4 字节终端标识的地址。 如果未返回地址,这可能意味着此请求已通过 IPIC 连接交付。
UEPPROG
8 字节应用程序名称的地址。
UEP_FC_FUNCTION
包含函数的字节的地址。 FCFR 函数派生自通过 EXEC CICS 接口提供的那些函数,其中某些请求选项 (SET , INTO 和 UPDATE) 已包含在函数值中。 例如, UEP_FC_FUN_DELETE 派生自指定了 RIDFLD 选项的 EXEC CICS DELETE ; UEP_FC_FUN_REWRITE_DELETE 派生自没有 RIDFLD 的 EXEC CICS DELETE 。 可能的值包括:
  • UEP_FC_FUN_READ_INTO
  • UEP_FC_FUN_READ_SET
  • UEP_FC_FUN_READ_UPDATE_INTO
  • UEP_FC_FUN_READ_UPDATE_SET
  • UEP_FC_FUN_WRITE
  • UEP_FC_FUN_REWRITE
  • UEP_FC_FUN_REWRITE_DELETE
  • UEP_FC_FUN_DELETE
  • UEP_FC_FUN_UNLOCK
  • UEP_FC_FUN_START_BROWSE
  • UEP_FC_FUN_READ_NEXT_INTO
  • UEP_FC_FUN_READ_NEXT_SET
  • UEP_FC_FUN_READ_PREVIOUS_INTO
  • UEP_FC_FUN_READ_PREVIOUS_SET
  • UEP_FC_FUN_READ_NEXT_UPDATE_INTO
  • UEP_FC_FUN_READ_NEXT_UPDATE_SET
  • UEP_FC_FUN_READ_PREVIOUS_UPDATE_INTO
  • UEP_FC_FUN_READ_PREVIOUS_UPDATE_SET
  • UEP_FC_FUN_RESET_BROWSE
  • UEP_FC_FUN_END_BROWSE
UEPTSTOK
在任务的整个生命周期内有效的 4 字节令牌的地址。 请参阅 使用任务令牌 UEPTSTOK
UEP_FC_FILE_NAME
包含文件名的 8 字节可修改字段的地址。
UEP_FC_BUFFER_P
包含由请求发起方提供的缓冲区地址的全字的地址,其中 (输出) 记录将在完成带有 INTO 选项的 READ , READ NEXT 或 READ PREV 请求时返回。
UEP_FC_BUFFER_L
包含 (对于 READ , READ NEXT 和 READ PREV 请求) 要在其中读取记录的缓冲区的 LENGTH 值的全字的地址。
UEP_FC_RECORD_P
下列其中一项的地址:
  • 如果请求是带有 SET 选项的 READ , READ NEXT 或 READ PREV ,那么将返回一个全字,其中将返回缓冲区的地址 (输出) ,记录将放置到该地址中。 缓冲区本身由 CICS 文件控制提供,如果出口程序绕过文件控制,则由出口程序提供。
  • 如果请求是 WRITE 或 REWRITE ,那么是包含要写入的记录地址的全字。
UEP_FC_RECORD_L
包含 LENGTH 值 (对于 READ , WRITE , REWRITE , READ NEXT 和 READ PREV 请求) 的全字的地址。
对于所有 READ , READ NEXT 或 READ PREV 请求,这是一个 输出 字段,其中记录读取的实际长度放在返回时。
警告: 对于指定 INTO 的请求,请勿将 LENGTH 的值更改为大于 UEP_FC_BUFFER_L 字段指定的值。 这样做可能会导致应用程序中出现存储器覆盖。

对于 WRITE 或 REWRITE ,这是一个可选字段,如果存在,那么包含要写入的记录的长度。 如果未指定该字段,那么全字包含二进制零。 在这种情况下,要修改远程文件的记录长度,请改为使用 UEP_FC_M_RECORD_L。

另请参阅 UEP_FC_SYSID 参数的描述。

UEP_FC_MAX_RECORD_L
包含 (输出) 文件最大记录长度的全字的地址。 (CICS 函数输送使用此值来更新远程文件控制表中的文件条目。)
UEP_FC_RECORD_ID_P
包含 RIDFLD (记录标识) 值的地址的全字的地址。 有关记录标识何时是输入或 输出 字段的讨论,请参阅 表 1
UEP_FC_RECORD_ID_L
KEYLENGTH 的半字值的地址,它是记录标识的 (可能是部分) 长度。

KEYLENGTH 是 READ , WRITE , DELETE , START BR , READ NEXT , READ PREV 和 RESET BR 请求上的可选输入参数。 如果未指定该字段,那么半字包含二进制零。 在这种情况下,要修改远程文件的密钥长度,请改为使用 UEP_FC_M_RECORD_ID_L。

另请参阅 UEP_FC_SYSID 参数的描述。

UEP_FC_FULL_RECORD_ID_L
记录标识的完整长度的半字值的地址。

记录标识的完整长度在 READ NEXT 和 READ PREV 请求上作为必填 输出 字段返回。 该值由 CICS 函数输送使用。

UEP_FC_RECORD_ID_TYPE
包含 RIDFLD 类型的字节的地址 (对于 READ , WRITE , DELETE , START BR , READ NEXT , READ PREV 和 RESET BR 请求)。 在输入到出口时,此参数将设置为下列其中一项:
UEP_FC_KEY
VSAM KSDS 或 AIX® PATH 访问
UEP_FC_RBA
通过 RBA 访问 VSAM ESDS 或 KSDS
UEP_FC_RRN
VSAM RRDS 访问
UEP_FC_DEBKEY
BDAM 按键解锁 (仅 READ , DELETE , START BR 和 RESET BR 请求)
UEP_FC_DEBREC
BDAM 按相对记录进行的分块 (仅 READ , DELETE , START BR 和 RESET BR 请求)
UEP_FC_XRBA
VSAM 扩展 ESDS 访问
UEP_FC_REQID
半字值 REQID 的地址 (对于 START BR , READ NEXT , READ PREV , RESET BR 和 END BR 请求)。
UEP_FC_NUMREC
NUMREC 的全字值的地址 (output) ,其中 (如果请求是带有 RIDFLD 的 DELETE) 返回已删除的记录数。
UEP_FC_KEY_比较
包含键比较设置的字节的地址 (对于 READ , START BR 和 RESET BR 请求)。 在输入到出口时,此参数将设置为下列其中一项:
UEP_FC_EQUAL
将使用 key-equal-to 比较。
UEP_FC_GTEQ
将使用大于或等于键的比较。
UEP_FC_GENERIC
包含 (对于 READ , DELETE , START BR 和 RESET BR 请求) 通用键设置的字节的地址。 在输入到出口时,此参数将设置为下列其中一项:
UEP_FC_GENERIC_KEY
通用密钥将用于密钥搜索。
UEP_FC_FULL_KEY
完整密钥将用于密钥搜索。
UEP_FC_MASS_INSERT
包含 (针对 WRITE 请求) 批量插入设置的字节的地址。 在输入到出口时,此参数将设置为下列其中一项:
UEP_FC_SEQUENTIAL_WRITE
记录将以顺序方式写入。
UEP_FC_DIRECT_WRITE
将以直接方式写入记录。
UEP_FC_READ_INTEGRITY
包含读完整性设置 (对于非更新 READ , READ NEXT 和 READ PREV 请求) 的字节的地址。 (在当前版本的 CICS中,此设置仅适用于 VSAM RLS。) 在输入到出口时,此参数将设置为下列其中一项:
UEP_FC_CR
将使用一致的读完整性。
UEP_FC_FCT_VALUE
读完整性根据 FILE 定义中的设置。
UEP_FC_NRI
将在没有读完整性的情况下读取记录。
UEP_FC_RR
将使用可重复的读完整性。
UEP_FC_TOKEN
包含 TOKEN 值的全字的地址。

如果请求为 READ , READ NEXT 或带有更新的 READ PREV ,并且地址不为空,那么该区域是要在其中返回令牌的 输出 字段。

如果请求是 REWRITE ,不带 RIDFLD 的 DELETE 或 UNLOCK ,那么该区域是输入字段。

UEP_FC_SYSID
要包含标识远程区域的 SYSID 的 4 字节区域的地址。 在出口的输入中,该区域包含以下任一项:
  • API 调用的 SYSID 选项的值,
  • 空白 (如果未指定 SYSID)。

要将请求重定向到其他区域,出口程序必须将目标区域的 SYSID 放置在此 输出 区域中。

如果此参数由出口程序设置,那么该请求由文件控制功能交付,而不需要对该文件的属性进行任何引用。 如果请求中未包含键长度,那么出口程序必须通过设置 UEP_FC_RECORD_ID_L 参数来建立其值。

同样,如果请求是 WRITE 或 REWRITE ,并且尚未在请求上指定记录长度,那么出口程序必须通过设置 UEP_FC_RECORD_L 参数来建立其值。

UEP_FC_LENGTH_ERROR_CODE
1-byte 输出 区域的地址,其中包含在请求完成后要返回的长度错误代码。 可能的值包括:
  • UEP_FC_LENGTH_OK
  • UEP_FC_BUFFER_LEN_TOO_SMALL
  • UEP_FC_RECORD_LEN_TOO_LARGE
  • UEP_FC_BUFFER_LEN_NOT_FILE_LEN
  • UEP_FC_RECORD_LEN_NOT_FILE_LEN
UEP_FC_DUPLICATE_KEY_CODE
1-byte 输出 区域的地址,指示请求是否找到所提供密钥的多个记录。 可能的值包括:
  • UEP_FC_DUPLICATE 键
  • UEP_FC_NOT_DUPLICATE 键
UEP_FC_ACCMETH_RETURN_CODE
当返回响应 UEP_FC_REASON_ACCMETH_REQUEST_ERROR 或 UEP_FC_REASON_IO_ERROR 时,将返回与访问方法相关的信息的 4 字节 输出 区域的地址。

返回的值以 EIBRCODE 的字节 2-5 为单位。

UEP_FC_RESPONSE
请求完成后包含响应的 1 字节 输出 区域的地址:
UEP_FC_RESPONSE_OK
处理已完成,无错误。
UEP_FC_RESPONSE_EXCEPTION
处理已完成,但存在错误情况。 原因在 UEP_FC_REASON 中设置。
UEP_FC_RESPONSE_灾难
发生了阻止处理完成的错误。 通常,这是由于来自 XPI 函数调用的灾难响应或来自 UEPGAA 或 UEPTSTOK 的数据损坏所致。

如果设置此响应,那么文件控制的调用者将假定已执行首次故障数据捕获。 如果您正在整理来自 XPI 请求的灾难响应,那么将已执行首次故障数据捕获; 否则,应尝试捕获足够的信息以成功诊断错误。 DFHDUDUX SYSTEM_DUMP XPI 函数可能适用于此目的。

UEP_FC_RESPONSE_INVALID
使用无效参数列表调用了出口程序,指示 CICS 内部逻辑错误。 请注意,指示应用程序错误的无效参数列表应该给出 EXCEPTION 响应。
UEP_FC_RESPONSE_PURGED
XPI 函数调用接收到 PURGED 响应。 设置此响应相当于设置 UERCPURG 返回码,只是接受对参数列表的任何更改。
UEP_FC_REASON
1-byte 输出 区域的地址,其中包含在请求完成并带有 EXCEPTION 响应之后的原因。 可能的原因是:
  • UEP_FC_REASON_ACCMETH_REQUEST_ERROR
  • UEP_FC_REASON_DELETE_AFTER_READ_UPDATE
  • UEP_FC_REASON_DELETE_BEFORE_READ_UPDATE
  • UEP_FC_REASON_DUPLICATE_READ_UPDATE
  • UEP_FC_REASON_DUPLICATE_RECORD
  • UEP_FC_REASON_DUPLICATE_REQID
  • UEP_FC_REASON_END_OF_FILE
  • UEP_FC_REASON_FILE_DISABLED
  • UEP_FC_REASON_FILE_NOT_OPEN
  • 找不到 UEP_FC_REASON_FILE_NOT_FOUND
  • UEP_FC_REASON_FULL_KEY_不法长度
  • UEP_FC_REASON_GENERIC_DELETE_NOT_KSDS
  • UEP_FC_REASON_GENERIC_KEY_TOO_LONG
  • UEP_FC_REASON_ILLEGAL_KEY_TYPE_CHANGE
  • UEP_FC_REASON_INREASONENT_SPACE
  • UEP_FC_REASON_INVALID_UPDATE_TOKEN
  • UEP_FC_REASON_IO_ERROR
  • UEP_FC_REASON_KEY_LENGTH_负数
  • UEP_FC_REASON_KSDS_AND_XRBA
  • UEP_FC_REASON_NO_VARIABLE_LENGTH
  • UEP_FC_REASON_NOTAUTH
  • UEP_FC_REASON_NOT_EXTENDED
  • UEP_FC_REASON_READPREV_IN_GENERIC_BROWSE
  • UEP_FC_REASON_RECORD_NOT_FOUND
  • UEP_FC_REASON_REWRITE_BEFORE_READ_UPDATE
  • UEP_FC_REASON_RIDFLD_KEY_NOT_RECORD_KEY
  • UEP_FC_REASON_UNKNOWN_REQID_ENDBR
  • UEP_FC_REASON_UNKNOWN_REQID_READNEXT
  • UEP_FC_REASON_UNKNOWN_REQID_READPREV
  • UEP_FC_REASON_UNKNOWN_REQID_RESETBR
UEP_FC_EXIT_TOKEN
要传递到 XFCFROUT 的 4 字节令牌的地址。 例如,这允许您传递工作区以退出 XFCFROUT。
UEP_FC_M_RECORD_L
包含修改后的记录长度字段的全字的地址。 当未在 API 调用上指定 LENGTH 字段时,可以使用此项来更改 LENGTH (仅适用于远程文件)。 如果在 API 调用上指定了 LENGTH 字段,那么要更改 LENGTH ,请改为使用 UEP_FC_RECORD_L ,因为更改 UEP_FC_M_RECORD_L 存储的地址上的值没有任何作用。
UEP_FC_M_RECORD_ID_L
包含修改后的键长度字段的半字的地址。 当未在 API 调用上指定 KEYLENGTH 字段时,可以使用此项来更改 KEYLENGTH (仅适用于远程文件)。 如果指定了 KEYLENGTH 字段,那么要更改 KEYLENGTH ,请改为使用 UEP_FC_RECORD_ID_L ,因为更改 UEP_FC_M_RECORD_ID_L 存储的地址上的值没有任何作用。
返回码
UERCNORM
继续处理。
UERCBYP
绕过此请求的 CICS 处理。 如果已对函数输送的请求调用出口程序,那么允许镜像事务终止。
UERCBYPL
绕过此请求的 CICS 处理。 如果已对函数输送的请求调用出口程序,那么镜像事务不得终止。
UERCPURG
在 XPI 调用期间清除了任务。
XPI 调用
都可以用。
API 和 SPI 调用
不能使用任何值。