COBOLプログラムのフィラーの説明

COBOLプログラミング言語では、データ部と呼ばれるプログラムのセクションですべての変数とデータフィールドを定義します。 ここでは、ディスクファイル、印刷レイアウト、カウンター、および計算用の作業用ストレージのレコードを設定します。 ほとんどのデータフィールドには一意の名前を付けることで定義しますが、FILLERキーワードを使用すると、名前を付けなくてもメモリスペースを確保できます。

フィラー

FILLERは予約語です。つまり、個々のメモリ要素を定義する以外に、フィールドやレコードに名前を付けるためにこの単語を使用することはできません。 レベル番号の直後で、フィールドのサイズとデータ型を定義するPICTURE句の前にFILLERを使用します。 COBOLは、FILLERの使用をデータ部門に制限しています。 識別、環境、または手順の各部門には適用されません。

今日のビデオ

レコードレイアウト

FILLERの最も一般的な用途の1つは、データレコードの定義です。 レコード長が150文字のデータファイルを使用していて、その中のすべてのフィールドにラベルを付ける必要がない場合は、次のコードのように、不要な文字をFILLERとして定義できます。

01顧客記録。 05 FILLER PIC X(10)。 05顧客名PICX(30)。 05顧客アドレスPICX(30)。 05顧客都市PICX(30)。 05 FILLER PIC X(50)。

これにより、150文字のレコードを読み取り、レコードの残りの部分を無視して、必要なフィールド(顧客名、住所、都市)を識別できます。

部分文字列の抽出

FILLERキーワードを使用して、より大きな文字列からの部分文字列の抽出を支援できます。 たとえば、郵便番号の最初の5桁を抽出するには、Working-Storageセクションで次のステートメントを設定できます。

01全郵便番号。 05プライマリジップPICX(5)。 05 FILLER PIC X(5)。

手順部門では、ZIP-plus-4コードをwhole-zip-codeに移動してから、primary-zipを宛先フィールドに移動します。 そうすることで、最初の5桁以降のすべてを削除します。

フィラーと値

レコードでは、FILLERフィールドはメモリスペースを予約し、そこに移動するあらゆる種類のデータを受け入れます。 FILLERフィールドを定義して値を設定することもできます。 プログラマーは、次の例のように、レポートの見出しを設定するためにこの手法を頻繁に使用します。

01印刷行。 05 FILLER PIC X(10)バリュースペース。 05 FILLER PIC X(15)VALUE "YEAR ENDREPORT"。 05 FILLER PIC X(20)バリュースペース。 05 FILLER PIC X(5)VALUE "PAGE"。 05ページ番号PICZZZ9。

レポートページのヘッダーのタイトルと間隔は、ページ番号を表示する1つの名前付きフィールドを除いて、すべてFILLERで行われることに注意してください。