CICS 区域标记文件

本主题介绍 CICS® 区域标记文件的模式和匹配算法。

有关区域标记的概述,请参阅 使用区域标记对 CICS 区域进行分类

模式

区域标记文件根据 YAML 1.2 标准进行格式化。 YAML 文件必须符合特定格式以确保正确处理。

为了帮助您正确格式化区域标记 YAML 文件, CICS 在 JSON 模式存储库中提供了 JSON 模式。 一些支持模式(schema)的编辑器,例如 Visual Studio Code PyCharm, 和 IntelliJ IDEA ,可以直接从该网站下载模式。

或者,您可以手动将模式应用于相关文件。 该模式也随 CICS 作为 cicstags-1.0.0.json 提供,位于 USSHOME/schemas。 此模式可以在支持模式验证的适当代码编辑器或集成开发环境 (IDE) 中使用; 例如, Microsoft Visual Studio Code。 发生更新时,模式号会递增,这可帮助您确定何时在所选 IDE 中刷新模式文件。

有经验的用户可能希望扩展模式验证,以涵盖如何设置 APPLID 或区域用户标识以匹配您的命名约定。 您可能还希望扩展模式以验证 YAML 文件中的定制标签。 仅建议有经验的用户以这种方式扩展模式。

区域标记的匹配算法

CICS 支持在标记的过滤条件中使用通配符 *? 来标识匹配的区域: APPLIDRegionUserIDJobName

通配符匹配可传递最佳匹配结果。 如果找到 * 通配符,那么会将其视为字符串的结尾。 没有 * 的字符串的长度 L 被视为 8。 具有 * 的字符串的长度是 *之前的字符数。 此计数包括可能还存在的任何 ? 通配符。 如果 Q 是存在的 ? 通配符数,而 A 是存在的 * 通配符数,那么将使用以下算法计算模式匹配值:

值 = L-Q-(8 * (A-1)) + 1

此算法对指定字符的重要性高于对任何通配符的重要性。 指定的实际字符越多,计算值越高。 计算的值在范围 17-1 中。 如果没有任何字符匹配,那么将返回零。

该表显示了具有各种长度和通配符的 APPLID 或区域用户标识的示例以及生成的值。 它还显示从计算值开始的列组顺序。 完全指定的名称排名高于具有一个或多个通配符的任何值。

姓名 A ( *的数量) Q ( ?的数量) L (长度) 排名顺序
ABCDEFG 0 0 8 17 日 1
ABCDEFGH 0 0 8 17 日 1
AB?DEFG 0 1 8 16 2
AB?DEFGH 0 1 8 16 2
AB?D?FG 0 2 8 15 3
AB?D?切割女性生殖器 0 2 8 15 3
ABCDEF* 1 0 6 7 4
AB?DEF* 1 1 6 6 5
AB?D?F* 1 2 6 5 6
* 1 0 2 3 7
* 1 0 0 1 7