CICS 序列化事件 (CFE) 数据格式

使用具有 CICS® 序列化事件格式的 EP 适配器指定事件绑定时,会将事件中的数据项作为单个事件记录发出。 CICS 中的事件处理支持将根据一组规则来处理事件规范中的数据。

如果要了解事件中使用的数据格式,可以使用 事件绑定编辑器 来导出描述事件结构的 COBOL 副本。

事件绑定编辑器 导出事件规范时,将使用相同的规则来创建导出的副本,因此您通常不需要了解这些规则。 但是,了解规则可帮助您识别可能影响事件处理的数据源格式错误源。 个别数据项的格式是基于在定义事件规范中的已发布业务信息项时指定的类型、长度和精度,以及定义捕获规范中对应的信息源时指定的类型、长度和精度。

  • 如果已发出的业务信息格式为文本,那么会将信息进行左对齐并使用空白填补。
  • 如果已发出的业务信息格式为数字,那么会将信息进行右对齐并按需要加前导零。
  • 如果已发出的业务信息格式为科学表示法,那么会将数字左对齐,并以规范化的 E 格式填补空白,同时将 (formatPrecision) 小数点后指定的数字位数作为尾数。 格式为 ±d[.d...]E±ddd... ,其中 [d...] 表示一个或多个数字; 例如, +1E+oo3, −1.25E+000, +9.999999E−316, +0E+000。 如果指定的格式长度不够数字或科学表示法数据、数字的数据格式,那么将使用星号 (*) 填充输出区域;文本数据将被截断。
格式为文本数字的浮点数据具有以下特征:
  • 任何非零精度必须小于或等于格式长度 3,以允许符号、至少一个前导数位和小数点。
  • 格式长度为自动的数据包含所有重要的全部(整数)位数。
  • 格式精度为自动的数据包含所有重要的小数位数,除非有明确的格式精度将其排除。
格式为科学表示法的浮点数据具有以下特征:
  • CICS EP 适配器短浮点数字的最大格式精度为(小数点后的尾数位数)6,长浮点数字为 15。
  • 格式精度为自动和格式长度为自动的数据包含所有重要的小数位数。

    按照需要填充到已捕获数据的最大大小中,短浮点数字将生成一个 14 字节的字符串 (+n.nnnnnnE+nnn),长浮点数字将生成一个 23 字节的字符串 (+n.nnnnnnnnnnnnnnnE+nnn)。

  • 格式精度为自动并带有明确格式长度的数据精度可能降低或者用空格填充右侧的数据。 在这种情况下,精度必须小于等于格式长度−8.
  • 格式长度为自动并明确格式精度大于 0 的数据具有固定长度,其值为格式精度加上 8。

过滤和捕获精度对浮点数据类型无用,如果对其进行了设置,那么将在安装事件绑定时忽略。

如果数字为 +∞、∞ 或 NaN(非数字),那么输出区域的格式将为 INF、INF 和 NaN。

注意 :当尾数被缩短以符合指定formatPrecision,时,不会进行四舍五入。 但是,在从十六进制浮点 (HFP) 或二进制浮点 (BFP) 转换为十进制时,可能会发生四舍五入。

带有捕获类型字符的信息源字段

已发出的业务信息 信息源 COBOL 副本 备注
类型 长度 长度 长度 格式  
文本 r N r X(r)
  • If r<N, the field is truncated.
  • 如果 r>n,那么将填充空白字段。
数字 r N r X(r)
  • If r<N the field is set to all asterisks.
  • 如果 r>n ,那么将填充空白字段。
文本或数字 0 N n X (n) 导出事件规范时,n 将从第一个捕获规范开始。

CICS 在处理带有此类型字段的捕获规范时,n 将从当前捕获规范开始。

文本或数字 0 0     无法导出带有此类型字段且长度为 0 的事件规范。

CICS 在处理带有此类型字段的捕获规范时,将发布所有可用的数据。

带有十六进制捕获类型的信息源字段

