特定于 UEPCLPS 出口的参数

UEPCLPS 出口特定参数是命令级别参数结构的地址,包含在出口 XFCREQ 和 XFCREQC 中。

命令级参数结构包含 12 个地址,即 FC_ADDR0 到 FC_ADDRB。 它是在 DSECT FC_ADDR_LIST 中定义的,您应该通过包含语句 COPY DFHFCEDS 将其复制到出口程序中。

命令级别参数列表组成如下:

FC_ADDR0
是称为 EID 的 9 字节区域的地址,其组成如下:
  • FC_GROUP
  • FC_FUNCT
  • FC_BITS1
  • FC_BITS2
  • FC_EIDOPT5
  • FC_EIDOPT6
  • FC_EIDOPT7
  • FC_EIDOPT8
EID 映射的 DSECT 名称为 FC_EID。
FC_GROUP
始终为 X'06 ',指示这是文件控制请求。
FC_FUNCT
定义请求类型的一个字节:
X'02'
READ
X'04'
WRITE
X'06'
REWRITE
X'08'
DELETE
X'0A'
UNLOCK
X'0C'
STARTBR
X'0E'
READNEXT
X'10'
READPREV
X'12'
ENDBR
X'14'
RESETBR
FC_BITS1
用于定义指定了哪些包含值的关键字的存在位。 要获取与关键字关联的值,需要使用来自命令级别参数结构的相应地址。 在使用此地址之前,必须检查关联的存在位。 如果设置了存在位,那么未在请求中指定关键字,并且不应使用地址。
X'80 '
在请求包含关键字 FILE 时设置。 如果设置了此属性,那么 FC_ADDR1 很有意义。
X'40 '
设置请求是否包含任何关键字 INTO , SET 或 FROM。 如果设置了此属性,那么 FC_ADDR2 是有意义的。
X'20 '
如果请求指定 LENGTH 或 NUMREC ,或者如果 STARTBR , RESETBR 或 ENDBR 请求指定 REQID ,请进行设置。 如果设置了此属性,那么 FC_ADDR3 很有意义。
X'10'
在请求指定 RIDFLD 时设置。 如果设置,那么 FC_ADDR4 有意义。
X'08'
如果请求指定 KEYLENGTH ,那么设置此值。 如果设置,那么 FC_ADDR5 有意义。
X'04'
如果请求是 READNEXT 或 READPREV 并指定 REQID ,请进行设置。 如果设置,那么 FC_ADDR6 有意义。
X'02'
在请求指定 SYSID 时设置。 如果设置了此属性,那么 FC_ADDR7 很有意义。
X'01'
未由文件控制使用。
FC_BITS2
第二组存在位。
X'20 '
在请求指定 TOKEN 时设置。 如果设置,那么 FC_ADDRB 有意义。
FC_EIDOPT5
指示是否在请求中指定了某些不采用值的关键字。
X'04'
指定了 MASSINSERT。
X'02'
指定了 RRN。
X'01'
指定了 SET (而不是 INTO)。
注: 您的程序必须在位级别测试关键字,因为可能存在多个这些关键字。
FC_EIDOPT6
指示是否在请求中指定了某些不采用值的关键字。
X'80 '
已指定 RBA。
X'40 '
已指定 GENERIC。
X'20 '
指定了 GTEQ。
X'10'
指定了 UNCOMMITTED。
X'08'
指定了 CONSISTENT。
X'04'
指定了可重复项。
X'01'
指定了 NOSUSPEND (在 READ , READNEXT , READPREV , WRITE , DELETE 或 REWRITE 上)。
注:
  1. 如果命令上的读完整性位 (对于 UNCOMMITTED , CONSISTENT 和REPE可用) 为 OFF (ZERO) ,那么将使用文件资源定义上指定的读完整性选项。 如果您需要知道这些是什么,那么可以发出 EXEC CICS® INQUIRE FILE 命令。
  2. 您的程序必须在位级别测试关键字,因为可能存在多个这些关键字。
FC_EIDOPT7
指示是否在请求中指定了某些不采用值的关键字。
X'04'
已指定 UPDATE。 此设置仅对 READ 请求有意义。 对于其他请求,可以设置也可以不设置 X'04 '
X'01'
指定了 DEBREC 或 DEBKEY (请参阅 FC_EIDOPT8)。 此设置仅对 READ 请求有意义。 对于其他请求,可以设置也可以不设置 X'01 '
注: 您的程序必须在位级别测试关键字,因为可能存在多个这些关键字。
FC_EIDOPT8
指示是否在请求中指定了某些不采用值的关键字。
X'80 '
指定了 DEBKEY。
X'40 '
指定了 DEBREC。
X'20 '
指定了 TOKEN。
X'08'
指定了 XRBA。 如果 XRBA 位处于开启状态,那么 FC_RIDFLD (在 DSECT DFHFCEDS 中描述) 指向 8 字节的扩展相对字节地址 (XRBA)。
FC_ADDR1
是包含 FILE 关键字上指定的名称的 8 字节区域的地址。
FC_ADDR2
是下列其中一项的地址:
  • 针对 SET 返回的 4 字节地址 (如果请求为 READ , READNEXT 或 READPREV ,并且 FC_EIDOPT5 指示这是 SET)。
  • 针对 INTO 返回的数据 (如果请求为 READ , READNEXT 或 READPREV ,并且 FC_EIDOPT5 指示这不是 SET)。
  • 来自 FROM 的数据 (如果请求是 WRITE 或 REWRITE)。
FC_ADDR3
是下列其中一项的地址:
  • LENGTH 的半字值 (如果请求为 READ , WRITE , REWRITE , READNEXT 或 READPREV)。

    警告: 对于指定 INTO 的请求,请勿将 LENGTH 的值更改为大于应用程序指定的值。 这样做会导致应用程序中的存储器覆盖。

  • 返回的 NUMREC 半字值 (如果请求为 DELETE)。
  • REQID 的半字值 (如果请求为 STARTBR , RESETBR 或 ENDBR)。
FC_ADDR4
是包含 RIDFLD 关键字值的区域的地址。
FC_ADDR5
是 KEYLENGTH 的半字值的地址。
FC_ADDR6
是 REQID 的半字值的地址 (如果请求是 READNEXT 或 READPREV)。
FC_ADDR7
是包含 SYSID 值的区域的地址。
FC_ADDR8
是仅供 CICS 内部使用的值的地址。 不得使用此参数。
FC_ADDR9
是仅供 CICS 内部使用的值的地址。 不得使用此参数。
FC_ADDRA
是仅供 CICS 内部使用的值的地址。 不得使用此参数。
FC_ADDRB
是 TOKEN 的全字值的地址 (如果请求为 READ , READNEXT , READPREV , REWRITE , DELETE 或 UNLOCK)。