質問: cobolでblock contains句について教えて下さい! 駆け出しのpgです。すいませんが、教えて下さい。 block contains(ブロックの大きさ)句で、 block contains 0 records と指定されています。どうして0なんですか? 「取りあえず、このプログラム理解しろ」って渡されたプログラムで、最初から引っかかってしまいました。 よく分からなくて。。。宜しくお願いします。
回答: 0の意味はマニュアルの文法書を読めば書いてあるはずです。cobolは文の種類が多いので文法書を読まないと既存プログラムのコピー&小修正しか出来ないでしょう。 ブロックサイズの指定は、 (1) プログラムでの指定 (2) jclでの指定 (3) 既存ファイルの場合はそのファイルのブロックサイズ の順で優先されます。プログラムで 0 を指定することはプログラムでブロックサイズを指定しないことを意味します。したがって、jclで指定していればその値、jclでも指定していなければ既存ファイルの情報が使われます。 ディスク装置のモデルによって最適なブロックサイズは決まっているので、プログラムでは指定せず、jclで使用するディスクに合わせて指定するのが普通です。