已发出的业务信息 信息源 COBOL 副本 备注
类型 长度 长度 长度 格式  
文本 r N r "0x"||X(r-2)
  • If r<(N*2)+2, the field is truncated.
  • 如果 r> (n* 2) + 2 ,那么将填充空白字段。
数字 r N r "0x"||X(r-2)
  • If r<(N*2)+2 the field is set to all asterisks.
  • 如果 r> (n* 2) + 2 ,那么字段为零填充。
文本或数字 0 N 2 + (n* 2) "0x" | | X (n* 2) 导出事件规范时,n 将从第一个捕获规范开始。

CICS 在处理带有此类型字段的捕获规范时,n 将从当前捕获规范开始。

文本或数字 0 0     无法导出带有此类型字段且长度为 0 的事件规范。

CICS 在处理带有此类型字段的捕获规范时,将发布所有可用的数据。

带有半字捕获类型的信息源字段

该表适用于捕获类型为无符号半字和带符号半字的信息源字段。

已发出的业务信息 信息源 COBOL 副本 备注
类型 格式长度 精度格式 长度 长度 格式
数字 r 0 2 r +9(r-1)
  • If r-1< 位数,那么会将字段设置为全星号。
  • 如果 r-1>digits,那么字段为零填充。
数字 r s 2 r +9(r-s-2).9(s)
  • 如果需要 r-s-2< 位数,那么会将字段设置为全星号。
  • 如果需要 r-s-2>digits ,那么字段为零填充。
数字 自动 0 2 6 +9(5)  
数字 自动 s 2 7+s +9(5).9(s)  

带有全字捕获类型的信息源字段

该表适用于捕获类型为无符号全字和带符号全字的信息源字段。

已发出的业务信息 信息源 COBOL 副本 备注
类型 格式长度 精度格式 长度 长度 格式
数字 r 0 4 r +9(r-1)
  • 如果需要 r-1< 位数,那么会将字段设置为全星号。
  • 如果 r-1>digits,那么字段为零填充。
数字 r s 4 r +9(r-s-2).9(s)
  • 如果需要 r-s-2< 位数,那么会将字段设置为全星号。
  • 如果 r-s-2>digits,那么字段为零填充。
数字 自动 0 4 11 +9(10)  
数字 自动 s 4 12-p+s +9(10-p).9(s)  

带有压缩十进制捕获类型的信息源字段

已发出的业务信息 信息源 COBOL 副本 备注
类型 格式长度 精度格式 长度 精度 长度 格式
数字 r 0 n p r +9(r-1)
  • 如果需要 r-1< 数位,那么会将字段设置为全星号。
  • 如果 r-1>digits,那么字段为零填充。
数字 r s N p r +9(r-s-2).9(s)
  • 如果需要 r-s-2< 数位,那么会将字段设置为全星号。
  • 如果 r-s-2>digits,那么字段为零填充。
数字 r 自动 n p r +9(r−p−2).9(p)
  • 如果需要 r-p-2< 位数,那么会将字段设置为全星号。
  • 如果 r-p-2>digits,那么字段为零填充。
数字 自动 0 N p n* 2-p + 9 (n* 2-1-p)
  • 如果 p> =n* 2-1 ,那么字段的格式为 + 9 (1)。
  • CICS 在处理带有此类型字段的捕获规范时,n 将从当前捕获规范开始。
  • 导出事件规范时,n 将从第一个捕获规范开始。
数字 自动 s N p 1 +n* 2-p + s + 9 (n* 2-1-p) .9 (s)
  • 如果 p> =n* 2-1 ,那么字段的格式为 + 9 (1) .9 (s)。
  • CICS 在处理带有此类型字段的捕获规范时,n 将从当前捕获规范开始。
  • 导出事件规范时,n 将从第一个捕获规范开始。
数字 自动 自动 n p 1+n *2+p +9(n *2−1−p).9(p)
  • 如果 p> =n* 2-1 ,那么字段的格式为 + 9 (1) .9 (p)。
  • CICS 在处理带有此类型字段的捕获规范时,n 将从当前捕获规范开始。
  • 导出事件规范时,n 将从第一个捕获规范开始。
