以下を実現するために、いくつかのREXXコードをまとめようとしています。
与えられた入力 (0007145547162165876, 0002734752467588968, 555729879318548867, 5559871342286434816) が与えられた条件 (最初の 3 文字は 000) であることを確認します。その場合、その入力に対して何らかの計算を実行します (以下のように)。
b. 条件が満たされない場合 (つまり、最初の 3 文字が 000 でない場合)、その入力に対して別の計算を実行します。
両方の計算結果を 1 つのファイルに出力します。
以下は、最初の if 条件文のコードで、希望どおりに機能します。問題は、2 番目の条件を実装することです。どうすればこれを達成できますか?
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