我正在尝试向大型机文件添加标头,我发现:
SORT FIELDS=COPY
OUTFIL REMOVECC,
HEADER1=(1:C'COUNTRY_CODE',13:C',',14:C'CHECK_SEQ_NUMBER',30:C',',
31:C'FORM_INDICATOR')
OUTREC BUILD=(1:1,2,3:C',',4:4,5,9:C',',10:10,1,80:X)
我需要第 2 行和第 5 行吗?第五届将完成什么?
抱歉,我倾向于如何为大型机编写代码。
REMOVECC 中的"CC"代表车厢控制字符。创建可打印的报告需要这些字符。但是,如果您不需要该字符(我们大多不需要),那么您可以使用REMOVECCC来抑制它们。因此,您可能希望保留第二行。
HEADER1使用您提到的列、COUNTRY_CODE等构建标题。输入数据集中不存在此标头,因此您将在输出数据集中创建此新记录。
然后,您将输入记录复制到输出(在标头之后)通过 OUTREC 进行。因此,您还希望保留第 5 行。
.
@William Edward Sanchez-Weeks,此外,当您使用数据和标头进行BUILD时,您也不需要通过计算位置来进行数学运算。SORT 将在内部处理它。
对您发布的卡片进行排序:
SORT FIELDS=COPY
OUTFIL REMOVECC,
HEADER1=(1:C'COUNTRY_CODE',13:C',',14:C'CHECK_SEQ_NUMBER',30:C',',
31:C'FORM_INDICATOR')
OUTREC BUILD=(1:1,2,3:C',',4:4,5,9:C',',10:10,1,80:X)
可以写成
SORT FIELDS=COPY
OUTFIL REMOVECC,
HEADER1=(C'COUNTRY_CODE',C',',C'CHECK_SEQ_NUMBER',C',',C'FORM_INDICATOR')
OUTREC BUILD=(1,2,C',',4,5,C',',10,1,80:X)
两者都给出相同的结果。