数字 自动 0 0 p    
  • CICS 在处理带有此类型字段的捕获规范时,将发布所有可用的数据,其精度为 0。
  • 无法导出带有此类型字段且长度为 0 的事件规范。
数字 自动 s 0 p    
  • CICS 在处理带有此类型字段的捕获规范时,将发布所有可用的数据,其精度为 s。
  • 无法导出带有此类型字段且长度为 0 的事件规范。
数字 自动 自动 0 p    
  • CICS 在处理带有此类型字段的捕获规范时,将发布所有可用的数据,其精度为 p。
  • 无法导出带有此类型字段且长度为 0 的事件规范。

带有分区十进制捕获类型的信息源字段

CICS EP 适配器包含对使用 COBOL SIGN 子句(SEPARATE、LEADING、LEADING SEPARATE、TRAILING 和 TRAILING SEPARATE)指定符号位置或表示的分区十进制数据的支持。

已发出的业务信息 信息源 COBOL 副本 备注
类型 格式长度 精度格式 长度 精度 长度 格式
数字 r 0 N p r +9(r-1)
  • 如果需要 r-1< 数位,那么会将字段设置为全星号。
  • 如果需要 r-1>digits ,那么字段为零填充。
数字 r s N p r +9(r-s-2).9(s)
  • 如果需要 r−s−2< 数位,那么会将字段设置为全星号。
  • 如果需要 r−s−2>digits ,那么字段为零填充。
数字 r 自动 n p r +9(r−p−2).9(p)
  • 如果需要 r−p−2< 数位,那么会将字段设置为全星号。
  • 如果需要 r−p−2>digits ,那么字段为零填充。
数字 自动 0 N p 1 +n− p + S9 (n− p)
  • 如果 p> =n,那么字段的格式为 + 9 (1)。
  • CICS 在处理带有此类型字段的捕获规范时,n 将从当前捕获规范开始。
  • 导出事件规范时,n 将从第一个捕获规范开始。
数字 自动 s N p 1 +n− p + s + 9 (n− p) .9 (s)
  • 如果 p> =n,那么字段的格式为 + 9 (1) .9 (s)。
  • CICS 在处理带有此类型字段的捕获规范时,n 将从当前捕获规范开始。
  • 导出事件规范时,n 将从第一个捕获规范开始。
数字 自动 自动 N p 1 +n + p + 9 (n − p) .9 (p)
  • 如果 p> =n,那么字段的格式为 + 9 (1) .9 (p)。
  • CICS 在处理带有此类型字段的捕获规范时,n 将从当前捕获规范开始。
  • 导出事件规范时,n 将从第一个捕获规范开始。
数字 自动 0 0 p    
  • CICS 在处理带有此类型字段的捕获规范时,将发布所有可用的数据,其精度为 0。
  • 无法导出带有此类型字段且长度为 0 的事件规范。
数字 自动 s 0 p    
  • CICS 在处理带有此类型字段的捕获规范时,将发布所有可用的数据,其精度为 s。
  • 无法导出带有此类型字段且长度为 0 的事件规范。
数字 自动 自动 0 p    
  • CICS 在处理带有此类型字段的捕获规范时,将发布所有可用的数据,其精度为 p。
  • 无法导出带有此类型字段且长度为 0 的事件规范。

带有短浮点捕获类型的信息源字段

已发出的业务信息 信息源 COBOL 副本 备注
类型 格式长度 精度格式 长度 长度 格式
科学表示法 r 0 4 r X(r)
  • 如果 r<7,那么会将字段设置为全星号。
  • 数据格式为 +9E+999 并将在右侧使用空白填充到长度 r。
科学表示法 r s 4 r X(r)
  • 如果 r<7,那么会将字段设置为全星号。
  • 如果 r<s+8,那么将在必要降低精度。
  • 数据格式为 +9.9(s)E+999,并将在右侧使用空白填充到长度 r。
科学表示法 r 自动 4 r X(r)
  • 如果 r<7,那么会将字段设置为全星号。
  • 如果 r<14,那么将在必要时降低精度。
  • 数据格式为 +9.9(6)E+999,并将在右侧使用空白填充到长度 r。
