Files
2026-07-12 14:54:50 +08:00

2.6 KiB
Raw Permalink Blame History

マッチング(1:1) 数据生成规则

概要

2个输入文件按指定键进行1:1匹配,输出匹配成功/仅R01/仅R02三种结果。

输入

  • 前提条件:从详细设计书解析匹配键(A001>A002>A003...
  • 输入文件:2个(R01、R02
  • 键条件:键值唯一(重複NG),升序排序

生成的数据组

用途 R01记录数 R02记录数 说明
1 两端不匹配 4 4 第1条R01-only、最后1条R02-only、中间3条以上匹配
2 反向两端不匹配 4 4 第1条R02-only、最后1条R01-only、中间3条以上匹配
3 中间不匹配 5 5 首尾匹配、中间有R01-only和R02-only各1条

组1:两端不匹配

R01键:a001(R01-only) → a002 → a003 → a004 R02键:a002 → a003 → a004 → a005(R02-only)

records数组(按处理顺序):

record序号 内容 说明
1 R01(a001) R01-only
2 R01(a002) + R02(a002) 匹配
3 R01(a003) + R02(a003) 匹配
4 R01(a004) + R02(a004) 匹配
5 R02(a005) R02-only

组1:需要注意当key为n个项目组合而成时,在R01的最后需要加上n条数据。 和R02(a005)的所有key相比,只有当前第n个key与R02(a005)的key不一致。保证key的比较没有问题。

组2:反向两端不匹配

R01键:a002 → a003 → a004 → a005(R01-only) R02键:a001(R02-only) → a002 → a003 → a004

records数组:

record序号 内容 说明
1 R02(a001) R02-only
2 R01(a002) + R02(a002) 匹配
3 R01(a003) + R02(a003) 匹配
4 R01(a004) + R02(a004) 匹配
5 R01(a005) R01-only

组3:中间不匹配

R01键:a001 → a003(R01-only) → a004 → a005 R02键:a001 → a002(R02-only) → a003 → a005

records数组:

record序号 内容 说明
1 R01(a001) + R02(a001) 匹配
2 R01(a003) R01-only
3 R01(a004) + R02(a003) 匹配
4 R02(a002) R02-only
5 R01(a005) + R02(a005) 匹配

数据生成步骤

  1. 从前提条件解析匹配键字段(如 A001>A002>A003
  2. 从COPYBOOK获取各字段的PIC定义
  3. 生成键值:键值以 a001/b001/c001 格式递增,保证升序排列
  4. 非键字段的数据生成:根据字段名关键词生成符合实际的数据,同时尽量保证每条相邻的数据的相同项目不一致。
  5. 按各组规则组装records数组
  6. 组号从1开始连续编号

输出

每个组输出一个json文件:{プログラムID}_g{groupId}.json