You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于STORE-CUSTOM-ID合并同LRECL文件的SORT SYSIN配置咨询

能否通过SORT实现特定文件合并需求?

我有两个LRECL完全相同的文件,字段结构如下:

FIELD NAME          FIELD LENGTH
STORE-CUSTOM-ID     X(08)
STORE-GROUP         X(25)
STORE-LIST          9(04) OCCURS 500 TIMES

需基于STORE-CUSTOM-ID(前8字节)对这两个文件执行合并操作,规则如下:

  • 关键字匹配时:
    • 将两条匹配记录合并为一条
    • STORE-GROUP字段设为'Merged Record'
    • STORE-LIST部分从File1第一个'0000'位置开始,拼接File2中所有非'0000'的存储编号
  • 关键字不匹配时:
    • 将两条未匹配记录分别写入输出文件

示例

输入

File1:

11223344File 1 Record            000900210022003400000000000000000000

File2:

11223344File 2 Record            100310121014000000000000000000000000

输出

11223344Merged Record            000900210022003410031012101400000000

可以通过SORT实现该需求,以下是对应的SYSIN配置:

//SYSIN    DD *
  // 按STORE-CUSTOM-ID关联文件,保留未匹配记录
  JOINKEYS F1=INA,FIELDS=(1,8,A)
  JOINKEYS F2=INB,FIELDS=(1,8,A)
  JOIN UNPAIRED,F1,F2

  // 整合字段:F1的ID+GROUP、F2的STORE-LIST、匹配标识位
  REFORMAT FIELDS=(F1:1,33,F2:34,2000,?)
  OPTION COPY

  // 处理不同匹配状态的记录
  INREC IFTHEN=(WHEN=(2034,1,CH,EQ,C'C'),  // 匹配记录
                OVERLAY=(9:C'Merged Record',
                         34:BUILD=(F1:34,2000,SQZ=(SHIFT=LEFT,REMOVE=C'0000'),
                                   F2:34,2000,SQZ=(SHIFT=LEFT,REMOVE=C'0000'),
                                   2000X),
                         34:34,2000)),
        IFTHEN=(WHEN=(2034,1,CH,EQ,C'A'),  // 仅F1存在的记录
                OVERLAY=(34:F1:34,2000)),
        IFTHEN=(WHEN=(2034,1,CH,EQ,C'B'),  // 仅F2存在的记录
                OVERLAY=(1:F2:1,33,34:F2:34,2000))

  // 输出最终记录,移除匹配标识位
  OUTREC BUILD=(1,2033)
/*

配置说明

  1. JOINKEYS:通过前8字节的STORE-CUSTOM-ID关联两个输入文件,UNPAIRED,F1,F2确保保留两个文件中未匹配的独立记录
  2. REFORMAT:整合F1的基础字段、F2的存储列表字段,并添加1字节匹配标识('A'=仅F1有,'B'=仅F2有,'C'=双方匹配)
  3. INREC:
    • 匹配记录('C'):替换STORE-GROUP为指定文本,提取并拼接两个文件中所有非'0000'的存储编号,再用'0000'填充至原字段长度
    • 未匹配记录('A'/'B'):直接保留对应文件的原始记录内容
  4. OUTREC:移除匹配标识位,输出符合原LRECL长度的记录

内容的提问来源于stack exchange,提问作者Aarthi M

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 14:22:01