0

以下を実現するために、いくつかのREXXコードをまとめようとしています。

  1. 与えられた入力 (0007145547162165876, 0002734752467588968, 555729879318548867, 5559871342286434816) が与えられた条件 (最初の 3 文字は 000) であることを確認します。その場合、その入力に対して何らかの計算を実行します (以下のように)。

    b. 条件が満たされない場合 (つまり、最初の 3 文字が 000 でない場合)、その入力に対して別の計算を実行します。

  2. 両方の計算結果を 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                                                       
4

1 に答える 1