我正在尝试整理一些 REXX 代码来实现以下目标。
检查给定输入(0007145547162165876、0002734752467588968、555729879318548867、5559871342286434816)的给定条件(前 3 个字符是 000)。如果是这样,请对该输入执行一些计算(如下所示)。
湾。如果条件不满足(即前 3 个字符不是 000 ),则对该输入执行不同的计算。
将两个计算的结果打印在一个文件中。
下面是我为第一个 if 条件语句提供的代码,它可以按需要工作。问题是实施第二个条件。我如何实现这一目标?
if substr(rec.i,3,3) == '000'
then do
sum = d1+d2+d5+d6+d7+d8+d9+d10+d11+d12+d13+d14+d15+d16
sum = sum * 9
chksum = substr(sum,2,2)
chk = d3||d4
if chksum = chk
then do
say 'valid check sum' chksum 'in' rec.i
out.1=rec.i
"EXECIO 1 DISKW DATA (stem out."
end
else do
say '*** invalid check sum' chk 'in' rec.i
say '*** check sum should be' chksum 'in' rec.i
out.1=rec.i
"EXECIO 1 DISKW OUTFILE (stem out."
end
end
end