科学表示法 自动 0 4 7 X(7)

数据格式为 +9.9E+999。

科学表示法 自动 s 4 s+8 X(s+8)

数据格式为 +9.9(s)E+999。

科学表示法 自动 自动 4 14 X(14)

数据格式为 +9.9(6)E+999。

数字 r 0 4 r +9(r−1)
  • 如果需要 r−1< 数位,那么会将字段设置为全星号。
  • 如果需要 r−1>digits ,那么字段为零填充。
数字 s r 4 r +9(r−s−2).9(s)
  • 如果需要 r−s−2< 数位,那么会将字段设置为全星号。
  • 如果需要 r−s−2>digits ,那么字段为零填充。
数字 r 自动 4 r X(r)

CICS 在处理带有此类型字段的捕获规范时,将以格式长度 r 内尽可能大的精度格式化数字。

如果需要的整数数字位数超过 r,那么会将该字段设置为全星号。

数字 自动 0 4    

CICS 在处理带有此类型字段的捕获规范时,将以格式长度 r 内尽可能大的精度格式化数字。

无法导出带有此类型字段的事件规范。

数字 自动 s 4    
  • CICS 在处理带有此类型字段的捕获规范时,数字格式将带有:
    • 符号
    • 所需要的全部整数位数
    • 小数点后 s 位。
  • 无法导出带有此类型字段的事件规范。
数字 自动 自动 4    
  • CICS 在处理带有此类型字段的捕获规范时,数字格式将带有:
    • 符号
    • 所需要的全部整数位数
    • 小数点后所需要的位数。
  • 无法导出带有此类型字段的事件规范。

带有长浮点捕获类型的信息源字段

已发出的业务信息 信息源 COBOL 副本 备注
类型 格式长度 精度格式 长度 长度 格式
科学表示法 r 0 8 r X(r)
  • 如果 r<7,那么会将字段设置为全星号。
  • 数据格式为 +9E+999 并将在右侧使用空白填充到长度 r。
科学表示法 r s 8 r X(r)
  • 如果 r<7,那么会将字段设置为全星号。
  • 数据格式为 +9.9(s)E+999,并将在右侧使用空白填充到长度 r。
  • 如果 r<s+8,那么将在必要降低精度。
科学表示法 r 自动 8 r X(r)
  • 如果 r<7,那么会将字段设置为全星号。
  • 如果 r<23,那么将在必要时降低精度。
  • 数据格式为 +9.9(15)E+999,并将在右侧使用空白填充到长度 r。
科学表示法 自动 0 8 7 X(7)

数据格式为 +9.9E+999。

科学表示法 自动 s 8 s+8 X(s+8)

数据格式为 +9.9(s)E+999。

科学表示法 自动 自动 8 23 X(23)

数据格式为 +9.9(15)E+999。

数字 r 0 8 r +9(r−1)
  • 如果需要 r−1< 数位,那么会将字段设置为全星号。
  • 如果需要 r−1>digits ,那么字段为零填充。
数字 s r 8 r +9(r−s−2).9(s)
  • 如果需要 r−s−2< 数位,那么会将字段设置为全星号。
  • 如果需要 r−s−2>digits ,那么字段为零填充。
数字 r 自动 8 r X(r)

CICS 在处理带有此类型字段的捕获规范时,将以格式长度 r 内尽可能大的精度格式化数字。

如果需要的整数数字位数超过 r,那么会将该字段设置为全星号。

数字 自动 0 8    

CICS 在处理带有此类型字段的捕获规范时,将以格式长度 r 内尽可能大的精度格式化数字。

无法导出带有此类型字段的事件规范。

数字 自动 s 8    
  • CICS 在处理带有此类型字段的捕获规范时,数字格式将带有:
    • 符号
    • 所需要的全部整数位数
    • 小数点后 s 位。
  • 无法导出带有此类型字段的事件规范。
数字 自动 自动 8    
  • CICS 在处理带有此类型字段的捕获规范时,数字格式将带有:
    • 符号
    • 所需要的全部整数位数
    • 小数点后所需要的位数。
  • 无法导出带有此类型字段的事件规范。